diff --git a/.envrc b/.envrc
new file mode 100644
index 0000000..3550a30
--- /dev/null
+++ b/.envrc
@@ -0,0 +1 @@
+use flake
diff --git a/.github/workflows/CI-PR.yml b/.github/workflows/CI-PR.yml
deleted file mode 100644
index be21dd0..0000000
--- a/.github/workflows/CI-PR.yml
+++ /dev/null
@@ -1,83 +0,0 @@
-name: CI Pull Request
-
-on:
- pull_request:
-
-permissions:
- contents: read
- pull-requests: read
-
-jobs:
- lint-vala:
- name: Lint vala files
- runs-on: ubuntu-latest
-
- container:
- image: valalang/lint
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4
-
- - name: Lint Vala
- run: io.elementary.vala-lint -d . -c vala-lint.conf
-
- lint-blp:
- name: Lint blueprint ui files
- runs-on: ubuntu-latest
- needs: lint-vala
-
- container:
- image: ubuntu:latest
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4
-
- - name: Update apt cache
- run: apt-get update
-
- - name: Install blueprint-compiler Blueptint
- run: apt-get install -y blueprint-compiler
-
- - name: Lint Blueprint
- run: blueprint-compiler format -s 2 data/ui/*.blp
-
- checkers:
- name: Run checkers
- runs-on: ubuntu-latest
- needs: lint-blp
-
- container:
- image: ubuntu:latest
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4
-
- # - name: Run indentation checker
- # run: python3 .checkers/indentation_checker.py
-
- # - name: Run empty lines checker
- # run: python3 .checkers/empty_lines_checker.py
-
- test-build:
- name: Test Build
- runs-on: ubuntu-latest
- needs: checkers
-
- container:
- image: bilelmoussaoui/flatpak-github-actions:gnome-nightly
- options: --privileged
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4
-
- - name: Run tests and lint
- uses: flatpak/flatpak-github-actions/flatpak-builder@v6
- with:
- bundle: cassette.flatpak
- manifest-path: build-aux/flatpak/nightly/io.github.Rirusha.Cassette-Devel.json
- run-tests: true
- cache-key: flatpak-builder-${{ github.sha }}
\ No newline at end of file
diff --git a/.github/workflows/CI-master.yml b/.github/workflows/CI-master.yml
deleted file mode 100644
index 77ff3e7..0000000
--- a/.github/workflows/CI-master.yml
+++ /dev/null
@@ -1,135 +0,0 @@
-name: CI master
-
-on:
- workflow_dispatch:
- push:
- branches:
- - 'master'
-
-jobs:
- lint-vala:
- name: Lint vala files
- runs-on: ubuntu-latest
-
- container:
- image: valalang/lint
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4
-
- - name: Lint Vala
- run: io.elementary.vala-lint -d . -c vala-lint.conf
-
- lint-blp:
- name: Lint blueprint ui files
- runs-on: ubuntu-latest
- needs: lint-vala
-
- container:
- image: ubuntu:latest
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4
-
- - name: Update apt cache
- run: apt-get update
-
- - name: Install blueprint-compiler Blueptint
- run: apt-get install -y blueprint-compiler
-
- - name: Lint Blueprint
- run: blueprint-compiler format -s 2 data/ui/*.blp
-
- checkers:
- name: Run checkers
- runs-on: ubuntu-latest
- needs: lint-blp
-
- container:
- image: ubuntu:latest
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4
-
- # - name: Run indentation checker
- # run: python3 .checkers/indentation_checker.py
-
- # - name: Run empty lines checker
- # run: python3 .checkers/empty_lines_checker.py
-
- flatter:
- name: Build Repo
- runs-on: ubuntu-latest
- needs: checkers
-
- container:
- image: ghcr.io/andyholmes/flatter/gnome:master
- options: --privileged
-
- strategy:
- matrix:
- arch: [aarch64, x86_64]
- fail-fast: false
- max-parallel: 1
-
- steps:
- - name: Checkout
- uses: actions/checkout@v4
-
- # - name: Set up Flatpak
- # run: |
- # dnf update -y
- # dnf install -y flatpak
- # flatpak remote-add --if-not-exists gnome-nightly https://nightly.gnome.org/gnome-nightly.flatpakrepo
- # flatpak update -y
-
- # - name: Install org.freedesktop.Sdk.Extension.vala-nightly
- # run: |
- # flatpak install -y org.freedesktop.Sdk.Extension.vala-nightly//23.08
-
-
- - name: Setup QEMU
- if: ${{ matrix.arch == 'aarch64' }}
- id: qemu
- uses: docker/setup-qemu-action@v3
- with:
- platforms: arm64
-
- - name: Setup GPG
- id: gpg
- uses: crazy-max/ghaction-import-gpg@v6
- with:
- gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
- passphrase: ${{ secrets.GPG_PASSPHRASE }}
-
- - name: Build
- uses: andyholmes/flatter@main
- with:
- files: |
- build-aux/flatpak/nightly/io.github.Rirusha.Cassette-Devel.json
- arch: ${{ matrix.arch }}
- gpg-sign: ${{ steps.gpg.outputs.fingerprint }}
- upload-bundles: true
- run-tests: true
- upload-pages-artifact: ${{ matrix.arch == 'x86_64' }}
-
- deploy:
- name: Deploy
- runs-on: ubuntu-latest
- needs: flatter
-
- permissions:
- pages: write
- id-token: write
-
- environment:
- name: github-pages
- url: ${{ steps.deployment.outputs.page_url }}
-
- steps:
- - name: GitHub Pages
- id: deployment
- uses: actions/deploy-pages@v4
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 09de341..1549e4c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,11 +1,13 @@
# build dir
-builddir*
+_build
-# Workspaces
+# nix
+result
+.direnv
+
+# Codium
*.code-workspace
-
-# Personal scripts
-my.*
+.vscode/settings.json
# Po
*.mo
@@ -16,7 +18,3 @@ po/cassette.pot
build-dir
repo
.flatpak
-_build
-
-# gh
-settings.json
\ No newline at end of file
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..b550215
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,201 @@
+include:
+ - project: 'gnome/citemplates'
+ file: 'flatpak/flatpak_ci_initiative.yml'
+ - project: 'Rirusha/citemplates'
+ file: 'lints.yml'
+ - project: 'Rirusha/citemplates'
+ file: 'vala-checkers.yml'
+
+variables:
+ APP_ID: 'space.rirusha.Cassette.Devel'
+ MANIFEST_PATH: $CI_PROJECT_DIR/build-aux/flatpak/${APP_ID}.yml
+ BUNDLE: "${APP_ID}.flatpak"
+ RUNTIME_REPO: "https://nightly.gnome.org/gnome-nightly.flatpakrepo"
+ FLATPAK_MODULE: "cassette"
+
+stages:
+ - lint-vala
+ - lint-blp
+ - lint-checkers
+ - test-mr
+ - build-aarch64
+ - build-x86_64
+ - deploy
+ - deploy-sithyfus
+ - update-repo
+
+# lint-vala:
+# stage: 'lint-vala'
+# extends: '.lint-vala'
+
+# lint-blp:
+# stage: 'lint-blp'
+# extends: '.lint-blp'
+
+# lint-checkers:
+# stage: 'lint-checkers'
+# extends: '.lint-checkers'
+
+test-mr:
+ variables:
+ RUN_TESTS: "0"
+ stage: 'test-mr'
+ extends: '.flatpak'
+ rules:
+ - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
+
+.setup-gpg:
+ image: 'quay.io/gnome_infrastructure/gnome-runtime-images:gnome-master'
+ stage: 'setup-gpg'
+ tags:
+ - flatpak
+ before_script:
+ - mkdir -p ${GNUPGHOME}
+
+ - gpg --list-keys --with-keygrip
+ - touch ${GNUPGHOME}/gpg.conf
+ - touch ${GNUPGHOME}/gpg-agent.conf
+
+ - echo "allow-preset-passphrase" >> ${GNUPGHOME}/gpg-agent.conf
+ - echo "pinentry-mode loopback" >> ${GNUPGHOME}/gpg.conf
+ - echo "batch" >> ${GNUPGHOME}/gpg.conf
+ - echo "yes" >> ${GNUPGHOME}/gpg.conf
+ - echo "passphrase-file ${GPG_PASSPHRASE}" >> ${GNUPGHOME}/gpg.conf
+
+ - gpg-connect-agent reloadagent /bye
+ - cat ${GPG_PASSPHRASE} | /usr/libexec/gpg-preset-passphrase --preset ${GPG_KEY_GREP}
+ - base64 -d ${GPG_PRIVATE_KEY} | gpg --import
+ rules:
+ - if: $CI_COMMIT_BRANCH == "main" && $CI_PIPELINE_SOURCE == 'push'
+
+.build:
+ extends: '.setup-gpg'
+ stage: 'build'
+ interruptible: true
+ variables:
+ GNUPGHOME: /build/.gnupg
+ LANG: "C.UTF-8"
+ RUN_TESTS: "0"
+ ARCH: x86_64
+ script:
+ - cat /etc/os-release
+
+ - flatpak --version
+ # Report the installed versions of the runtime
+ - flatpak info org.gnome.Platform
+ - flatpak info org.gnome.Sdk
+
+ # Print the date, since appstream depends on local timezone
+ - date && date -u
+
+ - |
+ export REWRITE_RUN_TESTS="--run-tests"
+ if [[ $RUN_TESTS != "1" ]]; then
+ export REWRITE_RUN_TESTS="--no-run-tests"
+ fi
+ rewrite-flatpak-manifest ${REWRITE_RUN_TESTS} ${MANIFEST_PATH} ${FLATPAK_MODULE} -- ${CONFIG_OPTS}
+
+ - |
+ if [ ${ARCH} = "x86_64" ]; then
+ tar xf repo.tar
+ rm -rf repo.tar
+ fi
+
+ - >-
+ xvfb-run -a -s "-screen 0 1024x768x24" --
+ dbus-run-session
+ flatpak-builder ${CI_FB_ARGS} --keep-build-dirs --arch=${ARCH} --user --gpg-sign=${GPG_KEY_ID} --gpg-homedir=${GNUPGHOME} --disable-rofiles-fuse flatpak_app --repo=repo ${BRANCH:+--default-branch=$BRANCH} ${MANIFEST_PATH}
+
+ # Generate a Flatpak bundle
+ - flatpak build-bundle --runtime-repo=${RUNTIME_REPO} --gpg-sign=${GPG_KEY_ID} --gpg-homedir=${GNUPGHOME} repo ${BUNDLE} ${APP_ID} ${BRANCH}
+
+ - echo "[Flatpak Repo]" > repo/index.flatpakrepo
+ - echo "Title=Cassette Nightly Repo" >> repo/index.flatpakrepo
+ - echo "Url=https://cassette-rirusha-7b5d032b879376545602ad6add1827529edccbba8e6c57.pages.gitlab.gnome.org/" >> repo/index.flatpakrepo
+ - echo "Homepage=https://https://gitlab.gnome.org/Rirusha/Cassette/" >> repo/index.flatpakrepo
+ - echo "Comment=Repository with development version of Cassette" >> repo/index.flatpakrepo
+ - echo "Description=Repository with development version of Cassette" >> repo/index.flatpakrepo
+ - echo "Icon=https://dl.flathub.org/repo/logo.svg" >> repo/index.flatpakrepo
+ - echo "GPGKey=$(gpg --export ${GPG_KEY_ID} | base64 --wrap=0)" >> repo/index.flatpakrepo
+
+ - flatpak build-update-repo --gpg-sign=${GPG_KEY_ID} --gpg-homedir=${GNUPGHOME} --generate-static-deltas --prune repo
+ - tar cf repo.tar repo/
+ - rm -rf .flatpak-builder
+
+ artifacts:
+ name: 'Flatpak artifacts'
+ when: 'always'
+ paths:
+ - $BUNDLE
+ - 'repo.tar'
+ - '.flatpak-builder/build/${FLATPAK_MODULE}/_flatpak_build/meson-logs/meson-log.txt'
+ - '.flatpak-builder/build/${FLATPAK_MODULE}/_flatpak_build/meson-logs/testlog.txt'
+ reports:
+ junit: '.flatpak-builder/build/${FLATPAK_MODULE}/_flatpak_build/meson-logs/testlog.junit.xml'
+ expire_in: 14 days
+ rules:
+ - if: $CI_COMMIT_BRANCH == "main" && $CI_PIPELINE_SOURCE == 'push'
+
+build-x86_64:
+ extends: '.build'
+ variables:
+ ARCH: x86_64
+ dependencies:
+ - "build-aarch64"
+ tags:
+ - flatpak
+ stage: "build-x86_64"
+ rules:
+ - if: $CI_COMMIT_BRANCH == "main" && $CI_PIPELINE_SOURCE == 'push'
+
+# Need to fix `Error: module cassette: Error removing file /builds/Rirusha/cassette-test-ci/.flatpak-builder/build/cassette: Directory not empty`
+build-aarch64:
+ extends: '.build'
+ variables:
+ ARCH: aarch64
+ tags:
+ - flatpak-aarch64
+ stage: "build-aarch64"
+ rules:
+ - if: $CI_COMMIT_BRANCH == "main" && $CI_PIPELINE_SOURCE == 'push'
+
+pages:
+ variables:
+ BUILD_OUTPUT_PATH: $CI_PROJECT_DIR/repo
+ stage: deploy
+ image: alpine:latest
+ dependencies:
+ - "build-x86_64"
+ script:
+ - apk add rsync
+ - tar xf repo.tar
+ - find $BUILD_OUTPUT_PATH \( -type d -name .git -prune \) -o -type f -print0 | xargs -0 sed -i -e "s#href=\"\/#href=\"$CI_PAGES_URL/#g" -e "s#src=\"\/#src=\"$CI_PAGES_URL/#g"
+ - mkdir public || true
+ - rsync -av --exclude='public' --exclude='.git' $BUILD_OUTPUT_PATH/ public
+ rules:
+ - if: $CI_COMMIT_BRANCH == "main" && $CI_PIPELINE_SOURCE == 'push'
+ artifacts:
+ paths:
+ - public
+ expire_in: 14 days
+
+update-repo:
+ stage: update-repo
+ image: alpine:latest
+ dependencies:
+ - "build-x86_64"
+ script:
+ - tar xf repo.tar
+ - apk add git
+ - git clone https://Rirusha:${GITHUB_TOKEN}@github.com/Rirusha/rirusha.space.git
+ - rm -f rirusha.space/repos/cassette-nightly.flatpakrepo && cp repo/index.flatpakrepo rirusha.space/repos/cassette-nightly.flatpakrepo
+ - cd rirusha.space
+ - git add .
+ - echo $(git status --porcelain)
+ - git config --global user.email "not-a@mail.com"
+ - git config --global user.name "Updater Bot"
+ - git commit -m "Update cassette-nightly repo" || true
+ - git push
+ - cd ..
+ rules:
+ - if: $CI_COMMIT_BRANCH == "main" && $CI_PIPELINE_SOURCE == 'push'
diff --git a/.gitmodules b/.gitmodules
index e925535..f8cfc7a 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,3 @@
-[submodule "build-aux/flatpak/stable"]
- path = build-aux/flatpak/stable
- url = git@github.com:flathub/io.github.Rirusha.Cassette.git
+[submodule "vala-checkers"]
+ path = vala-checkers
+ url = https://gitlab.gnome.org/Rirusha/vala-checkers.git
diff --git a/.vscode/gdb.sh b/.vscode/gdb.sh
deleted file mode 100755
index d07f490..0000000
--- a/.vscode/gdb.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-flatpak build --with-appdir --allow=devel --bind-mount=/run/user/1000/doc=/run/user/1000/doc/by-app/io.github.Rirusha.Cassette-Devel --share=network --share=ipc --socket=fallback-x11 --socket=wayland --device=dri --socket=pulseaudio --filesystem=xdg-music:ro --filesystem=xdg-download:ro --talk-name=org.mpris.MediaPlayer2.Player --own-name=org.mpris.MediaPlayer2.cassette .flatpak/repo gdb "$@"
\ No newline at end of file
diff --git a/.vscode/launch.json b/.vscode/launch.json
deleted file mode 100644
index efdf0ba..0000000
--- a/.vscode/launch.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- // Use IntelliSense to learn about possible attributes.
- // Hover to view descriptions of existing attributes.
- // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
- "version": "0.2.0",
- "configurations": [
- {
- "name": "Debug",
- "type": "gdb",
- "request": "launch",
- "preLaunchTask": "Flatpak launch build",
- "gdbpath": "${workspaceRoot}/.vscode/gdb.sh",
- "target": "${workspaceRoot}/_build/src/cassette",
- "arguments": "",
- "cwd": "${workspaceRoot}",
- "valuesFormatting": "parseText"
- },
- ]
-}
\ No newline at end of file
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
index fd1e1af..ae0d39c 100644
--- a/.vscode/tasks.json
+++ b/.vscode/tasks.json
@@ -12,19 +12,19 @@
{
"label": "Empty lines check",
"type": "shell",
- "command": "python3 ${workspaceFolder}/checkers/empty_lines_checker.py .",
+ "command": "python3 ${workspaceFolder}/vala-checkers/empty_lines_checker.py .",
"problemMatcher": []
},
{
"label": "Indentation check",
"type": "shell",
- "command": "python3 ${workspaceFolder}/checkers/indentation_checker.py .",
+ "command": "python3 ${workspaceFolder}/vala-checkers/indentation_checker.py .",
"problemMatcher": []
},
{
"label": "Full check",
"type": "shell",
- "command": "io.elementary.vala-lint -d . -c vala-lint.conf && python3 ${workspaceFolder}/checkers/empty_lines_checker.py . && python3 ${workspaceFolder}/checkers/indentation_checker.py .",
+ "command": "echo 'Linter:' && io.elementary.vala-lint -d . -c vala-lint.conf && echo 'Empty lines:' && python3 ${workspaceFolder}/vala-checkers/empty_lines_checker.py . && echo 'Indentation:' && python3 ${workspaceFolder}/vala-checkers/indentation_checker.py .",
"problemMatcher": []
},
{
@@ -39,12 +39,6 @@
"command": "blueprint-compiler format -f -s 2 data/ui/*.blp",
"problemMatcher": []
},
- {
- "label": "Generate .pot",
- "type": "shell",
- "command": "sh po/update_potfiles.sh && flatpak run --command=meson --filesystem=host org.gnome.Sdk compile -C _build cassette-pot",
- "problemMatcher": []
- },
{
"label": "Run tests",
"type": "shell",
@@ -56,4 +50,4 @@
"problemMatcher": []
}
]
-}
\ No newline at end of file
+}
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..e583674
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,61 @@
+## How to contribute
+
+If you don't know what to do, then:
+* All scheduled tasks are in the issue section and have the "enhancement" label.
+* All known problems are in the same place and have a "bug" label.
+
+Choose tasks from the nearest versions. You can find a list of them [here](https://github.com/Rirusha/Cassette/milestones). This will both speed up the release of the next version and facilitate the review, so you will not need to switch from one global problem to another.
+
+Also, if you decide to fix some bug described in the issue, first make sure that it can still be reproduced in the `main` branch.
+
+Also, if you think that the application is missing something or you have found a bug, then do not hesitate to create an issue.
+
+## Naming commits
+The message header should look like:
+```
+feat: add a play button to the `Widget name`
+
+The button was missing, so it had to be added
+```
+This is an example. The rules are described in more detail [here](https://github.com/conventional-changelog/commitlint/tree/master/%40commitlint/config-conventional). Also, the message body is optional if the information in the header is exhaustive. Also here is a list of all types of commits with descriptions:
+
+* `build`: Used for changes related to the system build or external dependencies.
+
+* `chore`: Usually includes changes that are not directly related to the code or tests, for example, updating documentation, configuring the development environment, upgrading the version, etc.
+
+* `ci`: Refers to changes related to configuring or improving CI.
+
+* `docs`: Used for changes related only to documentation, such as correcting typos, updating the README, or adding comments to the code.
+
+* `feat`: Indicates the addition of new functionality or features to the project.
+
+* `fix`: Refers to fixing errors in the code or fixing problems in the project.
+
+* `perf`: Used when changes are made to improve performance.
+
+* `refactor`: Refers to changes that do not add new functionality, but only change the structure or organization of existing code.
+
+* `revert`: Used to undo previous commits in the project history.
+
+* `style`: Refers to changes in the formatting of the code, for example, edits of spaces, indents, line breaks, etc.
+
+* `test`: Used to add or modify test code, for example, testing new functionality or correcting existing tests.
+
+* `po`: Used to add or change a translation.
+
+## Creating Pull Requests
+All Pull Requests must be made in the `master` branch. If you close an issue, then link to it with the keyword "close" in the commit body, for example:
+```
+fix: fix incorrect behavior
+
+close #123
+```
+
+## Formatting the code
+If you are using Visual Studio Code, then there is a task to run the linter. Otherwise, use the configuration in the root of the repository in the linter: vala-lint.conf, CI uses it exactly.
+
+## Development
+Check the build using flatpak, as this is the only officially supported version.
+
+## Testing
+Writing or supplementing existing tests for the client is highly welcome.
diff --git a/README.md b/README.md
index 9739e5d..3d35c6d 100644
--- a/README.md
+++ b/README.md
@@ -1,56 +1,52 @@
-
-
-
- Cassette
-
+README language: \
+[](README.md)
+[](docs/README-ru.md)
-
- GTK4/Adwaita приложение, которое позволит вам использовать Я.Музыку на Linux.
-
+
-
-
-
+
GTK4/Adwaita application that allows you to use Yandex Music service on Linux operating systems.
+
+
+
-## План основных версий
-[](https://github.com/Rirusha/Cassette/milestone/2) \
-[](https://github.com/Rirusha/Cassette/milestone/5) \
-[](https://github.com/Rirusha/Cassette/milestone/4) \
-[](https://github.com/Rirusha/Cassette/milestone/6) \
-[](https://github.com/Rirusha/Cassette/milestone/7)
+## Install
-Все запланированные фичи можете [посмотреть в бэклоге](https://github.com/users/Rirusha/projects/2)
+**Flathub:**
+
+
+
-## Установка из репозитория
+```shell
+flatpak install space.rirusha.Cassette
+```
-Приложение Cassette доступно здесь:
+**Distribution repositories:**
[](https://repology.org/project/cassette/versions)
-### ALT Sisyphus
+### ALT Linux
```shell
su -
apt-get install cassette
@@ -58,8 +54,7 @@ apt-get install cassette
### Arch Linux
-> [!NOTE]
-> Большинство AUR Helper'ов поддерживает Pacman-style флаги, например, yay.
+> Most AUR Helpers support Pacman-style flags, for example, yay.
#### yay
```shell
@@ -71,66 +66,15 @@ yay -S cassette
pamac install cassette
```
-
-## Установка c помощью Flatpak
-
-Вы можете скачать по [ссылке](https://flathub.org/apps/details/io.github.Rirusha.Cassette) или используя терминал
-
+### NixOS Unstable
```shell
-flatpak install io.github.Rirusha.Cassette
+nix-shell -p cassette
```
+## Building
-## Nightly версия
+#### Dependencies:
-> [!WARNING]
-> Данная версия собирается и обновляется при каждом изменение в коде, поэтому может оказаться нестабильной.
-
-### Flatpak
-
-#### Подключаем репозиторий `gnome-nightly` и устанавливаем GNOME Platform:
-```shell
-flatpak remote-add --if-not-exists gnome-nightly https://nightly.gnome.org/gnome-nightly.flatpakrepo
-flatpak install gnome-nightly org.gnome.Platform//master
-```
-
-#### Подключаем Nightly репозиторий и устанавливаем приложение:
-```shell
-flatpak remote-add --if-not-exists cassette-nightly https://rirusha.github.io/Cassette/index.flatpakrepo
-flatpak install cassette-nightly io.github.Rirusha.Cassette-Devel
-```
-
-#### Для удаления репозитория нужно выполнить:
-```shell
-flatpak remote-delete cassette-nightly
-```
-
-### Arch Linux
-
-> [!NOTE]
-> При необходимости, в arch-подобных системах можно установить Nightly версию из репозитория AUR.
-> По возможности рекомендуется использовать Flatpak версию.
->
-> Большинство AUR Helper'ов поддерживает Pacman-style флаги, например, yay.
-
-#### yay
-```shell
-yay -S cassette-git
-```
-
-#### pamac
-```shell
-pamac install cassette-git
-```
-
-## Установка в Windows
-
-Способы установки приложения в Windows описаны [здесь](docs/INSTALLATION_ON_WINDOWS.md).
-
-
-## Сборка из исходного кода
-
-#### Зависимости:
* `gtk4`, version: `>= 4.14`
* `libadwaita-1`, version: `>= 1.5`
* `libsoup-3.0`
@@ -142,9 +86,10 @@ pamac install cassette-git
* `gstreamer-1.0`
* `webkitgtk-6.0`
* `gio-2.0`, version: `>= 2.72`
-* `git`, только для `devel`
+* `git`, only for `devel`
+
+#### Building utilities:
-#### Утилиты для сборки:
* `meson`
* `ninja`
* `cmake`
@@ -154,92 +99,96 @@ pamac install cassette-git
* `pkg`
* `appstream-utils`
-### Сборка:
+### PreRelease
-#### latest
-> [!NOTE]
-> В данной версии будут недоступны нестабильные функции, находящиеся в разработке.
+> Unstable features under development will not be available in this version.
```shell
-meson setup builddir
+meson setup _build
```
-#### devel
-> [!WARNING]
-> В данной версии будут доступны все devel функции, приложение может работать нестабильно.
+### `is_devel` flag
+
+> In this version, all devel functions will be available.
```shell
-meson setup builddir
-meson configure -Dprofile=development builddir
+meson setup _build -Dis_devel=true
```
-### Тестирование
+#### Install
```shell
-ninja -C builddir test
+sudo ninja install -C _build
```
-### Установка:
+#### Testing
```shell
-sudo ninja -C builddir install
+ninja -C _build test
```
-### Удаление:
+#### Uninstal
```shell
-sudo ninja -C builddir uninstall
+sudo ninja uninstall -C _build
```
+## Devel version
-## Решение проблем
+> This version is built and updated with every commit, so it may be unstable.
-Решение известных проблем описано на странице Cassette на [ALT Gnome Wiki](https://alt-gnome.wiki/cassette.html#решение-проблем).
+You need to add `cassette-nightly` and `gnome-nightly` repositories:
-Также загляните во вкладку [issues](https://github.com/Rirusha/Cassette/issues), если вашей проблемы нет и там, расскажите о ней, заведя новый [issue](https://github.com/Rirusha/Cassette/issues/new).
+```shell
+flatpak remote-add --if-not-exists gnome-nightly https://nightly.gnome.org/gnome-nightly.flatpakrepo
+flatpak remote-add --if-not-exists cassette-nightly https://rirusha.space/repos/cassette-nightly.flatpakrepo
+```
+Install application:
-## Для разработчиков
+```shell
+flatpak install cassette-nightly space.rirusha.Cassette.Devel
+```
-### Использование Visual Studio Code
-Репозиторий имеет рекомендуемые расширения для проверки и запуска приложения с gdb.
+## For developers
-### Зависимости
+> The repository has recommended extensions for developing with Visual Studio Code.
-#### репозиторий [gnome-nightly](https://wiki.gnome.org/Apps/Nightly):
+### Dependencies
+
+#### repository [gnome-nightly](https://wiki.gnome.org/Apps/Nightly):
```shell
flatpak remote-add --if-not-exists gnome-nightly https://nightly.gnome.org/gnome-nightly.flatpakrepo
```
-#### Для запуска
+#### To run
`org.gnome.Platform//master`
```shell
flatpak install org.gnome.Platform//master
```
-#### Для сборки
+#### To build
`org.gnome.Sdk//master` \
`org.freedesktop.Sdk.Extension.vala//23.08beta`
```shell
flatpak install org.gnome.Sdk//master org.freedesktop.Sdk.Extension.vala//23.08beta
```
+## Support
-## Поддержка
-Вы можете поддержать несколькими способами:
-- Создать ишью с проблемой или предложением по улучшению
-- Отправить pull request с фиксом или добавлением функционала
-- Поддержать рублём (Просьба указывать в "Сообщении получателю" свой никнейм при отправлении через Тинькофф):
+You can support in several ways:
+- Create an issue with a problem or a suggestion for improvement
+- Submit a merge request with a fix or new functionality
+- Support financially (Please include your nickname in the "Message to the recipient" when sending via T-Bank)
-
-
-
-
-
-
-
-
-
-
+
+
-## Благодарность
-Спасибо [MarshalX](https://github.com/MarshalX). Библиотека [yandex-music-api](https://github.com/MarshalX/yandex-music-api) была использована в качестве документации к api.
+## Gratitude
+Thank you [MarshalX](https://github.com/MarshalX ). The [yandex-music-api](https://github.com/MarshalX/yandex-music-api) library was used as api documentation.
-> [!NOTE]
-Cassette - неофициальный клиент, не связан с компанией Яндекс и не одобрен ей.
+> Attention!
+> Cassette is an unofficial client, not affiliated with Yandex and not approved by it.
diff --git a/assets/boosty.png b/assets/boosty.png
new file mode 100644
index 0000000..e669a84
Binary files /dev/null and b/assets/boosty.png differ
diff --git a/assets/tbank.png b/assets/tbank.png
new file mode 100644
index 0000000..7aee9d8
Binary files /dev/null and b/assets/tbank.png differ
diff --git a/build-aux/flatpak/nightly/io.github.Rirusha.Cassette-Devel.json b/build-aux/flatpak/nightly/io.github.Rirusha.Cassette-Devel.json
deleted file mode 100644
index 0b296b2..0000000
--- a/build-aux/flatpak/nightly/io.github.Rirusha.Cassette-Devel.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{
- "id" : "io.github.Rirusha.Cassette-Devel",
- "runtime" : "org.gnome.Platform",
- "runtime-version" : "master",
- "sdk" : "org.gnome.Sdk",
- "command" : "cassette",
- "finish-args" : [
- "--share=network",
- "--share=ipc",
- "--socket=fallback-x11",
- "--device=dri",
- "--socket=pulseaudio",
- "--socket=wayland",
- "--filesystem=xdg-music:ro",
- "--filesystem=xdg-download:ro",
- "--talk-name=org.mpris.MediaPlayer2.Player",
- "--own-name=org.mpris.MediaPlayer2.cassette"
- ],
- "build-options" : {
- "append-path" : "/usr/lib/sdk/vala/bin",
- "prepend-ld-library-path" : "/usr/lib/sdk/vala/lib"
- },
- "cleanup" : [
- "/include",
- "/lib/pkgconfig",
- "/man",
- "/share/doc",
- "/share/gtk-doc",
- "/share/man",
- "/share/pkgconfig",
- "/share/vala",
- "*.la",
- "*.a"
- ],
- "modules" : [
- {
- "name": "blueprint-compiler",
- "buildsystem": "meson",
- "sources": [
- {
- "type": "git",
- "url": "https://gitlab.gnome.org/jwestman/blueprint-compiler",
- "tag": "v0.12.0",
- "commit": "66b43c36cf1017c878762007373964a096b3d2a5"
- }
- ]
- },
- {
- "name" : "cassette",
- "builddir" : true,
- "buildsystem" : "meson",
- "config-opts": [ "-Dprofile=development" ],
- "sources" : [
- {
- "type" : "dir",
- "path" : "../../../"
- }
- ]
- }
- ]
-}
diff --git a/build-aux/flatpak/nightly/io.github.Rirusha.Cassette-PreRelease.json b/build-aux/flatpak/nightly/io.github.Rirusha.Cassette-PreRelease.json
deleted file mode 100644
index ab0fd94..0000000
--- a/build-aux/flatpak/nightly/io.github.Rirusha.Cassette-PreRelease.json
+++ /dev/null
@@ -1,60 +0,0 @@
-{
- "id" : "io.github.Rirusha.Cassette",
- "runtime" : "org.gnome.Platform",
- "runtime-version" : "46",
- "sdk" : "org.gnome.Sdk",
- "command" : "cassette",
- "finish-args" : [
- "--share=network",
- "--share=ipc",
- "--socket=fallback-x11",
- "--device=dri",
- "--socket=pulseaudio",
- "--socket=wayland",
- "--filesystem=xdg-music:ro",
- "--filesystem=xdg-download:ro",
- "--talk-name=org.mpris.MediaPlayer2.Player",
- "--own-name=org.mpris.MediaPlayer2.cassette"
- ],
- "build-options" : {
- "append-path" : "/usr/lib/sdk/vala/bin",
- "prepend-ld-library-path" : "/usr/lib/sdk/vala/lib"
- },
- "cleanup" : [
- "/include",
- "/lib/pkgconfig",
- "/man",
- "/share/doc",
- "/share/gtk-doc",
- "/share/man",
- "/share/pkgconfig",
- "/share/vala",
- "*.la",
- "*.a"
- ],
- "modules" : [
- {
- "name": "blueprint-compiler",
- "buildsystem": "meson",
- "sources": [
- {
- "type": "git",
- "url": "https://gitlab.gnome.org/jwestman/blueprint-compiler",
- "tag": "v0.12.0",
- "commit": "66b43c36cf1017c878762007373964a096b3d2a5"
- }
- ]
- },
- {
- "name" : "cassette",
- "builddir" : true,
- "buildsystem" : "meson",
- "sources" : [
- {
- "type" : "dir",
- "path" : "../../../"
- }
- ]
- }
- ]
-}
diff --git a/build-aux/flatpak/space.rirusha.Cassette.Devel (Builder).json b/build-aux/flatpak/space.rirusha.Cassette.Devel (Builder).json
new file mode 100644
index 0000000..b090a50
--- /dev/null
+++ b/build-aux/flatpak/space.rirusha.Cassette.Devel (Builder).json
@@ -0,0 +1,68 @@
+{
+ "id": "space.rirusha.Cassette.Devel",
+ "runtime": "org.gnome.Platform",
+ "runtime-version": "master",
+ "sdk": "org.gnome.Sdk",
+ "sdk-extensions": [
+ "org.freedesktop.Sdk.Extension.vala"
+ ],
+ "command": "cassette",
+ "finish-args": [
+ "--share=network",
+ "--share=ipc",
+ "--socket=fallback-x11",
+ "--device=dri",
+ "--socket=pulseaudio",
+ "--socket=wayland",
+ "--filesystem=xdg-music:ro",
+ "--filesystem=xdg-download:ro",
+ "--own-name=org.mpris.MediaPlayer2.space.rirusha.Cassette.Devel"
+ ],
+ "build-options": {
+ "append-path": "/usr/lib/sdk/vala/bin",
+ "prepend-ld-library-path": "/usr/lib/sdk/vala/lib"
+ },
+ "cleanup": [
+ "/include",
+ "/lib/pkgconfig",
+ "/man",
+ "/share/doc",
+ "/share/gtk-doc",
+ "/share/man",
+ "/share/pkgconfig",
+ "/share/vala",
+ "*.la",
+ "*.a"
+ ],
+ "modules": [
+ {
+ "name": "blueprint-compiler",
+ "buildsystem": "meson",
+ "cleanup": [
+ "*"
+ ],
+ "sources": [
+ {
+ "type": "git",
+ "url": "https://gitlab.gnome.org/jwestman/blueprint-compiler",
+ "commit": "04ef0944db56ab01307a29aaa7303df6067cb3c0",
+ "tag": "v0.16.0"
+ }
+ ]
+ },
+ {
+ "name": "cassette",
+ "buildsystem": "meson",
+ "builddir": true,
+ "config-opts": [
+ "-Dis_devel=true"
+ ],
+ "sources": [
+ {
+ "type": "dir",
+ "path": "../../"
+ }
+ ]
+ }
+ ]
+}
diff --git a/build-aux/flatpak/space.rirusha.Cassette.Devel.yml b/build-aux/flatpak/space.rirusha.Cassette.Devel.yml
new file mode 100644
index 0000000..d39cc4c
--- /dev/null
+++ b/build-aux/flatpak/space.rirusha.Cassette.Devel.yml
@@ -0,0 +1,49 @@
+id: space.rirusha.Cassette.Devel
+runtime: org.gnome.Platform
+runtime-version: 'master'
+sdk: org.gnome.Sdk
+sdk-extensions:
+ - org.freedesktop.Sdk.Extension.vala
+command: cassette
+finish-args:
+ - --share=network
+ - --share=ipc
+ - --socket=fallback-x11
+ - --device=dri
+ - --socket=pulseaudio
+ - --socket=wayland
+ - --filesystem=xdg-music:ro
+ - --filesystem=xdg-download:ro
+ - --own-name=org.mpris.MediaPlayer2.space.rirusha.Cassette.Devel
+build-options:
+ append-path: /usr/lib/sdk/vala/bin
+ prepend-ld-library-path: /usr/lib/sdk/vala/lib
+cleanup:
+ - /include
+ - /lib/pkgconfig
+ - /man
+ - /share/doc
+ - /share/gtk-doc
+ - /share/man
+ - /share/pkgconfig
+ - /share/vala
+ - '*.la'
+ - '*.a'
+modules:
+ - name: blueprint-compiler
+ buildsystem: meson
+ cleanup:
+ - '*'
+ sources:
+ - type: git
+ url: https://gitlab.gnome.org/jwestman/blueprint-compiler
+ commit: 04ef0944db56ab01307a29aaa7303df6067cb3c0
+ tag: v0.16.0
+ - name: cassette
+ buildsystem: meson
+ builddir: true
+ config-opts:
+ - -Dis_devel=true
+ sources:
+ - type: dir
+ path: ../../
diff --git a/build-aux/flatpak/space.rirusha.Cassette.PreRelease.yaml b/build-aux/flatpak/space.rirusha.Cassette.PreRelease.yaml
new file mode 100644
index 0000000..9720402
--- /dev/null
+++ b/build-aux/flatpak/space.rirusha.Cassette.PreRelease.yaml
@@ -0,0 +1,47 @@
+id: space.rirusha.Cassette
+runtime: org.gnome.Platform
+runtime-version: '47'
+sdk: org.gnome.Sdk
+sdk-extensions:
+ - org.freedesktop.Sdk.Extension.vala
+command: cassette
+finish-args:
+ - --share=network
+ - --share=ipc
+ - --socket=fallback-x11
+ - --device=dri
+ - --socket=pulseaudio
+ - --socket=wayland
+ - --filesystem=xdg-music:ro
+ - --filesystem=xdg-download:ro
+ - --own-name=org.mpris.MediaPlayer2.space.rirusha.Cassette
+build-options:
+ append-path: /usr/lib/sdk/vala/bin
+ prepend-ld-library-path: /usr/lib/sdk/vala/lib
+cleanup:
+ - /include
+ - /lib/pkgconfig
+ - /man
+ - /share/doc
+ - /share/gtk-doc
+ - /share/man
+ - /share/pkgconfig
+ - /share/vala
+ - '*.la'
+ - '*.a'
+modules:
+ - name: blueprint-compiler
+ buildsystem: meson
+ cleanup:
+ - '*'
+ sources:
+ - type: git
+ url: https://gitlab.gnome.org/jwestman/blueprint-compiler
+ commit: 8e10fcf8692108b9d4ab78f41086c5d7773ef864
+ tag: v0.14.0
+ - name: cassette
+ buildsystem: meson
+ builddir: true
+ sources:
+ - type: dir
+ path: ../../
diff --git a/build-aux/flatpak/stable b/build-aux/flatpak/stable
deleted file mode 160000
index 4e75fdf..0000000
--- a/build-aux/flatpak/stable
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 4e75fdfec4b810aa091a1365da824c904a7554d5
diff --git a/cassette.doap b/cassette.doap
index 5d0a36a..3446ae6 100644
--- a/cassette.doap
+++ b/cassette.doap
@@ -5,7 +5,6 @@
xmlns:gnome="http://api.gnome.org/doap-extensions#"
xmlns="http://usefulinc.com/ns/doap#">
- Cassette
Casete
Cassette
Kassette
@@ -28,37 +27,38 @@
Kasetti
Kazetta
เทปคาสเซ็ท
+ Cassette
- Unofficial Yandex.Music client
- Cliente no oficial de Yandex.Music
- Client non officiel de Yandex.Music
- Inoffizieller Yandex.Music-Client
- Client non ufficiale di Yandex.Music
- Cliente não oficial do Yandex.Music
+ Cliente no oficial de Yandex Music
+ Client non officiel de Yandex Music
+ Inoffizieller Yandex Music-Client
+ Client non ufficiale di Yandex Music
+ Cliente não oficial do Yandex Music
Неофициальный клиент Яндекс.Музыки
- 非公式のYandex.Musicクライアント
- 非官方的Yandex.Music客户端
- عميل غير رسمي لـ Yandex.Music
- अनौपचारिक Yandex.Music क्लाइंट
- 비공식 Yandex.Music 클라이언트
- Resmi olmayan Yandex.Music istemcisi
- לקוח לא רשמי של Yandex.Music
- Ανεπίσημος πελάτης του Yandex.Music
- Onofficiële Yandex.Music-client
- Inofficiell Yandex.Music-klient
- Nieoficjalny klient Yandex.Music
- Neoficiální klient Yandex.Music
- Uofficiel Yandex.Music-klient
- Epävirallinen Yandex.Music-asiakas
- Nem hivatalos Yandex.Music kliens
- ไคลเอนต์ Yandex.Music อย่างไม่เป็นทางการ
+ 非公式のYandex Musicクライアント
+ 非官方的Yandex Music客户端
+ عميل غير رسمي لـ Yandex Music
+ अनौपचारिक Yandex Music क्लाइंट
+ 비공식 Yandex Music 클라이언트
+ Resmi olmayan Yandex Music istemcisi
+ לקוח לא רשמי של Yandex Music
+ Ανεπίσημος πελάτης του Yandex Music
+ Onofficiële Yandex Music-client
+ Inofficiell Yandex Music-klient
+ Nieoficjalny klient Yandex Music
+ Neoficiální klient Yandex Music
+ Uofficiel Yandex Music-klient
+ Epävirallinen Yandex Music-asiakas
+ Nem hivatalos Yandex Music kliens
+ ไคลเอนต์ Yandex Music อย่างไม่เป็นทางการ
+ Unofficial Yandex Music client
GTK/Adwaita application that allows you to use Yandex Music service on Linux operating systems
-
-
-
+
+
+
Vala
GTK 4
@@ -70,7 +70,7 @@
-
+
Rirusha
diff --git a/checkers/empty_lines_checker.py b/checkers/empty_lines_checker.py
deleted file mode 100644
index 775da39..0000000
--- a/checkers/empty_lines_checker.py
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/bin/bash
-
-import sys
-import os
-import re
-
-def check_indentation (file_path, root_dir) -> list[str]:
- file_err_list = []
-
- with open (file_path, 'r') as file:
- lines = file.readlines ()
-
- empty_lines_count = 0
- for i, line in enumerate (lines):
- if line.strip () == "":
- empty_line_count += 1
- else:
- empty_line_count = 0
-
- if empty_line_count > 1:
- file_err_list.append (f"To mant empty lines in file '{file_path.replace (root_dir, "", 1)}' at line {i + 1}: \"{line.rstrip ()}\".")
-
- return file_err_list
-
-def scan_directory (directory) -> list[str]:
- err_list = []
-
- for root, dirs, files in os.walk (directory):
- for file in files:
- if (file.endswith ('.vala') or file.endswith ('.blp')) and (("/data/ui" in root or "/src" in root or "/tests" in root) and "/.flatpak/" not in root):
- file_path = os.path.join (root, file)
-
- file_err_list = check_indentation (file_path, directory)
-
- if (file_err_list):
- err_list += file_err_list
-
- return err_list
-
-
-if __name__ == "__main__":
- err_list = scan_directory (sys.argv[1])
-
- print (*err_list, sep="\n", end="\n\n")
- print (f"Total errors: {len (err_list)}")
-
- if (len (err_list) != 0):
- sys.exit (1)
diff --git a/checkers/indentation_checker.py b/checkers/indentation_checker.py
deleted file mode 100644
index 5a4a28c..0000000
--- a/checkers/indentation_checker.py
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/bin/bash
-
-import sys
-import os
-import re
-
-def check_indentation (file_path, root_dir) -> list[str]:
- file_err_list = []
-
- with open (file_path, 'r') as file:
- lines = file.readlines ()
-
- for i, line in enumerate (lines):
- if "ind-check=skip-file" in line:
- return
-
- if re.match (r'^(?!.*(?:new|if|else| => |try|catch|switch|}|get |set |while|namespace|class|foreach|throws|ind-check=ignore| = {))(?=(?:.*?\s+\w+\s+\w+.*?){1}).*{', line):
- indentation = len (re.match(r'^(\s*)', line).group(1))
- if indentation != 4:
- file_err_list.append (f"Indentation error in file '{file_path.replace (root_dir, "", 1)}' at line {i + 1}: \"{line.rstrip ()}\". {indentation} spaces instead of 4.")
-
- return file_err_list
-
-def scan_directory (directory) -> list[str]:
- err_list = []
-
- for root, dirs, files in os.walk (directory):
- for file in files:
- if file.endswith ('.vala'):
- file_path = os.path.join (root, file)
-
- file_err_list = check_indentation (file_path, directory)
-
- if (file_err_list):
- err_list += file_err_list
-
- return err_list
-
-
-if __name__ == "__main__":
- err_list = scan_directory (sys.argv[1])
-
- print (*err_list, sep="\n", end="\n\n")
- print (f"Total errors: {len (err_list)}")
-
- if (len (err_list) != 0):
- sys.exit (1)
diff --git a/data/assets/icons/like-symbolic.svg b/data/assets/icons/like-symbolic.svg
new file mode 100644
index 0000000..f146589
--- /dev/null
+++ b/data/assets/icons/like-symbolic.svg
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/data/icons/hicolor/scalable/apps/io.github.Rirusha.Cassette-Devel.svg b/data/icons/hicolor/scalable/apps/space.rirusha.Cassette.Devel.svg
similarity index 99%
rename from data/icons/hicolor/scalable/apps/io.github.Rirusha.Cassette-Devel.svg
rename to data/icons/hicolor/scalable/apps/space.rirusha.Cassette.Devel.svg
index 2222c7b..51c9cd8 100644
--- a/data/icons/hicolor/scalable/apps/io.github.Rirusha.Cassette-Devel.svg
+++ b/data/icons/hicolor/scalable/apps/space.rirusha.Cassette.Devel.svg
@@ -4,7 +4,7 @@
height="128"
version="1.1"
id="svg16"
- sodipodi:docname="io.github.Rirusha.Cassette-Devel.svg"
+ sodipodi:docname="space.rirusha.Cassette.Devel.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
@@ -38,9 +38,9 @@
inkscape:window-height="1011"
id="namedview18"
showgrid="false"
- inkscape:zoom="4.3101714"
- inkscape:cx="36.54147"
- inkscape:cy="53.014133"
+ inkscape:zoom="11.313709"
+ inkscape:cx="89.095454"
+ inkscape:cy="94.708114"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
@@ -799,7 +799,7 @@
+ transform="matrix(1.0003571,0,0,1.0006746,-7.7599937,-17.158376)">
-
+
assets/icons/audio-volume-high-symbolic.svg
assets/icons/audio-volume-low-symbolic.svg
assets/icons/audio-volume-medium-symbolic.svg
@@ -22,6 +22,7 @@
assets/icons/go-next-symbolic.svg
assets/icons/go-previous-symbolic.svg
assets/icons/isound-wave-alt-symbolic.svg
+ assets/icons/like-symbolic.svg
assets/icons/media-playback-pause-symbolic.svg
assets/icons/media-playback-start-symbolic.svg
assets/icons/media-playlist-repeat-song-symbolic.svg
@@ -128,7 +129,7 @@
assets/icons/wave-my-wave-symbolic.svg
assets/icons/window-close-symbolic.svg
-
+
ui/help-overlay.ui
style.css
ui/account-info-dialog.ui
diff --git a/data/io.github.Rirusha.Cassette.gschema.xml b/data/space.rirusha.Cassette.gschema.xml
similarity index 72%
rename from data/io.github.Rirusha.Cassette.gschema.xml
rename to data/space.rirusha.Cassette.gschema.xml
index ef44872..4586ff7 100644
--- a/data/io.github.Rirusha.Cassette.gschema.xml
+++ b/data/space.rirusha.Cassette.gschema.xml
@@ -1,23 +1,23 @@
-
-
-
+
+
+
-
+
-
+
-
+
"begin"
@@ -73,22 +73,22 @@
-
+
-
+
-
+
-
+
"off"
-
+
"off"
diff --git a/data/io.github.Rirusha.Cassette.appdata.xml.in b/data/space.rirusha.Cassette.metainfo.xml.in.in
similarity index 69%
rename from data/io.github.Rirusha.Cassette.appdata.xml.in
rename to data/space.rirusha.Cassette.metainfo.xml.in.in
index bbf33ff..6460fc7 100644
--- a/data/io.github.Rirusha.Cassette.appdata.xml.in
+++ b/data/space.rirusha.Cassette.metainfo.xml.in.in
@@ -1,9 +1,10 @@
-
+
Cassette
- io.github.Rirusha.Cassette
+ @APP_ID@
CC0-1.0
- GPL-3.0-only
+ GPL-3.0-or-later
+ Unofficial Yandex Music client
GTK/Adwaita application that allows to use Yandex Music
@@ -34,41 +35,61 @@
Cassette is an unofficial client and is not associated with or endorsed by Yandex.
+ @APP_ID_DYN@.desktop
+
+ Vladimir Vaskov
+ Владимир Васьков
+
keyboard
pointing
touch
- #c0c0c0
- #303030
+ #fee372
+ #dd624b
mild
moderate
mild
+ @HOMEPAGE@
+ @BUGTRACKER@
+ @HELP@
- https://github.com/Rirusha/Cassette/blob/master/data/images/1-liked.png?raw=true
+ https://gitlab.gnome.org/Rirusha/Cassette/-/raw/959c28f67e219efdba1fa280d2170d3d72bed20a/data/images/1-liked-view.png
+ Liked view
- https://github.com/Rirusha/Cassette/blob/master/data/images/2-playlists.png?raw=true
+ https://gitlab.gnome.org/Rirusha/Cassette/-/raw/959c28f67e219efdba1fa280d2170d3d72bed20a/data/images/2-playlists-view.png
+ Playlists view
- https://github.com/Rirusha/Cassette/blob/master/data/images/3-lyrics.png?raw=true
+ https://gitlab.gnome.org/Rirusha/Cassette/-/raw/959c28f67e219efdba1fa280d2170d3d72bed20a/data/images/3-sync-lyrics.png
+ Sync lyrics
- https://github.com/Rirusha/Cassette/blob/master/data/images/4-queue.png?raw=true
+ https://gitlab.gnome.org/Rirusha/Cassette/-/raw/959c28f67e219efdba1fa280d2170d3d72bed20a/data/images/4-playback-queue.png
+ Playback queue
- https://github.com/Rirusha/Cassette/blob/master/data/images/5-main-settings.png?raw=true
+ https://gitlab.gnome.org/Rirusha/Cassette/-/raw/959c28f67e219efdba1fa280d2170d3d72bed20a/data/images/5-waves-view.png
+ Waves view
+
+
+ https://gitlab.gnome.org/Rirusha/Cassette/-/raw/959c28f67e219efdba1fa280d2170d3d72bed20a/data/images/6-main-settings.png
+ Main preferences
- Unofficial Yandex.Music client
- io.github.Rirusha.Cassette.desktop
-
+
+
+ Fixed a bug on the stations page and the playlist page in GNOME 48
+
+
+
A release dedicated to My Vibe
- https://github.com/Rirusha/Cassette
- https://github.com/Rirusha/Cassette/issues
- https://t.me/CassetteGNOME_Discussion
- Rirusha
diff --git a/data/style.css b/data/style.css
index d598243..3b995c3 100644
--- a/data/style.css
+++ b/data/style.css
@@ -65,7 +65,7 @@ frame {
background-color: rgba(0, 0, 0, 0);
}
-.plus-background {
+.plus-button {
color: white;
background-image: linear-gradient(90deg,#ff5c4d,#eb469f 30%,#8341ef 75%,#3f68f9);
}
diff --git a/data/ui/account-info-dialog.blp b/data/ui/account-info-dialog.blp
index b527b87..529a8cb 100644
--- a/data/ui/account-info-dialog.blp
+++ b/data/ui/account-info-dialog.blp
@@ -21,10 +21,10 @@ template $CassetteAccountInfoDialog: Adw.Dialog {
margin-bottom: 12;
margin-start: 12;
margin-end: 12;
- maximum-size: 450;
+ maximum-size: 360;
Box {
- spacing: 24;
+ spacing: 12;
orientation: vertical;
Adw.Avatar avatar {}
@@ -39,45 +39,35 @@ template $CassetteAccountInfoDialog: Adw.Dialog {
wrap: true;
}
- Box {
- orientation: vertical;
- halign: center;
- spacing: 8;
+ ListBox {
+ styles [
+ "boxed-list-separate"
+ ]
- Button user_button {
- styles [
- "pill"
- ]
+ margin-top: 12;
+ selection-mode: none;
+ Adw.ButtonRow user_button {
action-name: "app.open-account";
- label: _("Open in browser");
- hexpand: true;
- can-shrink: true;
+ title: _("Open in browser");
}
- Button plus_button {
+ Adw.ButtonRow plus_button {
styles [
- "pill",
- "plus-background"
+ "plus-button"
]
action-name: "app.open-plus";
- label: _("Plus");
- hexpand: true;
- can-shrink: true;
+ title: _("Plus");
}
- Button logout_button {
+ Adw.ButtonRow logout_button {
styles [
- "pill",
"destructive-action"
]
- margin-top: 24;
action-name: "app.log-out";
- label: _("Log out");
- hexpand: true;
- can-shrink: true;
+ title: _("Log out");
}
}
}
diff --git a/data/ui/cover-image.blp b/data/ui/cover-image.blp
index a15f186..ec7c5ab 100644
--- a/data/ui/cover-image.blp
+++ b/data/ui/cover-image.blp
@@ -5,7 +5,17 @@ template $CassetteCoverImage: Frame {
halign: center;
valign: center;
- Image real_image {
- icon-size: large;
+ Stack stack {
+ hhomogeneous: true;
+
+ StackPage {
+ name: "placeholder";
+ child: Image placeholder_image {
+ icon-size: large;
+ icon-name: "audio-x-generic-symbolic";
+ width-request: bind template.image-widget-size;
+ height-request: bind template.image-widget-size;
+ };
+ }
}
}
diff --git a/data/ui/header-bar.blp b/data/ui/header-bar.blp
index 490abc0..13f9cba 100644
--- a/data/ui/header-bar.blp
+++ b/data/ui/header-bar.blp
@@ -25,8 +25,8 @@ template $CassetteHeaderBar: $CassetteShrinkableBin {
ToggleButton search_button {
icon-name: "edit-find-symbolic";
visible: false;
- tooltip-text: _("Yandex.Music search");
- sensitive: bind template.interactive;
+ tooltip-text: _("Yandex Music search");
+ // sensitive: bind template.interactive;
}
title-widget: Adw.ViewSwitcher switcher_title {
diff --git a/data/ui/no-plus-dialog.blp b/data/ui/no-plus-dialog.blp
index eede007..0cd49d1 100644
--- a/data/ui/no-plus-dialog.blp
+++ b/data/ui/no-plus-dialog.blp
@@ -11,27 +11,46 @@ template $CassetteNoPlusDialog: Adw.Dialog {
[top]
Adw.HeaderBar {}
- content: Adw.StatusPage {
- margin-top: 24;
- margin-bottom: 12;
- margin-start: 12;
- margin-end: 12;
- icon-name: "dialog-warning-symbolic";
- title: _("No Plus Subscription");
- description: _("To avoid problems with Yandex, the online functions of the application are not available without a Yandex.Plus subscription. Thanks for understanding.");
+ content: Box {
+ orientation: vertical;
- Button logout_button {
+ Adw.StatusPage {
+ vexpand: true;
+ icon-name: "dialog-warning-symbolic";
+ title: _("No Plus Subscription");
+ description: _("To avoid problems with Yandex, the online functions of the application are not available without a Yandex.Plus subscription. Thanks for understanding.");
+ }
+
+ ListBox {
styles [
- "pill",
- "destructive-action"
+ "boxed-list-separate"
]
- visible: bind template.log-out-button-visible;
- margin-top: 24;
- action-name: "app.log-out";
- label: _("Log out");
- hexpand: true;
- can-shrink: true;
+ margin-top: 12;
+ margin-bottom: 12;
+ margin-start: 12;
+ margin-end: 12;
+ selection-mode: none;
+
+ Adw.ButtonRow get_plus_button {
+ styles [
+ "plus-button",
+ ]
+
+ action-name: "app.get-plus";
+ title: _("Get Plus");
+ hexpand: true;
+ }
+
+ Adw.ButtonRow logout_button {
+ styles [
+ "destructive-action"
+ ]
+
+ action-name: "app.log-out";
+ title: _("Log out");
+ hexpand: true;
+ }
}
};
}
diff --git a/data/ui/playlists-view.ui b/data/ui/playlists-view.ui
index 8800a03..340038d 100644
--- a/data/ui/playlists-view.ui
+++ b/data/ui/playlists-view.ui
@@ -36,7 +36,7 @@
- Also you liked this playlists
+ Also you liked these playlists
diff --git a/data/ui/track-list.ui b/data/ui/track-list.ui
index 636651b..3546517 100644
--- a/data/ui/track-list.ui
+++ b/data/ui/track-list.ui
@@ -17,7 +17,7 @@
900
true
-
+
Search track
diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md
deleted file mode 100644
index 32f2da9..0000000
--- a/docs/CONTRIBUTING.md
+++ /dev/null
@@ -1,61 +0,0 @@
-## Как внести вклад
-
-Если вы не знаете, чем занятся, то:
-* Все запланированные задачи лежат в разделе issue и имеют ярлык "enchancement".
-* Все известные проблемы лежат там же и имеют ярлык "bug".
-
-Выбирайте задачи из ближайших версией. Их список вы можете найти [здесь](https://github.com/Rirusha/Cassette/milestones). Это как ускорит выход следующей версии, так и облегчит ревью, так так не нужно будет переключаться с одной глобальной проблемы на другую.
-
-Также если решили исправить какой-то баг, описанный в issue, сначала убедитесь, что его всё ещё можно воспроизвести в `master` ветке.
-
-Также, если вы считаете, что приложению чего-то не хватает или вы нашли баг, то не стесняйтесь создавать issue.
-
-## Именование коммитов
-Заголовок сообщения должен иметь вид:
-```
-feat: добавить кнопку проигрывания в `Имя виджета`
-
-Кнопки не хватало, поэтому её нужно было добавить
-```
-Это пример. Подробнее правила описаны [здесь](https://github.com/conventional-changelog/commitlint/tree/master/%40commitlint/config-conventional). Также тело сообщения необязательно, если информация в заголове исчерпывающая. Также вот список всех типов коммитов с описаниями:
-
-* `build`: Используется для изменений, связанных с сборкой системы или внешними зависимостями.
-
-* `chore`: Обычно включает в себя изменения, которые не относятся непосредственно к коду или тестам, например, обновление документации, настройка среды разработки, повышение версии и т. д.
-
-* `ci`: Относится к изменениям, связанным с настройкой или улучшением CI.
-
-* `docs`: Используется для изменений, касающихся только документации, например, исправления опечаток, обновление README или добавление комментариев в код.
-
-* `feat`: Обозначает добавление новой функциональности или возможности в проект.
-
-* `fix`: Относится к исправлению ошибок в коде или исправлению неполадок в проекте.
-
-* `perf`: Используется, когда вносятся изменения с целью улучшения производительности.
-
-* `refactor`: Относится к изменениям, которые не добавляют новую функциональность, а только изменяют структуру или организацию существующего кода.
-
-* `revert`: Используется для отмены предыдущих коммитов в истории проекта.
-
-* `style`: Относится к изменениям в форматировании кода, например, правки пробелов, отступов, переносов строк и т. д.
-
-* `test`: Используется для добавления или изменения тестового кода, например, тестирование новой функциональности или исправление существующих тестов.
-
-* `po`: Используется для добавления или изменения перевода.
-
-## Создание Pull Request'ов
-Все Pull Request'ы должны быть сделанны в `master` ветку. Если вы закрываете какое-то issue, то ссылайтесь на него с ключевым словом "close" в теле коммита, например:
-```
-fix: исправить некорректное поведение
-
-close #123
-```
-
-## Форматирование кода
-Если вы используете Visual Studio Code, то есть таск для запуска линтера. Иначе используйте в линтере конфигурацию в корне репозитория: vala-lint.conf, CI использует именно её.
-
-## Разработка
-Проверяйте сборку, используя flatpak, так как это единственная официально поддерживаемая версия.
-
-## Тестирование
-Крайне приветствуется написание или дополнение существующих тестов для клиента.
diff --git a/docs/INSTALLATION_ON_WINDOWS.md b/docs/INSTALLATION_ON_WINDOWS.md
index d20c72c..c6f941e 100644
--- a/docs/INSTALLATION_ON_WINDOWS.md
+++ b/docs/INSTALLATION_ON_WINDOWS.md
@@ -42,13 +42,13 @@ wsl -t Ubuntu
#### В терминале Ubuntu:
```shell
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
-sudo flatpak install io.github.Rirusha.Cassette
+sudo flatpak install space.rirusha.Cassette
```
> [!NOTE]
> После перезагрузки Windows в меню «Пуск» появиться ярлык приложения Cassette, но его также можно запустить из терминала Ubuntu так:
> ```shell
-> flatpak run io.github.Rirusha.Cassette
+> flatpak run space.rirusha.Cassette
> ```
### nightly версия
@@ -76,11 +76,11 @@ sudo flatpak remote-add --if-not-exists cassette-nightly https://rirusha.github.
```shell
sudo flatpak install org.gnome.Platform//master
-sudo flatpak install cassette-nightly io.github.Rirusha.Cassette-Devel
+sudo flatpak install cassette-nightly space.rirusha.Cassette.Devel
```
> [!NOTE]
-> После перезагрузки Windows в меню «Пуск» появиться ярлык приложения Cassette-Devel, но его также можно запустить из терминала Ubuntu так:
+> После перезагрузки Windows в меню «Пуск» появиться ярлык приложения Cassette.Devel, но его также можно запустить из терминала Ubuntu так:
> ```shell
-> flatpak run io.github.Rirusha.Cassette-Devel
+> flatpak run space.rirusha.Cassette.Devel
> ```
diff --git a/docs/README-ru.md b/docs/README-ru.md
new file mode 100644
index 0000000..c2fdb6b
--- /dev/null
+++ b/docs/README-ru.md
@@ -0,0 +1,194 @@
+Язык README: \
+[](README.md)
+[](docs/README-ru.md)
+
+
+
+
GTK4/Adwaita приложение, которое позволит вам использовать Я.Музыку на Linux.
+
+
+
+
+
+## Установка
+
+**Flathub:**
+
+
+
+
+
+```shell
+flatpak install space.rirusha.Cassette
+```
+
+**Репозитории дистрибутивов:**
+
+[](https://repology.org/project/cassette/versions)
+
+### ALT Linux
+```shell
+su -
+apt-get install cassette
+```
+
+### Arch Linux
+
+> Большинство помощников AUR поддерживают флаги в стиле Pacman, например, yay.
+
+#### yay
+```shell
+yay -S cassette
+```
+
+#### pamac
+```shell
+pamac install cassette
+```
+
+### NixOS Unstable
+```shell
+nix-shell -p cassette
+```
+
+## Сборка
+
+#### Зависимости:
+
+* `gtk4`, версия: `>= 4.14`
+* `libadwaita-1`, версия: `>= 1.5`
+* `libsoup-3.0`
+* `gdk-pixbuf-2.0`
+* `json-glib-1.0`
+* `sqlite3`
+* `gee-0.8`
+* `libxml-2.0`
+* `gstreamer-1.0`
+* `webkitgtk-6.0`
+* `gio-2.0`, версия: `>= 2.72`
+* `git`, только для `devel`
+
+#### Утилиты для сборки:
+
+* `meson`
+* `ninja`
+* `cmake`
+* `blueprint-compiler`
+* `gcc`
+* `valac`
+* `pkg`
+* `appstream-utils`
+
+### ПредРелиз
+
+> В данной версии будут недоступны нестабильные функции, находящиеся в разработке.
+```shell
+meson setup _build
+```
+
+### Флаг `is_devel`
+
+> В данной версии будут доступны все функции, находящиеся в разработке.
+```shell
+meson setup _build -Dis_devel=true
+```
+
+#### Установка
+```shell
+sudo ninja install -C _build
+```
+
+#### Тестирование
+```shell
+ninja -C _build test
+```
+
+#### Удаление
+```shell
+sudo ninja uninstall -C _build
+```
+
+## Версия "В разработке"
+
+> Эта версия обновляется после каждого изменения, так что она может быть нестабильна.
+
+Нужно добавить `cassette-nightly` и `gnome-nightly` репозиторий:
+
+```shell
+flatpak remote-add --if-not-exists gnome-nightly https://nightly.gnome.org/gnome-nightly.flatpakrepo
+flatpak remote-add --if-not-exists cassette-nightly https://rirusha.space/repos/cassette-nightly.flatpakrepo
+```
+
+Установка приложения:
+
+```shell
+flatpak install cassette-nightly space.rirusha.Cassette.Devel
+```
+
+## Для разработчиков
+
+> Репозиторий имеет рекомендуемые расширения для разработки с Visual Studio Code.
+
+### Зависимости
+
+#### репозиторий [gnome-nightly](https://wiki.gnome.org/Apps/Nightly):
+```shell
+flatpak remote-add --if-not-exists gnome-nightly https://nightly.gnome.org/gnome-nightly.flatpakrepo
+```
+
+#### Для запуска
+`org.gnome.Platform//master`
+```shell
+flatpak install org.gnome.Platform//master
+```
+
+#### Для сборки
+`org.gnome.Sdk//master` \
+`org.freedesktop.Sdk.Extension.vala//23.08beta`
+```shell
+flatpak install org.gnome.Sdk//master org.freedesktop.Sdk.Extension.vala//23.08beta
+```
+
+## Поддержка
+
+Вы можете поддержать несколькими способами:
+- Создать issue с проблемой или предложением по улучшению
+- Отправить merge request с фиксом или добавлением функционала
+- Поддержать рублём (Просьба указывать в "Сообщении получателю" свой никнейм при отправлении через Т-Банк):
+
+
+
+
+
+## Благодарность
+Спасибо [MarshalX](https://github.com/MarshalX). Библиотека [yandex-music-api](https://github.com/MarshalX/yandex-music-api) была использована в качестве документации к api.
+
+> Внимание!
+> Cassette - неофициальный клиент, не связан с компанией Яндекс и не одобрен ей.
diff --git a/flake.lock b/flake.lock
new file mode 100644
index 0000000..9eadad2
--- /dev/null
+++ b/flake.lock
@@ -0,0 +1,61 @@
+{
+ "nodes": {
+ "flake-utils": {
+ "inputs": {
+ "systems": "systems"
+ },
+ "locked": {
+ "lastModified": 1710146030,
+ "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
+ "nixpkgs": {
+ "locked": {
+ "lastModified": 1720542800,
+ "narHash": "sha256-ZgnNHuKV6h2+fQ5LuqnUaqZey1Lqqt5dTUAiAnqH0QQ=",
+ "owner": "nixos",
+ "repo": "nixpkgs",
+ "rev": "feb2849fdeb70028c70d73b848214b00d324a497",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nixos",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "root": {
+ "inputs": {
+ "flake-utils": "flake-utils",
+ "nixpkgs": "nixpkgs"
+ }
+ },
+ "systems": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default",
+ "type": "github"
+ }
+ }
+ },
+ "root": "root",
+ "version": 7
+}
diff --git a/flake.nix b/flake.nix
new file mode 100644
index 0000000..ccda263
--- /dev/null
+++ b/flake.nix
@@ -0,0 +1,69 @@
+{
+ description = "GTK4/Adwaita application that allows you to use Yandex Music service on Linux operating systems";
+
+ inputs = {
+ nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
+ flake-utils.url = "github:numtide/flake-utils";
+ };
+
+ outputs = {
+ self,
+ nixpkgs,
+ flake-utils,
+ ...
+ }:
+ flake-utils.lib.eachDefaultSystem
+ (
+ system: let
+ pkgs = import nixpkgs {inherit system;};
+
+ nativeBuildInputs = with pkgs; [
+ blueprint-compiler
+ desktop-file-utils
+ meson
+ ninja
+ pkg-config
+ vala
+ ];
+
+ buildInputs = with pkgs; [
+ glib-networking
+ gst_all_1.gst-plugins-bad
+ gst_all_1.gst-plugins-base
+ gst_all_1.gst-plugins-good
+ gst_all_1.gstreamer
+ gtk4
+ json-glib
+ libadwaita
+ libgee
+ libsoup_3
+ libxml2
+ sqlite
+ webkitgtk_6_0
+ ];
+ in {
+ packages.default = pkgs.stdenv.mkDerivation {
+ name = "cassette";
+ src = self;
+
+ mesonFlags = [
+ "-Dis_devel=true"
+ ];
+
+ nativeBuildInputs = with pkgs;
+ [
+ wrapGAppsHook4
+ git
+ ]
+ ++ nativeBuildInputs;
+
+ inherit buildInputs;
+
+ strictDeps = true;
+ };
+ devShells.default = pkgs.mkShell {
+ packages = with pkgs; [alejandra] ++ nativeBuildInputs ++ buildInputs;
+ };
+ }
+ );
+}
diff --git a/meson.build b/meson.build
index 5521206..d0fe1cf 100644
--- a/meson.build
+++ b/meson.build
@@ -1,16 +1,16 @@
project(
'cassette',
['c', 'vala'],
- version: '0.2.0',
- meson_version: '>= 0.62.0',
- license: 'GPL-3.0-only',
+ version: '0.2.1',
+ meson_version: '>= 1.0.0',
+ license: 'GPL-3.0-or-later',
)
i18n = import('i18n')
gnome = import('gnome')
-gtk = dependency('gtk4', version: '>= 4.14')
-libadwaita = dependency('libadwaita-1', version: '>= 1.5')
+gtk = dependency('gtk4', version: '>= 4.15')
+libadwaita = dependency('libadwaita-1', version: '>= 1.6')
threads = dependency('threads')
libsoup = dependency('libsoup-3.0')
gdkpixbuf = dependency('gdk-pixbuf-2.0')
@@ -22,35 +22,37 @@ gstreamer = dependency('gstreamer-1.0')
webkit = dependency('webkitgtk-6.0')
gio = dependency('gio-2.0', version: '>= 2.72')
-app_id = 'io.github.Rirusha.Cassette'
+app_id = 'space.rirusha.Cassette'
+
+name_suffix = ''
+version_suffix = ''
+app_id_suffix = ''
+
+if get_option('is_devel')
+ name_suffix = ' (Devel)'
+ app_id_suffix = '.Devel'
-if get_option('profile') == 'development'
find_program('git', required: true)
- name_postfix = ' (Devel)'
- app_id_dyn = '@0@-Devel'.format(app_id)
- app_identity_dyn = 'Cassette (Devel)'
- profile = 'Devel'
- vcs_tag = run_command('git', 'rev-parse', '--short', 'HEAD').stdout().strip()
+ vcs_tag = run_command('git', 'rev-parse', '--short', 'HEAD', check: true).stdout().strip()
version_suffix = '-dev.@0@'.format (vcs_tag)
-else
- name_postfix = ''
- app_id_dyn = app_id
- app_identity_dyn = 'Cassette'
- profile = ''
- version_suffix = ''
endif
+app_id_dyn = '@0@@1@'.format (app_id, app_id_suffix)
+app_name = 'Cassette@0@'.format (name_suffix)
+
conf = configuration_data()
conf.set_quoted('APP_ID', app_id)
-conf.set_quoted('APP_NAME', 'Cassette@0@'.format (name_postfix))
conf.set_quoted('APP_ID_DYN', app_id_dyn)
-conf.set_quoted('APP_IDENTITY_DYN', app_identity_dyn)
+conf.set_quoted('APP_NAME', app_name)
conf.set_quoted('G_LOG_DOMAIN', app_id)
-conf.set_quoted('PROFILE', profile)
-conf.set_quoted('VERSION', meson.project_version() + version_suffix)
+conf.set10('IS_DEVEL', get_option('is_devel'))
+conf.set_quoted('VERSION', '@0@@1@'.format (meson.project_version(), version_suffix))
conf.set_quoted('GETTEXT_PACKAGE', meson.project_name())
conf.set_quoted('DATADIR', join_paths(get_option('prefix'), get_option('datadir')))
conf.set_quoted('GNOMELOCALEDIR', join_paths(get_option('prefix'), get_option('localedir')))
+conf.set_quoted('HOMEPAGE', 'https://gitlab.gnome.org/Rirusha/Cassette')
+conf.set_quoted('BUGTRACKER', 'https://gitlab.gnome.org/Rirusha/Cassette/-/issues')
+conf.set_quoted('HELP', 'https://t.me/CassetteGNOME_Discussion')
subdir('data')
@@ -80,4 +82,4 @@ gnome.post_install(
glib_compile_schemas: true,
gtk_update_icon_cache: true,
update_desktop_database: true,
-)
\ No newline at end of file
+)
diff --git a/meson_options.txt b/meson_options.txt
index cfad4f7..b02baa5 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,10 +1,5 @@
option(
- 'profile',
- type: 'combo',
- choices: [
- 'default',
- 'development',
- ],
- value: 'default',
- description: 'The build profile for app. One of "default" or "development".'
+ 'is_devel',
+ type: 'boolean',
+ value: false
)
diff --git a/po/LINGUAS b/po/LINGUAS
index 0c04321..3a9aa44 100644
--- a/po/LINGUAS
+++ b/po/LINGUAS
@@ -1,4 +1,13 @@
# Please keep this list alphabetically sorted
+az
be
+de
es
+ka
+pt
+pt_BR
ru
+sl
+sv
+tr
+zh_CN
diff --git a/po/POTFILES.in b/po/POTFILES.in
index b7312ee..1c3da30 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,6 +1,6 @@
-data/io.github.Rirusha.Cassette.appdata.xml.in
-data/io.github.Rirusha.Cassette.desktop.in
-data/io.github.Rirusha.Cassette-Devel.desktop.in
+data/space.rirusha.Cassette.desktop.in.in
+data/space.rirusha.Cassette.Devel.desktop.in.in
+data/space.rirusha.Cassette.metainfo.xml.in.in
data/ui/account-info-dialog.blp
data/ui/begin-view.ui
data/ui/cache-deletion-preferences.ui
diff --git a/po/az.po b/po/az.po
new file mode 100644
index 0000000..bdf8d38
--- /dev/null
+++ b/po/az.po
@@ -0,0 +1,1317 @@
+# Azerbaijani translation for cassette.
+# Copyright (C) 2025 cassette's COPYRIGHT HOLDER
+# This file is distributed under the same license as the cassette package.
+# Ramal Rəhimov , 2025.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: cassette main\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/Rirusha/Cassette/-/issues\n"
+"POT-Creation-Date: 2025-05-10 11:20+0000\n"
+"PO-Revision-Date: 2025-06-07 18:20+0400\n"
+"Last-Translator: Ramal Rəhimov \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: Gtranslator 46.0\n"
+
+#: data/space.rirusha.Cassette.desktop.in.in:4
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:3 src/main.vala:24
+msgid "Cassette"
+msgstr "Cassette"
+
+#: data/space.rirusha.Cassette.desktop.in.in:5
+msgid "Unofficial Yandex Music client for GNOME"
+msgstr "GNOME üçün qeyri-rəsmi Yandex Music müştərisi"
+
+#: data/space.rirusha.Cassette.desktop.in.in:7
+#: data/space.rirusha.Cassette.Devel.desktop.in.in:7
+msgid "yandex;yandex music;yam;music;"
+msgstr "yandex;yandex musiqi;yam;musiqi;"
+
+#: data/space.rirusha.Cassette.Devel.desktop.in.in:4
+msgid "Cassette (Devel)"
+msgstr "Cassette (Tərtibat)"
+
+#: data/space.rirusha.Cassette.Devel.desktop.in.in:5
+msgid "Unofficial Yandex Music client for GNOME (Devel build)"
+msgstr "GNOME üçün qeyri-rəsmi Yandex Music müştərisi (Tərtibat versiyası)"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:7
+msgid "Unofficial Yandex Music client"
+msgstr "Qeyri-rəsmi Yandex Music müştərisi"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:9
+msgid ""
+"GTK/Adwaita application that allows to use Yandex Music service on Linux "
+"operating systems."
+msgstr ""
+"Linux əməliyyat sistemlərində Yandex Music xidmətindən istifadə etməyə imkan verən "
+"GTK/Adwaita tətbiqi."
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:13
+msgid "Features:"
+msgstr "Xüsusiyyətlər:"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:17
+msgid "Allows you to save playlists and albums for offline listening"
+msgstr "Pleylistləri və albomları oflayn dinləmək üçün saxlamağa imkan verir"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:20
+msgid "Has a dynamic \"karaoke mode\" right in the track information panel"
+msgstr "Mahnı məlumat panelində dinamik \"karaoke rejimi\" var"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:23
+msgid ""
+"Allows you to more precisely customize the display and playback of special "
+"content, such as explicit or suitable for children."
+msgstr ""
+"Xüsusi məzmunun (məsələn, açıq-saçıq və ya uşaqlar üçün uyğun) göstərilməsini və "
+"oxunmasını daha dəqiq şəkildə fərdiləşdirməyə imkan verir."
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:27
+msgid "Displays tracks that are currently unavailable in the service"
+msgstr "Xidmətdə hazırda əlçatan olmayan mahnıları göstərir"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:30
+msgid "Shows which tracks have been replaced and by what"
+msgstr "Hansı mahnıların dəyişdirildiyini və nə ilə əvəz olunduğunu göstərir"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:34
+msgid ""
+"Cassette is an unofficial client and is not associated with or endorsed by "
+"Yandex."
+msgstr ""
+"Cassette qeyri-rəsmi müştəridir və Yandex ilə əlaqəli deyil və ya onun tərəfindən "
+"təsdiqlənməyib."
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:63
+msgid "Liked view"
+msgstr "Bəyənilənlər görünüşü"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:67
+msgid "Playlists view"
+msgstr "Pleylistlər görünüşü"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:71
+msgid "Sync lyrics"
+msgstr "Sözləri sinxronlaşdır"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:75
+msgid "Playback queue"
+msgstr "Oxutma sırası"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:79
+msgid "Waves view"
+msgstr "Dalğalar görünüşü"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:83
+msgid "Main preferences"
+msgstr "Əsas tənzimləmələr"
+
+#: data/ui/account-info-dialog.blp:5
+msgid "Account information"
+msgstr "Hesab məlumatları"
+
+#: data/ui/account-info-dialog.blp:52
+msgid "Open in browser"
+msgstr "Brauzerdə aç"
+
+#: data/ui/account-info-dialog.blp:61
+msgid "Plus"
+msgstr "Plus"
+
+#: data/ui/account-info-dialog.blp:70 data/ui/no-plus-dialog.blp:51
+#: src/authenticator.vala:52
+msgid "Log out"
+msgstr "Çıxış et"
+
+#: data/ui/begin-view.ui:11
+msgid "Usage mode"
+msgstr "İstifadə rejimi"
+
+#: data/ui/begin-view.ui:40
+msgctxt "auth window"
+msgid "Choose usage mode"
+msgstr "İstifadə rejimini seçin"
+
+#: data/ui/begin-view.ui:50
+msgctxt "auth window"
+msgid ""
+"If you select the \"Online mode\", you can access local music by enabling "
+"the display of the corresponding pages in the pages preferences, as well as "
+"log in later when selecting \"Local mode\""
+msgstr ""
+"\"Onlayn rejim\"i seçsəniz, səhifə tənzimləmələrində müvafiq səhifələrin "
+"göstərilməsini aktivləşdirərək yerli musiqiyə daxil ola bilərsiniz, həmçinin "
+"\"Yerli rejim\"i seçərkən sonradan daxil ola bilərsiniz."
+
+#: data/ui/begin-view.ui:75
+msgctxt "auth window"
+msgid "Online mode"
+msgstr "Onlayn rejim"
+
+#: data/ui/begin-view.ui:85
+msgctxt "auth window"
+msgid "Local mode"
+msgstr "Yerli rejim"
+
+#: data/ui/begin-view.ui:97
+msgctxt "auth window"
+msgid "Close"
+msgstr "Bağla"
+
+#: data/ui/begin-view.ui:112
+msgid "Authorization"
+msgstr "Avtorizasiya"
+
+#: data/ui/cache-deletion-preferences.ui:21
+msgid "Dirs size:"
+msgstr "Qovluq ölçüləri:"
+
+#: data/ui/cache-deletion-preferences.ui:35
+msgid "Cache"
+msgstr "Keş"
+
+#: data/ui/cache-deletion-preferences.ui:88
+msgid "Clear"
+msgstr "Təmizlə"
+
+#: data/ui/cache-deletion-preferences.ui:109
+msgid "Data"
+msgstr "Məlumat"
+
+#: data/ui/cache-deletion-preferences.ui:159
+msgid "Move to cache"
+msgstr "Keşə köçür"
+
+#: data/ui/cache-deletion-preferences.ui:163
+msgid "Move"
+msgstr "Köçür"
+
+#: data/ui/cache-indicator.blp:35
+msgid "Show all cache jobs"
+msgstr "Bütün keş işlərini göstər"
+
+#: data/ui/custom-page-preferences.ui:17
+msgid "Title: "
+msgstr "Başlıq: "
+
+#: data/ui/custom-page-preferences.ui:38
+msgid "Icon: "
+msgstr "İkon: "
+
+#: data/ui/custom-page-preferences.ui:75
+msgid "Save page"
+msgstr "Səhifəni saxla"
+
+#: data/ui/custom-page-preferences.ui:92
+msgid "Remove page"
+msgstr "Səhifəni sil"
+
+#: data/ui/custom-pages-preferences.ui:7
+msgctxt "preference window"
+msgid "Custom pages"
+msgstr "Fərdi səhifələr"
+
+#: data/ui/custom-pages-preferences.ui:9
+msgctxt "preference window"
+msgid "Here you can control custom pages."
+msgstr "Burada fərdi səhifələri idarə edə bilərsiniz."
+
+#: data/ui/disliked-tracks-view.ui:23
+#: src/widgets/buttons/menu/primary-menu-button.vala:32
+msgid "Disliked tracks"
+msgstr "Bəyənilməyən mahnılar"
+
+#: data/ui/header-bar.blp:12
+msgid "Go back"
+msgstr "Geri qayıt"
+
+#: data/ui/header-bar.blp:20
+msgid "Refresh"
+msgstr "Yenilə"
+
+#: data/ui/header-bar.blp:28
+msgid "Yandex Music search"
+msgstr "Yandex Music axtarışı"
+
+#: data/ui/help-overlay.blp:11
+msgid "Main Actions"
+msgstr "Əsas hərəkətlər"
+
+#: data/ui/help-overlay.blp:14
+msgid "Show Shortcuts"
+msgstr "Qısayolları göstər"
+
+#: data/ui/help-overlay.blp:19
+msgid "Quit"
+msgstr "Çıx"
+
+#: data/ui/help-overlay.blp:25
+msgid "Playback Control"
+msgstr "Oxutma nəzarəti"
+
+#: data/ui/help-overlay.blp:28
+msgid "Play/Pause playback"
+msgstr "Oxutma/Break oxutma"
+
+#: data/ui/help-overlay.blp:33 data/ui/player-bar.blp:87
+msgid "Play previous track"
+msgstr "Əvvəlki mahnını oynat"
+
+#: data/ui/help-overlay.blp:38 data/ui/player-bar.blp:119
+msgid "Play next track"
+msgstr "Növbəti mahnını oynat"
+
+#: data/ui/help-overlay.blp:43
+msgid "Mute app"
+msgstr "Tətbiqi səssizləşdir"
+
+#: data/ui/help-overlay.blp:49
+msgid "Queue control"
+msgstr "Sıra nəzarəti"
+
+#: data/ui/help-overlay.blp:52 data/ui/player-bar.blp:141
+msgid "Change shuffle mode"
+msgstr "Qarışdırma rejimini dəyiş"
+
+#: data/ui/help-overlay.blp:57 data/ui/player-bar.blp:65
+msgid "Change repeat mode"
+msgstr "Təkrar rejimini dəyiş"
+
+#: data/ui/help-overlay.blp:63
+msgid "Other"
+msgstr "Digər"
+
+#: data/ui/help-overlay.blp:66
+msgid "Share current track"
+msgstr "Cari mahnını paylaş"
+
+#: data/ui/help-overlay.blp:71
+msgid "Parse url from clipboard"
+msgstr "Buferdən URL-u təhlil et"
+
+#: data/ui/info-marks.ui:23
+msgid "Explicit content"
+msgstr "Açıq-saçıq məzmun"
+
+#: data/ui/info-marks.ui:32
+msgid "Child content"
+msgstr "Uşaq məzmunu"
+
+#: data/ui/main-view.blp:6
+msgid "Page under construction"
+msgstr "Səhifə hazırlanır"
+
+#: data/ui/main-view.blp:20
+msgid "All stations"
+msgstr "Bütün stansiyalar"
+
+#: data/ui/no-plus-dialog.blp:20
+msgid "No Plus Subscription"
+msgstr "Plus abunəliyi yoxdur"
+
+#: data/ui/no-plus-dialog.blp:21
+msgid ""
+"To avoid problems with Yandex, the online functions of the application are "
+"not available without a Yandex.Plus subscription. Thanks for understanding."
+msgstr ""
+"Yandex ilə problemlərin qarşısını almaq üçün tətbiqin onlayn funksiyaları "
+"Yandex.Plus abunəliyi olmadan əlçatan deyil. Anlayışınız üçün təşəkkürlər."
+
+#: data/ui/no-plus-dialog.blp:41
+msgid "Get Plus"
+msgstr "Plus əldə et"
+
+#: data/ui/player-bar.blp:22
+msgid "Show track info"
+msgstr "Mahnı məlumatlarını göstər"
+
+#: data/ui/player-bar.blp:206
+msgid "Show wave settings"
+msgstr "Dalğa tənzimləmələrini göstər"
+
+#: data/ui/player-bar.blp:216
+msgid "Show playback queue"
+msgstr "Oxutma sırasını göstər"
+
+#: data/ui/player-bar.blp:229
+msgid "Change volume"
+msgstr "Səs səviyyəsini dəyiş"
+
+#: data/ui/player-queue.blp:5 src/application.vala:272
+msgid "Playing now"
+msgstr "İndi oynayır"
+
+#: data/ui/playlist-choose-dialog.ui:8
+msgid "Choose playlist to add"
+msgstr "Əlavə etmək üçün pleylist seçin"
+
+#: data/ui/playlist-create-button.ui:36
+msgid "Create playlist"
+msgstr "Pleylist yarat"
+
+#: data/ui/playlist-micro.ui:39 data/ui/playlist-view.ui:56
+#: src/widgets/cache-indicator/job-info-badge.vala:43
+#: src/widgets/save-stack.vala:57 src/widgets/views/abstract-cachiable.vala:168
+msgid "Playlist"
+msgstr "Pleylist"
+
+#: data/ui/playlist-row.ui:40
+msgid "Empty"
+msgstr "Boş"
+
+#: data/ui/playlists-view.ui:23
+msgid "Your playlists"
+msgstr "Sizin pleylistləriniz"
+
+#: data/ui/playlists-view.ui:39
+msgid "Also you liked these playlists"
+msgstr "Həmçinin bu pleylistləri bəyənmisiniz"
+
+#: data/ui/playlist-view.ui:187
+msgid "Change playlist visibility"
+msgstr "Pleylistin görünürlüyünü dəyiş"
+
+#: data/ui/playlist-view.ui:211
+msgid "Add page to header"
+msgstr "Səhifəni başlığa əlavə et"
+
+#: data/ui/playlist-view.ui:233 data/ui/playlist-view.ui:237
+#: src/widgets/buttons/menu/track-options-button.vala:83
+#: src/widgets/buttons/menu/track-options-button.vala:108
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:39
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:50
+#: src/widgets/buttons/menu/track-queue-options-button.vala:73
+#: src/widgets/buttons/menu/track-queue-options-button.vala:103
+msgid "Save"
+msgstr "Saxla"
+
+#: data/ui/playlist-view.ui:256 data/ui/playlist-view.ui:260
+#: src/widgets/preferences/cache-deletion-preferences.vala:97
+#: src/widgets/preferences/preferences-dialog.vala:141
+#: src/widgets/views/playlist.vala:91
+msgid "Delete"
+msgstr "Sil"
+
+#: data/ui/playlist-view.ui:276
+msgid "Abort"
+msgstr "Ləğv et"
+
+#: data/ui/playlist-view.ui:280
+msgid "Stop"
+msgstr "Dayandır"
+
+#: data/ui/preferences-dialog.ui:8
+msgctxt "preference dialog"
+msgid "Main"
+msgstr "Əsas"
+
+#: data/ui/preferences-dialog.ui:12
+msgctxt "preference dialog"
+msgid "General"
+msgstr "Ümumi"
+
+#: data/ui/preferences-dialog.ui:15
+msgctxt "preference dialog"
+msgid "Enable high quality audio"
+msgstr "Yüksək keyfiyyətli audio aktivləşdir"
+
+#: data/ui/preferences-dialog.ui:16
+msgctxt "preference dialog"
+msgid ""
+"Attention! If the track was downloaded in low quality, and after the "
+"download is enabled in high quality, the audio will not be reloaded"
+msgstr ""
+"Diqqət! Əgər mahnı aşağı keyfiyyətdə yüklənibsə və sonra yüksək keyfiyyət "
+"yükləməsi aktivləşdirilirsə, audio yenidən yüklənməyəcək."
+
+#: data/ui/preferences-dialog.ui:21
+msgctxt "preference dialog"
+msgid "Add track on top of playlist"
+msgstr "Mahnını pleylistin əvvəlinə əlavə et"
+
+#: data/ui/preferences-dialog.ui:22
+msgctxt "preference dialog"
+msgid "Will the track be added to the playlist as the first or as the last"
+msgstr "Mahnı pleylistə birinci yoxsa sonuncu kimi əlavə olunacaq"
+
+#: data/ui/preferences-dialog.ui:27
+msgctxt "preference dialog"
+msgid "Show 'Playing now' notification"
+msgstr "'İndi oynayır' bildirişini göstər"
+
+#: data/ui/preferences-dialog.ui:28
+msgctxt "preference dialog"
+msgid "Show a notification when switching a track"
+msgstr "Mahnı dəyişdirərkən bildiriş göstər"
+
+#: data/ui/preferences-dialog.ui:35
+msgctxt "preference dialog"
+msgid "Show additional marks"
+msgstr "Əlavə işarələri göstər"
+
+#: data/ui/preferences-dialog.ui:36
+msgctxt "preference dialog"
+msgid "Additional marks display additional information about the track"
+msgstr "Əlavə işarələr mahnı haqqında əlavə məlumatları göstərir"
+
+#: data/ui/preferences-dialog.ui:39
+msgctxt "preference dialog"
+msgid "Show save mark"
+msgstr "Saxlama işarəsini göstər"
+
+#: data/ui/preferences-dialog.ui:40
+msgctxt "preference dialog"
+msgid "Show a label with information about the caching status of the track"
+msgstr "Mahnının keş statusu haqqında məlumatla etiket göstər"
+
+#: data/ui/preferences-dialog.ui:45
+msgctxt "preference dialog"
+msgid "Show cache mark"
+msgstr "Keş işarəsini göstər"
+
+#: data/ui/preferences-dialog.ui:46
+msgctxt "preference dialog"
+msgid "Show a mark about saving a track to the cache"
+msgstr "Mahnının keşkə saxlanması haqqında işarə göstər"
+
+#: data/ui/preferences-dialog.ui:51
+msgctxt "preference dialog"
+msgid "Show replaced mark"
+msgstr "Dəyişdirilmə işarəsini göstər"
+
+#: data/ui/preferences-dialog.ui:52
+msgctxt "preference dialog"
+msgid "Show a mark that shows that the track has been replaced"
+msgstr "Mahnının dəyişdirildiyini göstərən işarəni göstər"
+
+#: data/ui/preferences-dialog.ui:59
+msgctxt "preference dialog"
+msgid "Tracks visibility"
+msgstr "Mahnıların görünürlüyü"
+
+#: data/ui/preferences-dialog.ui:60
+msgctxt "preference dialog"
+msgid ""
+"Show special tracks in track lists. Filter doesn't work when searching in "
+"track list"
+msgstr ""
+"Mahnı siyahılarında xüsusi mahnıları göstər. Mahnı siyahısında axtarış zamanı "
+"filtr işləmir."
+
+#: data/ui/preferences-dialog.ui:63
+msgctxt "preference dialog"
+msgid "Show unavailable content"
+msgstr "Əlçatan olmayan məzmunu göstər"
+
+#: data/ui/preferences-dialog.ui:64
+msgctxt "preference dialog"
+msgid ""
+"Show tracks that are not available in the service. You can't listen to them"
+msgstr ""
+"Xidmətdə əlçatan olmayan mahnıları göstər. Onları dinləyə bilməzsiniz."
+
+#: data/ui/preferences-dialog.ui:69
+msgctxt "preference dialog"
+msgid "Show content suitable for children"
+msgstr "Uşaqlar üçün uyğun məzmunu göstər"
+
+#: data/ui/preferences-dialog.ui:70
+msgctxt "preference dialog"
+msgid "Show content that is specific to children"
+msgstr "Uşaqlara xas olan məzmunu göstər"
+
+#: data/ui/preferences-dialog.ui:75
+msgctxt "preference dialog"
+msgid "Show explicit content"
+msgstr "Açıq-saçıq məzmunu göstər"
+
+#: data/ui/preferences-dialog.ui:76
+msgctxt "preference dialog"
+msgid "Show content that has age restrictions"
+msgstr "Yaş məhdudiyyəti olan məzmunu göstər"
+
+#: data/ui/preferences-dialog.ui:83
+msgctxt "preference dialog"
+msgid "Other"
+msgstr "Digər"
+
+#: data/ui/preferences-dialog.ui:86
+msgctxt "preference dialog"
+msgid "Enable Debug-Mode"
+msgstr "Xəta Axtarma Rejimini Aktivləşdir"
+
+#: data/ui/preferences-dialog.ui:87
+msgctxt "preference dialog"
+msgid "Enable logging of additional information useful for error detection"
+msgstr "Xəta aşkarlanması üçün faydalı əlavə məlumatların qeydiyyatını aktivləşdir"
+
+#: data/ui/preferences-dialog.ui:94
+msgctxt "preference dialog"
+msgid "Experimental"
+msgstr "Eksperimental"
+
+#: data/ui/preferences-dialog.ui:95
+msgctxt "preference dialog"
+msgid "Parameters that test anything and may be removed in future releases"
+msgstr "Hər hansı bir şeyi sınaqdan keçirən və gələcək buraxılışlarda silinə bilən parametrlər"
+
+#: data/ui/preferences-dialog.ui:98
+msgctxt "preference dialog"
+msgid "Use only bottom sheet menus"
+msgstr "Yalnız aşağı vərəq menyularını istifadə et"
+
+#: data/ui/preferences-dialog.ui:99
+msgctxt "preference dialog"
+msgid "Test preference for bottom sheet menu"
+msgstr "Aşağı vərəq menyusu üçün sınaq tərcihi"
+
+#: data/ui/preferences-dialog.ui:108
+msgctxt "preference dialog"
+msgid "Pages"
+msgstr "Səhifələr"
+
+#: data/ui/preferences-dialog.ui:112
+msgctxt "preference dialog"
+msgid "Static pages"
+msgstr "Statik səhifələr"
+
+#: data/ui/preferences-dialog.ui:113
+msgctxt "preference dialog"
+msgid ""
+"Here you can show or hide static pages. They will always be displayed on the "
+"left side of the header."
+msgstr ""
+"Burada statik səhifələri göstərə və ya gizlədə bilərsiniz. Onlar həmişə başlığın "
+"sol tərəfində göstəriləcək."
+
+#: data/ui/preferences-dialog.ui:116
+msgctxt "preference dialog"
+msgid "Show 'Main' page"
+msgstr "'Əsas' səhifəni göstər"
+
+#: data/ui/preferences-dialog.ui:121
+msgctxt "preference dialog"
+msgid "Show 'Liked' page"
+msgstr "'Bəyənilənlər' səhifəsini göstər"
+
+#: data/ui/preferences-dialog.ui:126
+msgctxt "preference dialog"
+msgid "Show 'Playlists' page"
+msgstr "'Pleylistlər' səhifəsini göstər"
+
+#: data/ui/preferences-dialog.ui:138
+msgctxt "preference dialog"
+msgid "Cache"
+msgstr "Keş"
+
+#: data/ui/preferences-dialog.ui:142
+msgctxt "preference dialog"
+msgid "Cache managing"
+msgstr "Keş idarəetməsi"
+
+#: data/ui/preferences-dialog.ui:143
+msgctxt "preference dialog"
+msgid ""
+"Here you can see application memory usage, delete all cache from cache "
+"folder and control downloading cache to disk"
+msgstr ""
+"Burada tətbiqin yaddaş istifadəsini görə, keş qovluğundan bütün keşi silə və "
+"diskə keş yüklənməsini idarə edə bilərsiniz."
+
+#: data/ui/preferences-dialog.ui:146
+msgctxt "preference dialog"
+msgid "Cache content"
+msgstr "Keş məzmunu"
+
+#: data/ui/preferences-dialog.ui:147
+msgctxt "preference dialog"
+msgid ""
+"For better performance. Over time, it starts to take up a lot of space. So "
+"far, manual cleaning is required. If enabled, the application will cache all "
+"content to cache dir for better performance, otherwise, the application will "
+"load content only when caching objects (such as playlists or albums). "
+"Disabling the parameter does not delete already downloaded content"
+msgstr ""
+"Daha yaxşı performans üçün. Vaxt keçdikcə çox yer tutmağa başlayır. Hələlik "
+"əl ilə təmizləmə tələb olunur. Aktivləşdirilərsə, tətbiq daha yaxşı performans üçün "
+"bütün məzmunu keş qovluğuna saxlayacaq, əks halda tətbiq yalnız obyektləri "
+"(məsələn, pleylistlər və ya albomlar) keşləyərkən məzmunu yükləyəcək. Parametrin "
+"deaktiv edilməsi artıq yüklənmiş məzmunu silmir."
+
+#: data/ui/save-stack.ui:25
+msgid "Content saving…"
+msgstr "Məzmun saxlanılır…"
+
+#: data/ui/save-stack.ui:42
+msgid "Content cached"
+msgstr "Məzmun keşkə saxlanıldı"
+
+#: data/ui/save-stack.ui:56
+msgid "Content saved"
+msgstr "Məzmun saxlanıldı"
+
+#: data/ui/stations-view.blp:22
+msgid "Stations dashboard"
+msgstr "Stansiyalar paneli"
+
+#: data/ui/stations-view.blp:58
+msgid "Searching for station…"
+msgstr "Stansiya axtarılır…"
+
+#: data/ui/stations-view.blp:77
+msgid "By genre…"
+msgstr "Janr üzrə…"
+
+#: data/ui/stations-view.blp:99 data/ui/wave-settings.blp:60
+msgid "By mood…"
+msgstr "Əhval üzrə…"
+
+#: data/ui/stations-view.blp:121 data/ui/wave-settings.blp:25
+msgid "By activity…"
+msgstr "Fəaliyyət üzrə…"
+
+#: data/ui/stations-view.blp:143
+msgid "By epoch…"
+msgstr "Dövr üzrə…"
+
+#: data/ui/stations-view.blp:165
+msgid "Other…"
+msgstr "Digər…"
+
+#: data/ui/stations-view.blp:209
+msgid "No stations with that name were found"
+msgstr "Bu adla stansiya tapılmadı"
+
+#: data/ui/track-info.blp:103
+msgid "Track lyrics"
+msgstr "Mahnı sözləri"
+
+#: data/ui/track-info.blp:117
+msgid "Authors"
+msgstr "Müəlliflər"
+
+#: data/ui/track-info.blp:135
+msgid "Source"
+msgstr "Mənbə"
+
+#: data/ui/track-info.blp:158
+msgid "Similar tracks"
+msgstr "Oxşar mahnılar"
+
+#: data/ui/track-list.ui:21
+msgid "Search track"
+msgstr "Mahnı axtar"
+
+#: data/ui/track-list.ui:30
+msgid "Sort by"
+msgstr "Sırala"
+
+#: data/ui/track-list.ui:77
+msgid "No tracks to display"
+msgstr "Göstəriləcək mahnı yoxdur"
+
+#: data/ui/track-list.ui:88
+msgid "name"
+msgstr "ad"
+
+#: data/ui/track-list.ui:92
+msgid "artist"
+msgstr "sənətçi"
+
+#: data/ui/track-list.ui:96
+msgid "album"
+msgstr "albom"
+
+#: data/ui/track-list.ui:100
+msgid "duration"
+msgstr "müddət"
+
+#: data/ui/track-placeholder.ui:9 src/widgets/pages/loading-page.vala:38
+msgid "Loading…"
+msgstr "Yüklənir…"
+
+#: data/ui/wave-settings.blp:42
+msgid "By diversity…"
+msgstr "Müxtəliflik üzrə…"
+
+#: data/ui/wave-settings.blp:78
+msgid "By language…"
+msgstr "Dil üzrə…"
+
+#: data/ui/wave-settings.blp:93
+msgid "Can't get wave settings"
+msgstr "Dalğa tənzimləmələri əldə edilə bilmədi"
+
+#: data/ui/window.blp:57 src/window.vala:253
+msgid "Reconnect"
+msgstr "Yenidən qoşul"
+
+#: data/ui/window.blp:58 src/application.vala:152
+msgid "Connection problems"
+msgstr "Qoşulma problemləri"
+
+#: src/about.vala:60
+msgid "translator-credits"
+msgstr "Ramal Rəhimov "
+
+#: src/about.vala:68
+msgid "Telegram channel"
+msgstr "Telegram kanalı"
+
+#: src/about.vala:69
+msgid "Financial support (Tinkoff)"
+msgstr "Maliyyə dəstəyi (Tinkoff)"
+
+#: src/about.vala:70
+msgid "Financial support (Boosty)"
+msgstr "Maliyyə dəstəyi (Boosty)"
+
+#: src/about.vala:73
+msgid "Sponsors"
+msgstr "Sponsorlar"
+
+#: src/application.vala:63
+msgid "Print version information and exit"
+msgstr "Versiya məlumatını çap et və çıx"
+
+#: src/application.vala:146
+msgid "Connection restored"
+msgstr "Qoşulma bərpa edildi"
+
+#: src/application.vala:274
+msgid "Previous"
+msgstr "Əvvəlki"
+
+#: src/application.vala:275
+msgid "Next"
+msgstr "Növbəti"
+
+#: src/application.vala:358
+msgid "Current track can not be copied to the clipboard"
+msgstr "Cari mahnı buferə kopyalana bilməz"
+
+#: src/application.vala:372 src/application.vala:379 src/application.vala:436
+msgid "Can't parse clipboard content"
+msgstr "Bufer məzmunu təhlil edilə bilməz"
+
+#: src/application.vala:390
+msgid "Users view not implemented yet"
+msgstr "İstifadəçilər görünüşü hələ tətbiq edilməyib"
+
+#: src/application.vala:406 src/application.vala:420
+msgid "Albums view not implemented yet"
+msgstr "Albomlar görünüşü hələ tətbiq edilməyib"
+
+#: src/authenticator.vala:47
+msgid "Log out?"
+msgstr "Çıxış etmək?"
+
+#: src/authenticator.vala:48
+msgid "You will need to log in again to use the app"
+msgstr "Tətbiqdən istifadə etmək üçün yenidən daxil olmalısınız"
+
+#: src/authenticator.vala:51
+#: src/widgets/preferences/cache-deletion-preferences.vala:96
+#: src/widgets/preferences/preferences-dialog.vala:140
+#: src/widgets/views/playlist.vala:90
+msgid "Cancel"
+msgstr "İmtina et"
+
+#: src/authenticator.vala:98
+#: src/widgets/preferences/cache-deletion-preferences.vala:130
+msgid "Moving…"
+msgstr "Köçürülür…"
+
+#: src/client/api/objects/playlist/playlist.vala:50
+#: src/client/api/objects/playlist/playlist.vala:100 src/pager.vala:277
+msgid "Liked"
+msgstr "Bəyənilənlər"
+
+#: src/client/api/objects/playlist/playlist.vala:54
+msgid "Daily"
+msgstr "Gündəlik"
+
+#: src/client/api/objects/playlist/playlist.vala:58
+msgid "Unknown"
+msgstr "Naməlum"
+
+#: src/client/cachier/storager.vala:125
+#, c-format
+msgid "Database was initialized, loc - %s"
+msgstr "Verilənlər bazası başlanğıc vəziyyətinə gətirildi, yer - %s"
+
+#: src/client/cachier/storager.vala:802
+#, c-format
+msgid "Can't save object %s"
+msgstr "%s obyekti saxlanıla bilməz"
+
+#: src/client/cachier/storager.vala:819
+msgid "Byte"
+msgid_plural "Bytes"
+msgstr[0] "Bayt"
+msgstr[1] "Bayt"
+
+#: src/client/cachier/storager.vala:822
+msgid "Kilobyte"
+msgid_plural "Kilobytes"
+msgstr[0] "Kilobayt"
+msgstr[1] "Kilobayt"
+
+#: src/client/cachier/storager.vala:825
+msgid "Megabyte"
+msgid_plural "Megabytes"
+msgstr[0] "Meqabayt"
+msgstr[1] "Meqabayt"
+
+#: src/client/cachier/storager.vala:828
+msgid "Gigabyte"
+msgid_plural "Gigabytes"
+msgstr[0] "Giqabayt"
+msgstr[1] "Giqabayt"
+
+#: src/client/cachier/storager.vala:831
+msgid "Terabyte"
+msgid_plural "Terabytes"
+msgstr[0] "Terabayt"
+msgstr[1] "Terabayt"
+
+#: src/client/cachier/storager.vala:860
+#, c-format
+msgid "Error while getting cache directory size. Message %s"
+msgstr "Keş qovluğunun ölçüsünü əldə edərkən xəta baş verdi. Mesaj %s"
+
+#: src/client/cachier/storager.vala:895
+#, c-format
+msgid "Error while getting permanent directory size. Message %s"
+msgstr "Daimi qovluğun ölçüsünü əldə edərkən xəta baş verdi. Mesaj %s"
+
+#: src/client/jsoner.vala:358 src/client/jsoner.vala:419
+#: src/client/jsoner.vala:526 src/client/jsoner.vala:550
+#, c-format
+msgid "Wrong type: expected %s, got %s"
+msgstr "Yanlış növ: gözlənilən %s, alınan %s"
+
+#: src/client/player/mods/abstract-mode.vala:92
+msgid "Problems with queue"
+msgstr "Sıra ilə bağlı problemlər"
+
+#: src/client/talkers/yam-talker.vala:628
+msgid "New Playlist"
+msgstr "Yeni Pleylist"
+
+#: src/pager.vala:163
+#, c-format
+msgid "Can't set title \"%s\" to page"
+msgstr "Səhifəyə \"%s\" başlığı təyin edilə bilməz"
+
+#: src/pager.vala:174
+#, c-format
+msgid "Can't set icon with name \"%s\" to page"
+msgstr "Səhifəyə \"%s\" adlı ikon təyin edilə bilməz"
+
+#: src/pager.vala:200
+msgid "Reached max page count"
+msgstr "Maksimum səhifə sayına çatıldı"
+
+#: src/pager.vala:206
+#, c-format
+msgid "Page '%s' already added"
+msgstr "'%s' səhifəsi artıq əlavə edilib"
+
+#: src/pager.vala:268
+msgid "Main"
+msgstr "Əsas"
+
+#: src/pager.vala:287
+msgid "Playlists"
+msgstr "Pleylistlər"
+
+#: src/pager.vala:312
+#, c-format
+msgid "Can't read pages file. Message: %s"
+msgstr "Səhifələr faylı oxuna bilməz. Mesaj: %s"
+
+#: src/pager.vala:332
+#, c-format
+msgid "Can't create pages file. Message: %s"
+msgstr "Səhifələr faylı yaradıla bilməz. Mesaj: %s"
+
+#: src/utils.vala:70
+msgid "Not implemented yet"
+msgstr "Hələ tətbiq edilməyib"
+
+#: src/utils.vala:77
+msgid "Need authorization"
+msgstr "Avtorizasiya tələb olunur"
+
+#: src/utils.vala:81
+msgid "Need Bookmate subscription"
+msgstr "Bookmate abunəliyi tələb olunur"
+
+#: src/utils.vala:177 src/utils.vala:193
+msgid "Link copied to clipboard"
+msgstr "Link buferə kopyalandı"
+
+#: src/utils.vala:242
+#, c-format
+msgid "Duration: %s h. %s min."
+msgstr "Müddət: %s saat. %s dəq."
+
+#: src/utils.vala:244
+#, c-format
+msgid "Duration: %s min."
+msgstr "Müddət: %s dəq."
+
+#: src/utils.vala:358
+msgid "today"
+msgstr "bugün"
+
+#: src/utils.vala:360
+msgid "yesterday"
+msgstr "dünən"
+
+#: src/widgets/buttons/just/dislike-button.vala:38
+msgid "Remove dislike"
+msgstr "Bəyənməməni sil"
+
+#: src/widgets/buttons/just/dislike-button.vala:41
+msgid "Set dislike"
+msgstr "Bəyənməmə qoy"
+
+#: src/widgets/buttons/just/like-button.vala:42
+msgid "Remove like"
+msgstr "Bəyənməni sil"
+
+#: src/widgets/buttons/just/like-button.vala:49
+msgid "Set like"
+msgstr "Bəyənmə qoy"
+
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:38
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:41
+msgid "Pause"
+msgstr "Pauza"
+
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:45
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:48
+msgid "Play"
+msgstr "Oynat"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:49
+#, c-format
+msgid "Playlist '%s'"
+msgstr "Pleylist '%s'"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:54
+#: src/widgets/buttons/menu/playlist-options-button.vala:67
+msgid "My Vibe by playlist"
+msgstr "Pleylistə görə Mənim Vibim"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:55
+#: src/widgets/buttons/menu/playlist-options-button.vala:77
+#: src/widgets/buttons/menu/track-options-button.vala:81
+#: src/widgets/buttons/menu/track-options-button.vala:106
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:36
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:47
+#: src/widgets/buttons/menu/track-queue-options-button.vala:70
+#: src/widgets/buttons/menu/track-queue-options-button.vala:100
+msgid "Add to queue"
+msgstr "Sıraya əlavə et"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:56
+#: src/widgets/buttons/menu/playlist-options-button.vala:78
+#: src/widgets/buttons/menu/track-options-button.vala:84
+#: src/widgets/buttons/menu/track-options-button.vala:109
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:40
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:51
+#: src/widgets/buttons/menu/track-queue-options-button.vala:74
+#: src/widgets/buttons/menu/track-queue-options-button.vala:104
+msgid "Share"
+msgstr "Paylaş"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:27
+msgid "Primary menu"
+msgstr "Əsas menyu"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:33
+msgid "Parse URL from clipboard"
+msgstr "Buferdən URL-u təhlil et"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:34
+msgid "Preferences"
+msgstr "Tənzimləmələr"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:35
+msgid "Keyboard Shortcuts"
+msgstr "Klaviatura qısayolları"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:36
+msgid "About Cassette"
+msgstr "Cassette haqqında"
+
+#: src/widgets/buttons/menu/track-options-button.vala:78
+#: src/widgets/buttons/menu/track-options-button.vala:95
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:33
+#: src/widgets/buttons/menu/track-queue-options-button.vala:67
+#: src/widgets/buttons/menu/track-queue-options-button.vala:88
+msgid "My Vibe by track"
+msgstr "Mahnıya görə Mənim Vibim"
+
+#: src/widgets/buttons/menu/track-options-button.vala:79
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:34
+#: src/widgets/buttons/menu/track-queue-options-button.vala:68
+msgid "Show info"
+msgstr "Məlumat göstər"
+
+#: src/widgets/buttons/menu/track-options-button.vala:80
+#: src/widgets/buttons/menu/track-options-button.vala:105
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:35
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:46
+#: src/widgets/buttons/menu/track-queue-options-button.vala:69
+#: src/widgets/buttons/menu/track-queue-options-button.vala:99
+msgid "Play next"
+msgstr "Növbəti oynat"
+
+#: src/widgets/buttons/menu/track-options-button.vala:82
+#: src/widgets/buttons/menu/track-options-button.vala:107
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:37
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:48
+#: src/widgets/buttons/menu/track-queue-options-button.vala:71
+#: src/widgets/buttons/menu/track-queue-options-button.vala:101
+msgid "Add to playlist"
+msgstr "Pleylistə əlavə et"
+
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:38
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:49
+msgid "Remove from playlist"
+msgstr "Pleylistdən sil"
+
+#: src/widgets/buttons/menu/track-queue-options-button.vala:72
+#: src/widgets/buttons/menu/track-queue-options-button.vala:102
+msgid "Remove from queue"
+msgstr "Sıradan sil"
+
+#: src/widgets/buttons/menu/volume-button.vala:122
+msgid "Volume control"
+msgstr "Səs səviyyəsi nəzarəti"
+
+#: src/widgets/buttons/menu/volume-button.vala:262
+msgid "Unmute"
+msgstr "Səsi aç"
+
+#: src/widgets/buttons/menu/volume-button.vala:262
+msgid "Mute"
+msgstr "Səsi bağla"
+
+#: src/widgets/cache-indicator/job-info-badge.vala:45
+#: src/widgets/save-stack.vala:53 src/widgets/views/abstract-cachiable.vala:173
+msgid "Album"
+msgstr "Albom"
+
+#: src/widgets/cache-indicator/job-info-badge.vala:78
+#, c-format
+msgid "%d / %d saved%s"
+msgid_plural "%d / %d saved%s"
+msgstr[0] "%d / %d saxlanıldı%s"
+msgstr[1] "%d / %d saxlanıldı%s"
+
+#: src/widgets/cache-indicator/job-info-badge.vala:85
+#, c-format
+msgid "%d track saving now"
+msgid_plural "%d tracks saving now"
+msgstr[0] "%d mahnı indi saxlanılır"
+msgstr[1] "%d mahnı indi saxlanılır"
+
+#: src/widgets/info-marks.vala:42
+#, c-format
+msgid "Track was replaced. Original version: %s, %s"
+msgstr "Mahnı dəyişdirildi. Orijinal versiya: %s, %s"
+
+#: src/widgets/playlist-micro.vala:158 src/widgets/views/playlist.vala:242
+#, c-format
+msgid "Owner: %s"
+msgstr "Sahib: %s"
+
+#: src/widgets/playlist-row.vala:86
+#, c-format
+msgid "Track count: %s"
+msgstr "Mahnı sayı: %s"
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:89
+#: src/widgets/preferences/preferences-dialog.vala:135
+msgid "Delete cache files?"
+msgstr "Keş fayllarını silmək?"
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:90
+msgid "Move saved files?"
+msgstr "Saxlanılmış faylları köçürmək?"
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:91
+#: src/widgets/preferences/preferences-dialog.vala:136
+msgid ""
+"All cache will be deleted. This doesn't affect on saved playlists or albums"
+msgstr ""
+"Bütün keş silinəcək. Bu, saxlanılmış pleylistlərə və ya albomlara təsir etməyəcək."
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:92
+msgid ""
+"All saved playlists and albums will be moved to cache files. This could take "
+"a while."
+msgstr ""
+"Bütün saxlanılmış pleylistlər və albomlar keş fayllarına köçürüləcək. Bu, bir qədər vaxt ala bilər."
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:130
+msgid "Deleting…"
+msgstr "Silinir…"
+
+#: src/widgets/save-stack.vala:55
+msgid "Image"
+msgstr "Şəkil"
+
+#: src/widgets/save-stack.vala:59
+msgid "Track"
+msgstr "Mahnı"
+
+#: src/widgets/save-stack.vala:76
+#, c-format
+msgid "%s saving…"
+msgstr "%s saxlanılır…"
+
+#: src/widgets/save-stack.vala:77
+#, c-format
+msgid "%s cached"
+msgstr "%s keşkə saxlanıldı"
+
+#: src/widgets/save-stack.vala:78
+#, c-format
+msgid "%s saved"
+msgstr "%s saxlanıldı"
+
+#: src/widgets/sidebar/childs/player-queue.vala:67
+#, c-format
+msgid "Playlist \"%s\""
+msgstr "Pleylist \"%s\""
+
+#: src/widgets/sidebar/childs/player-queue.vala:71
+#, c-format
+msgid "Album \"%s\""
+msgstr "Albom \"%s\""
+
+#: src/widgets/sidebar/childs/player-queue.vala:75
+#, c-format
+msgid "By search results \"%s\""
+msgstr "Axtarış nəticələri üzrə \"%s\""
+
+#: src/widgets/sidebar/childs/player-queue.vala:79
+msgid "Track list"
+msgstr "Mahnı siyahısı"
+
+#: src/widgets/sidebar/childs/track-info.vala:69
+msgid "Your music track"
+msgstr "Sizin musiqi mahnınız"
+
+#: src/widgets/sidebar/childs/track-info.vala:85
+msgid "Music track"
+msgstr "Musiqi mahnısı"
+
+#: src/widgets/sidebar/childs/wave-settings.vala:40
+msgid "Wave settings"
+msgstr "Dalğa tənzimləmələri"
+
+#: src/widgets/track-rows/base.vala:80 src/widgets/track-rows/default.vala:101
+msgid "Track is not available"
+msgstr "Mahnı əlçatan deyil"
+
+#: src/widgets/views/abstract-cachiable.vala:79
+#, c-format
+msgid "%s '%s' saved successfully"
+msgstr "%s '%s' uğurla saxlanıldı"
+
+#: src/widgets/views/abstract-cachiable.vala:90
+#, c-format
+msgid "%s '%s' saving was stopped, due to network error"
+msgstr "%s '%s' saxlanması şəbəkə xətası səbəbindən dayandırıldı"
+
+#: src/widgets/views/abstract-cachiable.vala:100
+#, c-format
+msgid "%s '%s' saving was aborted"
+msgstr "%s '%s' saxlanması ləğv edildi"
+
+#: src/widgets/views/abstract-cachiable.vala:192
+#, c-format
+msgid "%s saving has started"
+msgstr "%s saxlanması başlandı"
+
+#: src/widgets/views/abstract-cachiable.vala:230
+#, c-format
+msgid "%s '%s' was moved from data to cache"
+msgstr "%s '%s' məlumatdan keşkə köçürüldü"
+
+#: src/widgets/views/abstract-cachiable.vala:240
+#, c-format
+msgid "%s removing has started. Please do not close the app"
+msgstr "%s silinməsi başlandı. Xahiş edirik, tətbiqi bağlamayın"
+
+#: src/widgets/views/cant-show.vala:38
+#, c-format
+msgid "Error %d"
+msgstr "Xəta %d"
+
+#: src/widgets/views/cant-show.vala:42
+msgid "Can't load page"
+msgstr "Səhifə yüklənə bilməz"
+
+#: src/widgets/views/cant-show.vala:45
+msgid "Can't find desired content"
+msgstr "İstənilən məzmun tapıla bilməz"
+
+#: src/widgets/views/playlist.vala:85
+msgid "Delete playlist?"
+msgstr "Pleylisti silmək?"
+
+#: src/widgets/views/playlist.vala:86
+#, c-format
+msgid "Playlist '%s' will be permanently deleted."
+msgstr "Pleylist '%s' həmişəlik silinəcək."
+
+#: src/widgets/views/playlist.vala:105
+#, c-format
+msgid "Playlist '%s' was deleted"
+msgstr "Pleylist '%s' silindi"
+
+#: src/widgets/views/playlist.vala:248
+#, c-format
+msgctxt "female person"
+msgid "%s updated playlist %s"
+msgstr "%s pleylisti %s yenilədi"
+
+#: src/widgets/views/playlist.vala:252
+#, c-format
+msgctxt "male person"
+msgid "%s updated playlist %s"
+msgstr "%s pleylisti %s yenilədi"
+
+#: src/widgets/views/playlist.vala:282
+#, c-format
+msgid "Can't change visibility of '%s'"
+msgstr "'%s' görünürlüyü dəyişdirilə bilməz"
+
+#: src/widgets/views/playlist.vala:288
+#, c-format
+msgid "Playlist '%s' is public now"
+msgstr "Pleylist '%s' indi açıqdır"
+
+#: src/widgets/views/playlist.vala:291
+#, c-format
+msgid "Playlist '%s' is private now"
+msgstr "Pleylist '%s' indi şəxsidir"
+
+#: src/window.vala:236
+#, c-format
+msgid "Window info message: %s"
+msgstr "Pəncərə məlumat mesajı: %s"
diff --git a/po/be.po b/po/be.po
index 01dca80..91bb663 100644
--- a/po/be.po
+++ b/po/be.po
@@ -6,10 +6,10 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-01-27 05:36+0800\n"
-"PO-Revision-Date: 2024-01-27 16:27+0100\n"
-"Last-Translator: \n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/Rirusha/Cassette/-/issues\n"
+"POT-Creation-Date: 2024-09-30 18:34+0000\n"
+"PO-Revision-Date: 2024-10-07 18:22+0300\n"
+"Last-Translator: Yuras Shumovich \n"
"Language-Team: \n"
"Language: be\n"
"MIME-Version: 1.0\n"
@@ -17,23 +17,38 @@ msgstr ""
"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<12 || n%100>14) ? 1 : 2);\n"
-"X-Generator: Poedit 3.4.2\n"
+"X-Generator: Poedit 3.5\n"
-#: data/io.github.Rirusha.Cassette.Devel.desktop.in:3
-#: data/io.github.Rirusha.Cassette.Devel.desktop.in:4
-msgid "Cassette Devel"
-msgstr "Cassette Devel"
+#. Translators: app name should be translated
+#: data/space.rirusha.Cassette.desktop.in.in:4
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:3 src/main.vala:23
+msgid "Cassette"
+msgstr "Cassette"
-#: data/io.github.Rirusha.Cassette.Devel.desktop.in:5
-msgid "Unofficial Yandex.Music client for GNOME (Development mode)"
-msgstr "Неафіцыйны кліент Яндэкс.Музыка для GNOME"
+#: data/space.rirusha.Cassette.desktop.in.in:5
+msgid "Unofficial Yandex Music client for GNOME"
+msgstr "Неафіцыйны кліент сэрвісу Яндэкс Музыка для GNOME"
-#: data/io.github.Rirusha.Cassette.Devel.desktop.in:6
-#: data/io.github.Rirusha.Cassette.desktop.in:6
+#. Translators: keep number of ';'
+#: data/space.rirusha.Cassette.desktop.in.in:7
+#: data/space.rirusha.Cassette-Devel.desktop.in.in:7
msgid "yandex;yandex music;yam;music;"
msgstr "yandex;yandex music;yam;music;яндэкс;яндэкс музыка;ям;музыка;"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:8
+#. Translators: app name should be translated
+#: data/space.rirusha.Cassette-Devel.desktop.in.in:4
+msgid "Cassette (Devel)"
+msgstr "Cassette (Тэст)"
+
+#: data/space.rirusha.Cassette-Devel.desktop.in.in:5
+msgid "Unofficial Yandex Music client for GNOME (Devel build)"
+msgstr "Неафіцыйны кліент сэрвісу Яндэкс Музыка для GNOME (Тэставая зборка)"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:7
+msgid "Unofficial Yandex Music client"
+msgstr "Неафіцыйны кліент сэрвісу Яндэкс Музыка"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:9
msgid ""
"GTK/Adwaita application that allows to use Yandex Music service on Linux "
"operating systems."
@@ -41,1477 +56,1321 @@ msgstr ""
"Праграма GTK/Adwaita, якая дазваляе карыстацца сэрвісам Яндэкс Музыка ў "
"аперацыйных сістэмах Linux."
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:12
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:13
msgid "Features:"
-msgstr "Асаблівасці:"
+msgstr "Магчымасці:"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:16
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:17
msgid "Allows you to save playlists and albums for offline listening"
msgstr ""
-"Дазваляе захоўваць спісы прайгравання і альбомы для праслухоўвання ў "
-"аўтаномным рэжыме"
+"Дазваляе захоўваць плэйлісты і альбомы для праслухоўвання ў аўтаномным рэжыме"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:19
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:20
msgid "Has a dynamic \"karaoke mode\" right in the track information panel"
-msgstr "Мае дынамічны «рэжым караоке» прама на панэлі інфармацыі аб трэку"
+msgstr "Мае дынамічны «рэжым караоке» прама на панэлі звестак пра трэк"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:22
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:23
msgid ""
"Allows you to more precisely customize the display and playback of special "
"content, such as explicit or suitable for children."
msgstr ""
-"Дазваляе дакладна наладзіць адлюстраванне і прайграванне спецыяльнага "
-"кантэнту, напрыклад, нецэнзурнага або прыдатнага для дзяцей."
+"Дазваляе дакладна наладзіць паказ і прайграванне спецыяльнага кантэнту, "
+"напрыклад, для дарослых або прыдатны для дзяцей."
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:26
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:27
msgid "Displays tracks that are currently unavailable in the service"
-msgstr "Адлюстроўвае трэкі, якія зараз недаступныя ў сэрвісе"
+msgstr "Паказвае трэкі, якія зараз недаступны ў сэрвісе"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:29
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:30
msgid "Shows which tracks have been replaced and by what"
msgstr "Паказвае, якія трэкі былі заменены і чым"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:33
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:34
msgid ""
"Cassette is an unofficial client and is not associated with or endorsed by "
"Yandex."
msgstr ""
-"Cassette з'яўляецца неафіцыйным кліентам, не звязаны з Яндэксам і не "
-"падтрымліваецца ім."
+"Cassette — неафіцыйны кліент, які не звязаны з кампаніяй Яндэкс і не "
+"падтрымліваецца ёй."
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:64
-msgid "Unofficial Yandex.Music client"
-msgstr "Неафіцыйны кліент Яндэкс.Музыка"
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:63
+msgid "Liked view"
+msgstr "Мне падабаецца"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:69
-msgid "Hotfix"
-msgstr "Тэрміновыя выпраўленні"
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:67
+msgid "Playlists view"
+msgstr "Плэйлісты"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:71
-msgid ""
-"Crashes that I couldn't reproduce for a long time have been fixed. The "
-"reason was an attempt to save a custom track with an empty cover"
-msgstr ""
-"Былі выпраўлены вылеты, якія я доўга не мог паўтарыць. Прычына была ў спробе "
-"захавання карыстацкага трэка з пустой вокладкай"
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:71
+msgid "Sync lyrics"
+msgstr "Тэкст песні"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:72
-msgid ""
-"The button for creating a playlist has changed, as well as some other shadows"
-msgstr "Змянілася кнопка дадання новага плэйліста, як і некаторыя цені"
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:75
+msgid "Playback queue"
+msgstr "Чарга прайгравання"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:73
-msgid ""
-"The translation has been corrected. The text on the widgets written using "
-"blueprints has not been translated. Now fixed"
-msgstr ""
-"Быў выпраўлены пераклад. Тэкст на віджэтах, напісаных з выкарыстаннем "
-"blueprints не быў перакладзены. Цяпер выпраўлена"
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:79
+msgid "Waves view"
+msgstr "Хвалі"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:79
-msgid "Cosmetic and code changes"
-msgstr "Касметычныя змены і змены ў кодзе"
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:83
+msgid "Main preferences"
+msgstr "Галоўныя параметры"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:81
-msgid ""
-"The transition to the blueprints interface language is slowly but surely "
-"underway"
-msgstr "Пераход на мову інтэрфейсу blueprints павольна, але ўпэўнена ідзе"
+#: data/ui/account-info-dialog.blp:5
+msgid "Account information"
+msgstr "Інфармацыя пра ўліковы запіс"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:82
-msgid ""
-"The playback panel has been completely redesigned. Now there are fewer "
-"buttons (if someone has lost the track information button, you need to poke "
-"to the right of the playback slider)"
-msgstr ""
-"Цалкам перароблена панэль прайгравання. Цяпер менш кнопак (калі хтосьці "
-"страціў кнопку інфармацыі аб трэку, трэба націснуць справа ад слайдэра "
-"прайгравання)"
+#: data/ui/account-info-dialog.blp:52
+msgid "Open in browser"
+msgstr "Адкрыць у браўзеры"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:83
-msgid "The appearance of the playlist has been changed"
-msgstr "Зменены знешні выгляд плэйліста"
+#: data/ui/account-info-dialog.blp:61
+msgid "Plus"
+msgstr "Я.Плюс"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:84
-msgid "The sidebar widget has been changed"
-msgstr ""
-"Зменены віджэт бакавой панэлі для паказу дадатковай інфармацыі аб трэку"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:85
-msgid ""
-"Added the feature with parallel loading of tracks while saving playlists. "
-"And not only that, now when the application starts, all saved playlists will "
-"be checked and updated. You can also view the progress of saving on the top "
-"left"
-msgstr ""
-"Дададзена згаданая месяц таму функцыя з раўналежнай загрузкай трэкаў пры "
-"захаванні плэйлістоў. І не толькі гэта, зараз пры старце праграмы, будзе "
-"выконваюцца праверка ўсіх захаваных плэйлістоў і іх абнаўленне. Таксама "
-"прагледзець прагрэс захавання можна злева зверху"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:86
-msgid "Added the removal of a track from the queue when it is disliked"
-msgstr "Дададзена выдаленне трэка з чаргі пры яго дызлайке"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:87
-msgid ""
-"The Belarusian language has been added. Thanks to Yahor Haurylenka for the "
-"translation"
-msgstr "Дададзена беларуская мова. Дзякуй Ягору Гаўрыленка за пераклад"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:88
-msgid "Added a debug mod"
-msgstr "Дададзены рэжым адладкі"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:89
-msgid "Increased the maximum volume level from 60 to 100"
-msgstr "Павялічаны максімальны ўзровень гучнасці з 60 да 100"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:90
-msgid ""
-"Added the ability to move all saved objects to the cache folder, that is, "
-"move them to temporary storage"
-msgstr ""
-"Дададзена магчымасць перамяшчаць усе захаваныя аб'екты ў папку з кэшам, гэта "
-"значыць перамяшчаць іх у часовае сховішча"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:91
-msgid "Other bug fixes"
-msgstr "Іншыя выпраўленні памылак"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:97
-msgid "Added new authorization via WebView"
-msgstr "Дададзена новая аўтарызацыя праз WebView"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:102
-msgid "First release of Cassette"
-msgstr "Першы выпуск Cassette"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:104
-msgid "Allows you to listen to music"
-msgstr "Дазваляе слухаць музыку"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:105
-msgid "View your playlists"
-msgstr "Прагляд вашых спісаў прайгравання"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:106
-msgid "Manage the playback queue, for example shuffle or puts on repeat"
-msgstr ""
-"Кіраванне чаргой прайгравання, напрыклад, перамешванне або паўторнае "
-"прайграванне"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:107
-msgid ""
-"Sends whether the track has been listened to and the playback queue, if it "
-"has been changed"
-msgstr ""
-"Адпраўляць інфармацыю аб тым, ці быў праслуханы трэк, і аб чарзе "
-"прайгравання, калі яна была зменена"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:108
-msgid "Implemented mpris2"
-msgstr "Рэалізаваны mpris2"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:116
-msgid "Rirusha"
-msgstr "Rirusha"
-
-#: data/io.github.Rirusha.Cassette.desktop.in:5
-msgid "Unofficial Yandex.Music client for GNOME"
-msgstr "Неафіцыйны кліент Яндэкс.Музыка для GNOME"
-
-#: data/ui/account_info_window.blp:37
-#, c-format
-msgctxt "account info window"
-msgid "Login: %s"
-msgstr "Лагін: %s"
-
-#: data/ui/account_info_window.blp:49
-#, c-format
-msgctxt "account info window"
-msgid "Phone number: %s"
-msgstr "Нумар тэлефона: %s"
-
-#: data/ui/account_info_window.blp:62
-msgctxt "account info window"
-msgid "Has Plus"
-msgstr "Падпіска Я.Плюс"
-
-#: data/ui/account_info_window.blp:80
-#, c-format
-msgctxt "account info window"
-msgid "First name: %s"
-msgstr "Імя: %s"
-
-#: data/ui/account_info_window.blp:92
-#, c-format
-msgctxt "account info window"
-msgid "Second name: %s"
-msgstr "Прозвішча: %s"
-
-#: data/ui/account_info_window.blp:104
-#, c-format
-msgctxt "account info window"
-msgid "Display name: %s"
-msgstr "Адлюстраванае імя: %s"
-
-#: data/ui/account_info_window.blp:116
-#, c-format
-msgctxt "account info window"
-msgid "Birthday: %s"
-msgstr "Дата нараджэння: %s"
-
-#: data/ui/account_info_window.blp:134
-msgctxt "account info window"
-msgid "Additional options:"
-msgstr "Дадатковыя параметры:"
+#: data/ui/account-info-dialog.blp:70 data/ui/no-plus-dialog.blp:51
+#: src/authenticator.vala:51
+msgid "Log out"
+msgstr "Выйсці з уліковага запісу"
#. Translators: usage mode of application. Online mode or Local mode available
-#: data/ui/begin_view.ui:11
+#: data/ui/begin-view.ui:11
msgid "Usage mode"
msgstr "Рэжым выкарыстання"
#. Translators: usage mode of application. Online mode or Local mode available
-#: data/ui/begin_view.ui:40
+#: data/ui/begin-view.ui:40
msgctxt "auth window"
msgid "Choose usage mode"
msgstr "Выберыце рэжым выкарыстання"
-#: data/ui/begin_view.ui:50
+#: data/ui/begin-view.ui:50
msgctxt "auth window"
msgid ""
"If you select the \"Online mode\", you can access local music by enabling "
"the display of the corresponding pages in the pages preferences, as well as "
"log in later when selecting \"Local mode\""
msgstr ""
-"Калі вы выберыце «Анлайн-рэжым», вы можаце атрымаць доступ да лакальнай "
-"музыкі, уключыўшы адлюстраванне адпаведных старонак у наладах, а таксама "
-"ўвайсці пазней, выбраўшы «Лакальны рэжым»"
+"Калі вы выберыце «Анлайн-рэжым», доступ да лакальнай музыкі можна атрымаць, "
+"калі ўключыць паказ адпаведных старонак у наладах, таксама падчас уваходу ў "
+"іншы раз, можна будзе выбраць «Лакальны рэжым»"
#. Translators: usage mode of application. Online mode or Local mode available
-#: data/ui/begin_view.ui:75
+#: data/ui/begin-view.ui:75
msgctxt "auth window"
msgid "Online mode"
-msgstr "Анлайн рэжым"
+msgstr "Анлайн-рэжым"
#. Translators: usage mode of application. Online mode or Local mode available
-#: data/ui/begin_view.ui:85
+#: data/ui/begin-view.ui:85
msgctxt "auth window"
msgid "Local mode"
msgstr "Лакальны рэжым"
#. Translators: "Close" window button label
-#: data/ui/begin_view.ui:97
+#: data/ui/begin-view.ui:97
msgctxt "auth window"
msgid "Close"
msgstr "Закрыць"
-#: data/ui/begin_view.ui:112
+#: data/ui/begin-view.ui:112
msgid "Authorization"
msgstr "Аўтарызацыя"
-#: data/ui/cache_deletion_preferences.ui:20
-msgid "Cache dirs size:"
-msgstr "Памер каталогаў кэша:"
+#. Translators: size of cache dirs
+#: data/ui/cache-deletion-preferences.ui:21
+msgid "Dirs size:"
+msgstr "Памер каталогаў:"
#. Translators: tempprary cache folder
-#: data/ui/cache_deletion_preferences.ui:34
-msgid "Temporary"
-msgstr "Часовы"
+#: data/ui/cache-deletion-preferences.ui:35
+msgid "Cache"
+msgstr "Кэш"
-#: data/ui/cache_deletion_preferences.ui:84
-msgid "Clear cache"
-msgstr "Ачысціць кэш"
+#: data/ui/cache-deletion-preferences.ui:88
+msgid "Clear"
+msgstr "Ачысціць"
#. Translators: temparence cache folder
-#: data/ui/cache_deletion_preferences.ui:105
-msgid "Permanent"
-msgstr "Пастаянны"
+#: data/ui/cache-deletion-preferences.ui:109
+msgid "Data"
+msgstr "Даныя"
-#: data/ui/cache_deletion_preferences.ui:155
-msgid "Move saved"
-msgstr "Перамясціць захаванае"
+#: data/ui/cache-deletion-preferences.ui:159
+msgid "Move to cache"
+msgstr "Перамясціць у кэш"
-#: data/ui/cache_indicator.ui:34
+#: data/ui/cache-deletion-preferences.ui:163
+msgid "Move"
+msgstr "Перамясціць"
+
+#: data/ui/cache-indicator.blp:35
msgid "Show all cache jobs"
msgstr "Паказаць усе захаванні"
-#: data/ui/custom_page_preferences.ui:17
+#: data/ui/custom-page-preferences.ui:17
msgid "Title: "
msgstr "Назва: "
-#: data/ui/custom_page_preferences.ui:38
+#: data/ui/custom-page-preferences.ui:38
msgid "Icon: "
msgstr "Значок: "
-#: data/ui/custom_page_preferences.ui:75
+#: data/ui/custom-page-preferences.ui:75
msgid "Save page"
msgstr "Захаваць старонку"
-#: data/ui/custom_page_preferences.ui:92
+#: data/ui/custom-page-preferences.ui:92
msgid "Remove page"
msgstr "Выдаліць старонку"
#. Translators: title of preference group
-#: data/ui/custom_pages_preferences.ui:7
+#: data/ui/custom-pages-preferences.ui:7
msgctxt "preference window"
msgid "Custom pages"
msgstr "Карыстальніцкія старонкі"
#. Translators: description of preference group
-#: data/ui/custom_pages_preferences.ui:9
+#: data/ui/custom-pages-preferences.ui:9
msgctxt "preference window"
msgid "Here you can control custom pages."
msgstr "Тут вы можаце кіраваць карыстальніцкімі старонкамі."
-#: data/ui/disliked_tracks_view.ui:23
+#: data/ui/disliked-tracks-view.ui:23
+#: src/widgets/buttons/menu/primary-menu-button.vala:31
msgid "Disliked tracks"
msgstr "Трэкі, якія не спадабаліся"
-#: data/ui/help-overlay.ui:11
-msgctxt "shortcut window"
+#: data/ui/header-bar.blp:12
+msgid "Go back"
+msgstr "Назад"
+
+#: data/ui/header-bar.blp:20
+msgid "Refresh"
+msgstr "Абнавіць"
+
+#: data/ui/header-bar.blp:28
+msgid "Yandex Music search"
+msgstr "Пошук у Яндэкс Музыцы"
+
+#: data/ui/help-overlay.blp:11
msgid "Main Actions"
-msgstr "Асноўныя дзеянні"
+msgstr "Агульныя дзеянні"
-#: data/ui/help-overlay.ui:14
-msgctxt "shortcut window"
+#: data/ui/help-overlay.blp:14
msgid "Show Shortcuts"
-msgstr "Спалучэнні клавіш"
+msgstr "Паказаць спалучэнні клавіш"
-#: data/ui/help-overlay.ui:20
-msgctxt "shortcut window"
+#: data/ui/help-overlay.blp:19
msgid "Quit"
msgstr "Выйсці"
-#: data/ui/help-overlay.ui:28
-msgctxt "shortcut window"
-msgid "Media Control"
+#: data/ui/help-overlay.blp:25
+msgid "Playback Control"
msgstr "Кіраванне прайграваннем"
-#: data/ui/help-overlay.ui:31
-msgctxt "shortcut window"
+#: data/ui/help-overlay.blp:28
msgid "Play/Pause playback"
msgstr "Прайграванне/Паўза"
-#: data/ui/help-overlay.ui:37
-msgctxt "shortcut window"
+#: data/ui/help-overlay.blp:33 data/ui/player-bar.blp:87
msgid "Play previous track"
msgstr "Прайграць папярэдні трэк"
-#: data/ui/help-overlay.ui:43
-msgctxt "shortcut window"
+#: data/ui/help-overlay.blp:38 data/ui/player-bar.blp:119
msgid "Play next track"
-msgstr "Прайграйць наступны трэк"
+msgstr "Прайграць наступны трэк"
-#: data/ui/help-overlay.ui:51
-msgctxt "shortcut window"
+#: data/ui/help-overlay.blp:43
+msgid "Mute app"
+msgstr "Адключыць гук у праграме"
+
+#: data/ui/help-overlay.blp:49
msgid "Queue control"
-msgstr "Кантроль чаргі"
+msgstr "Кіраванне чаргой"
-#: data/ui/help-overlay.ui:54
-msgctxt "shortcut window"
-msgid "Change shuffle mode"
-msgstr "Змяніць рэжым перамешвання"
-
-#: data/ui/help-overlay.ui:60
-msgctxt "shortcut window"
-msgid "Change repeat mode"
-msgstr "Змяніць рэжым паўтору"
-
-#: data/ui/info_marks.ui:23
-msgid "Explicit content"
-msgstr "Непрыстойны кантэнт"
-
-#: data/ui/info_marks.ui:32
-msgid "Child content"
-msgstr "Дзіцячы кантэнт"
-
-#: data/ui/main_window.blp:108
-msgid "Connection problems"
-msgstr "Праблемы з злучэннем"
-
-#: data/ui/main_window.blp:145
-msgid "Parse URL from clipboard"
-msgstr "Узяць URL з буфера абмену"
-
-#: data/ui/main_window.blp:148
-msgid "Preferences"
-msgstr "Параметры"
-
-#: data/ui/main_window.blp:149
-msgid "Keyboard Shortcuts"
-msgstr "Спалучэнні клавіш"
-
-#: data/ui/main_window.blp:150
-msgid "About Cassette"
-msgstr "Аб праграме"
-
-#: data/ui/main_window.blp:155
-msgid "Open in browser"
-msgstr "Адкрыць у браўзэры"
-
-#: data/ui/main_window.blp:156
-msgid "Account info"
-msgstr "Інфармацыя аб уліковым запісе"
-
-#: data/ui/player_bar.blp:22
-msgid "Show track info"
-msgstr "Паказаць інфармацыю аб трэку"
-
-#: data/ui/player_bar.blp:86
+#: data/ui/help-overlay.blp:52 data/ui/player-bar.blp:141
msgid "Change shuffle mode"
msgstr "Змяніць рэжым перамешвання чаргі"
-#: data/ui/player_bar.blp:98
-msgid "Play previous track"
-msgstr "Прайграць папярэдні трэк"
-
-#: data/ui/player_bar.blp:124
-msgid "Play next track"
-msgstr "Прайграйць наступны трэк"
-
-#: data/ui/player_bar.blp:137
+#: data/ui/help-overlay.blp:57 data/ui/player-bar.blp:65
msgid "Change repeat mode"
msgstr "Змяніць рэжым паўтору"
-#: data/ui/player_bar.blp:218
+#: data/ui/help-overlay.blp:63
+msgid "Other"
+msgstr "Іншае"
+
+#: data/ui/help-overlay.blp:66
+msgid "Share current track"
+msgstr "Абагуліць бягучы трэк"
+
+#: data/ui/help-overlay.blp:71
+msgid "Parse url from clipboard"
+msgstr "Узяць URL з буфера абмену"
+
+#: data/ui/info-marks.ui:23
+msgid "Explicit content"
+msgstr "Кантэнт для дарослых"
+
+#: data/ui/info-marks.ui:32
+msgid "Child content"
+msgstr "Дзіцячы кантэнт"
+
+#: data/ui/main-view.blp:6
+msgid "Page under construction"
+msgstr "Старонка ў распрацоўцы"
+
+#: data/ui/main-view.blp:20
+msgid "All stations"
+msgstr "Усе станцыі"
+
+#: data/ui/no-plus-dialog.blp:20
+msgid "No Plus Subscription"
+msgstr "Няма падпіскі Яндэкс Плюс"
+
+#: data/ui/no-plus-dialog.blp:21
+msgid ""
+"To avoid problems with Yandex, the online functions of the application are "
+"not available without a Yandex.Plus subscription. Thanks for understanding."
+msgstr ""
+"Каб пазбегнуць праблем з Яндэкс, анлайн-функцыі праграмы недаступны без "
+"падпіскі Яндэкс Плюс. Дзякуй за разуменне."
+
+#: data/ui/no-plus-dialog.blp:41
+msgid "Get Plus"
+msgstr "Атрымаць Яндэкс Плюс"
+
+#: data/ui/player-bar.blp:22
+msgid "Show track info"
+msgstr "Паказаць звесткі пра трэк"
+
+#: data/ui/player-bar.blp:206
+msgid "Show wave settings"
+msgstr "Паказаць налады хвалі"
+
+#: data/ui/player-bar.blp:216
msgid "Show playback queue"
msgstr "Паказаць Чаргу прайгравання"
-#: data/ui/player_bar.blp:229
+#: data/ui/player-bar.blp:229
msgid "Change volume"
msgstr "Змяніць гучнасць"
-#: data/ui/playlist_choose_window.ui:8
-msgid "Choose playlist to add"
-msgstr "Выберыце плэйліст для дадання"
+#: data/ui/player-queue.blp:5 src/application.vala:271
+msgid "Playing now"
+msgstr "Зараз грае"
-#: data/ui/playlist_create_button.ui:36
+#: data/ui/playlist-choose-dialog.ui:8
+msgid "Choose playlist to add"
+msgstr "Выберыце плэйліст для дадавання"
+
+#: data/ui/playlist-create-button.ui:36
msgid "Create playlist"
msgstr "Стварыць плэйліст"
-#: data/ui/playlist_micro.ui:140
-msgid "Start playlist"
-msgstr "Прайграць плэйліст"
+#: data/ui/playlist-micro.ui:39 data/ui/playlist-view.ui:56
+#: src/widgets/cache-indicator/job-info-badge.vala:42
+#: src/widgets/save-stack.vala:56 src/widgets/views/abstract-cachiable.vala:167
+msgid "Playlist"
+msgstr "Плэйліст"
-#: data/ui/playlist_micro.ui:156
-msgid "Add playlist to queue"
-msgstr "Дадаць плэйліст у чаргу"
-
-#: data/ui/playlist_row.ui:37
+#: data/ui/playlist-row.ui:40
msgid "Empty"
msgstr "Пусты"
-#: data/ui/playlist_view.ui:145
-msgid "Play"
-msgstr "Прайграць"
-
-#: data/ui/playlist_view.ui:161
-msgid "Change playlist visibility"
-msgstr "Змяніць бачнасць плэйліста"
-
-#: data/ui/playlist_view.ui:183
-msgid "Add page to header"
-msgstr "Дадаць старонку ў загаловак"
-
-#. Translators: tooltip of "abort" button
-#: data/ui/playlist_view.ui:248
-msgid "Abort"
-msgstr "Скасаваць"
-
-#: data/ui/playlist_view.ui:252
-msgid "Stop"
-msgstr "Спыніць"
-
-#: data/ui/playlists_view.ui:23
+#: data/ui/playlists-view.ui:23
msgid "Your playlists"
msgstr "Вашы плэйлісты"
-#: data/ui/playlists_view.ui:39
-msgid "Also you liked this playlists"
+#: data/ui/playlists-view.ui:39
+msgid "Also you liked these playlists"
msgstr "Вам таксама спадабаліся гэтыя плэйлісты"
-#: data/ui/preferences_window.ui:8
-msgctxt "preference window"
-msgid "Main"
-msgstr "Галоўнае"
+#: data/ui/playlist-view.ui:187
+msgid "Change playlist visibility"
+msgstr "Змяніць бачнасць плэйліста"
-#. Translators: title of preference group
-#: data/ui/preferences_window.ui:13
-msgctxt "preference window"
+#: data/ui/playlist-view.ui:211
+msgid "Add page to header"
+msgstr "Дадаць старонку ў загаловак"
+
+#. Translators: tooltip of "save" button
+#: data/ui/playlist-view.ui:233 data/ui/playlist-view.ui:237
+#: src/widgets/buttons/menu/track-options-button.vala:82
+#: src/widgets/buttons/menu/track-options-button.vala:107
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:38
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:49
+#: src/widgets/buttons/menu/track-queue-options-button.vala:72
+#: src/widgets/buttons/menu/track-queue-options-button.vala:102
+msgid "Save"
+msgstr "Захаваць"
+
+#. Translators: tooltip of "delete" button
+#: data/ui/playlist-view.ui:256 data/ui/playlist-view.ui:260
+#: src/widgets/preferences/cache-deletion-preferences.vala:96
+#: src/widgets/preferences/preferences-dialog.vala:140
+#: src/widgets/views/playlist.vala:90
+msgid "Delete"
+msgstr "Выдаліць"
+
+#. Translators: tooltip of "abort" button
+#: data/ui/playlist-view.ui:276
+msgid "Abort"
+msgstr "Скасаваць"
+
+#: data/ui/playlist-view.ui:280
+msgid "Stop"
+msgstr "Спыніць"
+
+#: data/ui/preferences-dialog.ui:8
+msgctxt "preference dialog"
+msgid "Main"
+msgstr "Галоўная"
+
+#: data/ui/preferences-dialog.ui:12
+msgctxt "preference dialog"
msgid "General"
msgstr "Агульныя"
-#. Translators: title of preference
-#: data/ui/preferences_window.ui:17
-msgctxt "preference window"
-msgid "Max active threads"
-msgstr "Максімум актыўных патокаў"
+#: data/ui/preferences-dialog.ui:15
+msgctxt "preference dialog"
+msgid "Enable high quality audio"
+msgstr "Уключыць высокую якасць музыкі"
-#. Translators: tooltip of preference
-#: data/ui/preferences_window.ui:19
-msgctxt "preference window"
-msgid ""
-"The maximum number of threads for content loading. A large value can affect "
-"the performance of the system. The changes will take effect after restarting "
-"the application."
-msgstr ""
-"Максімальная колькасць патокаў для загрузкі кантэнту. Вялікае значэнне можа "
-"паўплываць на прадукцыйнасць сістэмы. Змены ўступяць у сілу пасля "
-"перазапуску праграмы."
-
-#. Translators: title of preference
-#: data/ui/preferences_window.ui:34
-msgctxt "preference window"
-msgid "Try to load queue every window activation"
-msgstr "Спрабаваць загрузіць чаргу пры кожнай актывацыі акна"
-
-#. Translators: tooltip of preference
-#: data/ui/preferences_window.ui:36
-msgctxt "preference window"
-msgid ""
-"Every time it is expanded or the focus changes from another window queue "
-"will loaded from the device on which you listened to music last time."
-msgstr ""
-"Пры кожным разгортванні або змене фокусу з іншага акна чарга будзе "
-"загружацца з прылады, на якой вы слухалі музыку апошні раз."
-
-#. Translators: title of preference
-#: data/ui/preferences_window.ui:42
-msgctxt "preference window"
-msgid "Download high quality tracks"
-msgstr "Спампоўваць трэкі высокай якасці"
-
-#. Translators: tooltip of preference
-#: data/ui/preferences_window.ui:44
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:16
+msgctxt "preference dialog"
msgid ""
"Attention! If the track was downloaded in low quality, and after the "
"download is enabled in high quality, the audio will not be reloaded"
msgstr ""
-"Увага! Калі трэк быў спампаваны ў нізкай якасці, а пасля ўключэння загрузкі "
-"ў высокай якасці, аўдыё не будзе перазагружацца"
+"Увага! Калі трэк быў спампаваны ў нізкай якасці, а пасля таго ўключана "
+"загрузка ў высокай якасці, музыка не перазагружаецца"
-#. Translators: title of preference
-#: data/ui/preferences_window.ui:50
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:21
+msgctxt "preference dialog"
msgid "Add track on top of playlist"
msgstr "Дадаваць трэкі ў пачатак плэйліста"
-#. Translators: tooltip of preference
-#: data/ui/preferences_window.ui:52
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:22
+msgctxt "preference dialog"
msgid "Will the track be added to the playlist as the first or as the last"
-msgstr "Ці будзе трэк дададзены ў плэйліст як першы або як апошні"
+msgstr "Трэк будзе дадавацца ў плэйліст як першы ці як апошні"
-#. Translators: title of preference group
-#: data/ui/preferences_window.ui:60
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:27
+msgctxt "preference dialog"
+msgid "Show 'Playing now' notification"
+msgstr "Паказваць апавяшчэнне «Зараз грае»"
+
+#: data/ui/preferences-dialog.ui:28
+msgctxt "preference dialog"
+msgid "Show a notification when switching a track"
+msgstr "Паказваць апавяшчэнне, калі пераключаецца трэк"
+
+#: data/ui/preferences-dialog.ui:35
+msgctxt "preference dialog"
msgid "Show additional marks"
msgstr "Паказваць дадатковыя адзнакі"
-#. Translators: title of preference
-#: data/ui/preferences_window.ui:64
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:36
+msgctxt "preference dialog"
+msgid "Additional marks display additional information about the track"
+msgstr "Дадатковыя адзнакі паказваюць дадатковыя звесткі пра трэк"
+
+#: data/ui/preferences-dialog.ui:39
+msgctxt "preference dialog"
msgid "Show save mark"
-msgstr "Паказваць знак захавання"
+msgstr "Пазначаць захаванне трэка"
-#. Translators: tooltip of preference
-#: data/ui/preferences_window.ui:66
-msgctxt "preference window"
-msgid "Show a mark showing the current state of the track cache"
-msgstr "Паказваць значок, які паказвае бягучы стан кэша трэкаў"
+#: data/ui/preferences-dialog.ui:40
+msgctxt "preference dialog"
+msgid "Show a label with information about the caching status of the track"
+msgstr "Паказваць надпіс са звесткамі пра стан кэшавання трэка"
-#. Translators: title of preference
-#: data/ui/preferences_window.ui:72
-msgctxt "preference window"
-msgid "Show temp save mark"
-msgstr "Паказваць адзнаку часовага захавання"
+#: data/ui/preferences-dialog.ui:45
+msgctxt "preference dialog"
+msgid "Show cache mark"
+msgstr "Пазначаць кэшаванне трэка"
-#. Translators: tooltip of preference
-#: data/ui/preferences_window.ui:74
-msgctxt "preference window"
-msgid ""
-"Show a mark indicating that the track has been saved to temporary storage"
-msgstr "Паказаць знак, які паказвае, што трэк быў захаваны ў часовае сховішча"
+#: data/ui/preferences-dialog.ui:46
+msgctxt "preference dialog"
+msgid "Show a mark about saving a track to the cache"
+msgstr "Паказваць значок, калі трэк захоўваецца ў кэш"
-#. Translators: title of preference
-#: data/ui/preferences_window.ui:80
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:51
+msgctxt "preference dialog"
msgid "Show replaced mark"
-msgstr "Паказваць адзнаку аб тым, што трэк быў заменены"
+msgstr "Пазначаць замененыя трэкі"
-#. Translators: tooltip of preference
-#: data/ui/preferences_window.ui:82
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:52
+msgctxt "preference dialog"
msgid "Show a mark that shows that the track has been replaced"
-msgstr "Паказваць знак, які паказвае, што трэк быў заменены"
+msgstr "Паказваць значок, калі трэк быў заменены"
-#. Translators: title of preference group
-#: data/ui/preferences_window.ui:90
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:59
+msgctxt "preference dialog"
msgid "Tracks visibility"
msgstr "Бачнасць трэкаў"
-#. Translators: description of preference group
-#: data/ui/preferences_window.ui:92
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:60
+msgctxt "preference dialog"
msgid ""
"Show special tracks in track lists. Filter doesn't work when searching in "
"track list"
msgstr ""
-"Паказваць трэкі не прызначаных для непаўналетніх або дзіцячага кантэнту ў "
-"спісах трэкаў. Фільтр не працуе пры пошуку ў спісе трэкаў"
+"Паказваць спецыяльна пазначаныя трэкі ў спісах. Фільтр не працуе падчас "
+"пошуку ў спісе трэкаў"
-#. Translators: title of preference
-#: data/ui/preferences_window.ui:96
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:63
+msgctxt "preference dialog"
msgid "Show unavailable content"
msgstr "Паказваць недаступны кантэнт"
-#. Translators: tooltip of preference
-#: data/ui/preferences_window.ui:98
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:64
+msgctxt "preference dialog"
msgid ""
"Show tracks that are not available in the service. You can't listen to them"
-msgstr "Паказваць трэкі, недаступныя ў сэрвісе. Вы не можаце іх праслухаць"
+msgstr "Паказваць трэкі, якія недаступны ў сэрвісе. Вы не можаце іх праслухаць"
-#. Translators: title of preference
-#: data/ui/preferences_window.ui:104
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:69
+msgctxt "preference dialog"
msgid "Show content suitable for children"
msgstr "Паказваць дзіцячы кантэнт"
-#. Translators: title of preference
-#: data/ui/preferences_window.ui:110
-msgctxt "preference window"
-msgid "Show explicit content"
-msgstr "Паказваць кантэнт не прызначаны для непаўналетніх"
+#: data/ui/preferences-dialog.ui:70
+msgctxt "preference dialog"
+msgid "Show content that is specific to children"
+msgstr "Паказваць кантэнт, які прызначаны для дзяцей"
-#: data/ui/preferences_window.ui:117
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:75
+msgctxt "preference dialog"
+msgid "Show explicit content"
+msgstr "Паказваць кантэнт для дарослых"
+
+#: data/ui/preferences-dialog.ui:76
+msgctxt "preference dialog"
+msgid "Show content that has age restrictions"
+msgstr "Паказваць кантэнт з узроставым абмежаваннем"
+
+#: data/ui/preferences-dialog.ui:83
+msgctxt "preference dialog"
msgid "Other"
msgstr "Іншае"
-#: data/ui/preferences_window.ui:120
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:86
+msgctxt "preference dialog"
msgid "Enable Debug-Mode"
msgstr "Уключыць рэжым адладкі"
-#: data/ui/preferences_window.ui:127
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:87
+msgctxt "preference dialog"
+msgid "Enable logging of additional information useful for error detection"
+msgstr "Уключыць запіс дадатковых звестак, карысных для пошуку памылак"
+
+#: data/ui/preferences-dialog.ui:94
+msgctxt "preference dialog"
msgid "Experimental"
-msgstr "Эксперементальныя функцыі"
+msgstr "Эксперыментальныя функцыі"
-#: data/ui/preferences_window.ui:130
-msgctxt "preference window"
-msgid "Force enable mobile mode"
-msgstr "Прымусова ўключыць мабільны рэжым"
+#: data/ui/preferences-dialog.ui:95
+msgctxt "preference dialog"
+msgid "Parameters that test anything and may be removed in future releases"
+msgstr ""
+"Параметры для выпрабавання нейкіх магчымасцей, могуць быць выдалены у "
+"наступных выпусках"
-#: data/ui/preferences_window.ui:139
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:98
+msgctxt "preference dialog"
+msgid "Use only bottom sheet menus"
+msgstr "Выкарыстоўваць толькі ніжняе меню ўкладак"
+
+#: data/ui/preferences-dialog.ui:99
+msgctxt "preference dialog"
+msgid "Test preference for bottom sheet menu"
+msgstr "Эксперыментальны парамер для ніжняга меню ўкладак"
+
+#: data/ui/preferences-dialog.ui:108
+msgctxt "preference dialog"
msgid "Pages"
msgstr "Старонкі"
-#. Translators: title of preference group
-#: data/ui/preferences_window.ui:144
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:112
+msgctxt "preference dialog"
msgid "Static pages"
msgstr "Статычныя старонкі"
-#. Translators: description of preference group
-#: data/ui/preferences_window.ui:146
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:113
+msgctxt "preference dialog"
msgid ""
"Here you can show or hide static pages. They will always be displayed on the "
"left side of the header."
msgstr ""
-"Тут вы можаце паказваць або хаваць статычныя старонкі. Яны заўсёды будуць "
-"адлюстроўвацца з левага боку загалоўка."
+"Тут вы можаце паказаць або схаваць статычныя старонкі. Яны заўсёды будуць "
+"паказвацца ў левай частцы загалоўка."
-#. Translators: title of preference. Main page is page of Ya.Music with trending, recommendation etc
-#: data/ui/preferences_window.ui:150
-msgctxt "preference window"
-msgid "Show \"Main\" page"
-msgstr "Паказваць старонку \"Галоўнае\""
+#: data/ui/preferences-dialog.ui:116
+msgctxt "preference dialog"
+msgid "Show 'Main' page"
+msgstr "Паказваць старонку «Галоўная»"
-#. Translators: title of preference. Main page is page of Ya.Music with liked tracks
-#: data/ui/preferences_window.ui:156
-msgctxt "preference window"
-msgid "Show \"Liked\" page"
-msgstr "Паказваць старонку \"Мне падабаецца\""
+#: data/ui/preferences-dialog.ui:121
+msgctxt "preference dialog"
+msgid "Show 'Liked' page"
+msgstr "Паказваць старонку «Мне падабаецца»"
-#. Translators: title of preference. Main page is page of Ya.Music with users playlists
-#: data/ui/preferences_window.ui:162
-msgctxt "preference window"
-msgid "Show \"Playlists\" page"
-msgstr "Паказваць старонку \"Плэйлісты\""
+#: data/ui/preferences-dialog.ui:126
+msgctxt "preference dialog"
+msgid "Show 'Playlists' page"
+msgstr "Паказваць старонку «Плэйлісты»"
-#. Translators: Cache preference
-#: data/ui/preferences_window.ui:175
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:138
+msgctxt "preference dialog"
msgid "Cache"
msgstr "Кэш"
-#. Translators: title of preference group
-#: data/ui/preferences_window.ui:180
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:142
+msgctxt "preference dialog"
msgid "Cache managing"
msgstr "Кіраванне кэшам"
-#. Translators: description of preference group
-#: data/ui/preferences_window.ui:182
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:143
+msgctxt "preference dialog"
msgid ""
-"Here you can see application memory usage, delete all cache from temp folder "
-"and control downloading cache to disk"
+"Here you can see application memory usage, delete all cache from cache "
+"folder and control downloading cache to disk"
msgstr ""
-"Тут вы можаце пабачыць выкарыстанне памяці праграмай, выдаліць увесь кэш з "
-"часовай папкі і кіраваць загрузкай кэша на дыск"
+"Тут вы можаце паглядзець выкарыстанне памяці праграмай, ачысціць папку з "
+"кэшам і кіраваць спампоўваннем у кэш на дыску"
-#. Translators: title of preference
-#: data/ui/preferences_window.ui:186
-msgctxt "preference window"
-msgid ""
-"Cache content for better performance (Over time, it starts to take up a lot "
-"of space. So far, manual cleaning is required)"
-msgstr ""
-"Кэшаваць кантэнт для павелічэння хуткасці загрузкі (З часам ён пачынае "
-"займаць шмат месца. Пакуль што патрабуецца ручная ачыстка)"
+#: data/ui/preferences-dialog.ui:146
+msgctxt "preference dialog"
+msgid "Cache content"
+msgstr "Змесціва кэша"
-#. Translators: tooltip of preference
-#: data/ui/preferences_window.ui:188
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:147
+msgctxt "preference dialog"
msgid ""
-"If enabled, the application will cache all content in /var/tmp/cassette for "
-"better performance, otherwise, the application will load content only when "
-"caching objects (such as playlists or albums). Disabling the parameter does "
-"not delete already downloaded content"
+"For better performance. Over time, it starts to take up a lot of space. So "
+"far, manual cleaning is required. If enabled, the application will cache all "
+"content to cache dir for better performance, otherwise, the application will "
+"load content only when caching objects (such as playlists or albums). "
+"Disabling the parameter does not delete already downloaded content"
msgstr ""
"Калі ўключана, праграма будзе кэшаваць увесь кантэнт у /var/tmp/cassette для "
"лепшай прадукцыйнасці, інакш праграма будзе загружаць кантэнт толькі пры "
-"кэшаванні аб'ектаў (напрыклад, спісаў прайгравання або альбомаў). Адключэнне "
+"кэшаванні аб'ектаў (напрыклад, плэйлістоў або альбомаў). Адключэнне "
"параметра не выдаляе ўжо спампаваны кантэнт"
-#: data/ui/save_stack.ui:25
+#: data/ui/save-stack.ui:25
msgid "Content saving…"
msgstr "Захаванне кантэнту…"
-#: data/ui/save_stack.ui:42
-msgid "Content saved to temp folder"
-msgstr "Кантэнт захаваны ў часовую папку"
+#: data/ui/save-stack.ui:42
+msgid "Content cached"
+msgstr "Кантэнт у кэшы"
-#: data/ui/save_stack.ui:56
+#: data/ui/save-stack.ui:56
msgid "Content saved"
msgstr "Кантэнт захаваны"
-#: data/ui/track_detailed.blp:91
+#: data/ui/stations-view.blp:22
+msgid "Stations dashboard"
+msgstr "Станцыі"
+
+#: data/ui/stations-view.blp:58
+msgid "Searching for station…"
+msgstr "Пошук станцыі…"
+
+#: data/ui/stations-view.blp:77
+msgid "By genre…"
+msgstr "Жанр…"
+
+#: data/ui/stations-view.blp:99 data/ui/wave-settings.blp:60
+msgid "By mood…"
+msgstr "Настрой…"
+
+#: data/ui/stations-view.blp:121 data/ui/wave-settings.blp:25
+msgid "By activity…"
+msgstr "Занятак…"
+
+#: data/ui/stations-view.blp:143
+msgid "By epoch…"
+msgstr "Эпоха…"
+
+#: data/ui/stations-view.blp:165
+msgid "Other…"
+msgstr "Іншае…"
+
+#: data/ui/stations-view.blp:209
+msgid "No stations with that name were found"
+msgstr "Станцый з такой назвай не знойдзена"
+
+#: data/ui/track-info.blp:103
msgid "Track lyrics"
msgstr "Тэкст песні"
-#: data/ui/track_detailed.blp:105
+#: data/ui/track-info.blp:117
msgid "Authors"
msgstr "Аўтары"
-#: data/ui/track_detailed.blp:123
+#: data/ui/track-info.blp:135
msgid "Source"
msgstr "Крыніца"
-#: data/ui/track_detailed.blp:146
+#: data/ui/track-info.blp:158
msgid "Similar tracks"
msgstr "Падобныя трэкі"
-#. Translators: now PLAYING
-#: data/ui/track_list.ui:24
-msgid "PLAYING "
-msgstr "ПРАЙГРАВАЕЦЦА "
-
-#. Translators: placeholder of "search" entry. Local track search (inside of track lsit)
-#: data/ui/track_list.ui:60
+#. Translators: placeholder of "search" entry. Local track search (inside of track list)
+#: data/ui/track-list.ui:21
msgid "Search track"
msgstr "Шукаць трэк"
#. Translators: part of sort by
-#: data/ui/track_list.ui:69
+#: data/ui/track-list.ui:30
msgid "Sort by"
msgstr "Сартаваць па"
-#: data/ui/track_list.ui:116
+#: data/ui/track-list.ui:77
msgid "No tracks to display"
msgstr "Няма трэкаў для паказу"
-#: data/ui/track_list.ui:127
+#: data/ui/track-list.ui:88
msgid "name"
msgstr "назве"
-#: data/ui/track_list.ui:131
+#: data/ui/track-list.ui:92
msgid "artist"
msgstr "выканаўцы"
-#: data/ui/track_list.ui:135
+#: data/ui/track-list.ui:96
msgid "album"
msgstr "альбому"
-#: data/ui/track_list.ui:139
+#: data/ui/track-list.ui:100
msgid "duration"
msgstr "працягласці"
-#: src/application.vala:211
-msgid "Arseniy Nechkin "
-msgstr "Арсеній Нячкін "
+#: data/ui/track-placeholder.ui:9 src/widgets/pages/loading-page.vala:37
+msgid "Loading…"
+msgstr "Загрузка…"
+
+#: data/ui/wave-settings.blp:42
+msgid "By diversity…"
+msgstr "Разнастайнасць…"
+
+#: data/ui/wave-settings.blp:78
+msgid "By language…"
+msgstr "Мова…"
+
+#: data/ui/wave-settings.blp:93
+msgid "Can't get wave settings"
+msgstr "Немагчыма атрымаць налады хвалі"
+
+#: data/ui/window.blp:57 src/window.vala:252
+msgid "Reconnect"
+msgstr "Перазлучыцца"
+
+#: data/ui/window.blp:58 src/application.vala:151
+msgid "Connection problems"
+msgstr "Праблемы з злучэннем"
#. Translators: NAME /n NAME
-#: src/application.vala:228
+#: src/about.vala:59
msgid "translator-credits"
msgstr "Yahor Haurylenka 2023"
-#: src/application.vala:236
+#: src/about.vala:67
msgid "Telegram channel"
msgstr "Канал у Telegram"
-#: src/application.vala:237
-msgid "Financial support"
-msgstr "Ахвяраваць"
+#: src/about.vala:68
+msgid "Financial support (Tinkoff)"
+msgstr "Фінансавая падтрымка (Tinkoff)"
-#: src/authenticator.vala:50
+#: src/about.vala:69
+msgid "Financial support (Boosty)"
+msgstr "Фінансавая падтрымка (Boosty)"
+
+#. Please keep alphabetical
+#: src/about.vala:72
+msgid "Sponsors"
+msgstr "Спонсары"
+
+#: src/application.vala:62
+msgid "Print version information and exit"
+msgstr "Вывесці звесткі пра версію і выйсці"
+
+#: src/application.vala:145
+msgid "Connection restored"
+msgstr "Злучэнне адноўлена"
+
+#: src/application.vala:273
+msgid "Previous"
+msgstr "Папярэдні"
+
+#: src/application.vala:274
+msgid "Next"
+msgstr "Наступны"
+
+#: src/application.vala:357
+msgid "Current track can not be copied to the clipboard"
+msgstr "Бягучы трэк нельга скапіяваць у буфер абмену"
+
+#: src/application.vala:371 src/application.vala:378 src/application.vala:435
+msgid "Can't parse clipboard content"
+msgstr "Немагчыма разабраць змесціва буфера абмену"
+
+#: src/application.vala:389
+msgid "Users view not implemented yet"
+msgstr "Прагляд карыстальнікаў яшчэ не рэалізаваны"
+
+#: src/application.vala:405 src/application.vala:419
+msgid "Albums view not implemented yet"
+msgstr "Прагляд альбомаў яшчэ не рэалізаваны"
+
+#: src/authenticator.vala:46
msgid "Log out?"
msgstr "Выйсці з уліковага запісу?"
-#: src/authenticator.vala:51
+#: src/authenticator.vala:47
msgid "You will need to log in again to use the app"
msgstr "Вам трэба будзе ўвайсці зноў, каб выкарыстоўваць праграму"
#. Translators: cancel of deleting playlist
-#: src/authenticator.vala:54
-#: src/widgets/preferences/cache_deletion_preferences.vala:99
-#: src/widgets/preferences/preferences_window.vala:121
-#: src/widgets/views/playlist_view.vala:114
+#: src/authenticator.vala:50
+#: src/widgets/preferences/cache-deletion-preferences.vala:95
+#: src/widgets/preferences/preferences-dialog.vala:139
+#: src/widgets/views/playlist.vala:89
msgid "Cancel"
msgstr "Скасаваць"
-#: src/authenticator.vala:55
-msgid "Log out"
-msgstr "Выйсці з уліковага запісу"
-
-#: src/authenticator.vala:95
-#: src/widgets/preferences/cache_deletion_preferences.vala:133
+#: src/authenticator.vala:97
+#: src/widgets/preferences/cache-deletion-preferences.vala:129
msgid "Moving…"
msgstr "Перамяшчэнне…"
#. Translators: Playlist with liked tracks
-#: src/client/api/objects/playlist/playlist.vala:52
-#: src/client/api/objects/playlist/playlist.vala:102 src/pager.vala:269
-#: src/widgets/sidebar.vala:138
+#: src/client/api/objects/playlist/playlist.vala:49
+#: src/client/api/objects/playlist/playlist.vala:99 src/pager.vala:276
msgid "Liked"
msgstr "Мне падабаецца"
#. Translators: Playlist that updates every day
-#: src/client/api/objects/playlist/playlist.vala:56
+#: src/client/api/objects/playlist/playlist.vala:53
msgid "Daily"
msgstr "Плэйліст дня"
#. Translators: Unknown playlist
-#: src/client/api/objects/playlist/playlist.vala:60
+#: src/client/api/objects/playlist/playlist.vala:57
msgid "Unknown"
msgstr "Невядомы"
-#: src/client/cachier/storager.vala:129
+#: src/client/cachier/storager.vala:124
#, c-format
msgid "Database was initialized, loc - %s"
msgstr "База даных ініцыялізавана, размяшчэнне - %s"
-#: src/client/cachier/storager.vala:802
+#: src/client/cachier/storager.vala:801
#, c-format
msgid "Can't save object %s"
-msgstr "Не ўдалося захаваць аб'ект %s"
+msgstr "Немагчыма захаваць аб'ект %s"
-#: src/client/cachier/storager.vala:819
+#: src/client/cachier/storager.vala:818
msgid "Byte"
msgid_plural "Bytes"
msgstr[0] "Байт"
msgstr[1] "Байты"
msgstr[2] "Байтаў"
-#: src/client/cachier/storager.vala:822
+#: src/client/cachier/storager.vala:821
msgid "Kilobyte"
msgid_plural "Kilobytes"
-msgstr[0] "Кілобайт"
-msgstr[1] "Кілабайта"
+msgstr[0] "Кілабайт"
+msgstr[1] "Кілабайты"
msgstr[2] "Кілабайтаў"
-#: src/client/cachier/storager.vala:825
+#: src/client/cachier/storager.vala:824
msgid "Megabyte"
msgid_plural "Megabytes"
msgstr[0] "Мегабайт"
-msgstr[1] "Мегабайта"
+msgstr[1] "Мегабайты"
msgstr[2] "Мегабайтаў"
-#: src/client/cachier/storager.vala:828
+#: src/client/cachier/storager.vala:827
msgid "Gigabyte"
msgid_plural "Gigabytes"
msgstr[0] "Гігабайт"
-msgstr[1] "Гігабайта"
+msgstr[1] "Гігабайты"
msgstr[2] "Гігабайтаў"
-#: src/client/cachier/storager.vala:831
+#: src/client/cachier/storager.vala:830
msgid "Terabyte"
msgid_plural "Terabytes"
msgstr[0] "Терабайт"
-msgstr[1] "Терабайта"
+msgstr[1] "Терабайты"
msgstr[2] "Терабайтаў"
-#: src/client/cachier/storager.vala:860
+#: src/client/cachier/storager.vala:859
#, c-format
-msgid "Error while getting temporary dir size. Message %s"
-msgstr "Памылка пры атрыманні часовага памеру каталога. Паведамленне %s"
+msgid "Error while getting cache directory size. Message %s"
+msgstr "Памылка пры атрыманні памеру каталога кэша. Паведамленне %s"
-#: src/client/cachier/storager.vala:895
+#: src/client/cachier/storager.vala:894
#, c-format
-msgid "Error while getting permanent dir size. Message %s"
+msgid "Error while getting permanent directory size. Message %s"
msgstr "Памылка пры атрыманні пастаяннага памеру каталога. Паведамленне %s"
-#: src/client/jsoner.vala:199 src/client/jsoner.vala:294
-#: src/client/jsoner.vala:307
+#: src/client/jsoner.vala:358 src/client/jsoner.vala:419
+#: src/client/jsoner.vala:526 src/client/jsoner.vala:550
#, c-format
msgid "Wrong type: expected %s, got %s"
-msgstr "Няправільны тып: чакаецца %s, атрымана %s"
+msgstr "Няправільны тып: чакаўся %s, атрыманы %s"
-#: src/client/player/player_track_list.vala:257
+#: src/client/player/mods/abstract-mode.vala:91
msgid "Problems with queue"
msgstr "Праблемы з чаргой"
#. Translators: name of new created playlist
-#: src/client/talkers/yam_talker.vala:462
+#: src/client/talkers/yam-talker.vala:627
msgid "New Playlist"
msgstr "Новы плэйліст"
-#: src/main.vala:26
-msgid "Cassette"
-msgstr "Cassette"
-
-#: src/main_window.vala:180
-#, c-format
-msgid "Error while opening uri: %s"
-msgstr "Памылка пры адкрыцці URI: %s"
-
-#: src/main_window.vala:217
-msgid "Connection restored"
-msgstr "Злучэнне адноўлена"
-
-#: src/main_window.vala:301
-#, c-format
-msgid "Window info message: %s"
-msgstr "Інфармацыйнае паведамленне аб акне: %s"
-
-#: src/main_window.vala:316
-msgid "Reconnect"
-msgstr "Перазлучыцца"
-
-#: src/main_window.vala:345 src/main_window.vala:396
-msgid "Can't parse clipboard content"
-msgstr "Немагчыма разабраць змесціва буфера абмену"
-
-#: src/main_window.vala:361
-msgid "Users view not implemented yet"
-msgstr "Прагляд карыстальнікаў яшчэ не рэалізаваны"
-
-#: src/main_window.vala:377 src/main_window.vala:391
-msgid "Albums view not implemented yet"
-msgstr "Прагляд альбомаў яшчэ не рэалізаваны"
-
-#: src/pager.vala:164
+#: src/pager.vala:162
#, c-format
msgid "Can't set title \"%s\" to page"
-msgstr "Не ўдалося задаць назву \"%s\" для старонкі"
+msgstr "Немагчыма задаць для старонкі назву «%s»"
-#: src/pager.vala:175
+#: src/pager.vala:173
#, c-format
msgid "Can't set icon with name \"%s\" to page"
-msgstr "Не ўдалося задаць на старонку значок з назвай \"%s\""
+msgstr "Немагчыма задаць на старонку значок з назвай «%s»"
-#: src/pager.vala:201
+#: src/pager.vala:199
msgid "Reached max page count"
msgstr "Дасягнута максімальная колькасць старонак"
-#: src/pager.vala:207
+#: src/pager.vala:205
#, c-format
msgid "Page '%s' already added"
msgstr "Старонка '%s' ужо дададзена"
-#: src/pager.vala:260
+#: src/pager.vala:267
msgid "Main"
-msgstr "Галоўнае"
+msgstr "Галоўная"
-#: src/pager.vala:279
+#: src/pager.vala:286
msgid "Playlists"
msgstr "Плэйлісты"
-#: src/pager.vala:304
+#: src/pager.vala:311
#, c-format
-msgid "Can't read pages file. Messsage: %s"
-msgstr "Не ўдалося прачытаць файл старонкі. Паведамленне: %s"
+msgid "Can't read pages file. Message: %s"
+msgstr "Немагчыма прачытаць файл старонак. Паведамленне: %s"
-#: src/pager.vala:324
+#: src/pager.vala:331
#, c-format
-msgid "Can't create pages file. Messsage: %s"
-msgstr "Не ўдалося стварыць файл старонкі. Паведамленне: %s"
+msgid "Can't create pages file. Message: %s"
+msgstr "Немагчыма стварыць файл старонак. Паведамленне: %s"
-#: src/utils.vala:42
+#: src/utils.vala:69
msgid "Not implemented yet"
msgstr "Яшчэ не рэалізавана"
-#: src/utils.vala:45
+#: src/utils.vala:76
msgid "Need authorization"
msgstr "Патрэбна аўтарызацыя"
-#: src/utils.vala:48
-msgid "Need Plus subscription"
-msgstr "Патрэбна падпіска Яндэкс Плюс"
+#: src/utils.vala:80
+msgid "Need Bookmate subscription"
+msgstr "Патрэбна падпіска Букмейт"
-#: src/utils.vala:84 src/utils.vala:93
+#: src/utils.vala:176 src/utils.vala:192
msgid "Link copied to clipboard"
-msgstr "Спасылка скапіравана ў буфер абмену"
+msgstr "Спасылка скапіявана ў буфер абмену"
-#: src/utils.vala:131
+#: src/utils.vala:241
#, c-format
msgid "Duration: %s h. %s min."
msgstr "Працягласць: %s гадз. %s хв."
-#: src/utils.vala:133
+#: src/utils.vala:243
#, c-format
msgid "Duration: %s min."
msgstr "Працягласць: %s хв."
-#: src/utils.vala:194
+#: src/utils.vala:357
msgid "today"
msgstr "сёння"
-#: src/utils.vala:196
+#: src/utils.vala:359
msgid "yesterday"
msgstr "учора"
-#: src/widgets/cache_indicator/job_info_badge.vala:45
-#: src/widgets/save_stack.vala:57 src/widgets/views/cachiable_view.vala:165
-msgid "Playlist"
-msgstr "Плэйліст"
+#: src/widgets/buttons/just/dislike-button.vala:37
+msgid "Remove dislike"
+msgstr "Выдаліць дызлайк"
-#: src/widgets/cache_indicator/job_info_badge.vala:47
-#: src/widgets/save_stack.vala:53 src/widgets/views/cachiable_view.vala:173
+#: src/widgets/buttons/just/dislike-button.vala:40
+msgid "Set dislike"
+msgstr "Паставіць дызлайк"
+
+#: src/widgets/buttons/just/like-button.vala:41
+msgid "Remove like"
+msgstr "Выдаліць лайк"
+
+#: src/widgets/buttons/just/like-button.vala:48
+msgid "Set like"
+msgstr "Паставіць лайк"
+
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:37
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:40
+msgid "Pause"
+msgstr "Паўза"
+
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:44
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:47
+msgid "Play"
+msgstr "Прайграць"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:48
+#, c-format
+msgid "Playlist '%s'"
+msgstr "Плэйліст «%s»"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:53
+#: src/widgets/buttons/menu/playlist-options-button.vala:66
+msgid "My Vibe by playlist"
+msgstr "Мая хваля з плэйліста"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:54
+#: src/widgets/buttons/menu/playlist-options-button.vala:76
+#: src/widgets/buttons/menu/track-options-button.vala:80
+#: src/widgets/buttons/menu/track-options-button.vala:105
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:35
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:46
+#: src/widgets/buttons/menu/track-queue-options-button.vala:69
+#: src/widgets/buttons/menu/track-queue-options-button.vala:99
+msgid "Add to queue"
+msgstr "Дадаць у чаргу"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:55
+#: src/widgets/buttons/menu/playlist-options-button.vala:77
+#: src/widgets/buttons/menu/track-options-button.vala:83
+#: src/widgets/buttons/menu/track-options-button.vala:108
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:39
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:50
+#: src/widgets/buttons/menu/track-queue-options-button.vala:73
+#: src/widgets/buttons/menu/track-queue-options-button.vala:103
+msgid "Share"
+msgstr "Абагуліць"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:26
+msgid "Primary menu"
+msgstr "Асноўнае меню"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:32
+msgid "Parse URL from clipboard"
+msgstr "Узяць URL з буфера абмену"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:33
+msgid "Preferences"
+msgstr "Параметры"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:34
+msgid "Keyboard Shortcuts"
+msgstr "Спалучэнні клавіш"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:35
+msgid "About Cassette"
+msgstr "Аб праграме"
+
+#: src/widgets/buttons/menu/track-options-button.vala:77
+#: src/widgets/buttons/menu/track-options-button.vala:94
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:32
+#: src/widgets/buttons/menu/track-queue-options-button.vala:66
+#: src/widgets/buttons/menu/track-queue-options-button.vala:87
+msgid "My Vibe by track"
+msgstr "Мая хваля з трэка"
+
+#: src/widgets/buttons/menu/track-options-button.vala:78
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:33
+#: src/widgets/buttons/menu/track-queue-options-button.vala:67
+msgid "Show info"
+msgstr "Паказаць звесткі"
+
+#: src/widgets/buttons/menu/track-options-button.vala:79
+#: src/widgets/buttons/menu/track-options-button.vala:104
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:34
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:45
+#: src/widgets/buttons/menu/track-queue-options-button.vala:68
+#: src/widgets/buttons/menu/track-queue-options-button.vala:98
+msgid "Play next"
+msgstr "Прайграць наступным"
+
+#: src/widgets/buttons/menu/track-options-button.vala:81
+#: src/widgets/buttons/menu/track-options-button.vala:106
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:36
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:47
+#: src/widgets/buttons/menu/track-queue-options-button.vala:70
+#: src/widgets/buttons/menu/track-queue-options-button.vala:100
+msgid "Add to playlist"
+msgstr "Дадаць у плэйліст"
+
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:37
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:48
+msgid "Remove from playlist"
+msgstr "Выдаліць з плэйліста"
+
+#: src/widgets/buttons/menu/track-queue-options-button.vala:71
+#: src/widgets/buttons/menu/track-queue-options-button.vala:101
+msgid "Remove from queue"
+msgstr "Выдаліць з чаргі"
+
+#: src/widgets/buttons/menu/volume-button.vala:121
+msgid "Volume control"
+msgstr "Кіраванне гучнасцю"
+
+#: src/widgets/buttons/menu/volume-button.vala:261
+msgid "Unmute"
+msgstr "Уключыць гук"
+
+#: src/widgets/buttons/menu/volume-button.vala:261
+msgid "Mute"
+msgstr "Адключыць гук"
+
+#: src/widgets/cache-indicator/job-info-badge.vala:44
+#: src/widgets/save-stack.vala:52 src/widgets/views/abstract-cachiable.vala:172
msgid "Album"
msgstr "Альбом"
#. Translators: n track from n tracks saved
-#: src/widgets/cache_indicator/job_info_badge.vala:79
+#: src/widgets/cache-indicator/job-info-badge.vala:77
#, c-format
msgid "%d / %d saved%s"
-msgstr "%d / %d захавана%s"
+msgid_plural "%d / %d saved%s"
+msgstr[0] "%d / %d захавана%s"
+msgstr[1] "%d / %d захавана%s"
+msgstr[2] "%d / %d захавана%s"
-#: src/widgets/cache_indicator/job_info_badge.vala:83
+#: src/widgets/cache-indicator/job-info-badge.vala:84
#, c-format
-msgid ". %d track saving now"
-msgid_plural ". %d tracks saving now"
-msgstr[0] ". %d трэк захоўваецца зараз"
-msgstr[1] ". %d трэка захоўваюцца зараз"
-msgstr[2] ". %d трэкаў захоўваюцца зараз"
+msgid "%d track saving now"
+msgid_plural "%d tracks saving now"
+msgstr[0] "зараз захоўваецца %d трэк"
+msgstr[1] "зараз захоўваецца %d трэкі"
+msgstr[2] "зараз захоўваецца %d трэкаў"
-#: src/widgets/dislike_button.vala:40
-msgid "Remove dislike"
-msgstr "Выдаліць дызлайк"
-
-#: src/widgets/dislike_button.vala:45
-msgid "Set dislike"
-msgstr "Паставіць лайк"
-
-#: src/widgets/info_marks.vala:44
+#: src/widgets/info-marks.vala:41
#, c-format
msgid "Track was replaced. Original version: %s, %s"
-msgstr "Трэк быў заменены. Арыгінальная версія: %s, %s"
+msgstr "Трэк быў заменены. Зыходная версія: %s, %s"
-#: src/widgets/like_button.vala:44
-msgid "Remove like"
-msgstr "Выдаліць лайк"
-
-#: src/widgets/like_button.vala:51
-msgid "Set like"
-msgstr "Паставіць лайк"
-
-#: src/widgets/options_button/options_button.vala:56
-msgid "Options menu"
-msgstr "Меню параметраў"
-
-#: src/widgets/options_button/playlist_options_button.vala:29
-msgid "My wave on playlist"
-msgstr "Мая хваля па плэйлісту"
-
-#: src/widgets/options_button/playlist_options_button.vala:30
-#: src/widgets/options_button/track_options_button.vala:30
-msgid "Add to queue"
-msgstr "Дадаць у чаргу"
-
-#: src/widgets/options_button/playlist_options_button.vala:31
-#: src/widgets/options_button/track_options_button.vala:35
-msgid "Share"
-msgstr "Абагуліць"
-
-#: src/widgets/options_button/playlist_options_button.vala:35
-msgid "Delete playlist"
-msgstr "Выдаліць плэйліст"
-
-#: src/widgets/options_button/track_options_button.vala:29
-msgid "Play next"
-msgstr "Прайграць наступным"
-
-#: src/widgets/options_button/track_options_button.vala:32
-msgid "My wave on track"
-msgstr "Мая хваля па трэку"
-
-#: src/widgets/options_button/track_options_button.vala:33
-msgid "Add to playlist"
-msgstr "Дадаць у плэйліст"
-
-#: src/widgets/options_button/track_options_button.vala:39
-msgid "Remove from playlist"
-msgstr "Выдаліць з плэйліста"
-
-#: src/widgets/options_button/track_options_button.vala:43
-msgid "Remove from queue"
-msgstr "Выдаліць з чаргі"
-
-#: src/widgets/options_button/track_options_button.vala:47
-msgid "Save"
-msgstr "Захаваць"
-
-#: src/widgets/pages/loading_page.vala:40
-msgid "Loading…"
-msgstr "Загрузка…"
-
-#: src/widgets/play_button/play_button.vala:27
-msgid "Play/Pause"
-msgstr "Іграць/Паўза"
-
-#: src/widgets/playlist_micro.vala:68
-#, c-format
-msgid "%s like"
-msgid_plural "%s likes"
-msgstr[0] "%s лайк"
-msgstr[1] "%s лайка"
-msgstr[2] "%s лайкаў"
-
-#: src/widgets/playlist_micro.vala:159 src/widgets/views/playlist_view.vala:260
+#: src/widgets/playlist-micro.vala:157 src/widgets/views/playlist.vala:241
#, c-format
msgid "Owner: %s"
msgstr "Уладальнік: %s"
-#: src/widgets/playlist_row.vala:90
+#: src/widgets/playlist-row.vala:85
#, c-format
msgid "Track count: %s"
msgstr "Колькасць трэкаў: %s"
-#: src/widgets/preferences/cache_deletion_preferences.vala:92
+#: src/widgets/preferences/cache-deletion-preferences.vala:88
+#: src/widgets/preferences/preferences-dialog.vala:134
msgid "Delete cache files?"
msgstr "Выдаліць кэш?"
-#: src/widgets/preferences/cache_deletion_preferences.vala:93
-msgid "Moved saved files?"
-msgstr "Перамясціць захаваны кантэнт?"
+#: src/widgets/preferences/cache-deletion-preferences.vala:89
+msgid "Move saved files?"
+msgstr "Перамясціць захаваныя файлы?"
-#: src/widgets/preferences/cache_deletion_preferences.vala:94
+#: src/widgets/preferences/cache-deletion-preferences.vala:90
+#: src/widgets/preferences/preferences-dialog.vala:135
msgid ""
-"All temporary cached files will be deleted. This doesn't affect on saved "
-"playlists or albums"
+"All cache will be deleted. This doesn't affect on saved playlists or albums"
msgstr ""
-"Увесь часовы кэш будзе выдалены. Гэта не ўплывае на захаваныя плэйлісты або "
-"альбомы"
+"Увесь кэш будзе выдалены. Гэта не ўплывае на захаваныя плэйлісты і альбомы"
-#: src/widgets/preferences/cache_deletion_preferences.vala:95
+#: src/widgets/preferences/cache-deletion-preferences.vala:91
msgid ""
"All saved playlists and albums will be moved to cache files. This could take "
"a while."
msgstr ""
-"Усе захаваныя плэйлісты і альбомы будуць перамешчаныя ў файлы кэша. Гэта "
-"можа заняць некаторы час."
+"Усе захаваныя плэйлісты і альбомы будуць перамешчаны ў файлы кэша. Гэта можа "
+"заняць некаторы час."
-#: src/widgets/preferences/cache_deletion_preferences.vala:100
-#: src/widgets/preferences/preferences_window.vala:122
-#: src/widgets/views/playlist_view.vala:115
-msgid "Delete"
-msgstr "Выдаліць"
-
-#: src/widgets/preferences/cache_deletion_preferences.vala:133
+#: src/widgets/preferences/cache-deletion-preferences.vala:129
msgid "Deleting…"
msgstr "Выдаляецца…"
-#: src/widgets/preferences/preferences_window.vala:116
-msgid "Delete temporary files?"
-msgstr "Выдаліць часовыя файлы?"
-
-#: src/widgets/preferences/preferences_window.vala:117
-msgid ""
-"All temporary cache will be deleted. This doesn't affect on saved playlists "
-"or albums"
-msgstr ""
-"Увесь часовы кэш будзе выдалены. Гэта не ўплывае на захаваныя плэйлісты або "
-"альбомы"
-
-#: src/widgets/save_stack.vala:55
+#: src/widgets/save-stack.vala:54
msgid "Image"
msgstr "Відарыс"
-#: src/widgets/save_stack.vala:59
+#: src/widgets/save-stack.vala:58
msgid "Track"
msgstr "Трэк"
-#: src/widgets/save_stack.vala:76
+#: src/widgets/save-stack.vala:75
#, c-format
msgid "%s saving…"
msgstr "%s захоўваецца…"
-#: src/widgets/save_stack.vala:77
+#: src/widgets/save-stack.vala:76
#, c-format
-msgid "%s saved to temp folder"
-msgstr "%s захаваны ў часовую папку"
+msgid "%s cached"
+msgstr "%s у кэшы"
-#: src/widgets/save_stack.vala:78
+#: src/widgets/save-stack.vala:77
#, c-format
msgid "%s saved"
msgstr "%s захаваны"
-#: src/widgets/sidebar.vala:133
-msgid "PLAYLIST"
-msgstr "ПЛЭЙЛІСТ"
+#: src/widgets/sidebar/childs/player-queue.vala:66
+#, c-format
+msgid "Playlist \"%s\""
+msgstr "Плэйліст «%s»"
-#: src/widgets/sidebar.vala:141
-msgid "ALBUM"
-msgstr "АЛЬБОМ"
+#: src/widgets/sidebar/childs/player-queue.vala:70
+#, c-format
+msgid "Album \"%s\""
+msgstr "Альбом «%s»"
-#: src/widgets/sidebar.vala:145
-msgid "SEARCH RESULTS"
-msgstr "РЭЗУЛЬТАТЫ ПОШУКУ"
+#: src/widgets/sidebar/childs/player-queue.vala:74
+#, c-format
+msgid "By search results \"%s\""
+msgstr "З вынікаў пошуку «%s»"
-#: src/widgets/sidebar.vala:150
+#: src/widgets/sidebar/childs/player-queue.vala:78
msgid "Track list"
msgstr "Спіс трэкаў"
-#: src/widgets/track_detailed.vala:100
+#: src/widgets/sidebar/childs/track-info.vala:68
msgid "Your music track"
msgstr "Ваш трэк"
-#: src/widgets/track_detailed.vala:116
+#: src/widgets/sidebar/childs/track-info.vala:84
msgid "Music track"
msgstr "Трэк"
-#: src/widgets/track_row_contents/track_default_content.vala:93
-#: src/widgets/track_rows/track_default_content.vala:193
+#: src/widgets/sidebar/childs/wave-settings.vala:39
+msgid "Wave settings"
+msgstr "Налады хвалі"
+
+#: src/widgets/track-rows/base.vala:79 src/widgets/track-rows/default.vala:100
msgid "Track is not available"
msgstr "Трэк недаступны"
#. Translators: first %s - content type (Playlist), second - name
-#: src/widgets/views/cachiable_view.vala:75
+#: src/widgets/views/abstract-cachiable.vala:78
#, c-format
-msgid "%s%s successfully cached"
-msgstr "%s%s паспяхова захаваны"
+msgid "%s '%s' saved successfully"
+msgstr "%s '%s' паспяхова захаваны"
#. Translators: first %s - content type (Playlist), second - name
-#: src/widgets/views/cachiable_view.vala:86
+#: src/widgets/views/abstract-cachiable.vala:89
#, c-format
-msgid "Caching of %s%s was canceled, due to network error"
-msgstr "Захаванне %s%s скасавана з-за памылкі сеткі"
+msgid "%s '%s' saving was stopped, due to network error"
+msgstr "Захаванне %s '%s' было спынена з-за сеткавай памылкі"
#. Translators: first %s - content type (Playlist), second - name
-#: src/widgets/views/cachiable_view.vala:97
+#: src/widgets/views/abstract-cachiable.vala:99
#, c-format
-msgid "Caching of %s%s was aborted"
-msgstr "Захаванне %s%s было перарвана"
+msgid "%s '%s' saving was aborted"
+msgstr "Захаванне %s '%s' было перарвана"
+
+#. Translators: %s - content type (e.g. "Playlist")
+#: src/widgets/views/abstract-cachiable.vala:191
+#, c-format
+msgid "%s saving has started"
+msgstr "Захаванне %s пачалося"
#. Translators: first %s - content type (Playlist), second - name
-#: src/widgets/views/cachiable_view.vala:195
+#: src/widgets/views/abstract-cachiable.vala:229
#, c-format
-msgid "Cacheing of %s%s started"
-msgstr "Пачата захаванне %s%s"
+msgid "%s '%s' was moved from data to cache"
+msgstr "%s '%s' быў перамешчаны з даных у кэш"
#. Translators: first %s - content type (Playlist), second - name
-#: src/widgets/views/cachiable_view.vala:231
+#: src/widgets/views/abstract-cachiable.vala:239
#, c-format
-msgid "%s%s was removed from cache folder"
-msgstr "%s%s быў выдалены з папкі кэша"
+msgid "%s removing has started. Please do not close the app"
+msgstr "Пачалося выдаленне %s, не закрывайце праграму"
-#. Translators: first %s - content type (Playlist), second - name
-#: src/widgets/views/cachiable_view.vala:241
-#, c-format
-msgid "%s%s is removing, please do not close the app"
-msgstr "%s%s выдаляецца, калі ласка, не закрывайце праграму"
-
-#: src/widgets/views/cant_show_view.vala:40
+#: src/widgets/views/cant-show.vala:37
#, c-format
msgid "Error %d"
msgstr "Памылка %d"
-#: src/widgets/views/cant_show_view.vala:44
+#: src/widgets/views/cant-show.vala:41
msgid "Can't load page"
-msgstr "Не ўдалося загрузіць старонку"
+msgstr "Немагчыма загрузіць старонку"
-#: src/widgets/views/cant_show_view.vala:47
+#: src/widgets/views/cant-show.vala:44
msgid "Can't find desired content"
-msgstr "Не ўдалося знайсці патрэбнае кантэнт"
+msgstr "Немагчыма знайсці пажаданы кантэнт"
-#: src/widgets/views/playlist_view.vala:109
+#: src/widgets/views/playlist.vala:84
msgid "Delete playlist?"
msgstr "Выдаліць плэйліст?"
-#: src/widgets/views/playlist_view.vala:110
+#: src/widgets/views/playlist.vala:85
#, c-format
msgid "Playlist '%s' will be permanently deleted."
-msgstr "Плэйліст \"%s\" будзе выдалены назаўсёды."
+msgstr "Плэйліст «%s» будзе выдалены назаўсёды."
-#: src/widgets/views/playlist_view.vala:126
+#: src/widgets/views/playlist.vala:104
#, c-format
msgid "Playlist '%s' was deleted"
-msgstr "Плэйліст \"%s\" быў выдалены"
+msgstr "Плэйліст «%s» выдалены"
-#. Translators: 0 - female, 1 - male (different gender endings)
-#: src/widgets/views/playlist_view.vala:264
+#. Translators: %s is female person
+#: src/widgets/views/playlist.vala:247
#, c-format
+msgctxt "female person"
msgid "%s updated playlist %s"
-msgid_plural "%s updated playlist %s"
-msgstr[0] "%s абнавіў плэйліст %s"
-msgstr[1] "%s абнавіў плэйліст %s"
-msgstr[2] "%s абнавіла плэйліст %s"
+msgstr "%s абнавіла плэйліст %s"
-#: src/widgets/views/playlist_view.vala:291
+#. Translators: %s is male person
+#: src/widgets/views/playlist.vala:251
+#, c-format
+msgctxt "male person"
+msgid "%s updated playlist %s"
+msgstr "%s абнавіў плэйліст %s"
+
+#: src/widgets/views/playlist.vala:281
#, c-format
msgid "Can't change visibility of '%s'"
-msgstr "Не ўдалося змяніць бачнасць плэйліста \"%s\""
+msgstr "Немагчыма змяніць бачнасць плэйліста «%s»"
-#: src/widgets/views/playlist_view.vala:297
+#: src/widgets/views/playlist.vala:287
#, c-format
msgid "Playlist '%s' is public now"
-msgstr "Плэйліст \"%s\" цяпер агульнадаступны"
+msgstr "Плэйліст «%s» цяпер агульнадаступны"
-#: src/widgets/views/playlist_view.vala:300
+#: src/widgets/views/playlist.vala:290
#, c-format
msgid "Playlist '%s' is private now"
-msgstr "Плэйліст \"%s\" цяпер прыватны"
-
-#~ msgid "Delete temporary"
-#~ msgstr "Выдаліць часовыя файлы"
-
-#~ msgid "Previous"
-#~ msgstr "Папярэдні"
-
-#~ msgid "Next"
-#~ msgstr "Наступны"
-
-#~ msgid "Temporary playlist"
-#~ msgstr "Часовы плэйліст"
-
-#~ msgid "Shuffle"
-#~ msgstr "Перамяшаць"
-
-#~ msgid "Repeat"
-#~ msgstr "Паўтор"
-
-#~ msgid "Close"
-#~ msgstr "Закрыць"
-
-#~ msgid "USER "
-#~ msgstr "КАРЫСТАЛЬНІЦКІ "
-
-#~ msgid "TRACK"
-#~ msgstr "ТРЭК"
-
-#~ msgid "ALBUM "
-#~ msgstr "АЛЬБОМ "
-
-#~ msgid "ARTISTS "
-#~ msgstr "ВЫКАНАЎЦЫ "
-
-#~ msgid "TRACK LYRICS"
-#~ msgstr "ТЭКСТ ПЕСНІ"
-
-#~ msgid "SIMILAR TRACKS"
-#~ msgstr "Падобныя трэкі"
-
-#~ msgid "Backward"
-#~ msgstr "Назад"
-
-#~ msgid "Refresh"
-#~ msgstr "Абнавіць"
-
-#~ msgid "Main menu"
-#~ msgstr "Галоўнае меню"
-
-#~ msgid "Account menu"
-#~ msgstr "Меню ўліковага запісу"
-
-#~ msgid "Global search"
-#~ msgstr "Глабальны пошук"
-
-#~ msgid "Compact mode"
-#~ msgstr "Кампактны рэжым"
-
-#~ msgid "Big picture mode"
-#~ msgstr "Рэжым Big picture"
-
-#~ msgctxt "preference window"
-#~ msgid "Main preferences"
-#~ msgstr "Асноўныя параметры"
-
-#~ msgctxt "preference window"
-#~ msgid "Pages preferences"
-#~ msgstr "Параметры старонак"
-
-#~ msgctxt "preference window"
-#~ msgid "Cache preferences"
-#~ msgstr "Параметры кэшу"
-
-#~ msgctxt "preference window"
-#~ msgid "Cache content to ~/.cache"
-#~ msgstr "Кэшаваць змесціва ў ~/.cache"
+msgstr "Плэйліст «%s» цяпер прыватны"
+#: src/window.vala:235
#, c-format
-#~ msgid "Log created, loc - %s"
-#~ msgstr "Журнал створаны, размяшчэнне - %s"
+msgid "Window info message: %s"
+msgstr "Інфармацыйнае паведамленне аб акне: %s"
-#, c-format
-#~ msgid "Can't move directory. Message: %s"
-#~ msgstr "Не ўдалося перамясціць каталог. Паведамленне: %s"
+#~ msgid "Unofficial Yandex.Music client"
+#~ msgstr "Неафіцыйны кліент сэрвісу Яндэкс.Музыка"
-#, c-format
-#~ msgid "Can't create %s"
-#~ msgstr "Не ўдалося стварыць %s"
+#~ msgid "Rirusha"
+#~ msgstr "Rirusha"
-#, c-format
-#~ msgid "Can't save image %s"
-#~ msgstr "Не ўдалося захаваць відарыс %s"
+#~ msgid "Unofficial Yandex.Music client for GNOME"
+#~ msgstr "Неафіцыйны кліент GNOME для сэрвісу Яндэкс.Музыка"
-#, c-format
-#~ msgid "Can't save audio %s"
-#~ msgstr "Не ўдалося захаваць аўдыя %s"
+#~ msgid "Unofficial Yandex.Music client for GNOME (Development)"
+#~ msgstr "Неафіцыйны кліент GNOME для Яндэкс.Музыка (Распрацоўваецца)"
-#, c-format
-#~ msgid "Can't create log on %s"
-#~ msgstr "Не ўдалося стварыць журнал %s"
-
-#, c-format
-#~ msgid "Can't write to log file. Message: %s"
-#~ msgstr "Не ўдалося запісаць у файл журнала. Паведамленне: %s"
-
-#~ msgid "Can't write to log"
-#~ msgstr "Не ўдалося запісаць у журнал"
-
-#~ msgid ""
-#~ "Cache state of this object was changed out of this view. Please refresh"
-#~ msgstr ""
-#~ "Стан кэша гэтага аб'екта быў зменены паза гэтай старонкі. Калі ласка, "
-#~ "абнавіце старонку"
-
-#~ msgid "Playlist name can't be empty"
-#~ msgstr "Назва плэйліста не можа быць пустой"
-
-#, c-format
-#~ msgid "Playlist '%s' was renamed to '%s'"
-#~ msgstr "Плэйліст \"%s\" перайменаваны ў \"%s\""
-
-#~ msgid "Added new authorization via WebView
"
-#~ msgstr "Дададзена новая аўтарызацыя праз WebView
"
+#~ msgid "Yandex.Music search"
+#~ msgstr "Пошук у Яндэкс.Музыка"
diff --git a/po/de.po b/po/de.po
new file mode 100644
index 0000000..58f454f
--- /dev/null
+++ b/po/de.po
@@ -0,0 +1,1350 @@
+# German translation for cassette.
+# Copyright (C) 2024 cassette's COPYRIGHT HOLDER
+# This file is distributed under the same license as the cassette package.
+# Jürgen Benvenuti , 2024.
+# Tim Sabsch , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: cassette main\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/Rirusha/Cassette/-/issues\n"
+"POT-Creation-Date: 2024-09-15 12:45+0000\n"
+"PO-Revision-Date: 2024-09-16 22:47+0200\n"
+"Last-Translator: Jürgen Benvenuti \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: Poedit 3.4.4\n"
+
+#. Translators: app name should be translated
+#: data/io.github.Rirusha.Cassette.desktop.in:4
+#: data/io.github.Rirusha.Cassette.metainfo.xml.in:3 src/main.vala:23
+msgid "Cassette"
+msgstr "Kassette"
+
+#: data/io.github.Rirusha.Cassette.desktop.in:5
+msgid "Unofficial Yandex.Music client for GNOME"
+msgstr "Inoffizielle Yandex.Music-Anwendung für GNOME"
+
+#. Translators: keep number of ';'
+#: data/io.github.Rirusha.Cassette.desktop.in:7
+#: data/io.github.Rirusha.Cassette-Devel.desktop.in:7
+msgid "yandex;yandex music;yam;music;"
+msgstr "yandex;yandex music;yam;music;Yandex;Yandex Music;yam;Musik;"
+
+#. Translators: app name should be translated
+#: data/io.github.Rirusha.Cassette-Devel.desktop.in:4
+msgid "Cassette (Devel)"
+msgstr "Kassette (Entw.)"
+
+#: data/io.github.Rirusha.Cassette-Devel.desktop.in:5
+msgid "Unofficial Yandex.Music client for GNOME (Development)"
+msgstr "Inoffizielle Yandex.Music-Anwendung für GNOME (Entwicklung)"
+
+#: data/io.github.Rirusha.Cassette.metainfo.xml.in:8
+msgid ""
+"GTK/Adwaita application that allows to use Yandex Music service on Linux "
+"operating systems."
+msgstr ""
+"GTK/Adwaita-Anwendung, die es ermöglicht, den Yandex-Musikdienst auf Linux-"
+"Betriebssystemen zu nutzen."
+
+#: data/io.github.Rirusha.Cassette.metainfo.xml.in:12
+msgid "Features:"
+msgstr "Funktionen:"
+
+#: data/io.github.Rirusha.Cassette.metainfo.xml.in:16
+msgid "Allows you to save playlists and albums for offline listening"
+msgstr ""
+"Ermöglicht das Speichern von Wiedergabelisten und Alben zum Offline-Hören"
+
+#: data/io.github.Rirusha.Cassette.metainfo.xml.in:19
+msgid "Has a dynamic \"karaoke mode\" right in the track information panel"
+msgstr ""
+"Verfügt über einen dynamischen »Karaoke-Modus« direkt im "
+"Titelinformationsfeld"
+
+#: data/io.github.Rirusha.Cassette.metainfo.xml.in:22
+msgid ""
+"Allows you to more precisely customize the display and playback of special "
+"content, such as explicit or suitable for children."
+msgstr ""
+"Ermöglicht eine genauere Anpassung der Anzeige und Wiedergabe spezieller "
+"Inhalte, z. B. explizit oder für Kinder geeignet."
+
+#: data/io.github.Rirusha.Cassette.metainfo.xml.in:26
+msgid "Displays tracks that are currently unavailable in the service"
+msgstr "Zeigt Titel an, die derzeit im Dienst nicht verfügbar sind"
+
+#: data/io.github.Rirusha.Cassette.metainfo.xml.in:29
+msgid "Shows which tracks have been replaced and by what"
+msgstr "Zeigt an, welche Titel ersetzt wurden und durch welche"
+
+#: data/io.github.Rirusha.Cassette.metainfo.xml.in:33
+msgid ""
+"Cassette is an unofficial client and is not associated with or endorsed by "
+"Yandex."
+msgstr ""
+"Kassette ist ein inoffizielle Anwendung, die nicht mit Yandex assoziiert ist "
+"oder von Yandex unterstützt wird."
+
+#: data/io.github.Rirusha.Cassette.metainfo.xml.in:68
+msgid "Unofficial Yandex.Music client"
+msgstr "Inoffizielle Yandex.Music-Anwendung"
+
+#: data/io.github.Rirusha.Cassette.metainfo.xml.in:138
+msgid "Rirusha"
+msgstr "Rirusha"
+
+#: data/ui/account-info-dialog.blp:5
+msgid "Account information"
+msgstr "Konteninformation"
+
+#: data/ui/account-info-dialog.blp:52
+msgid "Open in browser"
+msgstr "Im Browser öffnen"
+
+#: data/ui/account-info-dialog.blp:61
+msgid "Plus"
+msgstr "Plus"
+
+#: data/ui/account-info-dialog.blp:70 data/ui/no-plus-dialog.blp:51
+#: src/authenticator.vala:51
+msgid "Log out"
+msgstr "Abmelden"
+
+#. Translators: usage mode of application. Online mode or Local mode available
+#: data/ui/begin-view.ui:11
+msgid "Usage mode"
+msgstr "Benutzungsmodus"
+
+#. Translators: usage mode of application. Online mode or Local mode available
+#: data/ui/begin-view.ui:40
+msgctxt "auth window"
+msgid "Choose usage mode"
+msgstr "Benutzungsmodus wählen"
+
+#: data/ui/begin-view.ui:50
+msgctxt "auth window"
+msgid ""
+"If you select the \"Online mode\", you can access local music by enabling "
+"the display of the corresponding pages in the pages preferences, as well as "
+"log in later when selecting \"Local mode\""
+msgstr ""
+"Wenn Sie den »Online-Modus« wählen, können Sie auf lokale Musik zugreifen, "
+"indem Sie die Anzeige der entsprechenden Seiten in den Seiteneinstellungen "
+"aktivieren. Sie können sich auch später noch anmelden, wenn Sie den »Lokalen "
+"Modus« wählen"
+
+#. Translators: usage mode of application. Online mode or Local mode available
+#: data/ui/begin-view.ui:75
+msgctxt "auth window"
+msgid "Online mode"
+msgstr "Onlinemodus"
+
+#. Translators: usage mode of application. Online mode or Local mode available
+#: data/ui/begin-view.ui:85
+msgctxt "auth window"
+msgid "Local mode"
+msgstr "Lokaler Modus"
+
+#. Translators: "Close" window button label
+#: data/ui/begin-view.ui:97
+msgctxt "auth window"
+msgid "Close"
+msgstr "Schließen"
+
+#: data/ui/begin-view.ui:112
+msgid "Authorization"
+msgstr "Legitimierung"
+
+#. Translators: size of cache dirs
+#: data/ui/cache-deletion-preferences.ui:21
+msgid "Dirs size:"
+msgstr "Ordnergröße:"
+
+#. Translators: tempprary cache folder
+#: data/ui/cache-deletion-preferences.ui:35
+msgid "Cache"
+msgstr "Zwischenspeicher"
+
+#: data/ui/cache-deletion-preferences.ui:88
+msgid "Clear"
+msgstr "Leeren"
+
+#. Translators: temparence cache folder
+#: data/ui/cache-deletion-preferences.ui:109
+msgid "Data"
+msgstr "Daten"
+
+#: data/ui/cache-deletion-preferences.ui:159
+msgid "Move to cache"
+msgstr "In den Zwischenspeicher verschieben"
+
+#: data/ui/cache-deletion-preferences.ui:163
+msgid "Move"
+msgstr "Verschieben"
+
+#: data/ui/cache-indicator.blp:35
+msgid "Show all cache jobs"
+msgstr "Alle Zwischenspeicher-Aufträge anzeigen"
+
+#: data/ui/custom-page-preferences.ui:17
+msgid "Title: "
+msgstr "Titel: "
+
+#: data/ui/custom-page-preferences.ui:38
+msgid "Icon: "
+msgstr "Symbol: "
+
+#: data/ui/custom-page-preferences.ui:75
+msgid "Save page"
+msgstr "Seite speichern"
+
+#: data/ui/custom-page-preferences.ui:92
+msgid "Remove page"
+msgstr "Seite entfernen"
+
+#. Translators: title of preference group
+#: data/ui/custom-pages-preferences.ui:7
+msgctxt "preference window"
+msgid "Custom pages"
+msgstr "Benutzerdefinierte Seiten"
+
+#. Translators: description of preference group
+#: data/ui/custom-pages-preferences.ui:9
+msgctxt "preference window"
+msgid "Here you can control custom pages."
+msgstr "Hier können Sie benutzerdefinierte Seiten steuern."
+
+#: data/ui/disliked-tracks-view.ui:23
+#: src/widgets/buttons/menu/primary-menu-button.vala:31
+msgid "Disliked tracks"
+msgstr "Mit »Gefällt nicht« bewertete Titel"
+
+#: data/ui/header-bar.blp:12
+msgid "Go back"
+msgstr "Zurück gehen"
+
+#: data/ui/header-bar.blp:20
+msgid "Refresh"
+msgstr "Neu laden"
+
+#: data/ui/header-bar.blp:28
+msgid "Yandex.Music search"
+msgstr "Yandex.Music-Suche"
+
+#: data/ui/help-overlay.blp:11
+msgid "Main Actions"
+msgstr "Hauptaktionen"
+
+#: data/ui/help-overlay.blp:14
+msgid "Show Shortcuts"
+msgstr "Tastenkürzel anzeigen"
+
+#: data/ui/help-overlay.blp:19
+msgid "Quit"
+msgstr "Beenden"
+
+#: data/ui/help-overlay.blp:25
+msgid "Playback Control"
+msgstr "Wiedergabesteuerung"
+
+#: data/ui/help-overlay.blp:28
+msgid "Play/Pause playback"
+msgstr "Wiedergabe fortsetzen/pausieren"
+
+#: data/ui/help-overlay.blp:33 data/ui/player-bar.blp:87
+msgid "Play previous track"
+msgstr "Vorherigen Titel wiedergeben"
+
+#: data/ui/help-overlay.blp:38 data/ui/player-bar.blp:119
+msgid "Play next track"
+msgstr "Nächsten Titel wiedergeben"
+
+#: data/ui/help-overlay.blp:43
+msgid "Mute app"
+msgstr "Anwendung stumm schalten"
+
+#: data/ui/help-overlay.blp:49
+msgid "Queue control"
+msgstr "Warteschlangensteuerung"
+
+#: data/ui/help-overlay.blp:52 data/ui/player-bar.blp:141
+msgid "Change shuffle mode"
+msgstr "Zufallswiedergabe-Modus ändern"
+
+#: data/ui/help-overlay.blp:57 data/ui/player-bar.blp:65
+msgid "Change repeat mode"
+msgstr "Wiederholungsmodus ändern"
+
+#: data/ui/help-overlay.blp:63
+msgid "Other"
+msgstr "Andere"
+
+#: data/ui/help-overlay.blp:66
+msgid "Share current track"
+msgstr "Aktuellen Titel freigegeben"
+
+#: data/ui/help-overlay.blp:71
+msgid "Parse url from clipboard"
+msgstr "Adresse aus der Zwischenablage auslesen"
+
+#: data/ui/info-marks.ui:23
+msgid "Explicit content"
+msgstr "Expliziter Inhalt"
+
+#: data/ui/info-marks.ui:32
+msgid "Child content"
+msgstr "Kinderfreundlicher Inhalt"
+
+#: data/ui/main-view.blp:6
+msgid "Page under construction"
+msgstr "Seite im Aufbau"
+
+#: data/ui/main-view.blp:20
+msgid "All stations"
+msgstr "Alle Stationen"
+
+#: data/ui/no-plus-dialog.blp:20
+msgid "No Plus Subscription"
+msgstr "Kein Plus-Abonnement"
+
+#: data/ui/no-plus-dialog.blp:21
+msgid ""
+"To avoid problems with Yandex, the online functions of the application are "
+"not available without a Yandex.Plus subscription. Thanks for understanding."
+msgstr ""
+"Um Probleme mit Yandex zu vermeiden, sind die Online-Funktionen der "
+"Anwendung ohne ein Yandex.Plus-Abonnement nicht verfügbar. Vielen Dank für "
+"Ihr Verständnis."
+
+#: data/ui/no-plus-dialog.blp:41
+msgid "Get Plus"
+msgstr "Plus erhalten"
+
+#: data/ui/player-bar.blp:22
+msgid "Show track info"
+msgstr "Titelinformation anzeigen"
+
+#: data/ui/player-bar.blp:206
+msgid "Show wave settings"
+msgstr ""
+
+#: data/ui/player-bar.blp:216
+msgid "Show playback queue"
+msgstr "Warteschlange anzeigen"
+
+#: data/ui/player-bar.blp:229
+msgid "Change volume"
+msgstr "Lautstärke ändern"
+
+#: data/ui/player-queue.blp:5 src/application.vala:271
+msgid "Playing now"
+msgstr "Wird jetzt gespielt"
+
+#: data/ui/playlist-choose-dialog.ui:8
+msgid "Choose playlist to add"
+msgstr "Hinzuzufügende Wiedergabeliste wählen"
+
+#: data/ui/playlist-create-button.ui:36
+msgid "Create playlist"
+msgstr "Wiedergabeliste erstellen"
+
+#: data/ui/playlist-micro.ui:39 data/ui/playlist-view.ui:56
+#: src/widgets/cache-indicator/job-info-badge.vala:42
+#: src/widgets/save-stack.vala:56 src/widgets/views/abstract-cachiable.vala:167
+msgid "Playlist"
+msgstr "Wiedergabeliste"
+
+#: data/ui/playlist-row.ui:40
+msgid "Empty"
+msgstr "Leer"
+
+#: data/ui/playlists-view.ui:23
+msgid "Your playlists"
+msgstr "Ihre Wiedergabelisten"
+
+#: data/ui/playlists-view.ui:39
+msgid "Also you liked these playlists"
+msgstr "Ihnen gefallen auch diese Wiedergabelisten"
+
+#: data/ui/playlist-view.ui:187
+msgid "Change playlist visibility"
+msgstr "Sichtbarkeit der Wiedergabeliste ändern"
+
+#: data/ui/playlist-view.ui:211
+msgid "Add page to header"
+msgstr ""
+
+#. Translators: tooltip of "save" button
+#: data/ui/playlist-view.ui:233 data/ui/playlist-view.ui:237
+#: src/widgets/buttons/menu/track-options-button.vala:82
+#: src/widgets/buttons/menu/track-options-button.vala:107
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:38
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:49
+#: src/widgets/buttons/menu/track-queue-options-button.vala:72
+#: src/widgets/buttons/menu/track-queue-options-button.vala:102
+msgid "Save"
+msgstr "Speichern"
+
+#. Translators: tooltip of "delete" button
+#: data/ui/playlist-view.ui:256 data/ui/playlist-view.ui:260
+#: src/widgets/preferences/cache-deletion-preferences.vala:96
+#: src/widgets/preferences/preferences-dialog.vala:140
+#: src/widgets/views/playlist.vala:90
+msgid "Delete"
+msgstr "Löschen"
+
+#. Translators: tooltip of "abort" button
+#: data/ui/playlist-view.ui:276
+msgid "Abort"
+msgstr "Abbrechen"
+
+#: data/ui/playlist-view.ui:280
+msgid "Stop"
+msgstr "Stopp"
+
+#: data/ui/preferences-dialog.ui:8
+msgctxt "preference dialog"
+msgid "Main"
+msgstr "Haupt"
+
+#: data/ui/preferences-dialog.ui:12
+msgctxt "preference dialog"
+msgid "General"
+msgstr "Allgemein"
+
+#: data/ui/preferences-dialog.ui:15
+msgctxt "preference dialog"
+msgid "Enable high quality audio"
+msgstr "Hohe Audioqualität aktivieren"
+
+#: data/ui/preferences-dialog.ui:16
+msgctxt "preference dialog"
+msgid ""
+"Attention! If the track was downloaded in low quality, and after the "
+"download is enabled in high quality, the audio will not be reloaded"
+msgstr ""
+"Achtung! Wenn der Titel in niedriger Qualität heruntergeladen wurde und nach "
+"dem Download die hohe Qualität aktiviert wird, wird das Audio nicht erneut "
+"geladen"
+
+#: data/ui/preferences-dialog.ui:21
+msgctxt "preference dialog"
+msgid "Add track on top of playlist"
+msgstr "Titel am Anfang der Wiedergabeliste hinzufügen"
+
+#: data/ui/preferences-dialog.ui:22
+msgctxt "preference dialog"
+msgid "Will the track be added to the playlist as the first or as the last"
+msgstr ""
+"Legt fest, ob der Titel als erster oder als letzter zur Wiedergabeliste "
+"hinzugefügt wird"
+
+#: data/ui/preferences-dialog.ui:27
+msgctxt "preference dialog"
+msgid "Show 'Playing now' notification"
+msgstr "Benachrichtigung »Wird jetzt gespielt« anzeigen"
+
+#: data/ui/preferences-dialog.ui:28
+msgctxt "preference dialog"
+msgid "Show a notification when switching a track"
+msgstr "Benachrichtigung beim Wechseln eines Titels anzeigen"
+
+#: data/ui/preferences-dialog.ui:35
+msgctxt "preference dialog"
+msgid "Show additional marks"
+msgstr "Zusätzliche Marken anzeigen"
+
+#: data/ui/preferences-dialog.ui:36
+msgctxt "preference dialog"
+msgid "Additional marks display additional information about the track"
+msgstr "Zusätzliche Marken zeigen zusätzliche Informationen über den Titel an"
+
+#: data/ui/preferences-dialog.ui:39
+msgctxt "preference dialog"
+msgid "Show save mark"
+msgstr "Speichermarke anzeigen"
+
+#: data/ui/preferences-dialog.ui:40
+msgctxt "preference dialog"
+msgid "Show a label with information about the caching status of the track"
+msgstr ""
+"Ein Textfeld mit Informationen über die Zwischenspeicherung des Titels "
+"anzeigen"
+
+#: data/ui/preferences-dialog.ui:45
+msgctxt "preference dialog"
+msgid "Show cache mark"
+msgstr "Zwischenspeichermarke anzeigen"
+
+#: data/ui/preferences-dialog.ui:46
+msgctxt "preference dialog"
+msgid "Show a mark about saving a track to the cache"
+msgstr "Marke zur Zwischenspeicherung eines Titels anzeigen"
+
+#: data/ui/preferences-dialog.ui:51
+msgctxt "preference dialog"
+msgid "Show replaced mark"
+msgstr "Ersetzt-Marke anzeigen"
+
+#: data/ui/preferences-dialog.ui:52
+msgctxt "preference dialog"
+msgid "Show a mark that shows that the track has been replaced"
+msgstr "Marke anzeigen, dass der Titel ersetzt wurde"
+
+#: data/ui/preferences-dialog.ui:59
+msgctxt "preference dialog"
+msgid "Tracks visibility"
+msgstr "Titel-Sichtbarkeit"
+
+#: data/ui/preferences-dialog.ui:60
+msgctxt "preference dialog"
+msgid ""
+"Show special tracks in track lists. Filter doesn't work when searching in "
+"track list"
+msgstr ""
+"Spezielle Titel in Titellisten anzeigen. Filter funktioniert nicht bei der "
+"Suche in der Titelliste"
+
+#: data/ui/preferences-dialog.ui:63
+msgctxt "preference dialog"
+msgid "Show unavailable content"
+msgstr "Nicht verfügbare Inhalte anzeigen"
+
+#: data/ui/preferences-dialog.ui:64
+msgctxt "preference dialog"
+msgid ""
+"Show tracks that are not available in the service. You can't listen to them"
+msgstr ""
+"Titel anzeigen, die im Dienst nicht verfügbar sind. Sie können sie nicht "
+"anhören"
+
+#: data/ui/preferences-dialog.ui:69
+msgctxt "preference dialog"
+msgid "Show content suitable for children"
+msgstr "Für Kinder geeignete Inhalte anzeigen"
+
+#: data/ui/preferences-dialog.ui:70
+msgctxt "preference dialog"
+msgid "Show content that is specific to children"
+msgstr "Inhalte anzeigen, die speziell für Kinder geeignet sind"
+
+#: data/ui/preferences-dialog.ui:75
+msgctxt "preference dialog"
+msgid "Show explicit content"
+msgstr "Explizite Inhalte anzeigen"
+
+#: data/ui/preferences-dialog.ui:76
+msgctxt "preference dialog"
+msgid "Show content that has age restrictions"
+msgstr "Inhalte mit Altersbeschränkungen anzeigen"
+
+#: data/ui/preferences-dialog.ui:83
+msgctxt "preference dialog"
+msgid "Other"
+msgstr "Andere"
+
+#: data/ui/preferences-dialog.ui:86
+msgctxt "preference dialog"
+msgid "Enable Debug-Mode"
+msgstr "Fehlerdiagnose-Modus anzeigen"
+
+#: data/ui/preferences-dialog.ui:87
+msgctxt "preference dialog"
+msgid "Enable logging of additional information useful for error detection"
+msgstr ""
+"Zusätzliche Informationen protokollieren, die für die Fehlerdiagnose "
+"nützlich sind"
+
+#: data/ui/preferences-dialog.ui:94
+msgctxt "preference dialog"
+msgid "Experimental"
+msgstr "Experimentell"
+
+#: data/ui/preferences-dialog.ui:95
+msgctxt "preference dialog"
+msgid "Parameters that test anything and may be removed in future releases"
+msgstr ""
+"Parameter, die Verschiedenes testen und in zukünftigen Versionen entfernt "
+"werden können"
+
+#: data/ui/preferences-dialog.ui:98
+msgctxt "preference dialog"
+msgid "Use only bottom sheet menus"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:99
+msgctxt "preference dialog"
+msgid "Test preference for bottom sheet menu"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:108
+msgctxt "preference dialog"
+msgid "Pages"
+msgstr "Seiten"
+
+#: data/ui/preferences-dialog.ui:112
+msgctxt "preference dialog"
+msgid "Static pages"
+msgstr "Statische Seiten"
+
+#: data/ui/preferences-dialog.ui:113
+msgctxt "preference dialog"
+msgid ""
+"Here you can show or hide static pages. They will always be displayed on the "
+"left side of the header."
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:116
+msgctxt "preference dialog"
+msgid "Show 'Main' page"
+msgstr "»Haupt«-Seite anzeigen"
+
+#: data/ui/preferences-dialog.ui:121
+msgctxt "preference dialog"
+msgid "Show 'Liked' page"
+msgstr "»Gefällt«-Seite anzeigen"
+
+#: data/ui/preferences-dialog.ui:126
+msgctxt "preference dialog"
+msgid "Show 'Playlists' page"
+msgstr "»Wiedergabelisten«-Seite anzeigen"
+
+#: data/ui/preferences-dialog.ui:138
+msgctxt "preference dialog"
+msgid "Cache"
+msgstr "Zwischenspeicher"
+
+#: data/ui/preferences-dialog.ui:142
+msgctxt "preference dialog"
+msgid "Cache managing"
+msgstr "Zwischenspeicherverwaltung"
+
+#: data/ui/preferences-dialog.ui:143
+msgctxt "preference dialog"
+msgid ""
+"Here you can see application memory usage, delete all cache from cache "
+"folder and control downloading cache to disk"
+msgstr ""
+"Hier können Sie den Speicherverbrauch der Anwendung einsehen, den gesamten "
+"Zwischenspeicher aus dem Zwischenspeicher-Ordner löschen und das "
+"Herunterladen des Zwischenspeichers auf die Festplatte steuern"
+
+#: data/ui/preferences-dialog.ui:146
+msgctxt "preference dialog"
+msgid "Cache content"
+msgstr "Zwischenspeicherinhalt"
+
+#: data/ui/preferences-dialog.ui:147
+msgctxt "preference dialog"
+msgid ""
+"For better performance. Over time, it starts to take up a lot of space. So "
+"far, manual cleaning is required. If enabled, the application will cache all "
+"content to cache dir for better performance, otherwise, the application will "
+"load content only when caching objects (such as playlists or albums). "
+"Disabling the parameter does not delete already downloaded content"
+msgstr ""
+
+#: data/ui/save-stack.ui:25
+msgid "Content saving…"
+msgstr "Inhalt wird gespeichert …"
+
+#: data/ui/save-stack.ui:42
+msgid "Content cached"
+msgstr "Inhalt wurde zwischengespeichert"
+
+#: data/ui/save-stack.ui:56
+msgid "Content saved"
+msgstr "Inhalt wurde gespeichert"
+
+#: data/ui/stations-view.blp:22
+msgid "Stations dashboard"
+msgstr ""
+
+#: data/ui/stations-view.blp:58
+msgid "Searching for station…"
+msgstr ""
+
+#: data/ui/stations-view.blp:77
+msgid "By genre…"
+msgstr "Nach Genre …"
+
+#: data/ui/stations-view.blp:99 data/ui/wave-settings.blp:60
+msgid "By mood…"
+msgstr "Nach Stimmung …"
+
+#: data/ui/stations-view.blp:121 data/ui/wave-settings.blp:25
+msgid "By activity…"
+msgstr "Nach Aktivität …"
+
+#: data/ui/stations-view.blp:143
+msgid "By epoch…"
+msgstr "Nach Epoche …"
+
+#: data/ui/stations-view.blp:165
+msgid "Other…"
+msgstr "Andere …"
+
+#: data/ui/stations-view.blp:209
+msgid "No stations with that name were found"
+msgstr "Es wurden keinen Stationen mit diesem Namen gefunden"
+
+#: data/ui/track-info.blp:103
+msgid "Track lyrics"
+msgstr "Titel-Liedtext"
+
+#: data/ui/track-info.blp:117
+msgid "Authors"
+msgstr "Autoren"
+
+#: data/ui/track-info.blp:135
+msgid "Source"
+msgstr "Quelle"
+
+#: data/ui/track-info.blp:158
+msgid "Similar tracks"
+msgstr "Ähnliche Titel"
+
+#. Translators: placeholder of "search" entry. Local track search (inside of track list)
+#: data/ui/track-list.ui:21
+msgid "Search track"
+msgstr "Nach Titel suchen"
+
+#. Translators: part of sort by
+#: data/ui/track-list.ui:30
+msgid "Sort by"
+msgstr "Sortieren nach"
+
+#: data/ui/track-list.ui:77
+msgid "No tracks to display"
+msgstr "Keine Titel zur Anzeige"
+
+#: data/ui/track-list.ui:88
+msgid "name"
+msgstr "Name"
+
+#: data/ui/track-list.ui:92
+msgid "artist"
+msgstr "Interpret"
+
+#: data/ui/track-list.ui:96
+msgid "album"
+msgstr "Album"
+
+#: data/ui/track-list.ui:100
+msgid "duration"
+msgstr "Dauer"
+
+#: data/ui/track-placeholder.ui:9 src/widgets/pages/loading-page.vala:37
+msgid "Loading…"
+msgstr "Wird geladen …"
+
+#: data/ui/wave-settings.blp:42
+msgid "By diversity…"
+msgstr ""
+
+#: data/ui/wave-settings.blp:78
+msgid "By language…"
+msgstr "Nach Sprache …"
+
+#: data/ui/wave-settings.blp:93
+msgid "Can't get wave settings"
+msgstr ""
+
+#: data/ui/window.blp:57 src/window.vala:252
+msgid "Reconnect"
+msgstr "Erneut verbinden"
+
+#: data/ui/window.blp:58 src/application.vala:151
+msgid "Connection problems"
+msgstr "Verbindungsprobleme"
+
+#. Translators: NAME /n NAME
+#: src/about.vala:60
+msgid "translator-credits"
+msgstr ""
+"Jürgen Benvenuti , 2024\n"
+"Tim Sabsch 2024"
+
+#: src/about.vala:68
+msgid "Telegram channel"
+msgstr "Telegram-Kanal"
+
+#: src/about.vala:69
+msgid "Financial support (Tinkoff)"
+msgstr "Finanzielle Unterstützung (Tinkoff)"
+
+#: src/about.vala:70
+msgid "Financial support (Boosty)"
+msgstr "Finanzielle Unterstützung (Boosty)"
+
+#. Please keep alphabetical
+#: src/about.vala:73
+msgid "Sponsors"
+msgstr "Sponsoren"
+
+#: src/application.vala:62
+msgid "Print version information and exit"
+msgstr "Versionsinformationen anzeigen und beenden"
+
+#: src/application.vala:145
+msgid "Connection restored"
+msgstr "Verbindung wiederhergestellt"
+
+#: src/application.vala:273
+msgid "Previous"
+msgstr "Vorheriger"
+
+#: src/application.vala:274
+msgid "Next"
+msgstr "Nächster"
+
+#: src/application.vala:357
+msgid "Current track can not be copied to the clipboard"
+msgstr "Aktueller Titel kann nicht in die Zwischenablage kopiert werden"
+
+#: src/application.vala:371 src/application.vala:378 src/application.vala:435
+msgid "Can't parse clipboard content"
+msgstr "Inhalt der Zwischenablage kann nicht verarbeitet werden"
+
+#: src/application.vala:389
+msgid "Users view not implemented yet"
+msgstr "Die Benutzeransicht wurde noch nicht implementiert"
+
+#: src/application.vala:405 src/application.vala:419
+msgid "Albums view not implemented yet"
+msgstr "Die Albumansicht wurde noch nicht implementiert"
+
+#: src/authenticator.vala:46
+msgid "Log out?"
+msgstr "Abmelden?"
+
+#: src/authenticator.vala:47
+msgid "You will need to log in again to use the app"
+msgstr ""
+"Sie werden sich erneut anmelden müssen, um die Anwendung nutzen zu können"
+
+#. Translators: cancel of deleting playlist
+#: src/authenticator.vala:50
+#: src/widgets/preferences/cache-deletion-preferences.vala:95
+#: src/widgets/preferences/preferences-dialog.vala:139
+#: src/widgets/views/playlist.vala:89
+msgid "Cancel"
+msgstr "Abbrechen"
+
+#: src/authenticator.vala:97
+#: src/widgets/preferences/cache-deletion-preferences.vala:129
+msgid "Moving…"
+msgstr "Wird verschoben …"
+
+# Nicht sehr knackig, aber »liked« als deutsches Verb gefällt mir noch weniger. Bessere Ideen? -jb
+# Vielleicht »Gefällt [nicht]«? Finde ich jetzt auch nicht grandios besser - ts
+#. Translators: Playlist with liked tracks
+#: src/client/api/objects/playlist/playlist.vala:49
+#: src/client/api/objects/playlist/playlist.vala:99 src/pager.vala:276
+msgid "Liked"
+msgstr "Gefällt"
+
+#. Translators: Playlist that updates every day
+#: src/client/api/objects/playlist/playlist.vala:53
+msgid "Daily"
+msgstr "Täglich"
+
+#. Translators: Unknown playlist
+#: src/client/api/objects/playlist/playlist.vala:57
+msgid "Unknown"
+msgstr "Unbekannt"
+
+# loc wie in Location
+#: src/client/cachier/storager.vala:124
+#, c-format
+msgid "Database was initialized, loc - %s"
+msgstr "Datenbank wurde initialisiert, Ort - %s"
+
+#: src/client/cachier/storager.vala:801
+#, c-format
+msgid "Can't save object %s"
+msgstr "Objekt %s konnte nicht gespeichert werden"
+
+#: src/client/cachier/storager.vala:818
+msgid "Byte"
+msgid_plural "Bytes"
+msgstr[0] "Byte"
+msgstr[1] "Bytes"
+
+#: src/client/cachier/storager.vala:821
+msgid "Kilobyte"
+msgid_plural "Kilobytes"
+msgstr[0] "Kilobyte"
+msgstr[1] "Kilobytes"
+
+#: src/client/cachier/storager.vala:824
+msgid "Megabyte"
+msgid_plural "Megabytes"
+msgstr[0] "Megabyte"
+msgstr[1] "Megabytes"
+
+#: src/client/cachier/storager.vala:827
+msgid "Gigabyte"
+msgid_plural "Gigabytes"
+msgstr[0] "Gigabyte"
+msgstr[1] "Gigabytes"
+
+#: src/client/cachier/storager.vala:830
+msgid "Terabyte"
+msgid_plural "Terabytes"
+msgstr[0] "Terabyte"
+msgstr[1] "Terabytes"
+
+#: src/client/cachier/storager.vala:859
+#, c-format
+msgid "Error while getting cache directory size. Message %s"
+msgstr "Fehler beim Abrufen der Zwischenspeicher-Ordnergröße. Nachricht %s"
+
+#: src/client/cachier/storager.vala:894
+#, c-format
+msgid "Error while getting permanent directory size. Message %s"
+msgstr "Fehler beim Abrufen der permanenten Ordnergröße. Nachricht %s"
+
+#: src/client/jsoner.vala:358 src/client/jsoner.vala:419
+#: src/client/jsoner.vala:526 src/client/jsoner.vala:550
+#, c-format
+msgid "Wrong type: expected %s, got %s"
+msgstr "Falscher Typ: erwartet %s, erhalten %s"
+
+#: src/client/player/mods/abstract-mode.vala:91
+msgid "Problems with queue"
+msgstr "Probleme mit der Warteschlange"
+
+#. Translators: name of new created playlist
+#: src/client/talkers/yam-talker.vala:627
+msgid "New Playlist"
+msgstr "Neue Wiedergabeliste"
+
+#: src/pager.vala:162
+#, c-format
+msgid "Can't set title \"%s\" to page"
+msgstr ""
+
+#: src/pager.vala:173
+#, c-format
+msgid "Can't set icon with name \"%s\" to page"
+msgstr ""
+
+#: src/pager.vala:199
+msgid "Reached max page count"
+msgstr "Maximale Seitenanzahl erreicht"
+
+#: src/pager.vala:205
+#, c-format
+msgid "Page '%s' already added"
+msgstr "Seite »%s« wurde bereits hinzugefügt"
+
+#: src/pager.vala:267
+msgid "Main"
+msgstr "Haupt"
+
+#: src/pager.vala:286
+msgid "Playlists"
+msgstr "Wiedergabelisten"
+
+#: src/pager.vala:311
+#, c-format
+msgid "Can't read pages file. Message: %s"
+msgstr "Seitendatei kann nicht gelesen werden. Nachricht: %s"
+
+#: src/pager.vala:331
+#, c-format
+msgid "Can't create pages file. Message: %s"
+msgstr "Seitendatei kann nicht erstellt werden. Nachricht: %s"
+
+#: src/utils.vala:69
+msgid "Not implemented yet"
+msgstr "Noch nicht implementiert"
+
+#: src/utils.vala:76
+msgid "Need authorization"
+msgstr "Legitimierung erforderlich"
+
+#: src/utils.vala:80
+msgid "Need Bookmate subscription"
+msgstr "Bookmate-Abonnement erforderlich"
+
+#: src/utils.vala:176 src/utils.vala:192
+msgid "Link copied to clipboard"
+msgstr "Link in die Zwischenablage kopiert"
+
+#: src/utils.vala:241
+#, c-format
+msgid "Duration: %s h. %s min."
+msgstr "Länge: %s h %s min."
+
+#: src/utils.vala:243
+#, c-format
+msgid "Duration: %s min."
+msgstr "Länge: %s min."
+
+#: src/utils.vala:357
+msgid "today"
+msgstr "heute"
+
+#: src/utils.vala:359
+msgid "yesterday"
+msgstr "gestern"
+
+#: src/widgets/buttons/just/dislike-button.vala:37
+msgid "Remove dislike"
+msgstr "»Gefällt nicht« entfernen"
+
+# Na ja, ein bisschen holprig. Bessere Ideen? - jb
+#: src/widgets/buttons/just/dislike-button.vala:40
+msgid "Set dislike"
+msgstr "Mit »Gefällt nicht« bewerten"
+
+#: src/widgets/buttons/just/like-button.vala:41
+msgid "Remove like"
+msgstr "»Gefällt« entfernen"
+
+#: src/widgets/buttons/just/like-button.vala:48
+msgid "Set like"
+msgstr "Mit »Gefällt« bewerten"
+
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:37
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:40
+msgid "Pause"
+msgstr "Pause"
+
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:44
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:47
+msgid "Play"
+msgstr "Wiedergeben"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:48
+#, c-format
+msgid "Playlist '%s'"
+msgstr "Wiedergabeliste »%s«"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:53
+#: src/widgets/buttons/menu/playlist-options-button.vala:66
+msgid "My Vibe by playlist"
+msgstr ""
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:54
+#: src/widgets/buttons/menu/playlist-options-button.vala:76
+#: src/widgets/buttons/menu/track-options-button.vala:80
+#: src/widgets/buttons/menu/track-options-button.vala:105
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:35
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:46
+#: src/widgets/buttons/menu/track-queue-options-button.vala:69
+#: src/widgets/buttons/menu/track-queue-options-button.vala:99
+msgid "Add to queue"
+msgstr "Zur Warteschlange hinzufügen"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:55
+#: src/widgets/buttons/menu/playlist-options-button.vala:77
+#: src/widgets/buttons/menu/track-options-button.vala:83
+#: src/widgets/buttons/menu/track-options-button.vala:108
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:39
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:50
+#: src/widgets/buttons/menu/track-queue-options-button.vala:73
+#: src/widgets/buttons/menu/track-queue-options-button.vala:103
+msgid "Share"
+msgstr "Freigeben"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:26
+msgid "Primary menu"
+msgstr "Hauptmenü"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:32
+msgid "Parse URL from clipboard"
+msgstr "Adresse aus der Zwischenablage auslesen"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:33
+msgid "Preferences"
+msgstr "Einstellungen"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:34
+msgid "Keyboard Shortcuts"
+msgstr "Tastenkürzel"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:35
+msgid "About Cassette"
+msgstr "Info zu Kassette"
+
+#: src/widgets/buttons/menu/track-options-button.vala:77
+#: src/widgets/buttons/menu/track-options-button.vala:94
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:32
+#: src/widgets/buttons/menu/track-queue-options-button.vala:66
+#: src/widgets/buttons/menu/track-queue-options-button.vala:87
+msgid "My Vibe by track"
+msgstr ""
+
+#: src/widgets/buttons/menu/track-options-button.vala:78
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:33
+#: src/widgets/buttons/menu/track-queue-options-button.vala:67
+msgid "Show info"
+msgstr "Informationen anzeigen"
+
+#: src/widgets/buttons/menu/track-options-button.vala:79
+#: src/widgets/buttons/menu/track-options-button.vala:104
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:34
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:45
+#: src/widgets/buttons/menu/track-queue-options-button.vala:68
+#: src/widgets/buttons/menu/track-queue-options-button.vala:98
+msgid "Play next"
+msgstr "Den nächsten Titel wiedergeben"
+
+#: src/widgets/buttons/menu/track-options-button.vala:81
+#: src/widgets/buttons/menu/track-options-button.vala:106
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:36
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:47
+#: src/widgets/buttons/menu/track-queue-options-button.vala:70
+#: src/widgets/buttons/menu/track-queue-options-button.vala:100
+msgid "Add to playlist"
+msgstr "Zur Wiedergabeliste hinzufügen"
+
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:37
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:48
+msgid "Remove from playlist"
+msgstr "Aus der Wiedergabeliste entfernen"
+
+#: src/widgets/buttons/menu/track-queue-options-button.vala:71
+#: src/widgets/buttons/menu/track-queue-options-button.vala:101
+msgid "Remove from queue"
+msgstr "Aus der Warteschlange entfernen"
+
+#: src/widgets/buttons/menu/volume-button.vala:121
+msgid "Volume control"
+msgstr "Lautstärkeregelung"
+
+#: src/widgets/buttons/menu/volume-button.vala:261
+msgid "Unmute"
+msgstr "Stummschaltung aufheben"
+
+#: src/widgets/buttons/menu/volume-button.vala:261
+msgid "Mute"
+msgstr "Stumm schalten"
+
+#: src/widgets/cache-indicator/job-info-badge.vala:44
+#: src/widgets/save-stack.vala:52 src/widgets/views/abstract-cachiable.vala:172
+msgid "Album"
+msgstr "Album"
+
+#. Translators: n track from n tracks saved
+#: src/widgets/cache-indicator/job-info-badge.vala:77
+#, c-format
+msgid "%d / %d saved%s"
+msgid_plural "%d / %d saved%s"
+msgstr[0] "%d / %d gespeichert%s"
+msgstr[1] "%d / %d gespeichert%s"
+
+#: src/widgets/cache-indicator/job-info-badge.vala:84
+#, c-format
+msgid "%d track saving now"
+msgid_plural "%d tracks saving now"
+msgstr[0] "Es wird %d Titel gespeichert"
+msgstr[1] "Es werden %d Titel gespeichert"
+
+#: src/widgets/info-marks.vala:41
+#, c-format
+msgid "Track was replaced. Original version: %s, %s"
+msgstr "Titel wurde ersetzt. Ursprüngliche Version: %s, %s"
+
+#: src/widgets/playlist-micro.vala:157 src/widgets/views/playlist.vala:241
+#, c-format
+msgid "Owner: %s"
+msgstr "Besitzer: %s"
+
+#: src/widgets/playlist-row.vala:85
+#, c-format
+msgid "Track count: %s"
+msgstr "Titelanzahl: %s"
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:88
+#: src/widgets/preferences/preferences-dialog.vala:134
+msgid "Delete cache files?"
+msgstr "Zwischenspeicher-Dateien löschen?"
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:89
+msgid "Move saved files?"
+msgstr "Gespeicherte Dateien verschieben?"
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:90
+#: src/widgets/preferences/preferences-dialog.vala:135
+msgid ""
+"All cache will be deleted. This doesn't affect on saved playlists or albums"
+msgstr ""
+"Der gesamte Zwischenspeicher wird gelöscht. Dies hat keine Auswirkungen auf "
+"gespeicherte Wiedergabelisten oder Alben"
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:91
+msgid ""
+"All saved playlists and albums will be moved to cache files. This could take "
+"a while."
+msgstr ""
+"Alle gespeicherten Wiedergabelisten und Alben werden in Zwischenspeicher-"
+"Dateien verschoben. Dies kann eine Weile dauern."
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:129
+msgid "Deleting…"
+msgstr "Löschvorgang …"
+
+#: src/widgets/save-stack.vala:54
+msgid "Image"
+msgstr "Bild"
+
+#: src/widgets/save-stack.vala:58
+msgid "Track"
+msgstr "Titel"
+
+#: src/widgets/save-stack.vala:75
+#, c-format
+msgid "%s saving…"
+msgstr "%s wird gespeichert …"
+
+#: src/widgets/save-stack.vala:76
+#, c-format
+msgid "%s cached"
+msgstr "%s zwischengespeichert"
+
+#: src/widgets/save-stack.vala:77
+#, c-format
+msgid "%s saved"
+msgstr "%s gespeichert"
+
+#: src/widgets/sidebar/childs/player-queue.vala:66
+#, c-format
+msgid "Playlist \"%s\""
+msgstr "Wiedergabeliste »%s«"
+
+#: src/widgets/sidebar/childs/player-queue.vala:70
+#, c-format
+msgid "Album \"%s\""
+msgstr "Album »%s«"
+
+#: src/widgets/sidebar/childs/player-queue.vala:74
+#, c-format
+msgid "By search results \"%s\""
+msgstr "Nach Suchergebnissen »%s«"
+
+#: src/widgets/sidebar/childs/player-queue.vala:78
+msgid "Track list"
+msgstr "Titelliste"
+
+#: src/widgets/sidebar/childs/track-info.vala:68
+msgid "Your music track"
+msgstr "Ihr Musiktitel"
+
+#: src/widgets/sidebar/childs/track-info.vala:84
+msgid "Music track"
+msgstr "Musiktitel"
+
+#: src/widgets/sidebar/childs/wave-settings.vala:39
+msgid "Wave settings"
+msgstr "Welleneinstellungen"
+
+#: src/widgets/track-rows/base.vala:79 src/widgets/track-rows/default.vala:100
+msgid "Track is not available"
+msgstr "Titel ist nicht verfügbar"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:78
+#, c-format
+msgid "%s '%s' saved successfully"
+msgstr "%s »%s« erfolgreich gespeichert"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:89
+#, c-format
+msgid "%s '%s' saving was stopped, due to network error"
+msgstr "Speichern von %s »%s« wurde wegen eines Netzwerkfehlers gestoppt"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:99
+#, c-format
+msgid "%s '%s' saving was aborted"
+msgstr "Speichern von %s »%s« wurde abgebrochen"
+
+#. Translators: %s - content type (e.g. "Playlist")
+#: src/widgets/views/abstract-cachiable.vala:191
+#, c-format
+msgid "%s saving has started"
+msgstr "Speichern von %s wurde gestartet"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:229
+#, c-format
+msgid "%s '%s' was moved from data to cache"
+msgstr ""
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:239
+#, c-format
+msgid "%s removing has started. Please do not close the app"
+msgstr ""
+
+#: src/widgets/views/cant-show.vala:37
+#, c-format
+msgid "Error %d"
+msgstr "Fehler %d"
+
+#: src/widgets/views/cant-show.vala:41
+msgid "Can't load page"
+msgstr "Seite konnte nicht geladen werden"
+
+#: src/widgets/views/cant-show.vala:44
+msgid "Can't find desired content"
+msgstr "Gewünschter Inhalt konnte nicht gefunden werden"
+
+#: src/widgets/views/playlist.vala:84
+msgid "Delete playlist?"
+msgstr "Wiedergabeliste löschen?"
+
+#: src/widgets/views/playlist.vala:85
+#, c-format
+msgid "Playlist '%s' will be permanently deleted."
+msgstr "Wiedergabeliste »%s« wird unwiderruflich gelöscht."
+
+#: src/widgets/views/playlist.vala:104
+#, c-format
+msgid "Playlist '%s' was deleted"
+msgstr "Wiedergabeliste »%s« wurde gelöscht"
+
+#. Translators: %s is female person
+#: src/widgets/views/playlist.vala:247
+#, c-format
+msgctxt "female person"
+msgid "%s updated playlist %s"
+msgstr "%s aktualisierte die Wiedergabeliste %s"
+
+#. Translators: %s is male person
+#: src/widgets/views/playlist.vala:251
+#, c-format
+msgctxt "male person"
+msgid "%s updated playlist %s"
+msgstr "%s aktualisierte die Wiedergabeliste %s"
+
+#: src/widgets/views/playlist.vala:281
+#, c-format
+msgid "Can't change visibility of '%s'"
+msgstr "Sichtbarkeit von »%s« kann nicht geändert werden"
+
+#: src/widgets/views/playlist.vala:287
+#, c-format
+msgid "Playlist '%s' is public now"
+msgstr "Wiedergabeliste »%s« ist jetzt öffentlich"
+
+#: src/widgets/views/playlist.vala:290
+#, c-format
+msgid "Playlist '%s' is private now"
+msgstr "Wiedergabeliste »%s« ist jetzt privat"
+
+#: src/window.vala:235
+#, c-format
+msgid "Window info message: %s"
+msgstr "Fensterinformationsnachricht: %s"
diff --git a/po/es.po b/po/es.po
index 697d813..3f0fad0 100644
--- a/po/es.po
+++ b/po/es.po
@@ -3,39 +3,59 @@
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR , YEAR.
# Sergio Varela , 2023.
+# Nahue Mantuani , 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: 0.1\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-01-27 05:36+0800\n"
-"PO-Revision-Date: 2023-12-14 16:53+0100\n"
-"Last-Translator: Sergio Varela \n"
-"Language-Team: Spanish - Spain \n"
-"Language: es_ES\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/Rirusha/Cassette/-/issues\n"
+"POT-Creation-Date: 2025-02-10 19:14+0000\n"
+"PO-Revision-Date: 2025-02-18 20:27+0100\n"
+"Last-Translator: Nahue Mantuani \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: Gtranslator 45.3\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Gtranslator 47.1\n"
+"X-DL-Lang: es\n"
+"X-DL-Module: cassette\n"
+"X-DL-Branch: main\n"
+"X-DL-Domain: po\n"
+"X-DL-State: Translating\n"
-#: data/io.github.Rirusha.Cassette.Devel.desktop.in:3
-#: data/io.github.Rirusha.Cassette.Devel.desktop.in:4
-#, fuzzy
-msgid "Cassette Devel"
+#. Translators: app name should be translated
+#: data/space.rirusha.Cassette.desktop.in.in:4
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:3 src/main.vala:24
+msgid "Cassette"
msgstr "Cassette"
-#: data/io.github.Rirusha.Cassette.Devel.desktop.in:5
-#, fuzzy
-msgid "Unofficial Yandex.Music client for GNOME (Development mode)"
-msgstr "Cliente no oficial de Yandex.Music para GNOME"
+#: data/space.rirusha.Cassette.desktop.in.in:5
+msgid "Unofficial Yandex Music client for GNOME"
+msgstr "Cliente no oficial de Yandex Music para GNOME"
-#: data/io.github.Rirusha.Cassette.Devel.desktop.in:6
-#: data/io.github.Rirusha.Cassette.desktop.in:6
+#. Translators: keep number of ';'
+#: data/space.rirusha.Cassette.desktop.in.in:7
+#: data/space.rirusha.Cassette.Devel.desktop.in.in:7
msgid "yandex;yandex music;yam;music;"
msgstr "yandex;yandex music;yam;music;"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:8
+#. Translators: app name should be translated
+#: data/space.rirusha.Cassette.Devel.desktop.in.in:4
+msgid "Cassette (Devel)"
+msgstr "Cassette (Desarrollo)"
+
+#: data/space.rirusha.Cassette.Devel.desktop.in.in:5
+msgid "Unofficial Yandex Music client for GNOME (Devel build)"
+msgstr ""
+"Cliente no oficial de Yandex Music para GNOME (Construcción de desarrollo)"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:7
+msgid "Unofficial Yandex Music client"
+msgstr "Cliente no oficial de Yandex Music"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:9
msgid ""
"GTK/Adwaita application that allows to use Yandex Music service on Linux "
"operating systems."
@@ -43,25 +63,23 @@ msgstr ""
"Aplicación GTK/Adwaita que permite utilizar el servicio Yandex Music en "
"sistemas operativos Linux."
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:12
-#, fuzzy
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:13
msgid "Features:"
-msgstr "Características"
+msgstr "Características:"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:16
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:17
msgid "Allows you to save playlists and albums for offline listening"
msgstr ""
"Permite guardar listas de reproducción y álbumes para escucharlos sin "
"conexión."
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:19
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:20
msgid "Has a dynamic \"karaoke mode\" right in the track information panel"
msgstr ""
"Dispone de un «modo karaoke» dinámico directamente en el panel de "
"información de la pista"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:22
-#, fuzzy
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:23
msgid ""
"Allows you to more precisely customize the display and playback of special "
"content, such as explicit or suitable for children."
@@ -69,15 +87,15 @@ msgstr ""
"Permite personalizar con mayor precisión la visualización y reproducción de "
"contenidos especiales, como explícitos o aptos para niños."
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:26
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:27
msgid "Displays tracks that are currently unavailable in the service"
msgstr "Muestra las pistas que no están disponibles actualmente en el servicio"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:29
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:30
msgid "Shows which tracks have been replaced and by what"
msgstr "Muestra qué pistas se han sustituido y por qué"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:33
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:34
msgid ""
"Cassette is an unofficial client and is not associated with or endorsed by "
"Yandex."
@@ -85,510 +103,355 @@ msgstr ""
"Cassette es un cliente no oficial y no está asociado ni respaldado por "
"Yandex."
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:64
-msgid "Unofficial Yandex.Music client"
-msgstr "Cliente no oficial de Yandex.Music"
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:63
+msgid "Liked view"
+msgstr "Lista de canciones que le gustaron"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:69
-msgid "Hotfix"
-msgstr ""
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:67
+msgid "Playlists view"
+msgstr "Listas de reproducción"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:71
-msgid ""
-"Crashes that I couldn't reproduce for a long time have been fixed. The "
-"reason was an attempt to save a custom track with an empty cover"
-msgstr ""
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:71
+msgid "Sync lyrics"
+msgstr "Sincronizar letras"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:72
-msgid ""
-"The button for creating a playlist has changed, as well as some other shadows"
-msgstr ""
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:75
+msgid "Playback queue"
+msgstr "Cola de reproducción"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:73
-msgid ""
-"The translation has been corrected. The text on the widgets written using "
-"blueprints has not been translated. Now fixed"
-msgstr ""
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:79
+msgid "Waves view"
+msgstr "Vista de ondas"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:79
-msgid "Cosmetic and code changes"
-msgstr ""
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:83
+msgid "Main preferences"
+msgstr "Preferencias principales"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:81
-msgid ""
-"The transition to the blueprints interface language is slowly but surely "
-"underway"
-msgstr ""
+#: data/ui/account-info-dialog.blp:5
+msgid "Account information"
+msgstr "Información de la cuenta"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:82
-msgid ""
-"The playback panel has been completely redesigned. Now there are fewer "
-"buttons (if someone has lost the track information button, you need to poke "
-"to the right of the playback slider)"
-msgstr ""
+#: data/ui/account-info-dialog.blp:52
+msgid "Open in browser"
+msgstr "Abrir en el navegador web"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:83
-msgid "The appearance of the playlist has been changed"
-msgstr ""
+#: data/ui/account-info-dialog.blp:61
+msgid "Plus"
+msgstr "Plus"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:84
-msgid "The sidebar widget has been changed"
-msgstr ""
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:85
-msgid ""
-"Added the feature with parallel loading of tracks while saving playlists. "
-"And not only that, now when the application starts, all saved playlists will "
-"be checked and updated. You can also view the progress of saving on the top "
-"left"
-msgstr ""
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:86
-msgid "Added the removal of a track from the queue when it is disliked"
-msgstr ""
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:87
-msgid ""
-"The Belarusian language has been added. Thanks to Yahor Haurylenka for the "
-"translation"
-msgstr ""
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:88
-msgid "Added a debug mod"
-msgstr ""
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:89
-msgid "Increased the maximum volume level from 60 to 100"
-msgstr ""
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:90
-msgid ""
-"Added the ability to move all saved objects to the cache folder, that is, "
-"move them to temporary storage"
-msgstr ""
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:91
-msgid "Other bug fixes"
-msgstr ""
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:97
-msgid "Added new authorization via WebView"
-msgstr ""
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:102
-msgid "First release of Cassette"
-msgstr "Primera versión de Cassette"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:104
-msgid "Allows you to listen to music"
-msgstr "Te permite escuchar música"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:105
-msgid "View your playlists"
-msgstr "Ver tus listas de reproducción"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:106
-msgid "Manage the playback queue, for example shuffle or puts on repeat"
-msgstr ""
-"Gestionar la cola de reproducción, por ejemplo aleatoriamente o poner en "
-"repetición"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:107
-msgid ""
-"Sends whether the track has been listened to and the playback queue, if it "
-"has been changed"
-msgstr ""
-"Envía si se ha escuchado la pista y la cola de reproducción, si se ha "
-"modificado"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:108
-msgid "Implemented mpris2"
-msgstr "Implementación de mpris2"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:116
-msgid "Rirusha"
-msgstr "Rirusha"
-
-#: data/io.github.Rirusha.Cassette.desktop.in:5
-msgid "Unofficial Yandex.Music client for GNOME"
-msgstr "Cliente no oficial de Yandex.Music para GNOME"
-
-#: data/ui/account_info_window.blp:37
-#, c-format
-msgctxt "account info window"
-msgid "Login: %s"
-msgstr "Iniciar sesión: %s"
-
-#: data/ui/account_info_window.blp:49
-#, c-format
-msgctxt "account info window"
-msgid "Phone number: %s"
-msgstr "Número de teléfono: %s"
-
-#: data/ui/account_info_window.blp:62
-msgctxt "account info window"
-msgid "Has Plus"
-msgstr "Tiene Plus"
-
-#: data/ui/account_info_window.blp:80
-#, c-format
-msgctxt "account info window"
-msgid "First name: %s"
-msgstr "Primer nombre: %s"
-
-#: data/ui/account_info_window.blp:92
-#, c-format
-msgctxt "account info window"
-msgid "Second name: %s"
-msgstr "Segundo nombre: %s"
-
-#: data/ui/account_info_window.blp:104
-#, c-format
-msgctxt "account info window"
-msgid "Display name: %s"
-msgstr "Nombre para mostrar: %s"
-
-#: data/ui/account_info_window.blp:116
-#, c-format
-msgctxt "account info window"
-msgid "Birthday: %s"
-msgstr "Cumpleaños: %s"
-
-#: data/ui/account_info_window.blp:134
-msgctxt "account info window"
-msgid "Additional options:"
-msgstr "Opciones adicionales:"
+#: data/ui/account-info-dialog.blp:70 data/ui/no-plus-dialog.blp:51
+#: src/authenticator.vala:52
+msgid "Log out"
+msgstr "Cerrar sesión"
#. Translators: usage mode of application. Online mode or Local mode available
-#: data/ui/begin_view.ui:11
+#: data/ui/begin-view.ui:11
msgid "Usage mode"
-msgstr ""
+msgstr "Modo de uso"
#. Translators: usage mode of application. Online mode or Local mode available
-#: data/ui/begin_view.ui:40
+#: data/ui/begin-view.ui:40
msgctxt "auth window"
msgid "Choose usage mode"
-msgstr ""
+msgstr "Seleccionar modo de uso"
-#: data/ui/begin_view.ui:50
+#: data/ui/begin-view.ui:50
msgctxt "auth window"
msgid ""
"If you select the \"Online mode\", you can access local music by enabling "
"the display of the corresponding pages in the pages preferences, as well as "
"log in later when selecting \"Local mode\""
msgstr ""
+"Si selecciona el «Modo en línea», puede acceder música local activando la "
+"vista de las páginas correspondiente en las preferencias de páginas, además "
+"de iniciar sesión más tarde seleccionando «Modo local»."
#. Translators: usage mode of application. Online mode or Local mode available
-#: data/ui/begin_view.ui:75
+#: data/ui/begin-view.ui:75
msgctxt "auth window"
msgid "Online mode"
-msgstr ""
+msgstr "Modo en línea"
#. Translators: usage mode of application. Online mode or Local mode available
-#: data/ui/begin_view.ui:85
-#, fuzzy
+#: data/ui/begin-view.ui:85
msgctxt "auth window"
msgid "Local mode"
-msgstr "Uso local"
+msgstr "Modo local"
#. Translators: "Close" window button label
-#: data/ui/begin_view.ui:97
+#: data/ui/begin-view.ui:97
msgctxt "auth window"
msgid "Close"
msgstr "Cerrar"
-#: data/ui/begin_view.ui:112
-#, fuzzy
+#: data/ui/begin-view.ui:112
msgid "Authorization"
msgstr "Autorización"
-#: data/ui/cache_deletion_preferences.ui:20
-msgid "Cache dirs size:"
-msgstr "Tamaño de los dirs de caché:"
+#. Translators: size of cache dirs
+#: data/ui/cache-deletion-preferences.ui:21
+msgid "Dirs size:"
+msgstr "Tamaño de las carpetas temporales:"
#. Translators: tempprary cache folder
-#: data/ui/cache_deletion_preferences.ui:34
-msgid "Temporary"
-msgstr "Temporal"
+#: data/ui/cache-deletion-preferences.ui:35
+msgid "Cache"
+msgstr "Caché"
-#: data/ui/cache_deletion_preferences.ui:84
-#, fuzzy
-msgid "Clear cache"
-msgstr "Limpiar cola de reproducción"
+#: data/ui/cache-deletion-preferences.ui:88
+msgid "Clear"
+msgstr "Limpiar"
#. Translators: temparence cache folder
-#: data/ui/cache_deletion_preferences.ui:105
-msgid "Permanent"
-msgstr "Permanente"
+#: data/ui/cache-deletion-preferences.ui:109
+msgid "Data"
+msgstr "Datos"
-#: data/ui/cache_deletion_preferences.ui:155
-#, fuzzy
-msgid "Move saved"
-msgstr "Contenido guardado"
+#: data/ui/cache-deletion-preferences.ui:159
+msgid "Move to cache"
+msgstr "Mover a la caché"
-#: data/ui/cache_indicator.ui:34
+#: data/ui/cache-deletion-preferences.ui:163
+msgid "Move"
+msgstr "Mover"
+
+#: data/ui/cache-indicator.blp:35
msgid "Show all cache jobs"
-msgstr ""
+msgstr "Mostrar todos los trabajos de la caché"
-#: data/ui/custom_page_preferences.ui:17
+#: data/ui/custom-page-preferences.ui:17
msgid "Title: "
msgstr "Título:"
-#: data/ui/custom_page_preferences.ui:38
+#: data/ui/custom-page-preferences.ui:38
msgid "Icon: "
msgstr "Icono:"
-#: data/ui/custom_page_preferences.ui:75
+#: data/ui/custom-page-preferences.ui:75
msgid "Save page"
msgstr "Guardar página"
-#: data/ui/custom_page_preferences.ui:92
+#: data/ui/custom-page-preferences.ui:92
msgid "Remove page"
msgstr "Eliminar página"
#. Translators: title of preference group
-#: data/ui/custom_pages_preferences.ui:7
+#: data/ui/custom-pages-preferences.ui:7
msgctxt "preference window"
msgid "Custom pages"
msgstr "Páginas personalizadas"
#. Translators: description of preference group
-#: data/ui/custom_pages_preferences.ui:9
+#: data/ui/custom-pages-preferences.ui:9
msgctxt "preference window"
msgid "Here you can control custom pages."
-msgstr "Aquí puedes controlar las páginas personalizadas."
+msgstr "Aquí puede controlar las páginas personalizadas."
-#: data/ui/disliked_tracks_view.ui:23
+#: data/ui/disliked-tracks-view.ui:23
+#: src/widgets/buttons/menu/primary-menu-button.vala:32
msgid "Disliked tracks"
-msgstr "Canciones que no te gustaron"
+msgstr "Canciones que no le gustaron"
-#: data/ui/help-overlay.ui:11
-msgctxt "shortcut window"
+#: data/ui/header-bar.blp:12
+msgid "Go back"
+msgstr "Retroceder"
+
+#: data/ui/header-bar.blp:20
+msgid "Refresh"
+msgstr "Refrescar"
+
+#: data/ui/header-bar.blp:28
+msgid "Yandex Music search"
+msgstr "Búsqueda de Yandex Music"
+
+#: data/ui/help-overlay.blp:11
msgid "Main Actions"
msgstr "Acciones principales"
-#: data/ui/help-overlay.ui:14
-msgctxt "shortcut window"
+#: data/ui/help-overlay.blp:14
msgid "Show Shortcuts"
msgstr "Mostrar atajos"
-#: data/ui/help-overlay.ui:20
-msgctxt "shortcut window"
+#: data/ui/help-overlay.blp:19
msgid "Quit"
msgstr "Salir"
-#: data/ui/help-overlay.ui:28
-msgctxt "shortcut window"
-msgid "Media Control"
+#: data/ui/help-overlay.blp:25
+msgid "Playback Control"
msgstr "Control de medios"
-#: data/ui/help-overlay.ui:31
-msgctxt "shortcut window"
+#: data/ui/help-overlay.blp:28
msgid "Play/Pause playback"
msgstr "Reproducir/pausar reproducción"
-#: data/ui/help-overlay.ui:37
-msgctxt "shortcut window"
+#: data/ui/help-overlay.blp:33 data/ui/player-bar.blp:87
msgid "Play previous track"
-msgstr "Reproducir canción anterior"
+msgstr "Reproducir la canción anterior"
-#: data/ui/help-overlay.ui:43
-msgctxt "shortcut window"
+#: data/ui/help-overlay.blp:38 data/ui/player-bar.blp:119
msgid "Play next track"
-msgstr "Reproducir siguiente canción"
+msgstr "Reproducir la siguiente canción"
-#: data/ui/help-overlay.ui:51
-msgctxt "shortcut window"
+#: data/ui/help-overlay.blp:43
+msgid "Mute app"
+msgstr "Silenciar la aplicación"
+
+#: data/ui/help-overlay.blp:49
msgid "Queue control"
msgstr "Control de colas"
-#: data/ui/help-overlay.ui:54
-#, fuzzy
-msgctxt "shortcut window"
+#: data/ui/help-overlay.blp:52 data/ui/player-bar.blp:141
msgid "Change shuffle mode"
-msgstr "Cambiar al modo aleatorio"
+msgstr "Cambiar modo aleatorio"
-#: data/ui/help-overlay.ui:60
-#, fuzzy
-msgctxt "shortcut window"
+#: data/ui/help-overlay.blp:57 data/ui/player-bar.blp:65
msgid "Change repeat mode"
-msgstr "Cambiar al modo de repetición"
+msgstr "Cambiar modo de repetición"
-#: data/ui/info_marks.ui:23
+#: data/ui/help-overlay.blp:63
+msgid "Other"
+msgstr "Otro"
+
+#: data/ui/help-overlay.blp:66
+msgid "Share current track"
+msgstr "Compartir la canción actual"
+
+#: data/ui/help-overlay.blp:71
+msgid "Parse url from clipboard"
+msgstr "Analizar URL desde el portapapeles"
+
+#: data/ui/info-marks.ui:23
msgid "Explicit content"
msgstr "Contenido explícito"
-#: data/ui/info_marks.ui:32
+#: data/ui/info-marks.ui:32
msgid "Child content"
msgstr "Contenido para apto para niños"
-#: data/ui/main_window.blp:108
-msgid "Connection problems"
-msgstr "Problemas de conexión"
+#: data/ui/main-view.blp:6
+msgid "Page under construction"
+msgstr "Página en construcción"
-#: data/ui/main_window.blp:145
-msgid "Parse URL from clipboard"
-msgstr "Analizar URL desde el portapapeles"
+#: data/ui/main-view.blp:20
+msgid "All stations"
+msgstr "Todas las emisoras"
-#: data/ui/main_window.blp:148
-msgid "Preferences"
-msgstr "Preferencias"
+#: data/ui/no-plus-dialog.blp:20
+msgid "No Plus Subscription"
+msgstr "No tiene una suscripción a Plus"
-#: data/ui/main_window.blp:149
-msgid "Keyboard Shortcuts"
-msgstr "Atajos de teclado"
+#: data/ui/no-plus-dialog.blp:21
+msgid ""
+"To avoid problems with Yandex, the online functions of the application are "
+"not available without a Yandex.Plus subscription. Thanks for understanding."
+msgstr ""
+"Para evitar problemas con Yandex, las funcionalidades en línea de la "
+"aplicación no están disponibles sin una suscripción a Yandex.Plus. Gracias "
+"por comprender."
-#: data/ui/main_window.blp:150
-msgid "About Cassette"
-msgstr "Sobre Cassette"
+#: data/ui/no-plus-dialog.blp:41
+msgid "Get Plus"
+msgstr "Obtener Plus"
-#: data/ui/main_window.blp:155
-msgid "Open in browser"
-msgstr "Abrir en el navegador web"
-
-#: data/ui/main_window.blp:156
-msgid "Account info"
-msgstr "Información de la cuenta"
-
-#: data/ui/player_bar.blp:22
-#, fuzzy
+#: data/ui/player-bar.blp:22
msgid "Show track info"
-msgstr "Información de la canción"
+msgstr "Mostrar información de la canción"
-#: data/ui/player_bar.blp:86
-#, fuzzy
-msgid "Change shuffle mode"
-msgstr "Cambiar al modo aleatorio"
+#: data/ui/player-bar.blp:206
+msgid "Show wave settings"
+msgstr "Mostrar configuración de ondas"
-#: data/ui/player_bar.blp:98
-#, fuzzy
-msgid "Play previous track"
-msgstr "Reproducir canción anterior"
-
-#: data/ui/player_bar.blp:124
-#, fuzzy
-msgid "Play next track"
-msgstr "Reproducir siguiente canción"
-
-#: data/ui/player_bar.blp:137
-#, fuzzy
-msgid "Change repeat mode"
-msgstr "Cambiar al modo de repetición"
-
-#: data/ui/player_bar.blp:218
-#, fuzzy
+#: data/ui/player-bar.blp:216
msgid "Show playback queue"
-msgstr "Cola de reproducción"
+msgstr "Mostrar cola de reproducción"
-#: data/ui/player_bar.blp:229
+#: data/ui/player-bar.blp:229
msgid "Change volume"
msgstr "Modificar volumen"
-#: data/ui/playlist_choose_window.ui:8
-msgid "Choose playlist to add"
-msgstr "Elige la lista de reproducción a la que deseas añadir"
+#: data/ui/player-queue.blp:5 src/application.vala:272
+msgid "Playing now"
+msgstr "Reproduciendo ahora"
-#: data/ui/playlist_create_button.ui:36
+#: data/ui/playlist-choose-dialog.ui:8
+msgid "Choose playlist to add"
+msgstr "Elija la lista de reproducción que quiere añadir"
+
+#: data/ui/playlist-create-button.ui:36
msgid "Create playlist"
msgstr "Crear lista de reproducción"
-#: data/ui/playlist_micro.ui:140
-msgid "Start playlist"
-msgstr "Reproducir lista de reproducción"
+#: data/ui/playlist-micro.ui:39 data/ui/playlist-view.ui:56
+#: src/widgets/cache-indicator/job-info-badge.vala:43
+#: src/widgets/save-stack.vala:57 src/widgets/views/abstract-cachiable.vala:168
+msgid "Playlist"
+msgstr "Lista de reproducción"
-#: data/ui/playlist_micro.ui:156
-msgid "Add playlist to queue"
-msgstr "Añadir lista de reproducción a la cola"
-
-#: data/ui/playlist_row.ui:37
+#: data/ui/playlist-row.ui:40
msgid "Empty"
msgstr "Vacío"
-#: data/ui/playlist_view.ui:145
-msgid "Play"
-msgstr "Reproducir"
+#: data/ui/playlists-view.ui:23
+msgid "Your playlists"
+msgstr "Sus listas de reproducción"
-#: data/ui/playlist_view.ui:161
+#: data/ui/playlists-view.ui:39
+msgid "Also you liked these playlists"
+msgstr "También le gustaron estas listas de reproducción"
+
+#: data/ui/playlist-view.ui:187
msgid "Change playlist visibility"
msgstr "Cambiar la visibilidad de las listas de reproducción"
-#: data/ui/playlist_view.ui:183
+#: data/ui/playlist-view.ui:211
msgid "Add page to header"
msgstr "Añadir página al encabezado"
+#. Translators: tooltip of "save" button
+#: data/ui/playlist-view.ui:233 data/ui/playlist-view.ui:237
+#: src/widgets/buttons/menu/track-options-button.vala:83
+#: src/widgets/buttons/menu/track-options-button.vala:108
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:39
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:50
+#: src/widgets/buttons/menu/track-queue-options-button.vala:73
+#: src/widgets/buttons/menu/track-queue-options-button.vala:103
+msgid "Save"
+msgstr "Guardar"
+
+#. Translators: tooltip of "delete" button
+#: data/ui/playlist-view.ui:256 data/ui/playlist-view.ui:260
+#: src/widgets/preferences/cache-deletion-preferences.vala:97
+#: src/widgets/preferences/preferences-dialog.vala:141
+#: src/widgets/views/playlist.vala:91
+msgid "Delete"
+msgstr "Eliminar"
+
#. Translators: tooltip of "abort" button
-#: data/ui/playlist_view.ui:248
+#: data/ui/playlist-view.ui:276
msgid "Abort"
msgstr "Abortar"
-#: data/ui/playlist_view.ui:252
+#: data/ui/playlist-view.ui:280
msgid "Stop"
msgstr "Parar"
-#: data/ui/playlists_view.ui:23
-msgid "Your playlists"
-msgstr "Tus listas de reproducción"
-
-#: data/ui/playlists_view.ui:39
-msgid "Also you liked this playlists"
-msgstr "También te gustaron estas listas de reproducción"
-
-#: data/ui/preferences_window.ui:8
-#, fuzzy
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:8
+msgctxt "preference dialog"
msgid "Main"
msgstr "Principal"
-#. Translators: title of preference group
-#: data/ui/preferences_window.ui:13
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:12
+msgctxt "preference dialog"
msgid "General"
msgstr "General"
-#. Translators: title of preference
-#: data/ui/preferences_window.ui:17
-msgctxt "preference window"
-msgid "Max active threads"
-msgstr "Número máximo de hilos activos"
+#: data/ui/preferences-dialog.ui:15
+msgctxt "preference dialog"
+msgid "Enable high quality audio"
+msgstr "Activar sonido de alta calidad"
-#. Translators: tooltip of preference
-#: data/ui/preferences_window.ui:19
-msgctxt "preference window"
-msgid ""
-"The maximum number of threads for content loading. A large value can affect "
-"the performance of the system. The changes will take effect after restarting "
-"the application."
-msgstr ""
-"El número máximo de hilos para la carga de contenidos. Un valor grande puede "
-"afectar al rendimiento del sistema. Los cambios surtirán efecto tras "
-"reiniciar la aplicación."
-
-#. Translators: title of preference
-#: data/ui/preferences_window.ui:34
-msgctxt "preference window"
-msgid "Try to load queue every window activation"
-msgstr "Intenta cargar la cola cada vez que se activa una ventana"
-
-#. Translators: tooltip of preference
-#: data/ui/preferences_window.ui:36
-msgctxt "preference window"
-msgid ""
-"Every time it is expanded or the focus changes from another window queue "
-"will loaded from the device on which you listened to music last time."
-msgstr ""
-"Cada vez que se expanda o el foco cambie de otra ventana se cargará la cola "
-"del dispositivo en el que escuchaste música la última vez."
-
-#. Translators: title of preference
-#: data/ui/preferences_window.ui:42
-#, fuzzy
-msgctxt "preference window"
-msgid "Download high quality tracks"
-msgstr "Descargar cancioones de alta calidad"
-
-#. Translators: tooltip of preference
-#: data/ui/preferences_window.ui:44
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:16
+msgctxt "preference dialog"
msgid ""
"Attention! If the track was downloaded in low quality, and after the "
"download is enabled in high quality, the audio will not be reloaded"
@@ -596,143 +459,165 @@ msgstr ""
"¡Atención! Si la pista se descargó en baja calidad, y después de la descarga "
"se activa en alta calidad, el audio no se volverá a cargar"
-#. Translators: title of preference
-#: data/ui/preferences_window.ui:50
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:21
+msgctxt "preference dialog"
msgid "Add track on top of playlist"
msgstr "Añadir canción al principio de la lista de reproducción"
-#. Translators: tooltip of preference
-#: data/ui/preferences_window.ui:52
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:22
+msgctxt "preference dialog"
msgid "Will the track be added to the playlist as the first or as the last"
msgstr ""
"La pista se añadirá a la lista de reproducción como la primera o como la "
"última"
-#. Translators: title of preference group
-#: data/ui/preferences_window.ui:60
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:27
+msgctxt "preference dialog"
+msgid "Show 'Playing now' notification"
+msgstr "Mostrar una notificación de «reproduciendo ahora»"
+
+#: data/ui/preferences-dialog.ui:28
+msgctxt "preference dialog"
+msgid "Show a notification when switching a track"
+msgstr "Mostrar una notificación cuando se cambia de canción"
+
+#: data/ui/preferences-dialog.ui:35
+msgctxt "preference dialog"
msgid "Show additional marks"
msgstr "Mostrar marcas adicionales"
-#. Translators: title of preference
-#: data/ui/preferences_window.ui:64
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:36
+msgctxt "preference dialog"
+msgid "Additional marks display additional information about the track"
+msgstr "Marcas adicionales muestran información adicional sobre la canción"
+
+#: data/ui/preferences-dialog.ui:39
+msgctxt "preference dialog"
msgid "Show save mark"
-msgstr "Mostrar marca de guardado"
+msgstr "Mostrar marca de guardada"
-#. Translators: tooltip of preference
-#: data/ui/preferences_window.ui:66
-msgctxt "preference window"
-msgid "Show a mark showing the current state of the track cache"
+#: data/ui/preferences-dialog.ui:40
+msgctxt "preference dialog"
+msgid "Show a label with information about the caching status of the track"
msgstr ""
-"Muestra una marca que indica el estado actual de la caché de la canción"
+"Muestra una etiqueta que indica el estado actual de la caché de la canción"
-#. Translators: title of preference
-#: data/ui/preferences_window.ui:72
-msgctxt "preference window"
-msgid "Show temp save mark"
-msgstr "Mostrar marca de guardado temporal"
+#: data/ui/preferences-dialog.ui:45
+msgctxt "preference dialog"
+msgid "Show cache mark"
+msgstr "Mostrar marca de la caché"
-#. Translators: tooltip of preference
-#: data/ui/preferences_window.ui:74
-msgctxt "preference window"
-msgid ""
-"Show a mark indicating that the track has been saved to temporary storage"
-msgstr ""
-"Muestra una marca que indica que la canción se ha guardado en el "
-"almacenamiento temporal"
+#: data/ui/preferences-dialog.ui:46
+msgctxt "preference dialog"
+msgid "Show a mark about saving a track to the cache"
+msgstr "Muestra una marca sobre guardar la canción a la caché"
-#. Translators: title of preference
-#: data/ui/preferences_window.ui:80
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:51
+msgctxt "preference dialog"
msgid "Show replaced mark"
msgstr "Mostrar marca sustituida"
-#. Translators: tooltip of preference
-#: data/ui/preferences_window.ui:82
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:52
+msgctxt "preference dialog"
msgid "Show a mark that shows that the track has been replaced"
-msgstr "Mostrar una marca que indique que la vía ha sido sustituida"
+msgstr "Mostrar una marca que indique que se ha sustituido la canción"
-#. Translators: title of preference group
-#: data/ui/preferences_window.ui:90
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:59
+msgctxt "preference dialog"
msgid "Tracks visibility"
msgstr "Visibilidad de las canciones"
-#. Translators: description of preference group
-#: data/ui/preferences_window.ui:92
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:60
+msgctxt "preference dialog"
msgid ""
"Show special tracks in track lists. Filter doesn't work when searching in "
"track list"
msgstr ""
"Mostrar canciones especiales en las listas de reproducción. El filtro no "
-"funciona al buscar en la lista de reproducción."
+"funciona al buscar en la lista de reproducción"
-#. Translators: title of preference
-#: data/ui/preferences_window.ui:96
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:63
+msgctxt "preference dialog"
msgid "Show unavailable content"
msgstr "Mostrar contenido no disponible"
-#. Translators: tooltip of preference
-#: data/ui/preferences_window.ui:98
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:64
+msgctxt "preference dialog"
msgid ""
"Show tracks that are not available in the service. You can't listen to them"
msgstr ""
"Mostrar canciones que no están disponibles en el servicio. No se pueden "
"escuchar"
-#. Translators: title of preference
-#: data/ui/preferences_window.ui:104
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:69
+msgctxt "preference dialog"
msgid "Show content suitable for children"
msgstr "Mostrar contenido apto para niños"
-#. Translators: title of preference
-#: data/ui/preferences_window.ui:110
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:70
+msgctxt "preference dialog"
+msgid "Show content that is specific to children"
+msgstr "Mostrar contenido específico para niños"
+
+#: data/ui/preferences-dialog.ui:75
+msgctxt "preference dialog"
msgid "Show explicit content"
-msgstr "Mostrar contenido explícito (NSFW)"
+msgstr "Mostrar contenido explícito"
-#: data/ui/preferences_window.ui:117
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:76
+msgctxt "preference dialog"
+msgid "Show content that has age restrictions"
+msgstr "Mostrar contenido con restricción de edad"
+
+#: data/ui/preferences-dialog.ui:83
+msgctxt "preference dialog"
msgid "Other"
-msgstr ""
+msgstr "Otro"
-#: data/ui/preferences_window.ui:120
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:86
+msgctxt "preference dialog"
msgid "Enable Debug-Mode"
-msgstr ""
+msgstr "Activar modo de depuración"
-#: data/ui/preferences_window.ui:127
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:87
+msgctxt "preference dialog"
+msgid "Enable logging of additional information useful for error detection"
+msgstr "Registrar información adicional útil para detectar errores"
+
+#: data/ui/preferences-dialog.ui:94
+msgctxt "preference dialog"
msgid "Experimental"
-msgstr ""
+msgstr "Experimental"
-#: data/ui/preferences_window.ui:130
-msgctxt "preference window"
-msgid "Force enable mobile mode"
+#: data/ui/preferences-dialog.ui:95
+msgctxt "preference dialog"
+msgid "Parameters that test anything and may be removed in future releases"
msgstr ""
+"Parámetros que prueban cualquier cosa y que pueden ser eliminados en futuras "
+"versiones"
-#: data/ui/preferences_window.ui:139
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:98
+msgctxt "preference dialog"
+msgid "Use only bottom sheet menus"
+msgstr "Usar sólo menús de la hoja inferior"
+
+#: data/ui/preferences-dialog.ui:99
+msgctxt "preference dialog"
+msgid "Test preference for bottom sheet menu"
+msgstr "Preferencia de prueba para el menú de la hoja inferior"
+
+#: data/ui/preferences-dialog.ui:108
+msgctxt "preference dialog"
msgid "Pages"
-msgstr ""
+msgstr "Páginas"
-#. Translators: title of preference group
-#: data/ui/preferences_window.ui:144
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:112
+msgctxt "preference dialog"
msgid "Static pages"
msgstr "Páginas estáticas"
-#. Translators: description of preference group
-#: data/ui/preferences_window.ui:146
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:113
+msgctxt "preference dialog"
msgid ""
"Here you can show or hide static pages. They will always be displayed on the "
"left side of the header."
@@ -740,194 +625,267 @@ msgstr ""
"Aquí puedes mostrar u ocultar las páginas estáticas. Siempre se mostrarán a "
"la izquierda del encabezado."
-#. Translators: title of preference. Main page is page of Ya.Music with trending, recommendation etc
-#: data/ui/preferences_window.ui:150
-msgctxt "preference window"
-msgid "Show \"Main\" page"
+#: data/ui/preferences-dialog.ui:116
+msgctxt "preference dialog"
+msgid "Show 'Main' page"
msgstr "Mostrar página «Principal»"
-#. Translators: title of preference. Main page is page of Ya.Music with liked tracks
-#: data/ui/preferences_window.ui:156
-msgctxt "preference window"
-msgid "Show \"Liked\" page"
+#: data/ui/preferences-dialog.ui:121
+msgctxt "preference dialog"
+msgid "Show 'Liked' page"
msgstr "Mostrar página «Canciones que me gustan»"
-#. Translators: title of preference. Main page is page of Ya.Music with users playlists
-#: data/ui/preferences_window.ui:162
-msgctxt "preference window"
-msgid "Show \"Playlists\" page"
+#: data/ui/preferences-dialog.ui:126
+msgctxt "preference dialog"
+msgid "Show 'Playlists' page"
msgstr "Mostrar página «Listas de reproducción»"
-#. Translators: Cache preference
-#: data/ui/preferences_window.ui:175
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:138
+msgctxt "preference dialog"
msgid "Cache"
-msgstr ""
+msgstr "Caché"
-#. Translators: title of preference group
-#: data/ui/preferences_window.ui:180
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:142
+msgctxt "preference dialog"
msgid "Cache managing"
-msgstr "Gestión de la caché"
+msgstr "Gestiónar la caché"
-#. Translators: description of preference group
-#: data/ui/preferences_window.ui:182
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:143
+msgctxt "preference dialog"
msgid ""
-"Here you can see application memory usage, delete all cache from temp folder "
-"and control downloading cache to disk"
+"Here you can see application memory usage, delete all cache from cache "
+"folder and control downloading cache to disk"
msgstr ""
"Aquí puedes ver el uso de memoria de la aplicación, borrar toda la caché de "
"la carpeta temporal y controlar la descarga de la caché al disco."
-#. Translators: title of preference
-#: data/ui/preferences_window.ui:186
-msgctxt "preference window"
-msgid ""
-"Cache content for better performance (Over time, it starts to take up a lot "
-"of space. So far, manual cleaning is required)"
-msgstr ""
+#: data/ui/preferences-dialog.ui:146
+msgctxt "preference dialog"
+msgid "Cache content"
+msgstr "Contenido de la caché"
-#. Translators: tooltip of preference
-#: data/ui/preferences_window.ui:188
-msgctxt "preference window"
+#: data/ui/preferences-dialog.ui:147
+msgctxt "preference dialog"
msgid ""
-"If enabled, the application will cache all content in /var/tmp/cassette for "
-"better performance, otherwise, the application will load content only when "
-"caching objects (such as playlists or albums). Disabling the parameter does "
-"not delete already downloaded content"
+"For better performance. Over time, it starts to take up a lot of space. So "
+"far, manual cleaning is required. If enabled, the application will cache all "
+"content to cache dir for better performance, otherwise, the application will "
+"load content only when caching objects (such as playlists or albums). "
+"Disabling the parameter does not delete already downloaded content"
msgstr ""
-"Si se activa, la aplicación almacenará en caché todo el contenido en /var/"
-"tmp/cassette para mejorar el rendimiento; de lo contrario, la aplicación "
-"cargará el contenido sólo cuando almacene en caché objetos (como listas de "
-"reproducción o álbumes). La desactivación del parámetro no elimina el "
-"contenido ya descargado."
+"Para un mejor rendimiento. Con el tiempo, empieza a ocupar mucho espacio. "
+"Hasta ahora, se requiere limpieza manual. Si está activado, la aplicación "
+"almacenará en caché todo el contenido en la carpeta de caché para obtener un "
+"mejor rendimiento; de lo contrario, la aplicación cargará contenido solo "
+"cuando almacene en caché objetos (como listas de reproducción o álbumes). "
+"Desactivar el parámetro no elimina el contenido ya descargado"
-#: data/ui/save_stack.ui:25
+#: data/ui/save-stack.ui:25
msgid "Content saving…"
msgstr "Ahorro de contenidos…"
-#: data/ui/save_stack.ui:42
-msgid "Content saved to temp folder"
-msgstr "Contenido guardado en carpeta temporal"
+#: data/ui/save-stack.ui:42
+msgid "Content cached"
+msgstr "Contenido en la caché"
-#: data/ui/save_stack.ui:56
+#: data/ui/save-stack.ui:56
msgid "Content saved"
msgstr "Contenido guardado"
-#: data/ui/track_detailed.blp:91
-#, fuzzy
-msgid "Track lyrics"
-msgstr "Lista de canciones"
+#: data/ui/stations-view.blp:22
+msgid "Stations dashboard"
+msgstr "Panel de emisoras"
-#: data/ui/track_detailed.blp:105
+#: data/ui/stations-view.blp:58
+msgid "Searching for station…"
+msgstr "Buscando por emisora…"
+
+#: data/ui/stations-view.blp:77
+msgid "By genre…"
+msgstr "Por género…"
+
+#: data/ui/stations-view.blp:99 data/ui/wave-settings.blp:60
+msgid "By mood…"
+msgstr "Por estado de ánimo…"
+
+#: data/ui/stations-view.blp:121 data/ui/wave-settings.blp:25
+msgid "By activity…"
+msgstr "Por actividad…"
+
+#: data/ui/stations-view.blp:143
+msgid "By epoch…"
+msgstr "Por la época…"
+
+#: data/ui/stations-view.blp:165
+msgid "Other…"
+msgstr "Otro…"
+
+#: data/ui/stations-view.blp:209
+msgid "No stations with that name were found"
+msgstr "No se encontraron emisoras con ese nombre"
+
+#: data/ui/track-info.blp:103
+msgid "Track lyrics"
+msgstr "Letras de la canción"
+
+#: data/ui/track-info.blp:117
msgid "Authors"
msgstr "Autores"
-#: data/ui/track_detailed.blp:123
+#: data/ui/track-info.blp:135
msgid "Source"
msgstr "Fuente"
-#: data/ui/track_detailed.blp:146
-#, fuzzy
+#: data/ui/track-info.blp:158
msgid "Similar tracks"
-msgstr "Buscar canción"
+msgstr "Canciones similares"
-#. Translators: now PLAYING
-#: data/ui/track_list.ui:24
-msgid "PLAYING "
-msgstr "REPRODUCIENDO"
-
-#. Translators: placeholder of "search" entry. Local track search (inside of track lsit)
-#: data/ui/track_list.ui:60
+#. Translators: placeholder of "search" entry. Local track search (inside of track list)
+#: data/ui/track-list.ui:21
msgid "Search track"
msgstr "Buscar canción"
#. Translators: part of sort by
-#: data/ui/track_list.ui:69
+#: data/ui/track-list.ui:30
msgid "Sort by"
msgstr "Filtrar por"
-#: data/ui/track_list.ui:116
+#: data/ui/track-list.ui:77
msgid "No tracks to display"
msgstr "No hay canciones que mostrar"
-#: data/ui/track_list.ui:127
+#: data/ui/track-list.ui:88
msgid "name"
msgstr "nombre"
-#: data/ui/track_list.ui:131
+#: data/ui/track-list.ui:92
msgid "artist"
msgstr "artista"
-#: data/ui/track_list.ui:135
+#: data/ui/track-list.ui:96
msgid "album"
msgstr "álbum"
-#: data/ui/track_list.ui:139
+#: data/ui/track-list.ui:100
msgid "duration"
msgstr "duración"
-#: src/application.vala:211
-msgid "Arseniy Nechkin "
-msgstr "Arseniy Nechkin "
+#: data/ui/track-placeholder.ui:9 src/widgets/pages/loading-page.vala:38
+msgid "Loading…"
+msgstr "Cargando…"
+
+#: data/ui/wave-settings.blp:42
+msgid "By diversity…"
+msgstr "Por diversidad…"
+
+#: data/ui/wave-settings.blp:78
+msgid "By language…"
+msgstr "Por lenguaje…"
+
+#: data/ui/wave-settings.blp:93
+msgid "Can't get wave settings"
+msgstr "No se puede obtener la configuración de onda"
+
+#: data/ui/window.blp:57 src/window.vala:253
+msgid "Reconnect"
+msgstr "Reconectar"
+
+#: data/ui/window.blp:58 src/application.vala:152
+msgid "Connection problems"
+msgstr "Problemas de conexión"
#. Translators: NAME /n NAME
-#: src/application.vala:228
+#: src/about.vala:60
msgid "translator-credits"
msgstr "Sergio Varela https://ingrownmink4.codeberg.page"
-#: src/application.vala:236
+#: src/about.vala:68
msgid "Telegram channel"
msgstr "Canal de Telegram"
-#: src/application.vala:237
-msgid "Financial support"
-msgstr ""
+#: src/about.vala:69
+msgid "Financial support (Tinkoff)"
+msgstr "Soporte financiero (Tinkoff)"
-#: src/authenticator.vala:50
+#: src/about.vala:70
+msgid "Financial support (Boosty)"
+msgstr "Soporte financiero (Boosty)"
+
+#. Please keep alphabetical
+#: src/about.vala:73
+msgid "Sponsors"
+msgstr "Patrocinadores"
+
+#: src/application.vala:63
+msgid "Print version information and exit"
+msgstr "Mostrar información de la versión y salir"
+
+#: src/application.vala:146
+msgid "Connection restored"
+msgstr "Conexión restablecida"
+
+#: src/application.vala:274
+msgid "Previous"
+msgstr "Anterior"
+
+#: src/application.vala:275
+msgid "Next"
+msgstr "Siguiente"
+
+#: src/application.vala:358
+msgid "Current track can not be copied to the clipboard"
+msgstr "La canción actual no se puede copiar al portapapeles"
+
+#: src/application.vala:372 src/application.vala:379 src/application.vala:436
+msgid "Can't parse clipboard content"
+msgstr "No se pudo analizar el contenido del portapapeles"
+
+#: src/application.vala:390
+msgid "Users view not implemented yet"
+msgstr "La vista de usuarios aún no está implementada"
+
+#: src/application.vala:406 src/application.vala:420
+msgid "Albums view not implemented yet"
+msgstr "La vista de álbumes aún no está implementada"
+
+#: src/authenticator.vala:47
msgid "Log out?"
msgstr "¿Cerrar sesión?"
-#: src/authenticator.vala:51
+#: src/authenticator.vala:48
msgid "You will need to log in again to use the app"
msgstr "Tendrás que volver a iniciar sesión para utilizar la aplicación."
#. Translators: cancel of deleting playlist
-#: src/authenticator.vala:54
-#: src/widgets/preferences/cache_deletion_preferences.vala:99
-#: src/widgets/preferences/preferences_window.vala:121
-#: src/widgets/views/playlist_view.vala:114
+#: src/authenticator.vala:51
+#: src/widgets/preferences/cache-deletion-preferences.vala:96
+#: src/widgets/preferences/preferences-dialog.vala:140
+#: src/widgets/views/playlist.vala:90
msgid "Cancel"
msgstr "Cancelar"
-#: src/authenticator.vala:55
-msgid "Log out"
-msgstr "Cerrar sesión"
-
-#: src/authenticator.vala:95
-#: src/widgets/preferences/cache_deletion_preferences.vala:133
+#: src/authenticator.vala:98
+#: src/widgets/preferences/cache-deletion-preferences.vala:130
msgid "Moving…"
msgstr "Moviendo…"
#. Translators: Playlist with liked tracks
-#: src/client/api/objects/playlist/playlist.vala:52
-#: src/client/api/objects/playlist/playlist.vala:102 src/pager.vala:269
-#: src/widgets/sidebar.vala:138
+#: src/client/api/objects/playlist/playlist.vala:50
+#: src/client/api/objects/playlist/playlist.vala:100 src/pager.vala:277
msgid "Liked"
msgstr "Lista de canciones que te gustan"
#. Translators: Playlist that updates every day
-#: src/client/api/objects/playlist/playlist.vala:56
+#: src/client/api/objects/playlist/playlist.vala:54
msgid "Daily"
msgstr "Diario"
#. Translators: Unknown playlist
-#: src/client/api/objects/playlist/playlist.vala:60
+#: src/client/api/objects/playlist/playlist.vala:58
msgid "Unknown"
msgstr "Desconocido"
-#: src/client/cachier/storager.vala:129
+#: src/client/cachier/storager.vala:125
#, c-format
msgid "Database was initialized, loc - %s"
msgstr "Se ha inicializado la base de datos, loc - %s"
@@ -972,436 +930,639 @@ msgstr[1] "Terabytes"
#: src/client/cachier/storager.vala:860
#, c-format
-msgid "Error while getting temporary dir size. Message %s"
-msgstr "Error al obtener el tamaño del directorio temporal. Mensaje %s"
+msgid "Error while getting cache directory size. Message %s"
+msgstr "Error al obtener el tamaño del directorio de la caché. Mensaje %s"
#: src/client/cachier/storager.vala:895
#, c-format
-msgid "Error while getting permanent dir size. Message %s"
+msgid "Error while getting permanent directory size. Message %s"
msgstr "Error al obtener el tamaño del directorio permanente. Mensaje %s"
-#: src/client/jsoner.vala:199 src/client/jsoner.vala:294
-#: src/client/jsoner.vala:307
+#: src/client/jsoner.vala:358 src/client/jsoner.vala:419
+#: src/client/jsoner.vala:526 src/client/jsoner.vala:550
#, c-format
msgid "Wrong type: expected %s, got %s"
msgstr "Tipo incorrecto: se esperaba %s, se obtuvo %s"
-#: src/client/player/player_track_list.vala:257
+#: src/client/player/mods/abstract-mode.vala:92
msgid "Problems with queue"
msgstr "Problemas con la cola"
#. Translators: name of new created playlist
-#: src/client/talkers/yam_talker.vala:462
+#: src/client/talkers/yam-talker.vala:628
msgid "New Playlist"
msgstr "Nueva lista de reproducción"
-#: src/main.vala:26
-msgid "Cassette"
-msgstr "Cassette"
-
-#: src/main_window.vala:180
-#, c-format
-msgid "Error while opening uri: %s"
-msgstr "Error al abrir uri: %s"
-
-#: src/main_window.vala:217
-msgid "Connection restored"
-msgstr "Conexión restablecida"
-
-#: src/main_window.vala:301
-#, c-format
-msgid "Window info message: %s"
-msgstr "Mensaje de información de la ventana: %s"
-
-#: src/main_window.vala:316
-msgid "Reconnect"
-msgstr ""
-
-#: src/main_window.vala:345 src/main_window.vala:396
-msgid "Can't parse clipboard content"
-msgstr "No se pudo analizar el contenido del portapapeles"
-
-#: src/main_window.vala:361
-msgid "Users view not implemented yet"
-msgstr "La vista de usuarios aún no está implementada"
-
-#: src/main_window.vala:377 src/main_window.vala:391
-msgid "Albums view not implemented yet"
-msgstr "La vista de álbumes aún no está implementada"
-
-#: src/pager.vala:164
+#: src/pager.vala:163
#, c-format
msgid "Can't set title \"%s\" to page"
msgstr "No se puede poner el título \"%s\" a la página"
-#: src/pager.vala:175
+#: src/pager.vala:174
#, c-format
msgid "Can't set icon with name \"%s\" to page"
msgstr "No se puede establecer el icono con el nombre \"%s\" en la página"
-#: src/pager.vala:201
+#: src/pager.vala:200
msgid "Reached max page count"
msgstr "Número máximo de páginas alcanzado"
-#: src/pager.vala:207
-#, fuzzy, c-format
+#: src/pager.vala:206
+#, c-format
msgid "Page '%s' already added"
-msgstr "Página %s ya añadida"
+msgstr "Página «%s» ya fue añadida"
-#: src/pager.vala:260
+#: src/pager.vala:268
msgid "Main"
msgstr "Principal"
-#: src/pager.vala:279
+#: src/pager.vala:287
msgid "Playlists"
msgstr "Listas de reproducción"
-#: src/pager.vala:304
+#: src/pager.vala:312
#, c-format
-msgid "Can't read pages file. Messsage: %s"
+msgid "Can't read pages file. Message: %s"
msgstr "No se puede leer el archivo de páginas. Mensaje: %s"
-#: src/pager.vala:324
+#: src/pager.vala:332
#, c-format
-msgid "Can't create pages file. Messsage: %s"
+msgid "Can't create pages file. Message: %s"
msgstr "No se puede crear el archivo de páginas. Mensaje: %s"
-#: src/utils.vala:42
+#: src/utils.vala:70
msgid "Not implemented yet"
msgstr "No implementado aún"
-#: src/utils.vala:45
-#, fuzzy
+#: src/utils.vala:77
msgid "Need authorization"
msgstr "Necesita autorización"
-#: src/utils.vala:48
-msgid "Need Plus subscription"
-msgstr "Necesitas una suscripción Plus"
+#: src/utils.vala:81
+msgid "Need Bookmate subscription"
+msgstr "Necesita una suscripción a Bookmate"
-#: src/utils.vala:84 src/utils.vala:93
+#: src/utils.vala:177 src/utils.vala:193
msgid "Link copied to clipboard"
msgstr "Enlace copiado al portapapeles"
-#: src/utils.vala:131
+#: src/utils.vala:242
#, c-format
msgid "Duration: %s h. %s min."
msgstr "Duración: %s h. %s min."
-#: src/utils.vala:133
+#: src/utils.vala:244
#, c-format
msgid "Duration: %s min."
msgstr "Duración: %s min."
-#: src/utils.vala:194
+#: src/utils.vala:358
msgid "today"
msgstr "hoy"
-#: src/utils.vala:196
+#: src/utils.vala:360
msgid "yesterday"
msgstr "ayer"
-#: src/widgets/cache_indicator/job_info_badge.vala:45
-#: src/widgets/save_stack.vala:57 src/widgets/views/cachiable_view.vala:165
-msgid "Playlist"
-msgstr "Lista de reproducción"
+#: src/widgets/buttons/just/dislike-button.vala:38
+msgid "Remove dislike"
+msgstr "Eliminar «No me gusta»"
-#: src/widgets/cache_indicator/job_info_badge.vala:47
-#: src/widgets/save_stack.vala:53 src/widgets/views/cachiable_view.vala:173
+#: src/widgets/buttons/just/dislike-button.vala:41
+msgid "Set dislike"
+msgstr "Marcar como «No me gusta»"
+
+#: src/widgets/buttons/just/like-button.vala:42
+msgid "Remove like"
+msgstr "Eliminar «Me gusta»"
+
+#: src/widgets/buttons/just/like-button.vala:49
+msgid "Set like"
+msgstr "Marcar como «Me gusta»"
+
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:38
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:41
+msgid "Pause"
+msgstr "Pausar"
+
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:45
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:48
+msgid "Play"
+msgstr "Reproducir"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:49
+#, c-format
+msgid "Playlist '%s'"
+msgstr "Listas de reproducción «%s»"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:54
+#: src/widgets/buttons/menu/playlist-options-button.vala:67
+msgid "My Vibe by playlist"
+msgstr "Mis vibras por listas de reproducción"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:55
+#: src/widgets/buttons/menu/playlist-options-button.vala:77
+#: src/widgets/buttons/menu/track-options-button.vala:81
+#: src/widgets/buttons/menu/track-options-button.vala:106
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:36
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:47
+#: src/widgets/buttons/menu/track-queue-options-button.vala:70
+#: src/widgets/buttons/menu/track-queue-options-button.vala:100
+msgid "Add to queue"
+msgstr "Añadir a la cola de reproducción"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:56
+#: src/widgets/buttons/menu/playlist-options-button.vala:78
+#: src/widgets/buttons/menu/track-options-button.vala:84
+#: src/widgets/buttons/menu/track-options-button.vala:109
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:40
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:51
+#: src/widgets/buttons/menu/track-queue-options-button.vala:74
+#: src/widgets/buttons/menu/track-queue-options-button.vala:104
+msgid "Share"
+msgstr "Compartir"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:27
+msgid "Primary menu"
+msgstr "Menú principal"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:33
+msgid "Parse URL from clipboard"
+msgstr "Analizar URL desde el portapapeles"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:34
+msgid "Preferences"
+msgstr "Preferencias"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:35
+msgid "Keyboard Shortcuts"
+msgstr "Atajos de teclado"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:36
+msgid "About Cassette"
+msgstr "Sobre Cassette"
+
+#: src/widgets/buttons/menu/track-options-button.vala:78
+#: src/widgets/buttons/menu/track-options-button.vala:95
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:33
+#: src/widgets/buttons/menu/track-queue-options-button.vala:67
+#: src/widgets/buttons/menu/track-queue-options-button.vala:88
+msgid "My Vibe by track"
+msgstr "Mis vibras por canción"
+
+#: src/widgets/buttons/menu/track-options-button.vala:79
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:34
+#: src/widgets/buttons/menu/track-queue-options-button.vala:68
+msgid "Show info"
+msgstr "Mostrar información"
+
+#: src/widgets/buttons/menu/track-options-button.vala:80
+#: src/widgets/buttons/menu/track-options-button.vala:105
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:35
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:46
+#: src/widgets/buttons/menu/track-queue-options-button.vala:69
+#: src/widgets/buttons/menu/track-queue-options-button.vala:99
+msgid "Play next"
+msgstr "Reproducir siguiente"
+
+#: src/widgets/buttons/menu/track-options-button.vala:82
+#: src/widgets/buttons/menu/track-options-button.vala:107
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:37
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:48
+#: src/widgets/buttons/menu/track-queue-options-button.vala:71
+#: src/widgets/buttons/menu/track-queue-options-button.vala:101
+msgid "Add to playlist"
+msgstr "Añadir a lista de reproducción"
+
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:38
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:49
+msgid "Remove from playlist"
+msgstr "Eliminar de la lista de reproducción"
+
+#: src/widgets/buttons/menu/track-queue-options-button.vala:72
+#: src/widgets/buttons/menu/track-queue-options-button.vala:102
+msgid "Remove from queue"
+msgstr "Eliminar de la cola de reproducción"
+
+#: src/widgets/buttons/menu/volume-button.vala:122
+msgid "Volume control"
+msgstr "Control de volumen"
+
+#: src/widgets/buttons/menu/volume-button.vala:262
+msgid "Unmute"
+msgstr "Quitar silencio"
+
+#: src/widgets/buttons/menu/volume-button.vala:262
+msgid "Mute"
+msgstr "Silenciar"
+
+#: src/widgets/cache-indicator/job-info-badge.vala:45
+#: src/widgets/save-stack.vala:53 src/widgets/views/abstract-cachiable.vala:173
msgid "Album"
msgstr "Álbum"
#. Translators: n track from n tracks saved
-#: src/widgets/cache_indicator/job_info_badge.vala:79
-#, fuzzy, c-format
-msgid "%d / %d saved%s"
-msgstr "%s guardado"
-
-#: src/widgets/cache_indicator/job_info_badge.vala:83
+#: src/widgets/cache-indicator/job-info-badge.vala:78
#, c-format
-msgid ". %d track saving now"
-msgid_plural ". %d tracks saving now"
-msgstr[0] ""
-msgstr[1] ""
+msgid "%d / %d saved%s"
+msgid_plural "%d / %d saved%s"
+msgstr[0] "%d / %d guardado%s"
+msgstr[1] "%d / %d guardados%s"
-#: src/widgets/dislike_button.vala:40
-msgid "Remove dislike"
-msgstr "Eliminar «No me gusta»"
+#: src/widgets/cache-indicator/job-info-badge.vala:85
+#, c-format
+msgid "%d track saving now"
+msgid_plural "%d tracks saving now"
+msgstr[0] "Guardando %d canción ahora"
+msgstr[1] "Guardando %d canciones ahora"
-#: src/widgets/dislike_button.vala:45
-msgid "Set dislike"
-msgstr "Marcar como «No me gusta»"
-
-#: src/widgets/info_marks.vala:44
+#: src/widgets/info-marks.vala:42
#, c-format
msgid "Track was replaced. Original version: %s, %s"
msgstr "Pista reemplazada. Versión original: %s, %s"
-#: src/widgets/like_button.vala:44
-msgid "Remove like"
-msgstr "Eliminar «Me gusta»"
-
-#: src/widgets/like_button.vala:51
-msgid "Set like"
-msgstr "Marcar como «Me gusta»"
-
-#: src/widgets/options_button/options_button.vala:56
-msgid "Options menu"
-msgstr "Menú de opciones"
-
-#: src/widgets/options_button/playlist_options_button.vala:29
-msgid "My wave on playlist"
-msgstr "Mi onda en lista de reproducción"
-
-#: src/widgets/options_button/playlist_options_button.vala:30
-#: src/widgets/options_button/track_options_button.vala:30
-msgid "Add to queue"
-msgstr "Añadir a la cola de reproducción"
-
-#: src/widgets/options_button/playlist_options_button.vala:31
-#: src/widgets/options_button/track_options_button.vala:35
-msgid "Share"
-msgstr "Compartir"
-
-#: src/widgets/options_button/playlist_options_button.vala:35
-msgid "Delete playlist"
-msgstr "Eliminar lista de reproducción"
-
-#: src/widgets/options_button/track_options_button.vala:29
-msgid "Play next"
-msgstr "Reproducir siguiente"
-
-#: src/widgets/options_button/track_options_button.vala:32
-msgid "My wave on track"
-msgstr "Mi ola en la canción"
-
-#: src/widgets/options_button/track_options_button.vala:33
-msgid "Add to playlist"
-msgstr "Añadir a lista de reproducción"
-
-#: src/widgets/options_button/track_options_button.vala:39
-msgid "Remove from playlist"
-msgstr "Eliminar de la lista de reproducción"
-
-#: src/widgets/options_button/track_options_button.vala:43
-msgid "Remove from queue"
-msgstr "Eliminar de la cola de reproducción"
-
-#: src/widgets/options_button/track_options_button.vala:47
-msgid "Save"
-msgstr "Guardar"
-
-#: src/widgets/pages/loading_page.vala:40
-msgid "Loading…"
-msgstr "Cargando…"
-
-#: src/widgets/play_button/play_button.vala:27
-msgid "Play/Pause"
-msgstr "Reproducir/Pausar"
-
-#: src/widgets/playlist_micro.vala:68
-#, c-format
-msgid "%s like"
-msgid_plural "%s likes"
-msgstr[0] "%s me gusta"
-msgstr[1] "%s me gustas"
-
-#: src/widgets/playlist_micro.vala:159 src/widgets/views/playlist_view.vala:260
+#: src/widgets/playlist-micro.vala:158 src/widgets/views/playlist.vala:242
#, c-format
msgid "Owner: %s"
msgstr "Propietario: %s"
-#: src/widgets/playlist_row.vala:90
+#: src/widgets/playlist-row.vala:86
#, c-format
msgid "Track count: %s"
msgstr "Recuento de pistas: %s"
-#: src/widgets/preferences/cache_deletion_preferences.vala:92
-#, fuzzy
+#: src/widgets/preferences/cache-deletion-preferences.vala:89
+#: src/widgets/preferences/preferences-dialog.vala:135
msgid "Delete cache files?"
-msgstr "¿Eliminar todos los archivos temporales?"
+msgstr "¿Eliminar los archivos de la caché?"
-#: src/widgets/preferences/cache_deletion_preferences.vala:93
-msgid "Moved saved files?"
-msgstr ""
+#: src/widgets/preferences/cache-deletion-preferences.vala:90
+msgid "Move saved files?"
+msgstr "¿Mover archivos guardados?"
-#: src/widgets/preferences/cache_deletion_preferences.vala:94
-#, fuzzy
+#: src/widgets/preferences/cache-deletion-preferences.vala:91
+#: src/widgets/preferences/preferences-dialog.vala:136
msgid ""
-"All temporary cached files will be deleted. This doesn't affect on saved "
-"playlists or albums"
+"All cache will be deleted. This doesn't affect on saved playlists or albums"
msgstr ""
-"Se borrará toda la caché temporal. Esto no afecta a las listas de "
-"reproducción o álbumes guardados."
+"Se borrará toda la caché. Esto no afecta a las listas de reproducción o "
+"álbumes guardados."
-#: src/widgets/preferences/cache_deletion_preferences.vala:95
+#: src/widgets/preferences/cache-deletion-preferences.vala:92
msgid ""
"All saved playlists and albums will be moved to cache files. This could take "
"a while."
msgstr ""
+"Todas las listas de reproducción y álbumes serán movidos a la caché. Esto "
+"puede tomar un tiempo"
-#: src/widgets/preferences/cache_deletion_preferences.vala:100
-#: src/widgets/preferences/preferences_window.vala:122
-#: src/widgets/views/playlist_view.vala:115
-msgid "Delete"
-msgstr "Eliminar"
-
-#: src/widgets/preferences/cache_deletion_preferences.vala:133
+#: src/widgets/preferences/cache-deletion-preferences.vala:130
msgid "Deleting…"
msgstr "Borrando…"
-#: src/widgets/preferences/preferences_window.vala:116
-msgid "Delete temporary files?"
-msgstr "¿Eliminar todos los archivos temporales?"
-
-#: src/widgets/preferences/preferences_window.vala:117
-msgid ""
-"All temporary cache will be deleted. This doesn't affect on saved playlists "
-"or albums"
-msgstr ""
-"Se borrará toda la caché temporal. Esto no afecta a las listas de "
-"reproducción o álbumes guardados."
-
-#: src/widgets/save_stack.vala:55
+#: src/widgets/save-stack.vala:55
msgid "Image"
msgstr "Imagen"
-#: src/widgets/save_stack.vala:59
+#: src/widgets/save-stack.vala:59
msgid "Track"
msgstr "Canción"
-#: src/widgets/save_stack.vala:76
+#: src/widgets/save-stack.vala:76
#, c-format
msgid "%s saving…"
msgstr "%s guardando…"
-#: src/widgets/save_stack.vala:77
+#: src/widgets/save-stack.vala:77
#, c-format
-msgid "%s saved to temp folder"
-msgstr "%s guardado en la carpeta temporal"
+msgid "%s cached"
+msgstr "%s en la caché"
-#: src/widgets/save_stack.vala:78
+#: src/widgets/save-stack.vala:78
#, c-format
msgid "%s saved"
msgstr "%s guardado"
-#: src/widgets/sidebar.vala:133
-msgid "PLAYLIST"
-msgstr "LISTA DE REPRODUCCIÓN"
+#: src/widgets/sidebar/childs/player-queue.vala:67
+#, c-format
+msgid "Playlist \"%s\""
+msgstr "Lista de reproducción «%s»"
-#: src/widgets/sidebar.vala:141
-msgid "ALBUM"
-msgstr "ÁLBUM"
+#: src/widgets/sidebar/childs/player-queue.vala:71
+#, c-format
+msgid "Album \"%s\""
+msgstr "Álbum «%s»"
-#: src/widgets/sidebar.vala:145
-msgid "SEARCH RESULTS"
-msgstr "RESULTADOS DE BUSQUEDA"
+#: src/widgets/sidebar/childs/player-queue.vala:75
+#, c-format
+msgid "By search results \"%s\""
+msgstr "Por resultados de búsqueda «%s»"
-#: src/widgets/sidebar.vala:150
+#: src/widgets/sidebar/childs/player-queue.vala:79
msgid "Track list"
msgstr "Lista de canciones"
-#: src/widgets/track_detailed.vala:100
+#: src/widgets/sidebar/childs/track-info.vala:69
msgid "Your music track"
-msgstr ""
+msgstr "Su pista de música"
-#: src/widgets/track_detailed.vala:116
-#, fuzzy
+#: src/widgets/sidebar/childs/track-info.vala:85
msgid "Music track"
-msgstr "Canciones que no te gustaron"
+msgstr "Pista de música"
-#: src/widgets/track_row_contents/track_default_content.vala:93
-#: src/widgets/track_rows/track_default_content.vala:193
+#: src/widgets/sidebar/childs/wave-settings.vala:40
+msgid "Wave settings"
+msgstr "Configuración de onda"
+
+#: src/widgets/track-rows/base.vala:80 src/widgets/track-rows/default.vala:101
msgid "Track is not available"
msgstr "La canción no está disponible"
#. Translators: first %s - content type (Playlist), second - name
-#: src/widgets/views/cachiable_view.vala:75
+#: src/widgets/views/abstract-cachiable.vala:79
#, c-format
-msgid "%s%s successfully cached"
-msgstr "%s%s almacenado en caché correctamente"
+msgid "%s '%s' saved successfully"
+msgstr "%s «%s» se ha almacenado en caché correctamente"
#. Translators: first %s - content type (Playlist), second - name
-#: src/widgets/views/cachiable_view.vala:86
+#: src/widgets/views/abstract-cachiable.vala:90
#, c-format
-msgid "Caching of %s%s was canceled, due to network error"
+msgid "%s '%s' saving was stopped, due to network error"
msgstr ""
-"Se ha cancelado el almacenamiento en caché de %s%s debido a un error de red."
+"Se ha cancelado el almacenamiento en caché de %s «%s» debido a un error de "
+"red."
#. Translators: first %s - content type (Playlist), second - name
-#: src/widgets/views/cachiable_view.vala:97
+#: src/widgets/views/abstract-cachiable.vala:100
#, c-format
-msgid "Caching of %s%s was aborted"
-msgstr "Se ha cancelado el almacenamiento en caché de %s%s"
+msgid "%s '%s' saving was aborted"
+msgstr "Se ha cancelado el almacenamiento en caché de %s «%s»"
+
+#. Translators: %s - content type (e.g. "Playlist")
+#: src/widgets/views/abstract-cachiable.vala:192
+#, c-format
+msgid "%s saving has started"
+msgstr "Se ha iniciado el almacenamiento en caché de %s"
#. Translators: first %s - content type (Playlist), second - name
-#: src/widgets/views/cachiable_view.vala:195
+#: src/widgets/views/abstract-cachiable.vala:230
#, c-format
-msgid "Cacheing of %s%s started"
-msgstr "Se ha iniciado el almacenamiento en caché de %s%s"
+msgid "%s '%s' was moved from data to cache"
+msgstr "%s «%s» ha sido eliminado de la carpeta caché"
#. Translators: first %s - content type (Playlist), second - name
-#: src/widgets/views/cachiable_view.vala:231
+#: src/widgets/views/abstract-cachiable.vala:240
#, c-format
-msgid "%s%s was removed from cache folder"
-msgstr "%s%s ha sido eliminado de la carpeta caché"
+msgid "%s removing has started. Please do not close the app"
+msgstr "%s se está eliminando. No cierre la aplicación"
-#. Translators: first %s - content type (Playlist), second - name
-#: src/widgets/views/cachiable_view.vala:241
-#, c-format
-msgid "%s%s is removing, please do not close the app"
-msgstr "%s%s se está eliminando, por favor no cierres la app"
-
-#: src/widgets/views/cant_show_view.vala:40
+#: src/widgets/views/cant-show.vala:38
#, c-format
msgid "Error %d"
msgstr "Error %d"
-#: src/widgets/views/cant_show_view.vala:44
+#: src/widgets/views/cant-show.vala:42
msgid "Can't load page"
msgstr "No se puede cargar la página"
-#: src/widgets/views/cant_show_view.vala:47
+#: src/widgets/views/cant-show.vala:45
msgid "Can't find desired content"
msgstr "No se pudo encontrar el contenido deseado"
-#: src/widgets/views/playlist_view.vala:109
+#: src/widgets/views/playlist.vala:85
msgid "Delete playlist?"
msgstr "¿Eliminar lista de reproducción?"
-#: src/widgets/views/playlist_view.vala:110
+#: src/widgets/views/playlist.vala:86
#, c-format
msgid "Playlist '%s' will be permanently deleted."
msgstr "La lista de reproducción '%s' se eliminará permanentemente."
-#: src/widgets/views/playlist_view.vala:126
+#: src/widgets/views/playlist.vala:105
#, c-format
msgid "Playlist '%s' was deleted"
msgstr "La lista de reproducción '%s' ha sido eliminada"
-#. Translators: 0 - female, 1 - male (different gender endings)
-#: src/widgets/views/playlist_view.vala:264
+#. Translators: %s is female person
+#: src/widgets/views/playlist.vala:248
#, c-format
+msgctxt "female person"
msgid "%s updated playlist %s"
-msgid_plural "%s updated playlist %s"
-msgstr[0] "%s lista de reproducción actualizada %s"
-msgstr[1] "%s listas de reproducción actualizadas %s"
+msgstr "%s actualizó la lista de reproducción %s"
-#: src/widgets/views/playlist_view.vala:291
+#. Translators: %s is male person
+#: src/widgets/views/playlist.vala:252
+#, c-format
+msgctxt "male person"
+msgid "%s updated playlist %s"
+msgstr "%s actualizó la lista de reproducción %s"
+
+#: src/widgets/views/playlist.vala:282
#, c-format
msgid "Can't change visibility of '%s'"
msgstr "No se puede cambiar la visibilidad de '%s'."
-#: src/widgets/views/playlist_view.vala:297
+#: src/widgets/views/playlist.vala:288
#, c-format
msgid "Playlist '%s' is public now"
msgstr "La lista de reproducción '%s' ahora es pública"
-#: src/widgets/views/playlist_view.vala:300
+#: src/widgets/views/playlist.vala:291
#, c-format
msgid "Playlist '%s' is private now"
msgstr "La lista de reproducción '%s' ahora es privada"
+#: src/window.vala:236
+#, c-format
+msgid "Window info message: %s"
+msgstr "Mensaje de información de la ventana: %s"
+
+#~ msgid "First release of Cassette"
+#~ msgstr "Primera versión de Cassette"
+
+#~ msgid "Allows you to listen to music"
+#~ msgstr "Te permite escuchar música"
+
+#~ msgid "Manage the playback queue, for example shuffle or puts on repeat"
+#~ msgstr ""
+#~ "Gestionar la cola de reproducción, por ejemplo aleatoriamente o poner en "
+#~ "repetición"
+
+#~ msgid ""
+#~ "Sends whether the track has been listened to and the playback queue, if "
+#~ "it has been changed"
+#~ msgstr ""
+#~ "Envía si se ha escuchado la pista y la cola de reproducción, si se ha "
+#~ "modificado"
+
+#~ msgid "Implemented mpris2"
+#~ msgstr "Implementación de mpris2"
+
+#~ msgid "Rirusha"
+#~ msgstr "Rirusha"
+
+#, c-format
+#~ msgctxt "account info window"
+#~ msgid "Login: %s"
+#~ msgstr "Iniciar sesión: %s"
+
+#, c-format
+#~ msgctxt "account info window"
+#~ msgid "Phone number: %s"
+#~ msgstr "Número de teléfono: %s"
+
+#, c-format
+#~ msgctxt "account info window"
+#~ msgid "First name: %s"
+#~ msgstr "Primer nombre: %s"
+
+#, c-format
+#~ msgctxt "account info window"
+#~ msgid "Second name: %s"
+#~ msgstr "Segundo nombre: %s"
+
+#, c-format
+#~ msgctxt "account info window"
+#~ msgid "Display name: %s"
+#~ msgstr "Nombre para mostrar: %s"
+
+#, c-format
+#~ msgctxt "account info window"
+#~ msgid "Birthday: %s"
+#~ msgstr "Cumpleaños: %s"
+
+#~ msgctxt "account info window"
+#~ msgid "Additional options:"
+#~ msgstr "Opciones adicionales:"
+
+#~ msgid "Temporary"
+#~ msgstr "Temporal"
+
+#~ msgid "Permanent"
+#~ msgstr "Permanente"
+
+#~ msgctxt "shortcut window"
+#~ msgid "Play previous track"
+#~ msgstr "Reproducir canción anterior"
+
+#~ msgctxt "shortcut window"
+#~ msgid "Play next track"
+#~ msgstr "Reproducir siguiente canción"
+
+#, fuzzy
+#~ msgctxt "shortcut window"
+#~ msgid "Change shuffle mode"
+#~ msgstr "Cambiar al modo aleatorio"
+
+#, fuzzy
+#~ msgctxt "shortcut window"
+#~ msgid "Change repeat mode"
+#~ msgstr "Cambiar al modo de repetición"
+
+#~ msgid "Start playlist"
+#~ msgstr "Reproducir lista de reproducción"
+
+#~ msgid "Add playlist to queue"
+#~ msgstr "Añadir lista de reproducción a la cola"
+
+#, fuzzy
+#~ msgctxt "preference window"
+#~ msgid "Main"
+#~ msgstr "Principal"
+
+#~ msgctxt "preference window"
+#~ msgid "Max active threads"
+#~ msgstr "Número máximo de hilos activos"
+
+#~ msgctxt "preference window"
+#~ msgid ""
+#~ "The maximum number of threads for content loading. A large value can "
+#~ "affect the performance of the system. The changes will take effect after "
+#~ "restarting the application."
+#~ msgstr ""
+#~ "El número máximo de hilos para la carga de contenidos. Un valor grande "
+#~ "puede afectar al rendimiento del sistema. Los cambios surtirán efecto "
+#~ "tras reiniciar la aplicación."
+
+#~ msgctxt "preference window"
+#~ msgid "Try to load queue every window activation"
+#~ msgstr "Intenta cargar la cola cada vez que se activa una ventana"
+
+#~ msgctxt "preference window"
+#~ msgid ""
+#~ "Every time it is expanded or the focus changes from another window queue "
+#~ "will loaded from the device on which you listened to music last time."
+#~ msgstr ""
+#~ "Cada vez que se expanda o el foco cambie de otra ventana se cargará la "
+#~ "cola del dispositivo en el que escuchaste música la última vez."
+
+#~ msgctxt "preference window"
+#~ msgid "Show temp save mark"
+#~ msgstr "Mostrar marca de guardado temporal"
+
+#~ msgctxt "preference window"
+#~ msgid ""
+#~ "Show a mark indicating that the track has been saved to temporary storage"
+#~ msgstr ""
+#~ "Muestra una marca que indica que la canción se ha guardado en el "
+#~ "almacenamiento temporal"
+
+#~ msgid "Content saved to temp folder"
+#~ msgstr "Contenido guardado en carpeta temporal"
+
+#~ msgid "PLAYING "
+#~ msgstr "REPRODUCIENDO"
+
+#~ msgid "Arseniy Nechkin "
+#~ msgstr "Arseniy Nechkin "
+
+#, c-format
+#~ msgid "Error while getting temporary dir size. Message %s"
+#~ msgstr "Error al obtener el tamaño del directorio temporal. Mensaje %s"
+
+#, c-format
+#~ msgid "Error while opening uri: %s"
+#~ msgstr "Error al abrir uri: %s"
+
+#~ msgid "Options menu"
+#~ msgstr "Menú de opciones"
+
+#~ msgid "My wave on playlist"
+#~ msgstr "Mi onda en lista de reproducción"
+
+#~ msgid "Delete playlist"
+#~ msgstr "Eliminar lista de reproducción"
+
+#, c-format
+#~ msgid "%s like"
+#~ msgid_plural "%s likes"
+#~ msgstr[0] "%s me gusta"
+#~ msgstr[1] "%s me gustas"
+
+#, fuzzy
+#~ msgid ""
+#~ "All temporary cached files will be deleted. This doesn't affect on saved "
+#~ "playlists or albums"
+#~ msgstr ""
+#~ "Se borrará toda la caché temporal. Esto no afecta a las listas de "
+#~ "reproducción o álbumes guardados."
+
+#~ msgid "Delete temporary files?"
+#~ msgstr "¿Eliminar todos los archivos temporales?"
+
+#, c-format
+#~ msgid "%s saved to temp folder"
+#~ msgstr "%s guardado en la carpeta temporal"
+
+#~ msgid "PLAYLIST"
+#~ msgstr "LISTA DE REPRODUCCIÓN"
+
+#~ msgid "ALBUM"
+#~ msgstr "ÁLBUM"
+
+#~ msgid "SEARCH RESULTS"
+#~ msgstr "RESULTADOS DE BUSQUEDA"
+
#~ msgctxt "auth window"
#~ msgid "By username"
#~ msgstr "Por nombre de usuario"
@@ -1429,12 +1590,6 @@ msgstr "La lista de reproducción '%s' ahora es privada"
#~ msgid "Delete temporary"
#~ msgstr "Eliminar caché temporal"
-#~ msgid "Previous"
-#~ msgstr "Anterior"
-
-#~ msgid "Next"
-#~ msgstr "Siguiente"
-
#~ msgid "Temporary playlist"
#~ msgstr "Lista de reproducción temporal"
@@ -1444,10 +1599,6 @@ msgstr "La lista de reproducción '%s' ahora es privada"
#~ msgid "Repeat"
#~ msgstr "Repetir"
-#~ msgctxt "preference window"
-#~ msgid "Main preferences"
-#~ msgstr "Preferencias principales"
-
#~ msgctxt "preference window"
#~ msgid "Pages preferences"
#~ msgstr "Preferencias de páginas"
@@ -1484,9 +1635,6 @@ msgstr "La lista de reproducción '%s' ahora es privada"
#~ msgid "Backward"
#~ msgstr "Hacia atrás"
-#~ msgid "Refresh"
-#~ msgstr "Refrescar"
-
#~ msgid "Main menu"
#~ msgstr "Menú principal"
@@ -1520,10 +1668,6 @@ msgstr "La lista de reproducción '%s' ahora es privada"
#~ msgid "Can't create %s"
#~ msgstr "No se puede crear %s"
-#, c-format
-#~ msgid "Can't save image %s"
-#~ msgstr "No se puede guardar la imagen %s"
-
#, c-format
#~ msgid "Can't save audio %s"
#~ msgstr "No se puede guardar el audio %s"
diff --git a/po/ka.po b/po/ka.po
new file mode 100644
index 0000000..74f3f39
--- /dev/null
+++ b/po/ka.po
@@ -0,0 +1,1317 @@
+# Georgian translation for cassette.
+# Copyright (C) 2025 cassette's COPYRIGHT HOLDER
+# This file is distributed under the same license as the cassette package.
+# Ekaterine Papava , 2025.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: cassette main\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/Rirusha/Cassette/-/issues\n"
+"POT-Creation-Date: 2025-03-10 11:23+0000\n"
+"PO-Revision-Date: 2025-03-20 04:05+0100\n"
+"Last-Translator: Ekaterine Papava \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=1; plural=0;\n"
+"X-Generator: Poedit 3.5\n"
+
+#. Translators: app name should be translated
+#: data/space.rirusha.Cassette.desktop.in.in:4
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:3 src/main.vala:24
+msgid "Cassette"
+msgstr "კასეტა"
+
+#: data/space.rirusha.Cassette.desktop.in.in:5
+msgid "Unofficial Yandex Music client for GNOME"
+msgstr "არაოფიციალური Yandex Music კლიენტი GNOME–სთვის"
+
+#. Translators: keep number of ';'
+#: data/space.rirusha.Cassette.desktop.in.in:7
+#: data/space.rirusha.Cassette.Devel.desktop.in.in:7
+msgid "yandex;yandex music;yam;music;"
+msgstr "yandex;yandex music;yam;music;იანდექსი;მუსიკა;იანდექსისმუსიკა;"
+
+#. Translators: app name should be translated
+#: data/space.rirusha.Cassette.Devel.desktop.in.in:4
+msgid "Cassette (Devel)"
+msgstr "Cassette (სატესტო)"
+
+#: data/space.rirusha.Cassette.Devel.desktop.in.in:5
+msgid "Unofficial Yandex Music client for GNOME (Devel build)"
+msgstr "არაოფიციალური Yandex Music-ის კლიენტი GNOME-სთვის (სატეტო აგება)"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:7
+msgid "Unofficial Yandex Music client"
+msgstr "არაოფიციალური Yandex Music-ის კლიენტი"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:9
+msgid ""
+"GTK/Adwaita application that allows to use Yandex Music service on Linux "
+"operating systems."
+msgstr ""
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:13
+msgid "Features:"
+msgstr "თვისებები:"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:17
+msgid "Allows you to save playlists and albums for offline listening"
+msgstr ""
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:20
+msgid "Has a dynamic \"karaoke mode\" right in the track information panel"
+msgstr ""
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:23
+msgid ""
+"Allows you to more precisely customize the display and playback of special "
+"content, such as explicit or suitable for children."
+msgstr ""
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:27
+msgid "Displays tracks that are currently unavailable in the service"
+msgstr ""
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:30
+msgid "Shows which tracks have been replaced and by what"
+msgstr ""
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:34
+msgid ""
+"Cassette is an unofficial client and is not associated with or endorsed by "
+"Yandex."
+msgstr ""
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:63
+msgid "Liked view"
+msgstr "მოწონებულების ხედი"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:67
+msgid "Playlists view"
+msgstr ""
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:71
+msgid "Sync lyrics"
+msgstr "ლირიკის სინქრონიზაცია"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:75
+msgid "Playback queue"
+msgstr ""
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:79
+msgid "Waves view"
+msgstr ""
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:83
+msgid "Main preferences"
+msgstr "მთავარი პარამეტრები"
+
+#: data/ui/account-info-dialog.blp:5
+msgid "Account information"
+msgstr "ანგარიშის ინფორმაცია"
+
+#: data/ui/account-info-dialog.blp:52
+msgid "Open in browser"
+msgstr "ბრაუზერში გახსნა"
+
+#: data/ui/account-info-dialog.blp:61
+msgid "Plus"
+msgstr "პლუსი"
+
+#: data/ui/account-info-dialog.blp:70 data/ui/no-plus-dialog.blp:51
+#: src/authenticator.vala:52
+msgid "Log out"
+msgstr "სისტემიდან გასვლა"
+
+#. Translators: usage mode of application. Online mode or Local mode available
+#: data/ui/begin-view.ui:11
+msgid "Usage mode"
+msgstr ""
+
+#. Translators: usage mode of application. Online mode or Local mode available
+#: data/ui/begin-view.ui:40
+msgctxt "auth window"
+msgid "Choose usage mode"
+msgstr ""
+
+#: data/ui/begin-view.ui:50
+msgctxt "auth window"
+msgid ""
+"If you select the \"Online mode\", you can access local music by enabling "
+"the display of the corresponding pages in the pages preferences, as well as "
+"log in later when selecting \"Local mode\""
+msgstr ""
+
+#. Translators: usage mode of application. Online mode or Local mode available
+#: data/ui/begin-view.ui:75
+msgctxt "auth window"
+msgid "Online mode"
+msgstr ""
+
+#. Translators: usage mode of application. Online mode or Local mode available
+#: data/ui/begin-view.ui:85
+msgctxt "auth window"
+msgid "Local mode"
+msgstr ""
+
+#. Translators: "Close" window button label
+#: data/ui/begin-view.ui:97
+msgctxt "auth window"
+msgid "Close"
+msgstr "დახურვა"
+
+#: data/ui/begin-view.ui:112
+msgid "Authorization"
+msgstr "ავტორიზაცია"
+
+#. Translators: size of cache dirs
+#: data/ui/cache-deletion-preferences.ui:21
+msgid "Dirs size:"
+msgstr ""
+
+#. Translators: tempprary cache folder
+#: data/ui/cache-deletion-preferences.ui:35
+msgid "Cache"
+msgstr "კეში"
+
+#: data/ui/cache-deletion-preferences.ui:88
+msgid "Clear"
+msgstr "გასუფთავება"
+
+#. Translators: temparence cache folder
+#: data/ui/cache-deletion-preferences.ui:109
+msgid "Data"
+msgstr "მონაცემები"
+
+#: data/ui/cache-deletion-preferences.ui:159
+msgid "Move to cache"
+msgstr ""
+
+#: data/ui/cache-deletion-preferences.ui:163
+msgid "Move"
+msgstr "გადატანა"
+
+#: data/ui/cache-indicator.blp:35
+msgid "Show all cache jobs"
+msgstr ""
+
+#: data/ui/custom-page-preferences.ui:17
+msgid "Title: "
+msgstr "სათაური; "
+
+#: data/ui/custom-page-preferences.ui:38
+msgid "Icon: "
+msgstr "ხატულა: "
+
+#: data/ui/custom-page-preferences.ui:75
+msgid "Save page"
+msgstr "გვერდის შენახვა"
+
+#: data/ui/custom-page-preferences.ui:92
+msgid "Remove page"
+msgstr "გვერდის წაშლა"
+
+#. Translators: title of preference group
+#: data/ui/custom-pages-preferences.ui:7
+msgctxt "preference window"
+msgid "Custom pages"
+msgstr ""
+
+#. Translators: description of preference group
+#: data/ui/custom-pages-preferences.ui:9
+msgctxt "preference window"
+msgid "Here you can control custom pages."
+msgstr ""
+
+#: data/ui/disliked-tracks-view.ui:23
+#: src/widgets/buttons/menu/primary-menu-button.vala:32
+msgid "Disliked tracks"
+msgstr ""
+
+#: data/ui/header-bar.blp:12
+msgid "Go back"
+msgstr "უკან გადასვლა"
+
+#: data/ui/header-bar.blp:20
+msgid "Refresh"
+msgstr "განახლება"
+
+#: data/ui/header-bar.blp:28
+msgid "Yandex Music search"
+msgstr "ძებნა Yandex Music-ში"
+
+#: data/ui/help-overlay.blp:11
+msgid "Main Actions"
+msgstr "მთავარი ქმედებები"
+
+#: data/ui/help-overlay.blp:14
+msgid "Show Shortcuts"
+msgstr "მალსახმობების ჩვენება"
+
+#: data/ui/help-overlay.blp:19
+msgid "Quit"
+msgstr "გასვლა"
+
+#: data/ui/help-overlay.blp:25
+msgid "Playback Control"
+msgstr "დაკვრის კონტროლი"
+
+#: data/ui/help-overlay.blp:28
+msgid "Play/Pause playback"
+msgstr ""
+
+#: data/ui/help-overlay.blp:33 data/ui/player-bar.blp:87
+msgid "Play previous track"
+msgstr ""
+
+#: data/ui/help-overlay.blp:38 data/ui/player-bar.blp:119
+msgid "Play next track"
+msgstr ""
+
+#: data/ui/help-overlay.blp:43
+msgid "Mute app"
+msgstr ""
+
+#: data/ui/help-overlay.blp:49
+msgid "Queue control"
+msgstr ""
+
+#: data/ui/help-overlay.blp:52 data/ui/player-bar.blp:141
+msgid "Change shuffle mode"
+msgstr "შემთხვევითი რეჟიმის შეცვლა"
+
+#: data/ui/help-overlay.blp:57 data/ui/player-bar.blp:65
+msgid "Change repeat mode"
+msgstr "გამეორების რეჟიმის შეცვლა"
+
+#: data/ui/help-overlay.blp:63
+msgid "Other"
+msgstr "სხვა"
+
+#: data/ui/help-overlay.blp:66
+msgid "Share current track"
+msgstr ""
+
+#: data/ui/help-overlay.blp:71
+msgid "Parse url from clipboard"
+msgstr ""
+
+#: data/ui/info-marks.ui:23
+msgid "Explicit content"
+msgstr ""
+
+#: data/ui/info-marks.ui:32
+msgid "Child content"
+msgstr ""
+
+#: data/ui/main-view.blp:6
+msgid "Page under construction"
+msgstr ""
+
+#: data/ui/main-view.blp:20
+msgid "All stations"
+msgstr ""
+
+#: data/ui/no-plus-dialog.blp:20
+msgid "No Plus Subscription"
+msgstr ""
+
+#: data/ui/no-plus-dialog.blp:21
+msgid ""
+"To avoid problems with Yandex, the online functions of the application are "
+"not available without a Yandex.Plus subscription. Thanks for understanding."
+msgstr ""
+
+#: data/ui/no-plus-dialog.blp:41
+msgid "Get Plus"
+msgstr ""
+
+#: data/ui/player-bar.blp:22
+msgid "Show track info"
+msgstr ""
+
+#: data/ui/player-bar.blp:206
+msgid "Show wave settings"
+msgstr ""
+
+#: data/ui/player-bar.blp:216
+msgid "Show playback queue"
+msgstr ""
+
+#: data/ui/player-bar.blp:229
+msgid "Change volume"
+msgstr ""
+
+#: data/ui/player-queue.blp:5 src/application.vala:272
+msgid "Playing now"
+msgstr "თამაშობთ"
+
+#: data/ui/playlist-choose-dialog.ui:8
+msgid "Choose playlist to add"
+msgstr ""
+
+#: data/ui/playlist-create-button.ui:36
+msgid "Create playlist"
+msgstr "დასაკრავი სიის შექმნა"
+
+#: data/ui/playlist-micro.ui:39 data/ui/playlist-view.ui:56
+#: src/widgets/cache-indicator/job-info-badge.vala:43
+#: src/widgets/save-stack.vala:57 src/widgets/views/abstract-cachiable.vala:168
+msgid "Playlist"
+msgstr "დასაკრავი სია"
+
+#: data/ui/playlist-row.ui:40
+msgid "Empty"
+msgstr "ცარიელი"
+
+#: data/ui/playlists-view.ui:23
+msgid "Your playlists"
+msgstr ""
+
+#: data/ui/playlists-view.ui:39
+msgid "Also you liked these playlists"
+msgstr ""
+
+#: data/ui/playlist-view.ui:187
+msgid "Change playlist visibility"
+msgstr ""
+
+#: data/ui/playlist-view.ui:211
+msgid "Add page to header"
+msgstr ""
+
+#. Translators: tooltip of "save" button
+#: data/ui/playlist-view.ui:233 data/ui/playlist-view.ui:237
+#: src/widgets/buttons/menu/track-options-button.vala:83
+#: src/widgets/buttons/menu/track-options-button.vala:108
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:39
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:50
+#: src/widgets/buttons/menu/track-queue-options-button.vala:73
+#: src/widgets/buttons/menu/track-queue-options-button.vala:103
+msgid "Save"
+msgstr "შენახვა"
+
+#. Translators: tooltip of "delete" button
+#: data/ui/playlist-view.ui:256 data/ui/playlist-view.ui:260
+#: src/widgets/preferences/cache-deletion-preferences.vala:97
+#: src/widgets/preferences/preferences-dialog.vala:141
+#: src/widgets/views/playlist.vala:91
+msgid "Delete"
+msgstr "წაშლა"
+
+#. Translators: tooltip of "abort" button
+#: data/ui/playlist-view.ui:276
+msgid "Abort"
+msgstr "შეწყვეტა"
+
+#: data/ui/playlist-view.ui:280
+msgid "Stop"
+msgstr "გაჩერება"
+
+#: data/ui/preferences-dialog.ui:8
+msgctxt "preference dialog"
+msgid "Main"
+msgstr "მთავარი"
+
+#: data/ui/preferences-dialog.ui:12
+msgctxt "preference dialog"
+msgid "General"
+msgstr "ზოგადი"
+
+#: data/ui/preferences-dialog.ui:15
+msgctxt "preference dialog"
+msgid "Enable high quality audio"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:16
+msgctxt "preference dialog"
+msgid ""
+"Attention! If the track was downloaded in low quality, and after the "
+"download is enabled in high quality, the audio will not be reloaded"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:21
+msgctxt "preference dialog"
+msgid "Add track on top of playlist"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:22
+msgctxt "preference dialog"
+msgid "Will the track be added to the playlist as the first or as the last"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:27
+msgctxt "preference dialog"
+msgid "Show 'Playing now' notification"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:28
+msgctxt "preference dialog"
+msgid "Show a notification when switching a track"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:35
+msgctxt "preference dialog"
+msgid "Show additional marks"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:36
+msgctxt "preference dialog"
+msgid "Additional marks display additional information about the track"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:39
+msgctxt "preference dialog"
+msgid "Show save mark"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:40
+msgctxt "preference dialog"
+msgid "Show a label with information about the caching status of the track"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:45
+msgctxt "preference dialog"
+msgid "Show cache mark"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:46
+msgctxt "preference dialog"
+msgid "Show a mark about saving a track to the cache"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:51
+msgctxt "preference dialog"
+msgid "Show replaced mark"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:52
+msgctxt "preference dialog"
+msgid "Show a mark that shows that the track has been replaced"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:59
+msgctxt "preference dialog"
+msgid "Tracks visibility"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:60
+msgctxt "preference dialog"
+msgid ""
+"Show special tracks in track lists. Filter doesn't work when searching in "
+"track list"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:63
+msgctxt "preference dialog"
+msgid "Show unavailable content"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:64
+msgctxt "preference dialog"
+msgid ""
+"Show tracks that are not available in the service. You can't listen to them"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:69
+msgctxt "preference dialog"
+msgid "Show content suitable for children"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:70
+msgctxt "preference dialog"
+msgid "Show content that is specific to children"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:75
+msgctxt "preference dialog"
+msgid "Show explicit content"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:76
+msgctxt "preference dialog"
+msgid "Show content that has age restrictions"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:83
+msgctxt "preference dialog"
+msgid "Other"
+msgstr "სხვა"
+
+#: data/ui/preferences-dialog.ui:86
+msgctxt "preference dialog"
+msgid "Enable Debug-Mode"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:87
+msgctxt "preference dialog"
+msgid "Enable logging of additional information useful for error detection"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:94
+msgctxt "preference dialog"
+msgid "Experimental"
+msgstr "ექსპერიმენტული"
+
+#: data/ui/preferences-dialog.ui:95
+msgctxt "preference dialog"
+msgid "Parameters that test anything and may be removed in future releases"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:98
+msgctxt "preference dialog"
+msgid "Use only bottom sheet menus"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:99
+msgctxt "preference dialog"
+msgid "Test preference for bottom sheet menu"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:108
+msgctxt "preference dialog"
+msgid "Pages"
+msgstr "გვერდები"
+
+#: data/ui/preferences-dialog.ui:112
+msgctxt "preference dialog"
+msgid "Static pages"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:113
+msgctxt "preference dialog"
+msgid ""
+"Here you can show or hide static pages. They will always be displayed on the "
+"left side of the header."
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:116
+msgctxt "preference dialog"
+msgid "Show 'Main' page"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:121
+msgctxt "preference dialog"
+msgid "Show 'Liked' page"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:126
+msgctxt "preference dialog"
+msgid "Show 'Playlists' page"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:138
+msgctxt "preference dialog"
+msgid "Cache"
+msgstr "კეში"
+
+#: data/ui/preferences-dialog.ui:142
+msgctxt "preference dialog"
+msgid "Cache managing"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:143
+msgctxt "preference dialog"
+msgid ""
+"Here you can see application memory usage, delete all cache from cache "
+"folder and control downloading cache to disk"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:146
+msgctxt "preference dialog"
+msgid "Cache content"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:147
+msgctxt "preference dialog"
+msgid ""
+"For better performance. Over time, it starts to take up a lot of space. So "
+"far, manual cleaning is required. If enabled, the application will cache all "
+"content to cache dir for better performance, otherwise, the application will "
+"load content only when caching objects (such as playlists or albums). "
+"Disabling the parameter does not delete already downloaded content"
+msgstr ""
+
+#: data/ui/save-stack.ui:25
+msgid "Content saving…"
+msgstr ""
+
+#: data/ui/save-stack.ui:42
+msgid "Content cached"
+msgstr ""
+
+#: data/ui/save-stack.ui:56
+msgid "Content saved"
+msgstr ""
+
+#: data/ui/stations-view.blp:22
+msgid "Stations dashboard"
+msgstr ""
+
+#: data/ui/stations-view.blp:58
+msgid "Searching for station…"
+msgstr ""
+
+#: data/ui/stations-view.blp:77
+msgid "By genre…"
+msgstr ""
+
+#: data/ui/stations-view.blp:99 data/ui/wave-settings.blp:60
+msgid "By mood…"
+msgstr ""
+
+#: data/ui/stations-view.blp:121 data/ui/wave-settings.blp:25
+msgid "By activity…"
+msgstr ""
+
+#: data/ui/stations-view.blp:143
+msgid "By epoch…"
+msgstr ""
+
+#: data/ui/stations-view.blp:165
+msgid "Other…"
+msgstr "სხვა…"
+
+#: data/ui/stations-view.blp:209
+msgid "No stations with that name were found"
+msgstr ""
+
+#: data/ui/track-info.blp:103
+msgid "Track lyrics"
+msgstr ""
+
+#: data/ui/track-info.blp:117
+msgid "Authors"
+msgstr "ავტორები"
+
+#: data/ui/track-info.blp:135
+msgid "Source"
+msgstr "წყარო"
+
+#: data/ui/track-info.blp:158
+msgid "Similar tracks"
+msgstr ""
+
+#. Translators: placeholder of "search" entry. Local track search (inside of track list)
+#: data/ui/track-list.ui:21
+msgid "Search track"
+msgstr ""
+
+#. Translators: part of sort by
+#: data/ui/track-list.ui:30
+msgid "Sort by"
+msgstr "დალაგება"
+
+#: data/ui/track-list.ui:77
+msgid "No tracks to display"
+msgstr ""
+
+#: data/ui/track-list.ui:88
+msgid "name"
+msgstr "სახელი"
+
+#: data/ui/track-list.ui:92
+msgid "artist"
+msgstr "შემსრულებელი"
+
+#: data/ui/track-list.ui:96
+msgid "album"
+msgstr "ალბომი"
+
+#: data/ui/track-list.ui:100
+msgid "duration"
+msgstr "ხანგრძლივობა"
+
+#: data/ui/track-placeholder.ui:9 src/widgets/pages/loading-page.vala:38
+msgid "Loading…"
+msgstr "ჩატვირთვა…"
+
+#: data/ui/wave-settings.blp:42
+msgid "By diversity…"
+msgstr ""
+
+#: data/ui/wave-settings.blp:78
+msgid "By language…"
+msgstr ""
+
+#: data/ui/wave-settings.blp:93
+msgid "Can't get wave settings"
+msgstr ""
+
+#: data/ui/window.blp:57 src/window.vala:253
+msgid "Reconnect"
+msgstr "თავიდან დაკავშირება"
+
+#: data/ui/window.blp:58 src/application.vala:152
+msgid "Connection problems"
+msgstr ""
+
+#. Translators: NAME /n NAME
+#: src/about.vala:60
+msgid "translator-credits"
+msgstr "თემური დოღონაძე"
+
+#: src/about.vala:68
+msgid "Telegram channel"
+msgstr ""
+
+#: src/about.vala:69
+msgid "Financial support (Tinkoff)"
+msgstr ""
+
+#: src/about.vala:70
+msgid "Financial support (Boosty)"
+msgstr ""
+
+#. Please keep alphabetical
+#: src/about.vala:73
+msgid "Sponsors"
+msgstr "სპონსორები"
+
+#: src/application.vala:63
+msgid "Print version information and exit"
+msgstr "ვერსიის ჩვენება და გასვლა"
+
+#: src/application.vala:146
+msgid "Connection restored"
+msgstr ""
+
+#: src/application.vala:274
+msgid "Previous"
+msgstr "წინა"
+
+#: src/application.vala:275
+msgid "Next"
+msgstr "შემდეგი"
+
+#: src/application.vala:358
+msgid "Current track can not be copied to the clipboard"
+msgstr ""
+
+#: src/application.vala:372 src/application.vala:379 src/application.vala:436
+msgid "Can't parse clipboard content"
+msgstr ""
+
+#: src/application.vala:390
+msgid "Users view not implemented yet"
+msgstr ""
+
+#: src/application.vala:406 src/application.vala:420
+msgid "Albums view not implemented yet"
+msgstr ""
+
+#: src/authenticator.vala:47
+msgid "Log out?"
+msgstr ""
+
+#: src/authenticator.vala:48
+msgid "You will need to log in again to use the app"
+msgstr ""
+
+#. Translators: cancel of deleting playlist
+#: src/authenticator.vala:51
+#: src/widgets/preferences/cache-deletion-preferences.vala:96
+#: src/widgets/preferences/preferences-dialog.vala:140
+#: src/widgets/views/playlist.vala:90
+msgid "Cancel"
+msgstr "გაუქმება"
+
+#: src/authenticator.vala:98
+#: src/widgets/preferences/cache-deletion-preferences.vala:130
+msgid "Moving…"
+msgstr ""
+
+#. Translators: Playlist with liked tracks
+#: src/client/api/objects/playlist/playlist.vala:50
+#: src/client/api/objects/playlist/playlist.vala:100 src/pager.vala:277
+msgid "Liked"
+msgstr ""
+
+#. Translators: Playlist that updates every day
+#: src/client/api/objects/playlist/playlist.vala:54
+msgid "Daily"
+msgstr "დღიურად"
+
+#. Translators: Unknown playlist
+#: src/client/api/objects/playlist/playlist.vala:58
+msgid "Unknown"
+msgstr "უცნობი"
+
+#: src/client/cachier/storager.vala:125
+#, c-format
+msgid "Database was initialized, loc - %s"
+msgstr ""
+
+#: src/client/cachier/storager.vala:802
+#, c-format
+msgid "Can't save object %s"
+msgstr ""
+
+#: src/client/cachier/storager.vala:819
+msgid "Byte"
+msgid_plural "Bytes"
+msgstr[0] "ბაიტი"
+
+#: src/client/cachier/storager.vala:822
+msgid "Kilobyte"
+msgid_plural "Kilobytes"
+msgstr[0] "კილობაიტი"
+
+#: src/client/cachier/storager.vala:825
+msgid "Megabyte"
+msgid_plural "Megabytes"
+msgstr[0] "მეგაბაიტი"
+
+#: src/client/cachier/storager.vala:828
+msgid "Gigabyte"
+msgid_plural "Gigabytes"
+msgstr[0] "გიგაბაიტი"
+
+#: src/client/cachier/storager.vala:831
+msgid "Terabyte"
+msgid_plural "Terabytes"
+msgstr[0] ""
+
+#: src/client/cachier/storager.vala:860
+#, c-format
+msgid "Error while getting cache directory size. Message %s"
+msgstr ""
+
+#: src/client/cachier/storager.vala:895
+#, c-format
+msgid "Error while getting permanent directory size. Message %s"
+msgstr ""
+
+#: src/client/jsoner.vala:358 src/client/jsoner.vala:419
+#: src/client/jsoner.vala:526 src/client/jsoner.vala:550
+#, c-format
+msgid "Wrong type: expected %s, got %s"
+msgstr ""
+
+#: src/client/player/mods/abstract-mode.vala:92
+msgid "Problems with queue"
+msgstr ""
+
+#. Translators: name of new created playlist
+#: src/client/talkers/yam-talker.vala:628
+msgid "New Playlist"
+msgstr "ახალი დასაკრავი სია"
+
+#: src/pager.vala:163
+#, c-format
+msgid "Can't set title \"%s\" to page"
+msgstr ""
+
+#: src/pager.vala:174
+#, c-format
+msgid "Can't set icon with name \"%s\" to page"
+msgstr ""
+
+#: src/pager.vala:200
+msgid "Reached max page count"
+msgstr ""
+
+#: src/pager.vala:206
+#, c-format
+msgid "Page '%s' already added"
+msgstr ""
+
+#: src/pager.vala:268
+msgid "Main"
+msgstr "მთავარი"
+
+#: src/pager.vala:287
+msgid "Playlists"
+msgstr "დასაკრავი სიები"
+
+#: src/pager.vala:312
+#, c-format
+msgid "Can't read pages file. Message: %s"
+msgstr ""
+
+#: src/pager.vala:332
+#, c-format
+msgid "Can't create pages file. Message: %s"
+msgstr ""
+
+#: src/utils.vala:70
+msgid "Not implemented yet"
+msgstr "ჯერ არაა იმპლემენტირებული"
+
+#: src/utils.vala:77
+msgid "Need authorization"
+msgstr ""
+
+#: src/utils.vala:81
+msgid "Need Bookmate subscription"
+msgstr ""
+
+#: src/utils.vala:177 src/utils.vala:193
+msgid "Link copied to clipboard"
+msgstr "ბმული დაკოპირებულია"
+
+#: src/utils.vala:242
+#, c-format
+msgid "Duration: %s h. %s min."
+msgstr ""
+
+#: src/utils.vala:244
+#, c-format
+msgid "Duration: %s min."
+msgstr ""
+
+#: src/utils.vala:358
+msgid "today"
+msgstr "დღეს"
+
+#: src/utils.vala:360
+msgid "yesterday"
+msgstr "გუშინ"
+
+#: src/widgets/buttons/just/dislike-button.vala:38
+msgid "Remove dislike"
+msgstr ""
+
+#: src/widgets/buttons/just/dislike-button.vala:41
+msgid "Set dislike"
+msgstr ""
+
+#: src/widgets/buttons/just/like-button.vala:42
+msgid "Remove like"
+msgstr ""
+
+#: src/widgets/buttons/just/like-button.vala:49
+msgid "Set like"
+msgstr ""
+
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:38
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:41
+msgid "Pause"
+msgstr "შეჩერება"
+
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:45
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:48
+msgid "Play"
+msgstr "დაკვრა"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:49
+#, c-format
+msgid "Playlist '%s'"
+msgstr ""
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:54
+#: src/widgets/buttons/menu/playlist-options-button.vala:67
+msgid "My Vibe by playlist"
+msgstr ""
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:55
+#: src/widgets/buttons/menu/playlist-options-button.vala:77
+#: src/widgets/buttons/menu/track-options-button.vala:81
+#: src/widgets/buttons/menu/track-options-button.vala:106
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:36
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:47
+#: src/widgets/buttons/menu/track-queue-options-button.vala:70
+#: src/widgets/buttons/menu/track-queue-options-button.vala:100
+msgid "Add to queue"
+msgstr "რიგში ჩამატება"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:56
+#: src/widgets/buttons/menu/playlist-options-button.vala:78
+#: src/widgets/buttons/menu/track-options-button.vala:84
+#: src/widgets/buttons/menu/track-options-button.vala:109
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:40
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:51
+#: src/widgets/buttons/menu/track-queue-options-button.vala:74
+#: src/widgets/buttons/menu/track-queue-options-button.vala:104
+msgid "Share"
+msgstr "გაზიარება"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:27
+msgid "Primary menu"
+msgstr "ძირითადი მენიუ"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:33
+msgid "Parse URL from clipboard"
+msgstr ""
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:34
+msgid "Preferences"
+msgstr "მორგება"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:35
+msgid "Keyboard Shortcuts"
+msgstr "კლავიატურის მალსახმობები"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:36
+msgid "About Cassette"
+msgstr ""
+
+#: src/widgets/buttons/menu/track-options-button.vala:78
+#: src/widgets/buttons/menu/track-options-button.vala:95
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:33
+#: src/widgets/buttons/menu/track-queue-options-button.vala:67
+#: src/widgets/buttons/menu/track-queue-options-button.vala:88
+msgid "My Vibe by track"
+msgstr ""
+
+#: src/widgets/buttons/menu/track-options-button.vala:79
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:34
+#: src/widgets/buttons/menu/track-queue-options-button.vala:68
+msgid "Show info"
+msgstr ""
+
+#: src/widgets/buttons/menu/track-options-button.vala:80
+#: src/widgets/buttons/menu/track-options-button.vala:105
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:35
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:46
+#: src/widgets/buttons/menu/track-queue-options-button.vala:69
+#: src/widgets/buttons/menu/track-queue-options-button.vala:99
+msgid "Play next"
+msgstr "შემდეგის დაკვრა"
+
+#: src/widgets/buttons/menu/track-options-button.vala:82
+#: src/widgets/buttons/menu/track-options-button.vala:107
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:37
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:48
+#: src/widgets/buttons/menu/track-queue-options-button.vala:71
+#: src/widgets/buttons/menu/track-queue-options-button.vala:101
+msgid "Add to playlist"
+msgstr "დასაკრავი სიაში დამატება"
+
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:38
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:49
+msgid "Remove from playlist"
+msgstr "დასაკრავი სიიდან წაშლა"
+
+#: src/widgets/buttons/menu/track-queue-options-button.vala:72
+#: src/widgets/buttons/menu/track-queue-options-button.vala:102
+msgid "Remove from queue"
+msgstr "რიგიდან წაშლა"
+
+#: src/widgets/buttons/menu/volume-button.vala:122
+msgid "Volume control"
+msgstr "ხმის კონტროლი"
+
+#: src/widgets/buttons/menu/volume-button.vala:262
+msgid "Unmute"
+msgstr "დადუმების გამორთვა"
+
+#: src/widgets/buttons/menu/volume-button.vala:262
+msgid "Mute"
+msgstr "დადუმება"
+
+#: src/widgets/cache-indicator/job-info-badge.vala:45
+#: src/widgets/save-stack.vala:53 src/widgets/views/abstract-cachiable.vala:173
+msgid "Album"
+msgstr "ალბომი"
+
+#. Translators: n track from n tracks saved
+#: src/widgets/cache-indicator/job-info-badge.vala:78
+#, c-format
+msgid "%d / %d saved%s"
+msgid_plural "%d / %d saved%s"
+msgstr[0] ""
+
+#: src/widgets/cache-indicator/job-info-badge.vala:85
+#, c-format
+msgid "%d track saving now"
+msgid_plural "%d tracks saving now"
+msgstr[0] ""
+
+#: src/widgets/info-marks.vala:42
+#, c-format
+msgid "Track was replaced. Original version: %s, %s"
+msgstr ""
+
+#: src/widgets/playlist-micro.vala:158 src/widgets/views/playlist.vala:242
+#, c-format
+msgid "Owner: %s"
+msgstr ""
+
+#: src/widgets/playlist-row.vala:86
+#, c-format
+msgid "Track count: %s"
+msgstr ""
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:89
+#: src/widgets/preferences/preferences-dialog.vala:135
+msgid "Delete cache files?"
+msgstr ""
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:90
+msgid "Move saved files?"
+msgstr ""
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:91
+#: src/widgets/preferences/preferences-dialog.vala:136
+msgid ""
+"All cache will be deleted. This doesn't affect on saved playlists or albums"
+msgstr ""
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:92
+msgid ""
+"All saved playlists and albums will be moved to cache files. This could take "
+"a while."
+msgstr ""
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:130
+msgid "Deleting…"
+msgstr "წაშლა…"
+
+#: src/widgets/save-stack.vala:55
+msgid "Image"
+msgstr "გამოსახულება"
+
+#: src/widgets/save-stack.vala:59
+msgid "Track"
+msgstr "აუდიობილიკი"
+
+#: src/widgets/save-stack.vala:76
+#, c-format
+msgid "%s saving…"
+msgstr ""
+
+#: src/widgets/save-stack.vala:77
+#, c-format
+msgid "%s cached"
+msgstr ""
+
+#: src/widgets/save-stack.vala:78
+#, c-format
+msgid "%s saved"
+msgstr "%s შენახულია"
+
+#: src/widgets/sidebar/childs/player-queue.vala:67
+#, c-format
+msgid "Playlist \"%s\""
+msgstr ""
+
+#: src/widgets/sidebar/childs/player-queue.vala:71
+#, c-format
+msgid "Album \"%s\""
+msgstr ""
+
+#: src/widgets/sidebar/childs/player-queue.vala:75
+#, c-format
+msgid "By search results \"%s\""
+msgstr ""
+
+#: src/widgets/sidebar/childs/player-queue.vala:79
+msgid "Track list"
+msgstr ""
+
+#: src/widgets/sidebar/childs/track-info.vala:69
+msgid "Your music track"
+msgstr ""
+
+#: src/widgets/sidebar/childs/track-info.vala:85
+msgid "Music track"
+msgstr ""
+
+#: src/widgets/sidebar/childs/wave-settings.vala:40
+msgid "Wave settings"
+msgstr ""
+
+#: src/widgets/track-rows/base.vala:80 src/widgets/track-rows/default.vala:101
+msgid "Track is not available"
+msgstr ""
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:79
+#, c-format
+msgid "%s '%s' saved successfully"
+msgstr ""
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:90
+#, c-format
+msgid "%s '%s' saving was stopped, due to network error"
+msgstr ""
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:100
+#, c-format
+msgid "%s '%s' saving was aborted"
+msgstr ""
+
+#. Translators: %s - content type (e.g. "Playlist")
+#: src/widgets/views/abstract-cachiable.vala:192
+#, c-format
+msgid "%s saving has started"
+msgstr ""
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:230
+#, c-format
+msgid "%s '%s' was moved from data to cache"
+msgstr ""
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:240
+#, c-format
+msgid "%s removing has started. Please do not close the app"
+msgstr ""
+
+#: src/widgets/views/cant-show.vala:38
+#, c-format
+msgid "Error %d"
+msgstr ""
+
+#: src/widgets/views/cant-show.vala:42
+msgid "Can't load page"
+msgstr ""
+
+#: src/widgets/views/cant-show.vala:45
+msgid "Can't find desired content"
+msgstr ""
+
+#: src/widgets/views/playlist.vala:85
+msgid "Delete playlist?"
+msgstr ""
+
+#: src/widgets/views/playlist.vala:86
+#, c-format
+msgid "Playlist '%s' will be permanently deleted."
+msgstr ""
+
+#: src/widgets/views/playlist.vala:105
+#, c-format
+msgid "Playlist '%s' was deleted"
+msgstr ""
+
+#. Translators: %s is female person
+#: src/widgets/views/playlist.vala:248
+#, c-format
+msgctxt "female person"
+msgid "%s updated playlist %s"
+msgstr ""
+
+#. Translators: %s is male person
+#: src/widgets/views/playlist.vala:252
+#, c-format
+msgctxt "male person"
+msgid "%s updated playlist %s"
+msgstr ""
+
+#: src/widgets/views/playlist.vala:282
+#, c-format
+msgid "Can't change visibility of '%s'"
+msgstr ""
+
+#: src/widgets/views/playlist.vala:288
+#, c-format
+msgid "Playlist '%s' is public now"
+msgstr ""
+
+#: src/widgets/views/playlist.vala:291
+#, c-format
+msgid "Playlist '%s' is private now"
+msgstr ""
+
+#: src/window.vala:236
+#, c-format
+msgid "Window info message: %s"
+msgstr ""
diff --git a/po/meson.build b/po/meson.build
index 2f24eda..e9b77d7 100644
--- a/po/meson.build
+++ b/po/meson.build
@@ -1,2 +1 @@
-# add_project_arguments('-DGETTEXT_PACKAGE="cassette"', language:'c')
i18n.gettext(meson.project_name(), preset: 'glib')
diff --git a/po/pt.po b/po/pt.po
new file mode 100644
index 0000000..58870bf
--- /dev/null
+++ b/po/pt.po
@@ -0,0 +1,1363 @@
+# Portuguese translation for cassette.
+# Copyright (C) 2024 cassette's COPYRIGHT HOLDER
+# This file is distributed under the same license as the cassette package.
+# Hugo Carvalho , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: cassette main\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/Rirusha/Cassette/-/issues\n"
+"POT-Creation-Date: 2024-10-02 01:04+0000\n"
+"PO-Revision-Date: 2024-10-23 13:47+0100\n"
+"Last-Translator: Hugo Carvalho \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: Poedit 3.2.2\n"
+
+#. Translators: app name should be translated
+#: data/space.rirusha.Cassette.desktop.in.in:4
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:3 src/main.vala:23
+msgid "Cassette"
+msgstr "Cassette"
+
+#: data/space.rirusha.Cassette.desktop.in.in:5
+msgid "Unofficial Yandex Music client for GNOME"
+msgstr "Cliente não oficial do Yandex Music para GNOME"
+
+#. Translators: keep number of ';'
+#: data/space.rirusha.Cassette.desktop.in.in:7
+#: data/space.rirusha.Cassette-Devel.desktop.in.in:7
+msgid "yandex;yandex music;yam;music;"
+msgstr "yandex;yandex music;yam;música;"
+
+#. Translators: app name should be translated
+#: data/space.rirusha.Cassette-Devel.desktop.in.in:4
+msgid "Cassette (Devel)"
+msgstr "Cassette (Devel)"
+
+#: data/space.rirusha.Cassette-Devel.desktop.in.in:5
+msgid "Unofficial Yandex Music client for GNOME (Devel build)"
+msgstr ""
+"Cliente não oficial do Yandex Music para GNOME (compilação de "
+"desenvolvimento)"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:7
+msgid "Unofficial Yandex Music client"
+msgstr "Cliente não oficial do Yandex Music"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:9
+msgid ""
+"GTK/Adwaita application that allows to use Yandex Music service on Linux "
+"operating systems."
+msgstr ""
+"Aplicação GTK/Adwaita que permite usar o serviço Yandex Music em sistemas "
+"operativos Linux."
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:13
+msgid "Features:"
+msgstr "Funcionalidades:"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:17
+msgid "Allows you to save playlists and albums for offline listening"
+msgstr "Permite guardar listas de reprodução e álbuns para ouvir offline"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:20
+msgid "Has a dynamic \"karaoke mode\" right in the track information panel"
+msgstr "Possui um “modo karaoke” dinâmico no painel de informações da faixa"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:23
+msgid ""
+"Allows you to more precisely customize the display and playback of special "
+"content, such as explicit or suitable for children."
+msgstr ""
+"Permite personalizar com mais precisão a exibição e a reprodução de conteúdo "
+"especial, como explícito ou adequado para crianças."
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:27
+msgid "Displays tracks that are currently unavailable in the service"
+msgstr "Exibe faixas que estão disponíveis no serviço no momento"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:30
+msgid "Shows which tracks have been replaced and by what"
+msgstr "Mostra quais faixas foram substituídas e por quais"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:34
+msgid ""
+"Cassette is an unofficial client and is not associated with or endorsed by "
+"Yandex."
+msgstr ""
+"Cassette é um cliente não oficial e não é associado ou endossado pelo Yandex."
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:63
+msgid "Liked view"
+msgstr "Visualização de gostos"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:67
+msgid "Playlists view"
+msgstr "Visualização de listas de reprodução"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:71
+msgid "Sync lyrics"
+msgstr "Sincronização de letras"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:75
+msgid "Playback queue"
+msgstr "Fila de reprodução"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:79
+msgid "Waves view"
+msgstr "Visualização de ondas"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:83
+msgid "Main preferences"
+msgstr "Preferências principais"
+
+#: data/ui/account-info-dialog.blp:5
+msgid "Account information"
+msgstr "Informações da conta"
+
+#: data/ui/account-info-dialog.blp:52
+msgid "Open in browser"
+msgstr "Abrir no navegador"
+
+#: data/ui/account-info-dialog.blp:61
+msgid "Plus"
+msgstr "Mais"
+
+#: data/ui/account-info-dialog.blp:70 data/ui/no-plus-dialog.blp:51
+#: src/authenticator.vala:51
+msgid "Log out"
+msgstr "Sair"
+
+#. Translators: usage mode of application. Online mode or Local mode available
+#: data/ui/begin-view.ui:11
+msgid "Usage mode"
+msgstr "Modo de utilização"
+
+#. Translators: usage mode of application. Online mode or Local mode available
+#: data/ui/begin-view.ui:40
+msgctxt "auth window"
+msgid "Choose usage mode"
+msgstr "Escolha o modo de uso"
+
+#: data/ui/begin-view.ui:50
+msgctxt "auth window"
+msgid ""
+"If you select the \"Online mode\", you can access local music by enabling "
+"the display of the corresponding pages in the pages preferences, as well as "
+"log in later when selecting \"Local mode\""
+msgstr ""
+"Se selecionar o “Modo online”, poderá acessar a música local ativando a "
+"exibição das páginas correspondentes nas preferências de páginas, bem como "
+"efetuar acesso posteriormente ao selecionar o “Modo local”"
+
+#. Translators: usage mode of application. Online mode or Local mode available
+#: data/ui/begin-view.ui:75
+msgctxt "auth window"
+msgid "Online mode"
+msgstr "Modo online"
+
+#. Translators: usage mode of application. Online mode or Local mode available
+#: data/ui/begin-view.ui:85
+msgctxt "auth window"
+msgid "Local mode"
+msgstr "Modo local"
+
+#. Translators: "Close" window button label
+#: data/ui/begin-view.ui:97
+msgctxt "auth window"
+msgid "Close"
+msgstr "Fechar"
+
+#: data/ui/begin-view.ui:112
+msgid "Authorization"
+msgstr "Autorização"
+
+#. Translators: size of cache dirs
+#: data/ui/cache-deletion-preferences.ui:21
+msgid "Dirs size:"
+msgstr "Tamanho dos diretórios:"
+
+#. Translators: tempprary cache folder
+#: data/ui/cache-deletion-preferences.ui:35
+msgid "Cache"
+msgstr "Cache"
+
+#: data/ui/cache-deletion-preferences.ui:88
+msgid "Clear"
+msgstr "Limpar"
+
+#. Translators: temparence cache folder
+#: data/ui/cache-deletion-preferences.ui:109
+msgid "Data"
+msgstr "Dados"
+
+#: data/ui/cache-deletion-preferences.ui:159
+msgid "Move to cache"
+msgstr "Mover para o cache"
+
+#: data/ui/cache-deletion-preferences.ui:163
+msgid "Move"
+msgstr "Mover"
+
+#: data/ui/cache-indicator.blp:35
+msgid "Show all cache jobs"
+msgstr "Mostrar todos os trabalhos de cache"
+
+#: data/ui/custom-page-preferences.ui:17
+msgid "Title: "
+msgstr "Título: "
+
+#: data/ui/custom-page-preferences.ui:38
+msgid "Icon: "
+msgstr "Ícone: "
+
+#: data/ui/custom-page-preferences.ui:75
+msgid "Save page"
+msgstr "Guardar página"
+
+#: data/ui/custom-page-preferences.ui:92
+msgid "Remove page"
+msgstr "Remover página"
+
+#. Translators: title of preference group
+#: data/ui/custom-pages-preferences.ui:7
+msgctxt "preference window"
+msgid "Custom pages"
+msgstr "Páginas personalizadas"
+
+#. Translators: description of preference group
+#: data/ui/custom-pages-preferences.ui:9
+msgctxt "preference window"
+msgid "Here you can control custom pages."
+msgstr "Aqui pode controlar páginas personalizadas."
+
+#: data/ui/disliked-tracks-view.ui:23
+#: src/widgets/buttons/menu/primary-menu-button.vala:31
+msgid "Disliked tracks"
+msgstr "Faixas não gosto"
+
+#: data/ui/header-bar.blp:12
+msgid "Go back"
+msgstr "Voltar"
+
+#: data/ui/header-bar.blp:20
+msgid "Refresh"
+msgstr "Atualizar"
+
+#: data/ui/header-bar.blp:28
+msgid "Yandex Music search"
+msgstr "Pesquisa no Yandex Music"
+
+#: data/ui/help-overlay.blp:11
+msgid "Main Actions"
+msgstr "Ações principais"
+
+#: data/ui/help-overlay.blp:14
+msgid "Show Shortcuts"
+msgstr "Mostra os atalhos"
+
+#: data/ui/help-overlay.blp:19
+msgid "Quit"
+msgstr "Sair"
+
+#: data/ui/help-overlay.blp:25
+msgid "Playback Control"
+msgstr "Controlo de reprodução"
+
+#: data/ui/help-overlay.blp:28
+msgid "Play/Pause playback"
+msgstr "Reproduz/Pausa a reprodução"
+
+#: data/ui/help-overlay.blp:33 data/ui/player-bar.blp:87
+msgid "Play previous track"
+msgstr "Reproduz a faixa anterior"
+
+#: data/ui/help-overlay.blp:38 data/ui/player-bar.blp:119
+msgid "Play next track"
+msgstr "Reproduz a faixa seguinte"
+
+#: data/ui/help-overlay.blp:43
+msgid "Mute app"
+msgstr "Silenciar aplicação"
+
+#: data/ui/help-overlay.blp:49
+msgid "Queue control"
+msgstr "Controlo de fila"
+
+#: data/ui/help-overlay.blp:52 data/ui/player-bar.blp:141
+msgid "Change shuffle mode"
+msgstr "Altera o modo aleatório"
+
+#: data/ui/help-overlay.blp:57 data/ui/player-bar.blp:65
+msgid "Change repeat mode"
+msgstr "Altera o modo de repetição"
+
+#: data/ui/help-overlay.blp:63
+msgid "Other"
+msgstr "Outros"
+
+#: data/ui/help-overlay.blp:66
+msgid "Share current track"
+msgstr "Partilha a trilha atual"
+
+#: data/ui/help-overlay.blp:71
+msgid "Parse url from clipboard"
+msgstr "Analisa a URL da área de transferência"
+
+#: data/ui/info-marks.ui:23
+msgid "Explicit content"
+msgstr "Conteúdo explícito"
+
+#: data/ui/info-marks.ui:32
+msgid "Child content"
+msgstr "Conteúdo infantil"
+
+#: data/ui/main-view.blp:6
+msgid "Page under construction"
+msgstr "Página sob construção"
+
+#: data/ui/main-view.blp:20
+msgid "All stations"
+msgstr "Todas as estações"
+
+#: data/ui/no-plus-dialog.blp:20
+msgid "No Plus Subscription"
+msgstr "Sem assinatura Plus"
+
+#: data/ui/no-plus-dialog.blp:21
+msgid ""
+"To avoid problems with Yandex, the online functions of the application are "
+"not available without a Yandex.Plus subscription. Thanks for understanding."
+msgstr ""
+"Para evitar problemas com o Yandex, as funções online da aplicação não estão "
+"disponíveis sem uma assinatura Yandex.Plus. Obrigado pela compreensão."
+
+#: data/ui/no-plus-dialog.blp:41
+msgid "Get Plus"
+msgstr "Obter Plus"
+
+#: data/ui/player-bar.blp:22
+msgid "Show track info"
+msgstr "Mostra informações da faixa"
+
+#: data/ui/player-bar.blp:206
+msgid "Show wave settings"
+msgstr "Mostra configurações da onda"
+
+#: data/ui/player-bar.blp:216
+msgid "Show playback queue"
+msgstr "Mostra fila de reprodução"
+
+#: data/ui/player-bar.blp:229
+msgid "Change volume"
+msgstr "Altera o volume"
+
+#: data/ui/player-queue.blp:5 src/application.vala:271
+msgid "Playing now"
+msgstr "Reproduzindo agora"
+
+#: data/ui/playlist-choose-dialog.ui:8
+msgid "Choose playlist to add"
+msgstr "Escolha a lista de reprodução para adicionar"
+
+#: data/ui/playlist-create-button.ui:36
+msgid "Create playlist"
+msgstr "Criar lista de reprodução"
+
+#: data/ui/playlist-micro.ui:39 data/ui/playlist-view.ui:56
+#: src/widgets/cache-indicator/job-info-badge.vala:42
+#: src/widgets/save-stack.vala:56 src/widgets/views/abstract-cachiable.vala:167
+msgid "Playlist"
+msgstr "Lista de reprodução"
+
+#: data/ui/playlist-row.ui:40
+msgid "Empty"
+msgstr "Vazia"
+
+#: data/ui/playlists-view.ui:23
+msgid "Your playlists"
+msgstr "Suas listas de reprodução"
+
+#: data/ui/playlists-view.ui:39
+msgid "Also you liked these playlists"
+msgstr "Também gostou destas listas de reprodução"
+
+#: data/ui/playlist-view.ui:187
+msgid "Change playlist visibility"
+msgstr "Altera a visibilidade da lista de reprodução"
+
+#: data/ui/playlist-view.ui:211
+msgid "Add page to header"
+msgstr "Adiciona página ao cabeçalho"
+
+#. Translators: tooltip of "save" button
+#: data/ui/playlist-view.ui:233 data/ui/playlist-view.ui:237
+#: src/widgets/buttons/menu/track-options-button.vala:82
+#: src/widgets/buttons/menu/track-options-button.vala:107
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:38
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:49
+#: src/widgets/buttons/menu/track-queue-options-button.vala:72
+#: src/widgets/buttons/menu/track-queue-options-button.vala:102
+msgid "Save"
+msgstr "Guardar"
+
+#. Translators: tooltip of "delete" button
+#: data/ui/playlist-view.ui:256 data/ui/playlist-view.ui:260
+#: src/widgets/preferences/cache-deletion-preferences.vala:96
+#: src/widgets/preferences/preferences-dialog.vala:140
+#: src/widgets/views/playlist.vala:90
+msgid "Delete"
+msgstr "Eliminar"
+
+#. Translators: tooltip of "abort" button
+#: data/ui/playlist-view.ui:276
+msgid "Abort"
+msgstr "Abortar"
+
+#: data/ui/playlist-view.ui:280
+msgid "Stop"
+msgstr "Parar"
+
+#: data/ui/preferences-dialog.ui:8
+msgctxt "preference dialog"
+msgid "Main"
+msgstr "Principal"
+
+#: data/ui/preferences-dialog.ui:12
+msgctxt "preference dialog"
+msgid "General"
+msgstr "Geral"
+
+#: data/ui/preferences-dialog.ui:15
+msgctxt "preference dialog"
+msgid "Enable high quality audio"
+msgstr "Ativa áudio de alta qualidade"
+
+#: data/ui/preferences-dialog.ui:16
+msgctxt "preference dialog"
+msgid ""
+"Attention! If the track was downloaded in low quality, and after the "
+"download is enabled in high quality, the audio will not be reloaded"
+msgstr ""
+"Atenção! Se a faixa foi transferida em baixa qualidade e, após a "
+"transferência ser ativada em alta qualidade, o áudio não será recarregado"
+
+#: data/ui/preferences-dialog.ui:21
+msgctxt "preference dialog"
+msgid "Add track on top of playlist"
+msgstr "Adicionar faixa no topo da lista de reprodução"
+
+#: data/ui/preferences-dialog.ui:22
+msgctxt "preference dialog"
+msgid "Will the track be added to the playlist as the first or as the last"
+msgstr ""
+"A faixa será adicionada à lista de reprodução como a primeira ou a última?"
+
+#: data/ui/preferences-dialog.ui:27
+msgctxt "preference dialog"
+msgid "Show 'Playing now' notification"
+msgstr "Mostrar notificação “A reproduzir agora”"
+
+#: data/ui/preferences-dialog.ui:28
+msgctxt "preference dialog"
+msgid "Show a notification when switching a track"
+msgstr "Mostra uma notificação ao trocar de faixa"
+
+#: data/ui/preferences-dialog.ui:35
+msgctxt "preference dialog"
+msgid "Show additional marks"
+msgstr "Mostra marcas adicionais"
+
+#: data/ui/preferences-dialog.ui:36
+msgctxt "preference dialog"
+msgid "Additional marks display additional information about the track"
+msgstr "Marcas adicionais exibem mais informações sobre a faixa"
+
+#: data/ui/preferences-dialog.ui:39
+msgctxt "preference dialog"
+msgid "Show save mark"
+msgstr "Mostrar marca de gravação"
+
+#: data/ui/preferences-dialog.ui:40
+msgctxt "preference dialog"
+msgid "Show a label with information about the caching status of the track"
+msgstr "Mostra um rótulo com informações sobre o estado de cache da faixa"
+
+#: data/ui/preferences-dialog.ui:45
+msgctxt "preference dialog"
+msgid "Show cache mark"
+msgstr "Mostrar marca de cache"
+
+#: data/ui/preferences-dialog.ui:46
+msgctxt "preference dialog"
+msgid "Show a mark about saving a track to the cache"
+msgstr "Mostra uma marca sobre guardar uma faixa no cache"
+
+#: data/ui/preferences-dialog.ui:51
+msgctxt "preference dialog"
+msgid "Show replaced mark"
+msgstr "Mostrar marca de substituição"
+
+#: data/ui/preferences-dialog.ui:52
+msgctxt "preference dialog"
+msgid "Show a mark that shows that the track has been replaced"
+msgstr "Mostra uma marca que mostra que a faixa foi substituída"
+
+#: data/ui/preferences-dialog.ui:59
+msgctxt "preference dialog"
+msgid "Tracks visibility"
+msgstr "Visibilidade das faixas"
+
+#: data/ui/preferences-dialog.ui:60
+msgctxt "preference dialog"
+msgid ""
+"Show special tracks in track lists. Filter doesn't work when searching in "
+"track list"
+msgstr ""
+"Mostra faixas especiais em listas de faixas. O filtro não funciona ao "
+"pesquisar na lista de faixas"
+
+#: data/ui/preferences-dialog.ui:63
+msgctxt "preference dialog"
+msgid "Show unavailable content"
+msgstr "Mostrar conteúdo não disponível"
+
+#: data/ui/preferences-dialog.ui:64
+msgctxt "preference dialog"
+msgid ""
+"Show tracks that are not available in the service. You can't listen to them"
+msgstr ""
+"Mostra faixas que não estão disponíveis no serviço. Você não pode ouvi-los"
+
+#: data/ui/preferences-dialog.ui:69
+msgctxt "preference dialog"
+msgid "Show content suitable for children"
+msgstr "Mostrar conteúdo adequado para crianças"
+
+#: data/ui/preferences-dialog.ui:70
+msgctxt "preference dialog"
+msgid "Show content that is specific to children"
+msgstr "Mostra conteúdo específico para crianças"
+
+#: data/ui/preferences-dialog.ui:75
+msgctxt "preference dialog"
+msgid "Show explicit content"
+msgstr "Mostrar conteúdo explícito"
+
+#: data/ui/preferences-dialog.ui:76
+msgctxt "preference dialog"
+msgid "Show content that has age restrictions"
+msgstr "Mostra conteúdo com restrições de idade"
+
+#: data/ui/preferences-dialog.ui:83
+msgctxt "preference dialog"
+msgid "Other"
+msgstr "Outro"
+
+#: data/ui/preferences-dialog.ui:86
+msgctxt "preference dialog"
+msgid "Enable Debug-Mode"
+msgstr "Ativar modo de depuração"
+
+#: data/ui/preferences-dialog.ui:87
+msgctxt "preference dialog"
+msgid "Enable logging of additional information useful for error detection"
+msgstr "Ativar registo de informações adicionais úteis para deteção de erros"
+
+#: data/ui/preferences-dialog.ui:94
+msgctxt "preference dialog"
+msgid "Experimental"
+msgstr "Experimental"
+
+#: data/ui/preferences-dialog.ui:95
+msgctxt "preference dialog"
+msgid "Parameters that test anything and may be removed in future releases"
+msgstr ""
+"Parâmetros que testam qualquer coisa e podem ser removidos em versões futuras"
+
+#: data/ui/preferences-dialog.ui:98
+msgctxt "preference dialog"
+msgid "Use only bottom sheet menus"
+msgstr "Usar apenas menus da folha inferior"
+
+#: data/ui/preferences-dialog.ui:99
+msgctxt "preference dialog"
+msgid "Test preference for bottom sheet menu"
+msgstr "Teste a preferência para o menu da folha inferior"
+
+#: data/ui/preferences-dialog.ui:108
+msgctxt "preference dialog"
+msgid "Pages"
+msgstr "Páginas"
+
+#: data/ui/preferences-dialog.ui:112
+msgctxt "preference dialog"
+msgid "Static pages"
+msgstr "Páginas estáticas"
+
+#: data/ui/preferences-dialog.ui:113
+msgctxt "preference dialog"
+msgid ""
+"Here you can show or hide static pages. They will always be displayed on the "
+"left side of the header."
+msgstr ""
+"Aqui pode mostrar ou ocultar páginas estáticas. Elas sempre serão exibidas "
+"no lado esquerdo do cabeçalho."
+
+#: data/ui/preferences-dialog.ui:116
+msgctxt "preference dialog"
+msgid "Show 'Main' page"
+msgstr "Mostrar página “Principal”"
+
+#: data/ui/preferences-dialog.ui:121
+msgctxt "preference dialog"
+msgid "Show 'Liked' page"
+msgstr "Mostrar página “Gosto”"
+
+#: data/ui/preferences-dialog.ui:126
+msgctxt "preference dialog"
+msgid "Show 'Playlists' page"
+msgstr "Mostrar página “Listas de reprodução”"
+
+#: data/ui/preferences-dialog.ui:138
+msgctxt "preference dialog"
+msgid "Cache"
+msgstr "Cache"
+
+#: data/ui/preferences-dialog.ui:142
+msgctxt "preference dialog"
+msgid "Cache managing"
+msgstr "Gestão de cache"
+
+#: data/ui/preferences-dialog.ui:143
+msgctxt "preference dialog"
+msgid ""
+"Here you can see application memory usage, delete all cache from cache "
+"folder and control downloading cache to disk"
+msgstr ""
+"Aqui pode ver a utilização de memória da aplicação, eliminar todo o cache da "
+"pasta de cache e controlar a transferência do cache para o disco"
+
+#: data/ui/preferences-dialog.ui:146
+msgctxt "preference dialog"
+msgid "Cache content"
+msgstr "Conteúdo do cache"
+
+#: data/ui/preferences-dialog.ui:147
+msgctxt "preference dialog"
+msgid ""
+"For better performance. Over time, it starts to take up a lot of space. So "
+"far, manual cleaning is required. If enabled, the application will cache all "
+"content to cache dir for better performance, otherwise, the application will "
+"load content only when caching objects (such as playlists or albums). "
+"Disabling the parameter does not delete already downloaded content"
+msgstr ""
+"Para melhor desempenho. Com o tempo, ele começa a ocupar muito espaço. Até "
+"agora, a limpeza manual é necessária. Se ativado, a aplicação armazenará em "
+"cache todo o conteúdo no diretório de cache para melhor desempenho, caso "
+"contrário, a aplicação carregará o conteúdo apenas ao armazenar em cache "
+"objetos (como listas de reprodução ou álbuns). Desativar o parâmetro não "
+"elimina o conteúdo já transferido"
+
+#: data/ui/save-stack.ui:25
+msgid "Content saving…"
+msgstr "A guardar conteúdo…"
+
+#: data/ui/save-stack.ui:42
+msgid "Content cached"
+msgstr "Conteúdo em cache"
+
+#: data/ui/save-stack.ui:56
+msgid "Content saved"
+msgstr "Conteúdo guardado"
+
+#: data/ui/stations-view.blp:22
+msgid "Stations dashboard"
+msgstr "Painel de estações"
+
+#: data/ui/stations-view.blp:58
+msgid "Searching for station…"
+msgstr "A procurar estação…"
+
+#: data/ui/stations-view.blp:77
+msgid "By genre…"
+msgstr "Por género…"
+
+#: data/ui/stations-view.blp:99 data/ui/wave-settings.blp:60
+msgid "By mood…"
+msgstr "Por humor…"
+
+#: data/ui/stations-view.blp:121 data/ui/wave-settings.blp:25
+msgid "By activity…"
+msgstr "Por atividade…"
+
+#: data/ui/stations-view.blp:143
+msgid "By epoch…"
+msgstr "Por época…"
+
+#: data/ui/stations-view.blp:165
+msgid "Other…"
+msgstr "Outro…"
+
+#: data/ui/stations-view.blp:209
+msgid "No stations with that name were found"
+msgstr "Nenhuma estação com esse nome foi encontrada"
+
+#: data/ui/track-info.blp:103
+msgid "Track lyrics"
+msgstr "Letra da faixa"
+
+#: data/ui/track-info.blp:117
+msgid "Authors"
+msgstr "Autores"
+
+#: data/ui/track-info.blp:135
+msgid "Source"
+msgstr "Fonte"
+
+#: data/ui/track-info.blp:158
+msgid "Similar tracks"
+msgstr "Faixas similares"
+
+#. Translators: placeholder of "search" entry. Local track search (inside of track list)
+#: data/ui/track-list.ui:21
+msgid "Search track"
+msgstr "Pesquisar faixa"
+
+#. Translators: part of sort by
+#: data/ui/track-list.ui:30
+msgid "Sort by"
+msgstr "Ordenar por"
+
+#: data/ui/track-list.ui:77
+msgid "No tracks to display"
+msgstr "Nenhuma faixa para exibir"
+
+#: data/ui/track-list.ui:88
+msgid "name"
+msgstr "nome"
+
+#: data/ui/track-list.ui:92
+msgid "artist"
+msgstr "artista"
+
+#: data/ui/track-list.ui:96
+msgid "album"
+msgstr "álbum"
+
+#: data/ui/track-list.ui:100
+msgid "duration"
+msgstr "duração"
+
+#: data/ui/track-placeholder.ui:9 src/widgets/pages/loading-page.vala:37
+msgid "Loading…"
+msgstr "A carregar…"
+
+#: data/ui/wave-settings.blp:42
+msgid "By diversity…"
+msgstr "Por diversidade…"
+
+#: data/ui/wave-settings.blp:78
+msgid "By language…"
+msgstr "Por idioma…"
+
+#: data/ui/wave-settings.blp:93
+msgid "Can't get wave settings"
+msgstr "Não é possível obter as definições da onda"
+
+#: data/ui/window.blp:57 src/window.vala:252
+msgid "Reconnect"
+msgstr "Voltar a ligar"
+
+#: data/ui/window.blp:58 src/application.vala:151
+msgid "Connection problems"
+msgstr "Problemas de ligação"
+
+#. Translators: NAME /n NAME
+#: src/about.vala:59
+msgid "translator-credits"
+msgstr "Hugo Carvalho "
+
+#: src/about.vala:67
+msgid "Telegram channel"
+msgstr "Canal de Telegram"
+
+#: src/about.vala:68
+msgid "Financial support (Tinkoff)"
+msgstr "Apoio financeiro (Tinkoff)"
+
+#: src/about.vala:69
+msgid "Financial support (Boosty)"
+msgstr "Apoio financeiro (Boosty)"
+
+#. Please keep alphabetical
+#: src/about.vala:72
+msgid "Sponsors"
+msgstr "Patrocinadores"
+
+#: src/application.vala:62
+msgid "Print version information and exit"
+msgstr "Imprime informações da versão e sai"
+
+#: src/application.vala:145
+msgid "Connection restored"
+msgstr "Ligação restaurada"
+
+#: src/application.vala:273
+msgid "Previous"
+msgstr "Anterior"
+
+#: src/application.vala:274
+msgid "Next"
+msgstr "Seguinte"
+
+#: src/application.vala:357
+msgid "Current track can not be copied to the clipboard"
+msgstr "A faixa atual não pode ser copiada para a área de transferência"
+
+#: src/application.vala:371 src/application.vala:378 src/application.vala:435
+msgid "Can't parse clipboard content"
+msgstr "Não é possível analisar o conteúdo da área de transferência"
+
+#: src/application.vala:389
+msgid "Users view not implemented yet"
+msgstr "A visualização de utilizadores ainda não foi implementada"
+
+#: src/application.vala:405 src/application.vala:419
+msgid "Albums view not implemented yet"
+msgstr "A visualização de álbuns ainda não foi implementada"
+
+#: src/authenticator.vala:46
+msgid "Log out?"
+msgstr "Sair?"
+
+#: src/authenticator.vala:47
+msgid "You will need to log in again to use the app"
+msgstr "Precisará iniciar sessão novamente para usar a aplicação"
+
+#. Translators: cancel of deleting playlist
+#: src/authenticator.vala:50
+#: src/widgets/preferences/cache-deletion-preferences.vala:95
+#: src/widgets/preferences/preferences-dialog.vala:139
+#: src/widgets/views/playlist.vala:89
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: src/authenticator.vala:97
+#: src/widgets/preferences/cache-deletion-preferences.vala:129
+msgid "Moving…"
+msgstr "A mover…"
+
+#. Translators: Playlist with liked tracks
+#: src/client/api/objects/playlist/playlist.vala:49
+#: src/client/api/objects/playlist/playlist.vala:99 src/pager.vala:276
+msgid "Liked"
+msgstr "Gosto"
+
+#. Translators: Playlist that updates every day
+#: src/client/api/objects/playlist/playlist.vala:53
+msgid "Daily"
+msgstr "Diária"
+
+#. Translators: Unknown playlist
+#: src/client/api/objects/playlist/playlist.vala:57
+msgid "Unknown"
+msgstr "Desconhecida"
+
+#: src/client/cachier/storager.vala:124
+#, c-format
+msgid "Database was initialized, loc - %s"
+msgstr "A base de dados foi inicializado, loc - %s"
+
+#: src/client/cachier/storager.vala:801
+#, c-format
+msgid "Can't save object %s"
+msgstr "Não foi possível guardar o objeto %s"
+
+#: src/client/cachier/storager.vala:818
+msgid "Byte"
+msgid_plural "Bytes"
+msgstr[0] "Byte"
+msgstr[1] "Bytes"
+
+#: src/client/cachier/storager.vala:821
+msgid "Kilobyte"
+msgid_plural "Kilobytes"
+msgstr[0] "Kilobyte"
+msgstr[1] "Kilobytes"
+
+#: src/client/cachier/storager.vala:824
+msgid "Megabyte"
+msgid_plural "Megabytes"
+msgstr[0] "Megabyte"
+msgstr[1] "Megabytes"
+
+#: src/client/cachier/storager.vala:827
+msgid "Gigabyte"
+msgid_plural "Gigabytes"
+msgstr[0] "Gigabyte"
+msgstr[1] "Gigabytes"
+
+#: src/client/cachier/storager.vala:830
+msgid "Terabyte"
+msgid_plural "Terabytes"
+msgstr[0] "Terabyte"
+msgstr[1] "Terabytes"
+
+#: src/client/cachier/storager.vala:859
+#, c-format
+msgid "Error while getting cache directory size. Message %s"
+msgstr "Erro ao obter o tamanho do diretório de cache. Mensagem %s"
+
+#: src/client/cachier/storager.vala:894
+#, c-format
+msgid "Error while getting permanent directory size. Message %s"
+msgstr "Erro ao obter o tamanho do diretório permanente. Mensagem %s"
+
+#: src/client/jsoner.vala:358 src/client/jsoner.vala:419
+#: src/client/jsoner.vala:526 src/client/jsoner.vala:550
+#, c-format
+msgid "Wrong type: expected %s, got %s"
+msgstr "Tipo errado: esperado %s, obtido %s"
+
+#: src/client/player/mods/abstract-mode.vala:91
+msgid "Problems with queue"
+msgstr "Problemas com a fila"
+
+#. Translators: name of new created playlist
+#: src/client/talkers/yam-talker.vala:627
+msgid "New Playlist"
+msgstr "Não é possível definir o título \\\"%s\\\" para a página"
+
+#: src/pager.vala:162
+#, c-format
+msgid "Can't set title \"%s\" to page"
+msgstr "Não é possível definir o título “%s” para a página"
+
+#: src/pager.vala:173
+#, c-format
+msgid "Can't set icon with name \"%s\" to page"
+msgstr "Não é possível definir o ícone com o nome “%s” para a página"
+
+#: src/pager.vala:199
+msgid "Reached max page count"
+msgstr "Quantidade máxima de páginas alcançada"
+
+#: src/pager.vala:205
+#, c-format
+msgid "Page '%s' already added"
+msgstr "Página “%s” já adicionada"
+
+#: src/pager.vala:267
+msgid "Main"
+msgstr "Principal"
+
+#: src/pager.vala:286
+msgid "Playlists"
+msgstr "Listas de reprodução"
+
+#: src/pager.vala:311
+#, c-format
+msgid "Can't read pages file. Message: %s"
+msgstr "Não foi possível ler o arquivo de páginas. Mensagem: %s"
+
+#: src/pager.vala:331
+#, c-format
+msgid "Can't create pages file. Message: %s"
+msgstr "Não foi possível criar o ficheiro de páginas. Mensagem: %s"
+
+#: src/utils.vala:69
+msgid "Not implemented yet"
+msgstr "Não implementado ainda"
+
+#: src/utils.vala:76
+msgid "Need authorization"
+msgstr "Requer autorização"
+
+#: src/utils.vala:80
+msgid "Need Bookmate subscription"
+msgstr "Requer assinatura Bookmate"
+
+#: src/utils.vala:176 src/utils.vala:192
+msgid "Link copied to clipboard"
+msgstr "Link copiado para a área de transferência"
+
+#: src/utils.vala:241
+#, c-format
+msgid "Duration: %s h. %s min."
+msgstr "Duração: %s h. %s min."
+
+#: src/utils.vala:243
+#, c-format
+msgid "Duration: %s min."
+msgstr "Duração: %s min."
+
+#: src/utils.vala:357
+msgid "today"
+msgstr "hoje"
+
+#: src/utils.vala:359
+msgid "yesterday"
+msgstr "ontem"
+
+#: src/widgets/buttons/just/dislike-button.vala:37
+msgid "Remove dislike"
+msgstr "Remove o não gosto"
+
+#: src/widgets/buttons/just/dislike-button.vala:40
+msgid "Set dislike"
+msgstr "Define como não gosto"
+
+#: src/widgets/buttons/just/like-button.vala:41
+msgid "Remove like"
+msgstr "Remove o gosto"
+
+#: src/widgets/buttons/just/like-button.vala:48
+msgid "Set like"
+msgstr "Define como gosto"
+
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:37
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:40
+msgid "Pause"
+msgstr "Pausa"
+
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:44
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:47
+msgid "Play"
+msgstr "Reproduzir"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:48
+#, c-format
+msgid "Playlist '%s'"
+msgstr "Lista de reprodução “%s”"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:53
+#: src/widgets/buttons/menu/playlist-options-button.vala:66
+msgid "My Vibe by playlist"
+msgstr "My Vibe por lista de reprodução"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:54
+#: src/widgets/buttons/menu/playlist-options-button.vala:76
+#: src/widgets/buttons/menu/track-options-button.vala:80
+#: src/widgets/buttons/menu/track-options-button.vala:105
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:35
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:46
+#: src/widgets/buttons/menu/track-queue-options-button.vala:69
+#: src/widgets/buttons/menu/track-queue-options-button.vala:99
+msgid "Add to queue"
+msgstr "Adicionar à fila"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:55
+#: src/widgets/buttons/menu/playlist-options-button.vala:77
+#: src/widgets/buttons/menu/track-options-button.vala:83
+#: src/widgets/buttons/menu/track-options-button.vala:108
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:39
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:50
+#: src/widgets/buttons/menu/track-queue-options-button.vala:73
+#: src/widgets/buttons/menu/track-queue-options-button.vala:103
+msgid "Share"
+msgstr "Partilhar"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:26
+msgid "Primary menu"
+msgstr "Menu principal"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:32
+msgid "Parse URL from clipboard"
+msgstr "Analisar URL da área de transferência"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:33
+msgid "Preferences"
+msgstr "Preferências"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:34
+msgid "Keyboard Shortcuts"
+msgstr "Teclas de atalho"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:35
+msgid "About Cassette"
+msgstr "Sobre o Cassette"
+
+#: src/widgets/buttons/menu/track-options-button.vala:77
+#: src/widgets/buttons/menu/track-options-button.vala:94
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:32
+#: src/widgets/buttons/menu/track-queue-options-button.vala:66
+#: src/widgets/buttons/menu/track-queue-options-button.vala:87
+msgid "My Vibe by track"
+msgstr "My Vibe por faixa"
+
+#: src/widgets/buttons/menu/track-options-button.vala:78
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:33
+#: src/widgets/buttons/menu/track-queue-options-button.vala:67
+msgid "Show info"
+msgstr "Mostrar informações"
+
+#: src/widgets/buttons/menu/track-options-button.vala:79
+#: src/widgets/buttons/menu/track-options-button.vala:104
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:34
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:45
+#: src/widgets/buttons/menu/track-queue-options-button.vala:68
+#: src/widgets/buttons/menu/track-queue-options-button.vala:98
+msgid "Play next"
+msgstr "Reproduzir próxima"
+
+#: src/widgets/buttons/menu/track-options-button.vala:81
+#: src/widgets/buttons/menu/track-options-button.vala:106
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:36
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:47
+#: src/widgets/buttons/menu/track-queue-options-button.vala:70
+#: src/widgets/buttons/menu/track-queue-options-button.vala:100
+msgid "Add to playlist"
+msgstr "Adicionar à lista de reprodução"
+
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:37
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:48
+msgid "Remove from playlist"
+msgstr "Remover da lista de reprodução"
+
+#: src/widgets/buttons/menu/track-queue-options-button.vala:71
+#: src/widgets/buttons/menu/track-queue-options-button.vala:101
+msgid "Remove from queue"
+msgstr "Remover da fila"
+
+#: src/widgets/buttons/menu/volume-button.vala:121
+msgid "Volume control"
+msgstr "Controlar volume"
+
+#: src/widgets/buttons/menu/volume-button.vala:261
+msgid "Unmute"
+msgstr "Ativar o som"
+
+#: src/widgets/buttons/menu/volume-button.vala:261
+msgid "Mute"
+msgstr "Desativar o som"
+
+#: src/widgets/cache-indicator/job-info-badge.vala:44
+#: src/widgets/save-stack.vala:52 src/widgets/views/abstract-cachiable.vala:172
+msgid "Album"
+msgstr "Álbum"
+
+#. Translators: n track from n tracks saved
+#: src/widgets/cache-indicator/job-info-badge.vala:77
+#, c-format
+msgid "%d / %d saved%s"
+msgid_plural "%d / %d saved%s"
+msgstr[0] "%d / %d guardada%s"
+msgstr[1] "%d / %d guardadas%s"
+
+#: src/widgets/cache-indicator/job-info-badge.vala:84
+#, c-format
+msgid "%d track saving now"
+msgid_plural "%d tracks saving now"
+msgstr[0] ". %d faixa a ser guardada agora"
+msgstr[1] "%d faixas a serem guardadas agora"
+
+#: src/widgets/info-marks.vala:41
+#, c-format
+msgid "Track was replaced. Original version: %s, %s"
+msgstr "A faixa foi substituída. Versão original: %s, %s"
+
+#: src/widgets/playlist-micro.vala:157 src/widgets/views/playlist.vala:241
+#, c-format
+msgid "Owner: %s"
+msgstr "Dono: %s"
+
+#: src/widgets/playlist-row.vala:85
+#, c-format
+msgid "Track count: %s"
+msgstr "Contagem de faixas: %s"
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:88
+#: src/widgets/preferences/preferences-dialog.vala:134
+msgid "Delete cache files?"
+msgstr "Eliminar ficheiros de cache?"
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:89
+msgid "Move saved files?"
+msgstr "Mover ficheiros guardados?"
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:90
+#: src/widgets/preferences/preferences-dialog.vala:135
+msgid ""
+"All cache will be deleted. This doesn't affect on saved playlists or albums"
+msgstr ""
+"Todo o cache será eliminado. Isto não afeta as listas de reprodução ou "
+"álbuns guardados"
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:91
+msgid ""
+"All saved playlists and albums will be moved to cache files. This could take "
+"a while."
+msgstr ""
+"Todas as listas de reprodução e álbuns guardados serão movidos para "
+"ficheiros de cache. Isto pode demorar um pouco."
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:129
+msgid "Deleting…"
+msgstr "A eliminar…"
+
+#: src/widgets/save-stack.vala:54
+msgid "Image"
+msgstr "Imagem"
+
+#: src/widgets/save-stack.vala:58
+msgid "Track"
+msgstr "Faixa"
+
+#: src/widgets/save-stack.vala:75
+#, c-format
+msgid "%s saving…"
+msgstr "%s a guardar…"
+
+#: src/widgets/save-stack.vala:76
+#, c-format
+msgid "%s cached"
+msgstr "%s em cache"
+
+#: src/widgets/save-stack.vala:77
+#, c-format
+msgid "%s saved"
+msgstr "%s guardada"
+
+#: src/widgets/sidebar/childs/player-queue.vala:66
+#, c-format
+msgid "Playlist \"%s\""
+msgstr "Lista de reprodução “%s”"
+
+#: src/widgets/sidebar/childs/player-queue.vala:70
+#, c-format
+msgid "Album \"%s\""
+msgstr "Álbum “%s”"
+
+#: src/widgets/sidebar/childs/player-queue.vala:74
+#, c-format
+msgid "By search results \"%s\""
+msgstr "Por resultados da pesquisa “%s”"
+
+#: src/widgets/sidebar/childs/player-queue.vala:78
+msgid "Track list"
+msgstr "Lista de faixas"
+
+#: src/widgets/sidebar/childs/track-info.vala:68
+msgid "Your music track"
+msgstr "A sua faixa musical"
+
+#: src/widgets/sidebar/childs/track-info.vala:84
+msgid "Music track"
+msgstr "Faixa musical"
+
+#: src/widgets/sidebar/childs/wave-settings.vala:39
+msgid "Wave settings"
+msgstr "Definições de onda"
+
+#: src/widgets/track-rows/base.vala:79 src/widgets/track-rows/default.vala:100
+msgid "Track is not available"
+msgstr "Faixa não disponível"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:78
+#, c-format
+msgid "%s '%s' saved successfully"
+msgstr "%s “%s” guardada com sucesso"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:89
+#, c-format
+msgid "%s '%s' saving was stopped, due to network error"
+msgstr "A gravação de %s “%s” foi parada devido a um erro de rede"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:99
+#, c-format
+msgid "%s '%s' saving was aborted"
+msgstr "A gravação de %s “%s” foi abortada"
+
+#. Translators: %s - content type (e.g. "Playlist")
+#: src/widgets/views/abstract-cachiable.vala:191
+#, c-format
+msgid "%s saving has started"
+msgstr "A gravação de %s foi iniciada"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:229
+#, c-format
+msgid "%s '%s' was moved from data to cache"
+msgstr "%s “%s” foi removida da pasta de cache"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:239
+#, c-format
+msgid "%s removing has started. Please do not close the app"
+msgstr "A remoção de %s foi iniciada. Não feche a aplicação"
+
+#: src/widgets/views/cant-show.vala:37
+#, c-format
+msgid "Error %d"
+msgstr "Erro %d"
+
+#: src/widgets/views/cant-show.vala:41
+msgid "Can't load page"
+msgstr "Não foi possível carregar a página"
+
+#: src/widgets/views/cant-show.vala:44
+msgid "Can't find desired content"
+msgstr "Não foi possível encontrar o conteúdo desejado"
+
+#: src/widgets/views/playlist.vala:84
+msgid "Delete playlist?"
+msgstr "Eliminar lista de reprodução?"
+
+#: src/widgets/views/playlist.vala:85
+#, c-format
+msgid "Playlist '%s' will be permanently deleted."
+msgstr "A lista de reprodução “%s” será eliminada permanentemente."
+
+#: src/widgets/views/playlist.vala:104
+#, c-format
+msgid "Playlist '%s' was deleted"
+msgstr "A lista de reprodução “%s” foi eliminada"
+
+#. Translators: %s is female person
+#: src/widgets/views/playlist.vala:247
+#, c-format
+msgctxt "female person"
+msgid "%s updated playlist %s"
+msgstr "%s atualizou a lista de reprodução %s"
+
+#. Translators: %s is male person
+#: src/widgets/views/playlist.vala:251
+#, c-format
+msgctxt "male person"
+msgid "%s updated playlist %s"
+msgstr "%s atualizou a lista de reprodução %s"
+
+#: src/widgets/views/playlist.vala:281
+#, c-format
+msgid "Can't change visibility of '%s'"
+msgstr "Não foi possível alterar a visibilidade de “%s”"
+
+#: src/widgets/views/playlist.vala:287
+#, c-format
+msgid "Playlist '%s' is public now"
+msgstr "A lista de reprodução “%s” agora está pública"
+
+#: src/widgets/views/playlist.vala:290
+#, c-format
+msgid "Playlist '%s' is private now"
+msgstr "A lista de reprodução “%s” agora está privada"
+
+#: src/window.vala:235
+#, c-format
+msgid "Window info message: %s"
+msgstr "Mensagem de informações da janela: %s"
+
+#~ msgid "Vladimir Vaskov"
+#~ msgstr "Vladimir Vaskov"
+
+#~ msgid "Rirusha"
+#~ msgstr "Rirusha"
diff --git a/po/pt_BR.po b/po/pt_BR.po
new file mode 100644
index 0000000..4478cae
--- /dev/null
+++ b/po/pt_BR.po
@@ -0,0 +1,1364 @@
+# Brazilian Portuguese translation for cassette.
+# Copyright (C) 2024 cassette's COPYRIGHT HOLDER
+# This file is distributed under the same license as the cassette package.
+# Rafael Fontenelle , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: cassette main\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/Rirusha/Cassette/-/issues\n"
+"POT-Creation-Date: 2024-09-30 18:34+0000\n"
+"PO-Revision-Date: 2024-10-01 22:02-0300\n"
+"Last-Translator: Rafael Fontenelle \n"
+"Language-Team: Brazilian Portuguese \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: Gtranslator 46.1\n"
+
+#. Translators: app name should be translated
+#: data/space.rirusha.Cassette.desktop.in.in:4
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:3 src/main.vala:23
+msgid "Cassette"
+msgstr "Cassette"
+
+#: data/space.rirusha.Cassette.desktop.in.in:5
+msgid "Unofficial Yandex Music client for GNOME"
+msgstr "Cliente não oficial do Yandex Music para GNOME"
+
+#. Translators: keep number of ';'
+#: data/space.rirusha.Cassette.desktop.in.in:7
+#: data/space.rirusha.Cassette-Devel.desktop.in.in:7
+msgid "yandex;yandex music;yam;music;"
+msgstr "yandex;yandex music;yam;música;"
+
+#. Translators: app name should be translated
+#: data/space.rirusha.Cassette-Devel.desktop.in.in:4
+msgid "Cassette (Devel)"
+msgstr "Cassette (Devel)"
+
+#: data/space.rirusha.Cassette-Devel.desktop.in.in:5
+msgid "Unofficial Yandex Music client for GNOME (Devel build)"
+msgstr ""
+"Cliente não oficial do Yandex Music para GNOME (construção de "
+"desenvolvimento)"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:7
+msgid "Unofficial Yandex Music client"
+msgstr "Cliente não oficial do Yandex Music"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:9
+msgid ""
+"GTK/Adwaita application that allows to use Yandex Music service on Linux "
+"operating systems."
+msgstr ""
+"Aplicativo GTK/Adwaita que permite usar o serviço Yandex Music em sistemas "
+"operacionais Linux."
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:13
+msgid "Features:"
+msgstr "Recursos:"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:17
+msgid "Allows you to save playlists and albums for offline listening"
+msgstr "Permite salvar listas de reprodução e álbuns para ouvir offline"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:20
+msgid "Has a dynamic \"karaoke mode\" right in the track information panel"
+msgstr "Possui um “modo karaokê” dinâmico no painel de informações da faixa"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:23
+msgid ""
+"Allows you to more precisely customize the display and playback of special "
+"content, such as explicit or suitable for children."
+msgstr ""
+"Permite personalizar com mais precisão a exibição e a reprodução de conteúdo "
+"especial, como explícito ou adequado para crianças."
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:27
+msgid "Displays tracks that are currently unavailable in the service"
+msgstr "Exibe faixas que estão disponíveis no serviço no momento"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:30
+msgid "Shows which tracks have been replaced and by what"
+msgstr "Mostra quais faixas foram substituídas e por quais"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:34
+msgid ""
+"Cassette is an unofficial client and is not associated with or endorsed by "
+"Yandex."
+msgstr ""
+"Cassette é um cliente não oficial e não é associado ou endossado pelo Yandex."
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:63
+msgid "Liked view"
+msgstr "Visualização de curtidas"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:67
+msgid "Playlists view"
+msgstr "Visualização de listas de reprodução"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:71
+msgid "Sync lyrics"
+msgstr "Sincronização de letras"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:75
+msgid "Playback queue"
+msgstr "Fila de reprodução"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:79
+msgid "Waves view"
+msgstr "Visualização de ondas"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:83
+msgid "Main preferences"
+msgstr "Preferências principais"
+
+#: data/ui/account-info-dialog.blp:5
+msgid "Account information"
+msgstr "Informações da conta"
+
+#: data/ui/account-info-dialog.blp:52
+msgid "Open in browser"
+msgstr "Abrir no navegador"
+
+#: data/ui/account-info-dialog.blp:61
+msgid "Plus"
+msgstr "Mais"
+
+#: data/ui/account-info-dialog.blp:70 data/ui/no-plus-dialog.blp:51
+#: src/authenticator.vala:51
+msgid "Log out"
+msgstr "Sair"
+
+#. Translators: usage mode of application. Online mode or Local mode available
+#: data/ui/begin-view.ui:11
+msgid "Usage mode"
+msgstr "Modo de uso"
+
+#. Translators: usage mode of application. Online mode or Local mode available
+#: data/ui/begin-view.ui:40
+msgctxt "auth window"
+msgid "Choose usage mode"
+msgstr "Escolha o modo de uso"
+
+#: data/ui/begin-view.ui:50
+msgctxt "auth window"
+msgid ""
+"If you select the \"Online mode\", you can access local music by enabling "
+"the display of the corresponding pages in the pages preferences, as well as "
+"log in later when selecting \"Local mode\""
+msgstr ""
+"Se você selecionar o “Modo online”, poderá acessar a música local "
+"habilitando a exibição das páginas correspondentes nas preferências de "
+"páginas, bem como efetuar login posteriormente ao selecionar o “Modo local”"
+
+#. Translators: usage mode of application. Online mode or Local mode available
+#: data/ui/begin-view.ui:75
+msgctxt "auth window"
+msgid "Online mode"
+msgstr "Modo online"
+
+#. Translators: usage mode of application. Online mode or Local mode available
+#: data/ui/begin-view.ui:85
+msgctxt "auth window"
+msgid "Local mode"
+msgstr "Modo local"
+
+#. Translators: "Close" window button label
+#: data/ui/begin-view.ui:97
+msgctxt "auth window"
+msgid "Close"
+msgstr "Fechar"
+
+#: data/ui/begin-view.ui:112
+msgid "Authorization"
+msgstr "Autorização"
+
+#. Translators: size of cache dirs
+#: data/ui/cache-deletion-preferences.ui:21
+msgid "Dirs size:"
+msgstr "Tamanho dos diretórios:"
+
+#. Translators: tempprary cache folder
+#: data/ui/cache-deletion-preferences.ui:35
+msgid "Cache"
+msgstr "Cache"
+
+#: data/ui/cache-deletion-preferences.ui:88
+msgid "Clear"
+msgstr "Limpar"
+
+#. Translators: temparence cache folder
+#: data/ui/cache-deletion-preferences.ui:109
+msgid "Data"
+msgstr "Dados"
+
+#: data/ui/cache-deletion-preferences.ui:159
+msgid "Move to cache"
+msgstr "Mover para cachoe"
+
+#: data/ui/cache-deletion-preferences.ui:163
+msgid "Move"
+msgstr "Mover"
+
+#: data/ui/cache-indicator.blp:35
+msgid "Show all cache jobs"
+msgstr "Mostrar todos os trabalhos de cache"
+
+#: data/ui/custom-page-preferences.ui:17
+msgid "Title: "
+msgstr "Título: "
+
+#: data/ui/custom-page-preferences.ui:38
+msgid "Icon: "
+msgstr "Ícone: "
+
+#: data/ui/custom-page-preferences.ui:75
+msgid "Save page"
+msgstr "Salvar página"
+
+#: data/ui/custom-page-preferences.ui:92
+msgid "Remove page"
+msgstr "Remover página"
+
+#. Translators: title of preference group
+#: data/ui/custom-pages-preferences.ui:7
+msgctxt "preference window"
+msgid "Custom pages"
+msgstr "Páginas personalizadas"
+
+#. Translators: description of preference group
+#: data/ui/custom-pages-preferences.ui:9
+msgctxt "preference window"
+msgid "Here you can control custom pages."
+msgstr "Aqui você pode controlar páginas personalizadas."
+
+#: data/ui/disliked-tracks-view.ui:23
+#: src/widgets/buttons/menu/primary-menu-button.vala:31
+msgid "Disliked tracks"
+msgstr "Faixas não curtidas"
+
+#: data/ui/header-bar.blp:12
+msgid "Go back"
+msgstr "Voltar"
+
+#: data/ui/header-bar.blp:20
+msgid "Refresh"
+msgstr "Atualizar"
+
+#: data/ui/header-bar.blp:28
+msgid "Yandex Music search"
+msgstr "Pesquisa no Yandex Music"
+
+#: data/ui/help-overlay.blp:11
+msgid "Main Actions"
+msgstr "Ações principais"
+
+#: data/ui/help-overlay.blp:14
+msgid "Show Shortcuts"
+msgstr "Mostra os atalhos"
+
+#: data/ui/help-overlay.blp:19
+msgid "Quit"
+msgstr "Sai"
+
+#: data/ui/help-overlay.blp:25
+msgid "Playback Control"
+msgstr "Controle reprodução"
+
+#: data/ui/help-overlay.blp:28
+msgid "Play/Pause playback"
+msgstr "Reproduz/Pausa a reprodução"
+
+#: data/ui/help-overlay.blp:33 data/ui/player-bar.blp:87
+msgid "Play previous track"
+msgstr "Reproduz a faixa anterior"
+
+#: data/ui/help-overlay.blp:38 data/ui/player-bar.blp:119
+msgid "Play next track"
+msgstr "Reproduz a próxima faixa"
+
+#: data/ui/help-overlay.blp:43
+msgid "Mute app"
+msgstr "Aplicativo mudo"
+
+#: data/ui/help-overlay.blp:49
+msgid "Queue control"
+msgstr "Controla a fila"
+
+#: data/ui/help-overlay.blp:52 data/ui/player-bar.blp:141
+msgid "Change shuffle mode"
+msgstr "Altera o modo aleatório"
+
+#: data/ui/help-overlay.blp:57 data/ui/player-bar.blp:65
+msgid "Change repeat mode"
+msgstr "Altera o modo de repetição"
+
+#: data/ui/help-overlay.blp:63
+msgid "Other"
+msgstr "Outros"
+
+#: data/ui/help-overlay.blp:66
+msgid "Share current track"
+msgstr "Compartilha a trilha atual"
+
+#: data/ui/help-overlay.blp:71
+msgid "Parse url from clipboard"
+msgstr "Analisa a URL da área de transferência"
+
+#: data/ui/info-marks.ui:23
+msgid "Explicit content"
+msgstr "Conteúdo explícito"
+
+#: data/ui/info-marks.ui:32
+msgid "Child content"
+msgstr "Conteúdo infantil"
+
+#: data/ui/main-view.blp:6
+msgid "Page under construction"
+msgstr "Página sob construção"
+
+#: data/ui/main-view.blp:20
+msgid "All stations"
+msgstr "Todas as estações"
+
+#: data/ui/no-plus-dialog.blp:20
+msgid "No Plus Subscription"
+msgstr "Sem assinatura Plus"
+
+#: data/ui/no-plus-dialog.blp:21
+msgid ""
+"To avoid problems with Yandex, the online functions of the application are "
+"not available without a Yandex.Plus subscription. Thanks for understanding."
+msgstr ""
+"Para evitar problemas com o Yandex, as funções online do aplicativo não "
+"estão disponíveis sem uma assinatura Yandex.Plus. Obrigado pela compreensão."
+
+#: data/ui/no-plus-dialog.blp:41
+msgid "Get Plus"
+msgstr "Obter Plus"
+
+#: data/ui/player-bar.blp:22
+msgid "Show track info"
+msgstr "Mostra informações da faixa"
+
+#: data/ui/player-bar.blp:206
+msgid "Show wave settings"
+msgstr "Mostra configurações da onda"
+
+#: data/ui/player-bar.blp:216
+msgid "Show playback queue"
+msgstr "Mostra fila de reprodução"
+
+#: data/ui/player-bar.blp:229
+msgid "Change volume"
+msgstr "Altera o volume"
+
+#: data/ui/player-queue.blp:5 src/application.vala:271
+msgid "Playing now"
+msgstr "Reproduzindo agora"
+
+#: data/ui/playlist-choose-dialog.ui:8
+msgid "Choose playlist to add"
+msgstr "Escolha a lista de reprodução para adicionar"
+
+#: data/ui/playlist-create-button.ui:36
+msgid "Create playlist"
+msgstr "Criar lista de reprodução"
+
+#: data/ui/playlist-micro.ui:39 data/ui/playlist-view.ui:56
+#: src/widgets/cache-indicator/job-info-badge.vala:42
+#: src/widgets/save-stack.vala:56 src/widgets/views/abstract-cachiable.vala:167
+msgid "Playlist"
+msgstr "Lista de reprodução"
+
+#: data/ui/playlist-row.ui:40
+msgid "Empty"
+msgstr "Vazia"
+
+#: data/ui/playlists-view.ui:23
+msgid "Your playlists"
+msgstr "Suas listas de reprodução"
+
+#: data/ui/playlists-view.ui:39
+msgid "Also you liked these playlists"
+msgstr "Você também gostou dessas listas de reprodução"
+
+#: data/ui/playlist-view.ui:187
+msgid "Change playlist visibility"
+msgstr "Altera a visibilidade da lista de reprodução"
+
+#: data/ui/playlist-view.ui:211
+msgid "Add page to header"
+msgstr "Adiciona página ao cabeçalho"
+
+#. Translators: tooltip of "save" button
+#: data/ui/playlist-view.ui:233 data/ui/playlist-view.ui:237
+#: src/widgets/buttons/menu/track-options-button.vala:82
+#: src/widgets/buttons/menu/track-options-button.vala:107
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:38
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:49
+#: src/widgets/buttons/menu/track-queue-options-button.vala:72
+#: src/widgets/buttons/menu/track-queue-options-button.vala:102
+msgid "Save"
+msgstr "Salva"
+
+#. Translators: tooltip of "delete" button
+#: data/ui/playlist-view.ui:256 data/ui/playlist-view.ui:260
+#: src/widgets/preferences/cache-deletion-preferences.vala:96
+#: src/widgets/preferences/preferences-dialog.vala:140
+#: src/widgets/views/playlist.vala:90
+msgid "Delete"
+msgstr "Exclui"
+
+#. Translators: tooltip of "abort" button
+#: data/ui/playlist-view.ui:276
+msgid "Abort"
+msgstr "Cancela"
+
+#: data/ui/playlist-view.ui:280
+msgid "Stop"
+msgstr "Interrompe"
+
+#: data/ui/preferences-dialog.ui:8
+msgctxt "preference dialog"
+msgid "Main"
+msgstr "Principal"
+
+#: data/ui/preferences-dialog.ui:12
+msgctxt "preference dialog"
+msgid "General"
+msgstr "Geral"
+
+#: data/ui/preferences-dialog.ui:15
+msgctxt "preference dialog"
+msgid "Enable high quality audio"
+msgstr "Habilita áudio de alta qualidade"
+
+#: data/ui/preferences-dialog.ui:16
+msgctxt "preference dialog"
+msgid ""
+"Attention! If the track was downloaded in low quality, and after the "
+"download is enabled in high quality, the audio will not be reloaded"
+msgstr ""
+"Atenção! Se a faixa foi baixada em baixa qualidade e, após o download ser "
+"habilitado em alta qualidade, o áudio não será recarregado"
+
+#: data/ui/preferences-dialog.ui:21
+msgctxt "preference dialog"
+msgid "Add track on top of playlist"
+msgstr "Adicionar faixa no topo da lista de reprodução"
+
+#: data/ui/preferences-dialog.ui:22
+msgctxt "preference dialog"
+msgid "Will the track be added to the playlist as the first or as the last"
+msgstr ""
+"A faixa será adicionada à lista de reprodução como a primeira ou a última?"
+
+#: data/ui/preferences-dialog.ui:27
+msgctxt "preference dialog"
+msgid "Show 'Playing now' notification"
+msgstr "Mostrar notificação “Reproduzindo agora”"
+
+#: data/ui/preferences-dialog.ui:28
+msgctxt "preference dialog"
+msgid "Show a notification when switching a track"
+msgstr "Mostra uma notificação ao trocar de faixa"
+
+#: data/ui/preferences-dialog.ui:35
+msgctxt "preference dialog"
+msgid "Show additional marks"
+msgstr "Mostra marcas adicionais"
+
+#: data/ui/preferences-dialog.ui:36
+msgctxt "preference dialog"
+msgid "Additional marks display additional information about the track"
+msgstr "Marcas adicionais exibem mais informações sobre a faixa"
+
+#: data/ui/preferences-dialog.ui:39
+msgctxt "preference dialog"
+msgid "Show save mark"
+msgstr "Mostrar marca de salvamento"
+
+#: data/ui/preferences-dialog.ui:40
+msgctxt "preference dialog"
+msgid "Show a label with information about the caching status of the track"
+msgstr "Mostra um rótulo com informações sobre o status de cache da faixa"
+
+#: data/ui/preferences-dialog.ui:45
+msgctxt "preference dialog"
+msgid "Show cache mark"
+msgstr "Mostrar marca de cache"
+
+#: data/ui/preferences-dialog.ui:46
+msgctxt "preference dialog"
+msgid "Show a mark about saving a track to the cache"
+msgstr "Mostra uma marca sobre salvar uma faixa no cache"
+
+#: data/ui/preferences-dialog.ui:51
+msgctxt "preference dialog"
+msgid "Show replaced mark"
+msgstr "Mostrar marca de substituição"
+
+#: data/ui/preferences-dialog.ui:52
+msgctxt "preference dialog"
+msgid "Show a mark that shows that the track has been replaced"
+msgstr "Mostra uma marca que mostra que a faixa foi substituída"
+
+#: data/ui/preferences-dialog.ui:59
+msgctxt "preference dialog"
+msgid "Tracks visibility"
+msgstr "Visibilidade das faixas"
+
+#: data/ui/preferences-dialog.ui:60
+msgctxt "preference dialog"
+msgid ""
+"Show special tracks in track lists. Filter doesn't work when searching in "
+"track list"
+msgstr ""
+"Mostra faixas especiais em listas de faixas. O filtro não funciona ao "
+"pesquisar na lista de faixas"
+
+#: data/ui/preferences-dialog.ui:63
+msgctxt "preference dialog"
+msgid "Show unavailable content"
+msgstr "Mostrar conteúdo não disponível"
+
+#: data/ui/preferences-dialog.ui:64
+msgctxt "preference dialog"
+msgid ""
+"Show tracks that are not available in the service. You can't listen to them"
+msgstr ""
+"Mostra faixas que não estão disponíveis no serviço. Você não pode ouvi-los"
+
+#: data/ui/preferences-dialog.ui:69
+msgctxt "preference dialog"
+msgid "Show content suitable for children"
+msgstr "Mostrar conteúdo adequado para crianças"
+
+#: data/ui/preferences-dialog.ui:70
+msgctxt "preference dialog"
+msgid "Show content that is specific to children"
+msgstr "Mostra conteúdo específico para crianças"
+
+#: data/ui/preferences-dialog.ui:75
+msgctxt "preference dialog"
+msgid "Show explicit content"
+msgstr "Mostrar conteúdo explícito"
+
+#: data/ui/preferences-dialog.ui:76
+msgctxt "preference dialog"
+msgid "Show content that has age restrictions"
+msgstr "Mostra conteúdo com restrições de idade"
+
+#: data/ui/preferences-dialog.ui:83
+msgctxt "preference dialog"
+msgid "Other"
+msgstr "Outro"
+
+#: data/ui/preferences-dialog.ui:86
+msgctxt "preference dialog"
+msgid "Enable Debug-Mode"
+msgstr "Habilitar modo de depuração"
+
+#: data/ui/preferences-dialog.ui:87
+msgctxt "preference dialog"
+msgid "Enable logging of additional information useful for error detection"
+msgstr ""
+"Habilitar registro de informações adicionais úteis para detecção de erros"
+
+#: data/ui/preferences-dialog.ui:94
+msgctxt "preference dialog"
+msgid "Experimental"
+msgstr "Experimental"
+
+#: data/ui/preferences-dialog.ui:95
+msgctxt "preference dialog"
+msgid "Parameters that test anything and may be removed in future releases"
+msgstr ""
+"Parâmetros que testam qualquer coisa e podem ser removidos em versões futuras"
+
+#: data/ui/preferences-dialog.ui:98
+msgctxt "preference dialog"
+msgid "Use only bottom sheet menus"
+msgstr "Usar apenas menus da folha inferior"
+
+#: data/ui/preferences-dialog.ui:99
+msgctxt "preference dialog"
+msgid "Test preference for bottom sheet menu"
+msgstr "Test a preferência para o menu da folha inferior"
+
+#: data/ui/preferences-dialog.ui:108
+msgctxt "preference dialog"
+msgid "Pages"
+msgstr "Páginas"
+
+#: data/ui/preferences-dialog.ui:112
+msgctxt "preference dialog"
+msgid "Static pages"
+msgstr "Páginas estáticas"
+
+#: data/ui/preferences-dialog.ui:113
+msgctxt "preference dialog"
+msgid ""
+"Here you can show or hide static pages. They will always be displayed on the "
+"left side of the header."
+msgstr ""
+"Aqui você pode mostrar ou ocultar páginas estáticas. Elas sempre serão "
+"exibidas no lado esquerdo do cabeçalho."
+
+#: data/ui/preferences-dialog.ui:116
+msgctxt "preference dialog"
+msgid "Show 'Main' page"
+msgstr "Mostrar página “Principal”"
+
+#: data/ui/preferences-dialog.ui:121
+msgctxt "preference dialog"
+msgid "Show 'Liked' page"
+msgstr "Mostrar página “Curtidas”"
+
+#: data/ui/preferences-dialog.ui:126
+msgctxt "preference dialog"
+msgid "Show 'Playlists' page"
+msgstr "Mostrar página “Listas de reprodução”"
+
+#: data/ui/preferences-dialog.ui:138
+msgctxt "preference dialog"
+msgid "Cache"
+msgstr "Cache"
+
+#: data/ui/preferences-dialog.ui:142
+msgctxt "preference dialog"
+msgid "Cache managing"
+msgstr "Gerenciamento de cache"
+
+#: data/ui/preferences-dialog.ui:143
+msgctxt "preference dialog"
+msgid ""
+"Here you can see application memory usage, delete all cache from cache "
+"folder and control downloading cache to disk"
+msgstr ""
+"Aqui você pode ver o uso de memória do aplicativo, excluir todo o cache da "
+"pasta de cache e controlar o download do cache para o disco"
+
+#: data/ui/preferences-dialog.ui:146
+msgctxt "preference dialog"
+msgid "Cache content"
+msgstr "Conteúdo do cache"
+
+#: data/ui/preferences-dialog.ui:147
+msgctxt "preference dialog"
+msgid ""
+"For better performance. Over time, it starts to take up a lot of space. So "
+"far, manual cleaning is required. If enabled, the application will cache all "
+"content to cache dir for better performance, otherwise, the application will "
+"load content only when caching objects (such as playlists or albums). "
+"Disabling the parameter does not delete already downloaded content"
+msgstr ""
+"Para melhor desempenho. Com o tempo, ele começa a ocupar muito espaço. Até "
+"agora, a limpeza manual é necessária. Se habilitado, o aplicativo armazenará "
+"em cache todo o conteúdo no diretório de cache para melhor desempenho, caso "
+"contrário, o aplicativo carregará o conteúdo apenas ao armazenar em cache "
+"objetos (como listas de reprodução ou álbuns). Desabilitar o parâmetro não "
+"exclui o conteúdo já baixado"
+
+#: data/ui/save-stack.ui:25
+msgid "Content saving…"
+msgstr "Salvando o conteúdo…"
+
+#: data/ui/save-stack.ui:42
+msgid "Content cached"
+msgstr "Conteúdo em cache"
+
+#: data/ui/save-stack.ui:56
+msgid "Content saved"
+msgstr "Conteúdo salvo"
+
+#: data/ui/stations-view.blp:22
+msgid "Stations dashboard"
+msgstr "Painel de estações"
+
+#: data/ui/stations-view.blp:58
+msgid "Searching for station…"
+msgstr "Procurando por estação…"
+
+#: data/ui/stations-view.blp:77
+msgid "By genre…"
+msgstr "Por gênero…"
+
+#: data/ui/stations-view.blp:99 data/ui/wave-settings.blp:60
+msgid "By mood…"
+msgstr "Por humor…"
+
+#: data/ui/stations-view.blp:121 data/ui/wave-settings.blp:25
+msgid "By activity…"
+msgstr "Por atividade…"
+
+#: data/ui/stations-view.blp:143
+msgid "By epoch…"
+msgstr "Por época…"
+
+#: data/ui/stations-view.blp:165
+msgid "Other…"
+msgstr "Outro…"
+
+#: data/ui/stations-view.blp:209
+msgid "No stations with that name were found"
+msgstr "Nenhuma estação com esse nome foi encontrada"
+
+#: data/ui/track-info.blp:103
+msgid "Track lyrics"
+msgstr "Letra da faixa"
+
+#: data/ui/track-info.blp:117
+msgid "Authors"
+msgstr "Autores"
+
+#: data/ui/track-info.blp:135
+msgid "Source"
+msgstr "Fonte"
+
+#: data/ui/track-info.blp:158
+msgid "Similar tracks"
+msgstr "Faixas similares"
+
+#. Translators: placeholder of "search" entry. Local track search (inside of track list)
+#: data/ui/track-list.ui:21
+msgid "Search track"
+msgstr "Pesquisar faixa"
+
+#. Translators: part of sort by
+#: data/ui/track-list.ui:30
+msgid "Sort by"
+msgstr "Ordenar por"
+
+#: data/ui/track-list.ui:77
+msgid "No tracks to display"
+msgstr "Nenhuma faixa para exibir"
+
+#: data/ui/track-list.ui:88
+msgid "name"
+msgstr "nome"
+
+#: data/ui/track-list.ui:92
+msgid "artist"
+msgstr "artista"
+
+#: data/ui/track-list.ui:96
+msgid "album"
+msgstr "álbum"
+
+#: data/ui/track-list.ui:100
+msgid "duration"
+msgstr "duração"
+
+#: data/ui/track-placeholder.ui:9 src/widgets/pages/loading-page.vala:37
+msgid "Loading…"
+msgstr "Carregando…"
+
+#: data/ui/wave-settings.blp:42
+msgid "By diversity…"
+msgstr "Por diversidade…"
+
+#: data/ui/wave-settings.blp:78
+msgid "By language…"
+msgstr "Por idioma…"
+
+#: data/ui/wave-settings.blp:93
+msgid "Can't get wave settings"
+msgstr "Não é possível obter as configurações da onda"
+
+#: data/ui/window.blp:57 src/window.vala:252
+msgid "Reconnect"
+msgstr "Reconectar"
+
+#: data/ui/window.blp:58 src/application.vala:151
+msgid "Connection problems"
+msgstr "Problemas de conexão"
+
+#. Translators: NAME /n NAME
+#: src/about.vala:59
+msgid "translator-credits"
+msgstr "Rafael Fontenelle "
+
+#: src/about.vala:67
+msgid "Telegram channel"
+msgstr "Canal de Telegram"
+
+#: src/about.vala:68
+msgid "Financial support (Tinkoff)"
+msgstr "Apoio financeiro (Tinkoff)"
+
+#: src/about.vala:69
+msgid "Financial support (Boosty)"
+msgstr "Apoio financeiro (Boosty)"
+
+#. Please keep alphabetical
+#: src/about.vala:72
+msgid "Sponsors"
+msgstr "Patrocinadores"
+
+#: src/application.vala:62
+msgid "Print version information and exit"
+msgstr "Imprime informações da versão e sai"
+
+#: src/application.vala:145
+msgid "Connection restored"
+msgstr "Conexão restaurada"
+
+#: src/application.vala:273
+msgid "Previous"
+msgstr "Anterior"
+
+#: src/application.vala:274
+msgid "Next"
+msgstr "Próxima"
+
+#: src/application.vala:357
+msgid "Current track can not be copied to the clipboard"
+msgstr "A faixa atual não pode ser copiada para a área de transferência"
+
+#: src/application.vala:371 src/application.vala:378 src/application.vala:435
+msgid "Can't parse clipboard content"
+msgstr "Não é possível analisar o conteúdo da área de transferência"
+
+#: src/application.vala:389
+msgid "Users view not implemented yet"
+msgstr "A visualização de usuários ainda não foi implementada"
+
+#: src/application.vala:405 src/application.vala:419
+msgid "Albums view not implemented yet"
+msgstr "A visualização de álbuns ainda não foi implementada"
+
+#: src/authenticator.vala:46
+msgid "Log out?"
+msgstr "Sair?Você precisará fazer login novamente para usar o aplicativo"
+
+#: src/authenticator.vala:47
+msgid "You will need to log in again to use the app"
+msgstr "Você precisará fazer login novamente para usar o aplicativo"
+
+#. Translators: cancel of deleting playlist
+#: src/authenticator.vala:50
+#: src/widgets/preferences/cache-deletion-preferences.vala:95
+#: src/widgets/preferences/preferences-dialog.vala:139
+#: src/widgets/views/playlist.vala:89
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: src/authenticator.vala:97
+#: src/widgets/preferences/cache-deletion-preferences.vala:129
+msgid "Moving…"
+msgstr "Movendo…"
+
+#. Translators: Playlist with liked tracks
+#: src/client/api/objects/playlist/playlist.vala:49
+#: src/client/api/objects/playlist/playlist.vala:99 src/pager.vala:276
+msgid "Liked"
+msgstr "Curtida"
+
+#. Translators: Playlist that updates every day
+#: src/client/api/objects/playlist/playlist.vala:53
+msgid "Daily"
+msgstr "Diária"
+
+#. Translators: Unknown playlist
+#: src/client/api/objects/playlist/playlist.vala:57
+msgid "Unknown"
+msgstr "Desconhecida"
+
+#: src/client/cachier/storager.vala:124
+#, c-format
+msgid "Database was initialized, loc - %s"
+msgstr "O banco de dados foi inicializado, loc - %s"
+
+#: src/client/cachier/storager.vala:801
+#, c-format
+msgid "Can't save object %s"
+msgstr "Não foi possível salvar o objeto %s"
+
+#: src/client/cachier/storager.vala:818
+msgid "Byte"
+msgid_plural "Bytes"
+msgstr[0] "Byte"
+msgstr[1] "Bytes"
+
+#: src/client/cachier/storager.vala:821
+msgid "Kilobyte"
+msgid_plural "Kilobytes"
+msgstr[0] "Kilobyte"
+msgstr[1] "Kilobytes"
+
+#: src/client/cachier/storager.vala:824
+msgid "Megabyte"
+msgid_plural "Megabytes"
+msgstr[0] "Megabyte"
+msgstr[1] "Megabytes"
+
+#: src/client/cachier/storager.vala:827
+msgid "Gigabyte"
+msgid_plural "Gigabytes"
+msgstr[0] "Gigabyte"
+msgstr[1] "Gigabytes"
+
+#: src/client/cachier/storager.vala:830
+msgid "Terabyte"
+msgid_plural "Terabytes"
+msgstr[0] "Terabyte"
+msgstr[1] "Terabytes"
+
+#: src/client/cachier/storager.vala:859
+#, c-format
+msgid "Error while getting cache directory size. Message %s"
+msgstr "Erro ao obter o tamanho do diretório de cache. Mensagem %s"
+
+#: src/client/cachier/storager.vala:894
+#, c-format
+msgid "Error while getting permanent directory size. Message %s"
+msgstr "Erro ao obter o tamanho do diretório permanente. Mensagem %s"
+
+#: src/client/jsoner.vala:358 src/client/jsoner.vala:419
+#: src/client/jsoner.vala:526 src/client/jsoner.vala:550
+#, c-format
+msgid "Wrong type: expected %s, got %s"
+msgstr "Tipo errado: esperado %s, obtido %s"
+
+#: src/client/player/mods/abstract-mode.vala:91
+msgid "Problems with queue"
+msgstr "Problemas com a fila"
+
+#. Translators: name of new created playlist
+#: src/client/talkers/yam-talker.vala:627
+msgid "New Playlist"
+msgstr "Não é possível definir o título \\\"%s\\\" para a página"
+
+#: src/pager.vala:162
+#, c-format
+msgid "Can't set title \"%s\" to page"
+msgstr "Não é possível definir o título “%s” para a página"
+
+#: src/pager.vala:173
+#, c-format
+msgid "Can't set icon with name \"%s\" to page"
+msgstr "Não é possível definir o ícone com o nome “%s” para a página"
+
+#: src/pager.vala:199
+msgid "Reached max page count"
+msgstr "Quantidade máxima de páginas alcançada"
+
+#: src/pager.vala:205
+#, c-format
+msgid "Page '%s' already added"
+msgstr "Página “%s” já adicionada"
+
+#: src/pager.vala:267
+msgid "Main"
+msgstr "Principal"
+
+#: src/pager.vala:286
+msgid "Playlists"
+msgstr "Listas de reprodução"
+
+#: src/pager.vala:311
+#, c-format
+msgid "Can't read pages file. Message: %s"
+msgstr "Não foi possível ler o arquivo de páginas. Mensagem: %s"
+
+#: src/pager.vala:331
+#, c-format
+msgid "Can't create pages file. Message: %s"
+msgstr "Não foi possível criar o arquivo de páginas. Mensagem: %s"
+
+#: src/utils.vala:69
+msgid "Not implemented yet"
+msgstr "Não implementador ainda"
+
+#: src/utils.vala:76
+msgid "Need authorization"
+msgstr "Requer autorização"
+
+#: src/utils.vala:80
+msgid "Need Bookmate subscription"
+msgstr "Requer assinatura Bookmate"
+
+#: src/utils.vala:176 src/utils.vala:192
+msgid "Link copied to clipboard"
+msgstr "Link copiado para a área de transferência"
+
+#: src/utils.vala:241
+#, c-format
+msgid "Duration: %s h. %s min."
+msgstr "Duração: %s h. %s min."
+
+#: src/utils.vala:243
+#, c-format
+msgid "Duration: %s min."
+msgstr "Duração: %s min."
+
+#: src/utils.vala:357
+msgid "today"
+msgstr "hoje"
+
+#: src/utils.vala:359
+msgid "yesterday"
+msgstr "ontem"
+
+#: src/widgets/buttons/just/dislike-button.vala:37
+msgid "Remove dislike"
+msgstr "Remove a não curtida"
+
+#: src/widgets/buttons/just/dislike-button.vala:40
+msgid "Set dislike"
+msgstr "Define como não curtida"
+
+#: src/widgets/buttons/just/like-button.vala:41
+msgid "Remove like"
+msgstr "Remove a curtida"
+
+#: src/widgets/buttons/just/like-button.vala:48
+msgid "Set like"
+msgstr "Define como curtida"
+
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:37
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:40
+msgid "Pause"
+msgstr "Pausa"
+
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:44
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:47
+msgid "Play"
+msgstr "Reproduz"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:48
+#, c-format
+msgid "Playlist '%s'"
+msgstr "Lista de reprodução “%s”"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:53
+#: src/widgets/buttons/menu/playlist-options-button.vala:66
+msgid "My Vibe by playlist"
+msgstr "My Vibe por lista de reprodução"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:54
+#: src/widgets/buttons/menu/playlist-options-button.vala:76
+#: src/widgets/buttons/menu/track-options-button.vala:80
+#: src/widgets/buttons/menu/track-options-button.vala:105
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:35
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:46
+#: src/widgets/buttons/menu/track-queue-options-button.vala:69
+#: src/widgets/buttons/menu/track-queue-options-button.vala:99
+msgid "Add to queue"
+msgstr "Adicionar à fila"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:55
+#: src/widgets/buttons/menu/playlist-options-button.vala:77
+#: src/widgets/buttons/menu/track-options-button.vala:83
+#: src/widgets/buttons/menu/track-options-button.vala:108
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:39
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:50
+#: src/widgets/buttons/menu/track-queue-options-button.vala:73
+#: src/widgets/buttons/menu/track-queue-options-button.vala:103
+msgid "Share"
+msgstr "Compartilhar"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:26
+msgid "Primary menu"
+msgstr "Menu primário"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:32
+msgid "Parse URL from clipboard"
+msgstr "Analisar URL da área de transferência"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:33
+msgid "Preferences"
+msgstr "Preferências"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:34
+msgid "Keyboard Shortcuts"
+msgstr "Atalhos de teclado"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:35
+msgid "About Cassette"
+msgstr "Sobre o Cassette"
+
+#: src/widgets/buttons/menu/track-options-button.vala:77
+#: src/widgets/buttons/menu/track-options-button.vala:94
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:32
+#: src/widgets/buttons/menu/track-queue-options-button.vala:66
+#: src/widgets/buttons/menu/track-queue-options-button.vala:87
+msgid "My Vibe by track"
+msgstr "My Vibe por faixa"
+
+#: src/widgets/buttons/menu/track-options-button.vala:78
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:33
+#: src/widgets/buttons/menu/track-queue-options-button.vala:67
+msgid "Show info"
+msgstr "Mostrar informações"
+
+#: src/widgets/buttons/menu/track-options-button.vala:79
+#: src/widgets/buttons/menu/track-options-button.vala:104
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:34
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:45
+#: src/widgets/buttons/menu/track-queue-options-button.vala:68
+#: src/widgets/buttons/menu/track-queue-options-button.vala:98
+msgid "Play next"
+msgstr "Reproduzir próxima"
+
+#: src/widgets/buttons/menu/track-options-button.vala:81
+#: src/widgets/buttons/menu/track-options-button.vala:106
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:36
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:47
+#: src/widgets/buttons/menu/track-queue-options-button.vala:70
+#: src/widgets/buttons/menu/track-queue-options-button.vala:100
+msgid "Add to playlist"
+msgstr "Adicionar à lista de reprodução"
+
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:37
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:48
+msgid "Remove from playlist"
+msgstr "Remover da lista de reprodução"
+
+#: src/widgets/buttons/menu/track-queue-options-button.vala:71
+#: src/widgets/buttons/menu/track-queue-options-button.vala:101
+msgid "Remove from queue"
+msgstr "Remover da fila"
+
+#: src/widgets/buttons/menu/volume-button.vala:121
+msgid "Volume control"
+msgstr "Controlar volume"
+
+#: src/widgets/buttons/menu/volume-button.vala:261
+msgid "Unmute"
+msgstr "Tira do mudo"
+
+#: src/widgets/buttons/menu/volume-button.vala:261
+msgid "Mute"
+msgstr "Mudo"
+
+#: src/widgets/cache-indicator/job-info-badge.vala:44
+#: src/widgets/save-stack.vala:52 src/widgets/views/abstract-cachiable.vala:172
+msgid "Album"
+msgstr "Álbum"
+
+#. Translators: n track from n tracks saved
+#: src/widgets/cache-indicator/job-info-badge.vala:77
+#, c-format
+msgid "%d / %d saved%s"
+msgid_plural "%d / %d saved%s"
+msgstr[0] "%d / %d salva%s"
+msgstr[1] "%d / %d salvas%s"
+
+#: src/widgets/cache-indicator/job-info-badge.vala:84
+#, c-format
+msgid "%d track saving now"
+msgid_plural "%d tracks saving now"
+msgstr[0] ". %d faixa sendo salva agora"
+msgstr[1] "%d faixas sendo salvas agora"
+
+#: src/widgets/info-marks.vala:41
+#, c-format
+msgid "Track was replaced. Original version: %s, %s"
+msgstr "A faixa foi substituída. Versão original: %s, %s"
+
+#: src/widgets/playlist-micro.vala:157 src/widgets/views/playlist.vala:241
+#, c-format
+msgid "Owner: %s"
+msgstr "Dono: %s"
+
+#: src/widgets/playlist-row.vala:85
+#, c-format
+msgid "Track count: %s"
+msgstr "Contagem de faixas: %s"
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:88
+#: src/widgets/preferences/preferences-dialog.vala:134
+msgid "Delete cache files?"
+msgstr "Excluir arquivos de cache?"
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:89
+msgid "Move saved files?"
+msgstr "Mover arquivos salvos?"
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:90
+#: src/widgets/preferences/preferences-dialog.vala:135
+msgid ""
+"All cache will be deleted. This doesn't affect on saved playlists or albums"
+msgstr ""
+"Todo o cache será excluído. Isso não afeta as listas de reprodução ou álbuns "
+"salvos"
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:91
+msgid ""
+"All saved playlists and albums will be moved to cache files. This could take "
+"a while."
+msgstr ""
+"Todas as listas de reprodução e álbuns salvos serão movidos para arquivos de "
+"cache. Isso pode demorar um pouco."
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:129
+msgid "Deleting…"
+msgstr "Excluindo…"
+
+#: src/widgets/save-stack.vala:54
+msgid "Image"
+msgstr "Imagem"
+
+#: src/widgets/save-stack.vala:58
+msgid "Track"
+msgstr "Faixa"
+
+#: src/widgets/save-stack.vala:75
+#, c-format
+msgid "%s saving…"
+msgstr "%s sendo salva…"
+
+#: src/widgets/save-stack.vala:76
+#, c-format
+msgid "%s cached"
+msgstr "%s em cache"
+
+#: src/widgets/save-stack.vala:77
+#, c-format
+msgid "%s saved"
+msgstr "%s salvada"
+
+#: src/widgets/sidebar/childs/player-queue.vala:66
+#, c-format
+msgid "Playlist \"%s\""
+msgstr "Lista de reprodução “%s”"
+
+#: src/widgets/sidebar/childs/player-queue.vala:70
+#, c-format
+msgid "Album \"%s\""
+msgstr "Álbum “%s”"
+
+#: src/widgets/sidebar/childs/player-queue.vala:74
+#, c-format
+msgid "By search results \"%s\""
+msgstr "Por resultados da pesquisa “%s”"
+
+#: src/widgets/sidebar/childs/player-queue.vala:78
+msgid "Track list"
+msgstr "Lista de faixas"
+
+#: src/widgets/sidebar/childs/track-info.vala:68
+msgid "Your music track"
+msgstr "Sua faixa musical"
+
+#: src/widgets/sidebar/childs/track-info.vala:84
+msgid "Music track"
+msgstr "Faixa musical"
+
+#: src/widgets/sidebar/childs/wave-settings.vala:39
+msgid "Wave settings"
+msgstr "Configurações de onda"
+
+#: src/widgets/track-rows/base.vala:79 src/widgets/track-rows/default.vala:100
+msgid "Track is not available"
+msgstr "Faixa não disponível"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:78
+#, c-format
+msgid "%s '%s' saved successfully"
+msgstr "%s “%s” salva com sucesso"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:89
+#, c-format
+msgid "%s '%s' saving was stopped, due to network error"
+msgstr "O salvamento de %s “%s” foi parado devido a um erro de rede"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:99
+#, c-format
+msgid "%s '%s' saving was aborted"
+msgstr "O salvamento de %s “%s” foi abortado"
+
+#. Translators: %s - content type (e.g. "Playlist")
+#: src/widgets/views/abstract-cachiable.vala:191
+#, c-format
+msgid "%s saving has started"
+msgstr "O salvamento de %s foi iniciado"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:229
+#, c-format
+msgid "%s '%s' was moved from data to cache"
+msgstr "%s “%s” foi removida da pasta de cache"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:239
+#, c-format
+msgid "%s removing has started. Please do not close the app"
+msgstr "A remoção de %s foi iniciada. Não feche o aplicativo"
+
+#: src/widgets/views/cant-show.vala:37
+#, c-format
+msgid "Error %d"
+msgstr "Erro %d"
+
+#: src/widgets/views/cant-show.vala:41
+msgid "Can't load page"
+msgstr "Não foi possível carregar a página"
+
+#: src/widgets/views/cant-show.vala:44
+msgid "Can't find desired content"
+msgstr "Não foi possível encontrar o conteúdo desejado"
+
+#: src/widgets/views/playlist.vala:84
+msgid "Delete playlist?"
+msgstr "Excluir lista de reprodução?"
+
+#: src/widgets/views/playlist.vala:85
+#, c-format
+msgid "Playlist '%s' will be permanently deleted."
+msgstr "A lista de reprodução “%s” será excluída permanentemente."
+
+#: src/widgets/views/playlist.vala:104
+#, c-format
+msgid "Playlist '%s' was deleted"
+msgstr "A lista de reprodução “%s” foi excluída"
+
+#. Translators: %s is female person
+#: src/widgets/views/playlist.vala:247
+#, c-format
+msgctxt "female person"
+msgid "%s updated playlist %s"
+msgstr "%s atualizou a lista de reprodução %s"
+
+#. Translators: %s is male person
+#: src/widgets/views/playlist.vala:251
+#, c-format
+msgctxt "male person"
+msgid "%s updated playlist %s"
+msgstr "%s atualizou a lista de reprodução %s"
+
+#: src/widgets/views/playlist.vala:281
+#, c-format
+msgid "Can't change visibility of '%s'"
+msgstr "Não foi possível alterar a visibilidade de “%s”"
+
+#: src/widgets/views/playlist.vala:287
+#, c-format
+msgid "Playlist '%s' is public now"
+msgstr "A lista de reprodução “%s” agora está pública"
+
+#: src/widgets/views/playlist.vala:290
+#, c-format
+msgid "Playlist '%s' is private now"
+msgstr "A lista de reprodução “%s” agora está privada"
+
+#: src/window.vala:235
+#, c-format
+msgid "Window info message: %s"
+msgstr "Mensagem de informações da janela: %s"
+
+#~ msgid "Vladimir Vaskov"
+#~ msgstr "Vladimir Vaskov"
+
+#~ msgid "Rirusha"
+#~ msgstr "Rirusha"
diff --git a/po/ru.po b/po/ru.po
index 7134782..fe97ca5 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -2,53 +2,78 @@
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Rirusha , 2023.
+# David Sultaniiazov , 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: Cassette 0.2.0\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-07-10 02:36+0300\n"
-"PO-Revision-Date: 2024-07-10 02:37+0300\n"
-"Last-Translator: Rirusha \n"
-"Language-Team: Cassette Team \n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/Rirusha/Cassette/-/issues\n"
+"POT-Creation-Date: 2025-01-10 21:07+0000\n"
+"PO-Revision-Date: 2025-06-11 21:25+0300\n"
+"Last-Translator: David Sultaniiazov \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: Poedit 3.4.4\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: Gtranslator 48.0\n"
"X-Poedit-Flags-xgettext: --add-comments=Translators:\n"
"X-Poedit-SourceCharset: UTF-8\n"
#. Translators: app name should be translated
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:3
-#: data/io.github.Rirusha.Cassette.desktop.in:4 src/main.vala:23
+#: data/space.rirusha.Cassette.desktop.in.in:4
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:3 src/main.vala:24
msgid "Cassette"
msgstr "Кассета"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:8
+#: data/space.rirusha.Cassette.desktop.in.in:5
+msgid "Unofficial Yandex Music client for GNOME"
+msgstr "Неофициальный клиент Яндекс Музыки для GNOME"
+
+# Translators: don't translate ';'
+#. Translators: keep number of ';'
+#: data/space.rirusha.Cassette.desktop.in.in:7
+#: data/space.rirusha.Cassette-Devel.desktop.in.in:7
+msgid "yandex;yandex music;yam;music;"
+msgstr "яндекс;яндекс музыка;ям;музыка;"
+
+#. Translators: app name should be translated
+#: data/space.rirusha.Cassette-Devel.desktop.in.in:4
+msgid "Cassette (Devel)"
+msgstr "Кассета (Разрабатываемая версия)"
+
+#: data/space.rirusha.Cassette-Devel.desktop.in.in:5
+msgid "Unofficial Yandex Music client for GNOME (Devel build)"
+msgstr "Неофициальный клиент Яндекс Музыки для GNOME (Разрабатываемая версия)"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:7
+msgid "Unofficial Yandex Music client"
+msgstr "Неофициальный клиент Яндекс Музыки"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:9
msgid ""
"GTK/Adwaita application that allows to use Yandex Music service on Linux "
"operating systems."
msgstr ""
-"GTK/Adwaita приложение, позволяющее использовать сервис Яндекс.Музыка на "
+"GTK4/Libadwaita приложение, позволяющее использовать сервис Яндекс.Музыка на "
"операционных системах Linux."
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:12
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:13
msgid "Features:"
msgstr "Из особенностей:"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:16
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:17
msgid "Allows you to save playlists and albums for offline listening"
msgstr "Позволяет вам сохранять плейлисты и альбомы для оффлайн прослушивания"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:19
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:20
msgid "Has a dynamic \"karaoke mode\" right in the track information panel"
msgstr ""
"Имеет динамический \"режим караоке\" прямо на панели информации о треке"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:22
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:23
msgid ""
"Allows you to more precisely customize the display and playback of special "
"content, such as explicit or suitable for children."
@@ -56,215 +81,60 @@ msgstr ""
"Позволяет более точно настроить отображение и воспроизведение детского или "
"предназначенного для несовершеннолетних контента."
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:26
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:27
msgid "Displays tracks that are currently unavailable in the service"
msgstr "Отображает треки, недоступные в сервисе на данный момент"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:29
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:30
msgid "Shows which tracks have been replaced and by what"
msgstr "Показывает, какие треки были заменены и чем"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:33
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:34
msgid ""
"Cassette is an unofficial client and is not associated with or endorsed by "
"Yandex."
msgstr ""
-"Cassette является неофициальным клиентом, не связан с компанией Яндекс и не "
+"Кассета является неофициальным клиентом, не связан с компанией Яндекс и не "
"одобрен ей."
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:68
-msgid "Unofficial Yandex.Music client"
-msgstr "Неофициальный клиент сервиса Я.Музыка"
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:63
+msgid "Liked view"
+msgstr "Мне нравится"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:73
-msgid "A release dedicated to My Vibe"
-msgstr "Релиз посвящен Моей Волне"
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:67
+msgid "Playlists view"
+msgstr "Плейлисты"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:75
-msgid "Added My Vibe"
-msgstr "Добавлена Моя Волна"
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:71
+msgid "Sync lyrics"
+msgstr "Текст песни"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:76
-msgid "Improved appearance"
-msgstr "Улучшен внешний вид"
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:75
+msgid "Playback queue"
+msgstr "Очередь воспроизведения"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:77
-msgid "MANY bug fixes"
-msgstr "БОЛЬШОЕ КОЛИЧЕСТВО исправленных багов"
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:79
+msgid "Waves view"
+msgstr "Моя волна"
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:83
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:91
-msgid "Hotfix"
-msgstr "Срочные исправления"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:85
-msgid "Bug fixes"
-msgstr "Исправления багов"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:93
-msgid ""
-"Crashes that I couldn't reproduce for a long time have been fixed. The "
-"reason was an attempt to save a custom track with an empty cover"
-msgstr ""
-"Были исправлены вылеты, которые я долго не мог воспроизвести. Причина была в "
-"попытке сохранения пользовательского трека с пустой обложкой"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:94
-msgid ""
-"The button for creating a playlist has changed, as well as some other shadows"
-msgstr "Изменилась кнопка добавления нового плейлиста, как и некоторые тени"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:95
-msgid ""
-"The translation has been corrected. The text on the widgets written using "
-"blueprints has not been translated. Now fixed"
-msgstr ""
-"Был исправлен перевод. Текст на виджетах, написанных с использованием "
-"blueprints не был переведен. Теперь исправлено"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:101
-msgid "Cosmetic and code changes"
-msgstr "Косметические изменения и изменения в коде"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:103
-msgid ""
-"The transition to the blueprints interface language is slowly but surely "
-"underway"
-msgstr "Медленно, но верно выполняется переход на язык интерфейса blueprints"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:104
-msgid ""
-"The playback panel has been completely redesigned. Now there are fewer "
-"buttons (if someone has lost the track information button, you need to poke "
-"to the right of the playback slider)"
-msgstr ""
-"Полностью переделана панель воспроизведения. Теперь на ней меньше кнопок "
-"(если кто-то потерял кнопку информации о треке, нужно ткнуть справа от "
-"слайдера воспроизведения)"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:105
-msgid "The appearance of the playlist has been changed"
-msgstr "Изменён внешний вид плейлиста"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:106
-msgid "The sidebar widget has been changed"
-msgstr ""
-"Изменён виджет боковой панели для показа дополнительной информации о треке"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:107
-msgid ""
-"Added the feature with parallel loading of tracks while saving playlists. "
-"And not only that, now when the application starts, all saved playlists will "
-"be checked and updated. You can also view the progress of saving on the top "
-"left"
-msgstr ""
-"Добавлена упомянутая месяц назад фича с параллельной загрузкой треков при "
-"сохранении плейлистов. И не только это, теперь при старте приложения, будет "
-"выполняться проверка всех сохранённых плейлистов и их обновление. Также, "
-"просмотреть прогресс сохранения можно слева сверху"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:108
-msgid "Added the removal of a track from the queue when it is disliked"
-msgstr "Добавлено удаление трека из очереди при его дизлайке"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:109
-msgid ""
-"The Belarusian language has been added. Thanks to Yahor Haurylenka for the "
-"translation"
-msgstr "Был добавлен белорусский язык. Спасибо Yahor Haurylenka за перевод"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:110
-msgid "Added a debug mod"
-msgstr "Добавлен режим отладки"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:111
-msgid "Increased the maximum volume level from 60 to 100"
-msgstr "Увеличен максимальный уровень громкости с 60 до 100"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:112
-msgid ""
-"Added the ability to move all saved objects to the cache folder, that is, "
-"move them to temporary storage"
-msgstr ""
-"Добавлена возможность перемещать все сохраненные объекты в папку кэша, то "
-"есть перемещать их во временное хранилище"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:113
-msgid "Other bug fixes"
-msgstr "Другие исправления багов"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:119
-msgid "Added new authorization via WebView"
-msgstr "Добавлена новая авторизация через WebView"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:124
-msgid "First release of Cassette"
-msgstr "Первый релиз Cassette"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:126
-msgid "Allows you to listen to music"
-msgstr "Позволяет вам слушать музыку"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:127
-msgid "View your playlists"
-msgstr "Просматривать ваши плейлисты"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:128
-msgid "Manage the playback queue, for example shuffle or puts on repeat"
-msgstr ""
-"Управлять очередью воспроизведения, например: перемешивать или ставить на "
-"повтор"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:129
-msgid ""
-"Sends whether the track has been listened to and the playback queue, if it "
-"has been changed"
-msgstr ""
-"Отправлять информацию о том, был ли прослушан трек, и об очереди "
-"воспроизведения, если она была изменена"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:130
-msgid "Implemented mpris2"
-msgstr "Реализован mpris2"
-
-#: data/io.github.Rirusha.Cassette.appdata.xml.in:138
-msgid "Rirusha"
-msgstr "Rirusha"
-
-#: data/io.github.Rirusha.Cassette.desktop.in:5
-msgid "Unofficial Yandex.Music client for GNOME"
-msgstr "Неофициальный клиент сервиса Я.Музыка для GNOME"
-
-# Translators: don't translate ';'
-#. Translators: keep number of ';'
-#: data/io.github.Rirusha.Cassette.desktop.in:7
-#: data/io.github.Rirusha.Cassette-Devel.desktop.in:7
-msgid "yandex;yandex music;yam;music;"
-msgstr "яндекс;яндекс музыка;ям;музыка;"
-
-#. Translators: app name should be translated
-#: data/io.github.Rirusha.Cassette-Devel.desktop.in:4
-msgid "Cassette (Devel)"
-msgstr "Кассета (Разраб.)"
-
-#: data/io.github.Rirusha.Cassette-Devel.desktop.in:5
-msgid "Unofficial Yandex.Music client for GNOME (Development)"
-msgstr "Неофициальный клиент сервиса Я.Музыка для GNOME (Версия в разработке)"
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:83
+msgid "Main preferences"
+msgstr "Главные параметры"
#: data/ui/account-info-dialog.blp:5
msgid "Account information"
msgstr "Информация об аккаунте"
-#: data/ui/account-info-dialog.blp:53
+#: data/ui/account-info-dialog.blp:52
msgid "Open in browser"
msgstr "Открыть в браузере"
-#: data/ui/account-info-dialog.blp:65
+#: data/ui/account-info-dialog.blp:61
msgid "Plus"
msgstr "Плюс"
-#: data/ui/account-info-dialog.blp:78 data/ui/no-plus-dialog.blp:32
-#: src/authenticator.vala:51
+#: data/ui/account-info-dialog.blp:70 data/ui/no-plus-dialog.blp:51
+#: src/authenticator.vala:52
msgid "Log out"
msgstr "Выйти из аккаунта"
@@ -288,7 +158,7 @@ msgid ""
msgstr ""
"Если вы выберете \"Онлайн использование\", вы сможете получить доступ к "
"локальной музыке, включив отображение соответствующих страниц в настройках, "
-"а также войти в систему позже, выбрав \"Локальный локальное использование\""
+"а также войти в систему позже, выбрав \"Локальное использование\""
#. Translators: usage mode of application. Online mode or Local mode available
#: data/ui/begin-view.ui:75
@@ -372,9 +242,9 @@ msgid "Here you can control custom pages."
msgstr "Здесь вы можете управлять пользовательскими страницами."
#: data/ui/disliked-tracks-view.ui:23
-#: src/widgets/buttons/menu/primary-menu-button.vala:31
+#: src/widgets/buttons/menu/primary-menu-button.vala:32
msgid "Disliked tracks"
-msgstr "Дизлайкнутые треки"
+msgstr "Непонравившиеся треки"
#: data/ui/header-bar.blp:12
msgid "Go back"
@@ -385,8 +255,8 @@ msgid "Refresh"
msgstr "Обновить"
#: data/ui/header-bar.blp:28
-msgid "Yandex.Music search"
-msgstr "Поиск по Яндекс.Музыке"
+msgid "Yandex Music search"
+msgstr "Поиск по Яндекс Музыке"
#: data/ui/help-overlay.blp:11
msgid "Main Actions"
@@ -394,7 +264,7 @@ msgstr "Основные действия"
#: data/ui/help-overlay.blp:14
msgid "Show Shortcuts"
-msgstr "Показать сочетания клавиш"
+msgstr "Показать комбинации клавиш"
#: data/ui/help-overlay.blp:19
msgid "Quit"
@@ -472,6 +342,10 @@ msgstr ""
"Чтобы избежать проблем с Яндексом, онлайн-функции приложения недоступны без "
"подписки Яндекс Плюс. Спасибо за понимание."
+#: data/ui/no-plus-dialog.blp:41
+msgid "Get Plus"
+msgstr "Получить Яндекс Плюс"
+
#: data/ui/player-bar.blp:22
msgid "Show track info"
msgstr "Показать информацию о треке"
@@ -488,7 +362,7 @@ msgstr "Показать очередь воспроизведения"
msgid "Change volume"
msgstr "Изменить громкость"
-#: data/ui/player-queue.blp:5 src/application.vala:270
+#: data/ui/player-queue.blp:5 src/application.vala:272
msgid "Playing now"
msgstr "Играет сейчас"
@@ -501,8 +375,8 @@ msgid "Create playlist"
msgstr "Создать плейлист"
#: data/ui/playlist-micro.ui:39 data/ui/playlist-view.ui:56
-#: src/widgets/cache-indicator/job-info-badge.vala:42
-#: src/widgets/save-stack.vala:56 src/widgets/views/abstract-cachiable.vala:162
+#: src/widgets/cache-indicator/job-info-badge.vala:43
+#: src/widgets/save-stack.vala:57 src/widgets/views/abstract-cachiable.vala:168
msgid "Playlist"
msgstr "Плейлист"
@@ -515,7 +389,7 @@ msgid "Your playlists"
msgstr "Ваши плейлисты"
#: data/ui/playlists-view.ui:39
-msgid "Also you liked this playlists"
+msgid "Also you liked these playlists"
msgstr "Вам также понравились эти плейлисты"
#: data/ui/playlist-view.ui:187
@@ -528,20 +402,20 @@ msgstr "Добавить страницу в заголовок"
#. Translators: tooltip of "save" button
#: data/ui/playlist-view.ui:233 data/ui/playlist-view.ui:237
-#: src/widgets/buttons/menu/track-options-button.vala:82
-#: src/widgets/buttons/menu/track-options-button.vala:107
-#: src/widgets/buttons/menu/track-playlist-options-button.vala:38
-#: src/widgets/buttons/menu/track-playlist-options-button.vala:49
-#: src/widgets/buttons/menu/track-queue-options-button.vala:72
-#: src/widgets/buttons/menu/track-queue-options-button.vala:102
+#: src/widgets/buttons/menu/track-options-button.vala:83
+#: src/widgets/buttons/menu/track-options-button.vala:108
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:39
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:50
+#: src/widgets/buttons/menu/track-queue-options-button.vala:73
+#: src/widgets/buttons/menu/track-queue-options-button.vala:103
msgid "Save"
msgstr "Сохранить"
#. Translators: tooltip of "delete" button
#: data/ui/playlist-view.ui:256 data/ui/playlist-view.ui:260
-#: src/widgets/preferences/cache-deletion-preferences.vala:96
-#: src/widgets/preferences/preferences-dialog.vala:140
-#: src/widgets/views/playlist.vala:90
+#: src/widgets/preferences/cache-deletion-preferences.vala:97
+#: src/widgets/preferences/preferences-dialog.vala:141
+#: src/widgets/views/playlist.vala:91
msgid "Delete"
msgstr "Удалить"
@@ -562,7 +436,7 @@ msgstr "Главная"
#: data/ui/preferences-dialog.ui:12
msgctxt "preference dialog"
msgid "General"
-msgstr "Общее"
+msgstr "Общие"
#: data/ui/preferences-dialog.ui:15
msgctxt "preference dialog"
@@ -592,7 +466,7 @@ msgstr ""
#: data/ui/preferences-dialog.ui:27
msgctxt "preference dialog"
msgid "Show 'Playing now' notification"
-msgstr "Показывать 'Играет сейчас' уведомление"
+msgstr "Показывать уведомление 'Играет сейчас'"
#: data/ui/preferences-dialog.ui:28
msgctxt "preference dialog"
@@ -857,7 +731,7 @@ msgstr "Источник"
msgid "Similar tracks"
msgstr "Похожие треки"
-#. Translators: placeholder of "search" entry. Local track search (inside of track lsit)
+#. Translators: placeholder of "search" entry. Local track search (inside of track list)
#: data/ui/track-list.ui:21
msgid "Search track"
msgstr "Найти трек"
@@ -865,7 +739,7 @@ msgstr "Найти трек"
#. Translators: part of sort by
#: data/ui/track-list.ui:30
msgid "Sort by"
-msgstr "Сортировка по"
+msgstr "Сортировать по"
#: data/ui/track-list.ui:77
msgid "No tracks to display"
@@ -887,7 +761,7 @@ msgstr "альбому"
msgid "duration"
msgstr "продолжительности"
-#: data/ui/track-placeholder.ui:9 src/widgets/pages/loading-page.vala:37
+#: data/ui/track-placeholder.ui:9 src/widgets/pages/loading-page.vala:38
msgid "Loading…"
msgstr "Загрузка…"
@@ -903,11 +777,11 @@ msgstr "По языку…"
msgid "Can't get wave settings"
msgstr "Не удаётся получить настройки волны"
-#: data/ui/window.blp:57 src/window.vala:252
+#: data/ui/window.blp:57 src/window.vala:253
msgid "Reconnect"
msgstr "Переподключиться"
-#: data/ui/window.blp:58 src/application.vala:150
+#: data/ui/window.blp:58 src/application.vala:152
msgid "Connection problems"
msgstr "Проблемы с соединением"
@@ -928,135 +802,131 @@ msgstr "Финансовая поддержка (Тинькофф)"
msgid "Financial support (Boosty)"
msgstr "Финансовая поддержка (Бусти)"
-#: src/about.vala:72
+#. Please keep alphabetical
+#: src/about.vala:73
msgid "Sponsors"
msgstr "Спонсоры"
-#: src/application.vala:61
+#: src/application.vala:63
msgid "Print version information and exit"
msgstr "Выводит информацию о версии и выходит"
-#: src/application.vala:144
+#: src/application.vala:146
msgid "Connection restored"
msgstr "Соединение восстановлено"
-#: src/application.vala:272
+#: src/application.vala:274
msgid "Previous"
msgstr "Предыдущий"
-#: src/application.vala:273
+#: src/application.vala:275
msgid "Next"
msgstr "Следующий"
-#: src/application.vala:356
+#: src/application.vala:358
msgid "Current track can not be copied to the clipboard"
msgstr "Текущий трек не может быть скопирован в буфер обмена"
-#: src/application.vala:370 src/application.vala:377 src/application.vala:434
+#: src/application.vala:372 src/application.vala:379 src/application.vala:436
msgid "Can't parse clipboard content"
-msgstr "Не удаётся спарсить содержимое буфера обмена"
+msgstr "Не удаётся разобрать содержимое буфера обмена"
-#: src/application.vala:388
+#: src/application.vala:390
msgid "Users view not implemented yet"
msgstr "Отображение пользователя пока не реализовано"
-#: src/application.vala:404 src/application.vala:418
+#: src/application.vala:406 src/application.vala:420
msgid "Albums view not implemented yet"
msgstr "Отображение альбома пока не реализовано"
-#: src/application.vala:444 src/application.vala:453
-#, c-format
-msgid "Error while opening uri: %s"
-msgstr "Ошибка при получении ответа: %s"
-
-#: src/authenticator.vala:46
+#: src/authenticator.vala:47
msgid "Log out?"
msgstr "Выйти из аккаунта?"
-#: src/authenticator.vala:47
+#: src/authenticator.vala:48
msgid "You will need to log in again to use the app"
msgstr "Вам нужно будет войти в аккаунт снова, чтобы использовать приложение"
#. Translators: cancel of deleting playlist
-#: src/authenticator.vala:50
-#: src/widgets/preferences/cache-deletion-preferences.vala:95
-#: src/widgets/preferences/preferences-dialog.vala:139
-#: src/widgets/views/playlist.vala:89
+#: src/authenticator.vala:51
+#: src/widgets/preferences/cache-deletion-preferences.vala:96
+#: src/widgets/preferences/preferences-dialog.vala:140
+#: src/widgets/views/playlist.vala:90
msgid "Cancel"
msgstr "Отменить"
-#: src/authenticator.vala:97
-#: src/widgets/preferences/cache-deletion-preferences.vala:129
+#: src/authenticator.vala:98
+#: src/widgets/preferences/cache-deletion-preferences.vala:130
msgid "Moving…"
msgstr "Перемещение…"
#. Translators: Playlist with liked tracks
-#: src/client/api/objects/playlist/playlist.vala:49
-#: src/client/api/objects/playlist/playlist.vala:99 src/pager.vala:276
+#: src/client/api/objects/playlist/playlist.vala:50
+#: src/client/api/objects/playlist/playlist.vala:100 src/pager.vala:277
msgid "Liked"
msgstr "Мне нравится"
#. Translators: Playlist that updates every day
-#: src/client/api/objects/playlist/playlist.vala:53
+#: src/client/api/objects/playlist/playlist.vala:54
msgid "Daily"
msgstr "Плейлист дня"
#. Translators: Unknown playlist
-#: src/client/api/objects/playlist/playlist.vala:57
+#: src/client/api/objects/playlist/playlist.vala:58
msgid "Unknown"
msgstr "Неизвестный"
-#: src/client/cachier/storager.vala:124
+#: src/client/cachier/storager.vala:125
#, c-format
msgid "Database was initialized, loc - %s"
msgstr "База данных была инициализирована, расположение - %s"
-#: src/client/cachier/storager.vala:801
+#: src/client/cachier/storager.vala:802
#, c-format
msgid "Can't save object %s"
msgstr "Не удается сохранить объект %s"
-#: src/client/cachier/storager.vala:818
+#: src/client/cachier/storager.vala:819
msgid "Byte"
msgid_plural "Bytes"
msgstr[0] "Байт"
msgstr[1] "Байта"
msgstr[2] "Байтов"
-#: src/client/cachier/storager.vala:821
+#: src/client/cachier/storager.vala:822
msgid "Kilobyte"
msgid_plural "Kilobytes"
msgstr[0] "Килобайт"
msgstr[1] "Килобайта"
msgstr[2] "Килобайтов"
-#: src/client/cachier/storager.vala:824
+#: src/client/cachier/storager.vala:825
msgid "Megabyte"
msgid_plural "Megabytes"
msgstr[0] "Мегабайт"
msgstr[1] "Мегабайта"
msgstr[2] "Мегабайтов"
-#: src/client/cachier/storager.vala:827
+#: src/client/cachier/storager.vala:828
msgid "Gigabyte"
msgid_plural "Gigabytes"
msgstr[0] "Гигабайт"
msgstr[1] "Гигабайта"
msgstr[2] "Гигабайтов"
-#: src/client/cachier/storager.vala:830
+#: src/client/cachier/storager.vala:831
msgid "Terabyte"
msgid_plural "Terabytes"
msgstr[0] "Терабайт"
msgstr[1] "Терабайта"
msgstr[2] "Терабайтов"
-#: src/client/cachier/storager.vala:859
+#: src/client/cachier/storager.vala:860
#, c-format
msgid "Error while getting cache directory size. Message %s"
msgstr "Ошибка при получении размера директории кэша. Сообщение %s"
-#: src/client/cachier/storager.vala:894
+#: src/client/cachier/storager.vala:895
#, c-format
msgid "Error while getting permanent directory size. Message %s"
msgstr "Ошибка при получении размера директории данных. Сообщение %s"
@@ -1067,269 +937,272 @@ msgstr "Ошибка при получении размера директори
msgid "Wrong type: expected %s, got %s"
msgstr "Неверный тип: ожидалось %s, получено %s"
-#: src/client/player/mods/abstract-mode.vala:91
+#: src/client/player/mods/abstract-mode.vala:92
msgid "Problems with queue"
msgstr "Проблемы с очередью"
#. Translators: name of new created playlist
-#: src/client/talkers/yam-talker.vala:627
+#: src/client/talkers/yam-talker.vala:628
msgid "New Playlist"
msgstr "Новый плейлист"
-#: src/pager.vala:162
+#: src/pager.vala:163
#, c-format
msgid "Can't set title \"%s\" to page"
msgstr "Не удаётся установить заголовок \"%s\" для страницы"
-#: src/pager.vala:173
+#: src/pager.vala:174
#, c-format
msgid "Can't set icon with name \"%s\" to page"
msgstr "Не удаётся установить иконку с именем \"%s\" на страницу"
-#: src/pager.vala:199
+#: src/pager.vala:200
msgid "Reached max page count"
msgstr "Достигнуто максимальное количество страниц"
-#: src/pager.vala:205
+#: src/pager.vala:206
#, c-format
msgid "Page '%s' already added"
msgstr "Страница '%s' уже добавлена"
-#: src/pager.vala:267
+#: src/pager.vala:268
msgid "Main"
msgstr "Главное"
-#: src/pager.vala:286
+#: src/pager.vala:287
msgid "Playlists"
msgstr "Плейлисты"
-#: src/pager.vala:311
+#: src/pager.vala:312
#, c-format
-msgid "Can't read pages file. Messsage: %s"
-msgstr "Не удаётся прочитать файл страницы. Сообщение: %s"
+msgid "Can't read pages file. Message: %s"
+msgstr "Не удаётся прочитать файл страниц. Сообщение: %s"
-#: src/pager.vala:331
+#: src/pager.vala:332
#, c-format
-msgid "Can't create pages file. Messsage: %s"
-msgstr "Не удаётся создать файл страницы. Сообщение: %s"
+msgid "Can't create pages file. Message: %s"
+msgstr "Не удаётся создать файл страниц. Сообщение: %s"
-#: src/utils.vala:69
+#: src/utils.vala:70
msgid "Not implemented yet"
msgstr "Пока не реализовано"
-#: src/utils.vala:76
+#: src/utils.vala:77
msgid "Need authorization"
msgstr "Нужна авторизация"
-#: src/utils.vala:80
+#: src/utils.vala:81
msgid "Need Bookmate subscription"
msgstr "Нужна подписка Букмейт"
-#: src/utils.vala:176 src/utils.vala:192
+#: src/utils.vala:177 src/utils.vala:193
msgid "Link copied to clipboard"
msgstr "Ссылка скопирована в буфер обмена"
-#: src/utils.vala:241
+#: src/utils.vala:242
#, c-format
msgid "Duration: %s h. %s min."
msgstr "Продолжительность: %s ч. %s мин."
-#: src/utils.vala:243
+#: src/utils.vala:244
#, c-format
msgid "Duration: %s min."
msgstr "Продолжительность: %s мин."
-#: src/utils.vala:357
+#: src/utils.vala:358
msgid "today"
msgstr "сегодня"
-#: src/utils.vala:359
+#: src/utils.vala:360
msgid "yesterday"
msgstr "вчера"
-#: src/widgets/buttons/just/dislike-button.vala:37
+#: src/widgets/buttons/just/dislike-button.vala:38
msgid "Remove dislike"
-msgstr "Снять дизлайк"
+msgstr "Удалить \"Не нравится\""
-#: src/widgets/buttons/just/dislike-button.vala:40
+#: src/widgets/buttons/just/dislike-button.vala:41
msgid "Set dislike"
-msgstr "Поставить дизлайк"
+msgstr "Поставить \"Не нравится\""
-#: src/widgets/buttons/just/like-button.vala:41
+#: src/widgets/buttons/just/like-button.vala:42
msgid "Remove like"
-msgstr "Снять лайк"
+msgstr "Удалить \"Нравится\""
-#: src/widgets/buttons/just/like-button.vala:48
+#: src/widgets/buttons/just/like-button.vala:49
msgid "Set like"
-msgstr "Поставить лайк"
+msgstr "Поставить \"Нравится\""
-#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:37
-#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:40
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:38
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:41
msgid "Pause"
msgstr "Пауза"
-#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:44
-#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:47
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:45
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:48
msgid "Play"
msgstr "Играть"
-#: src/widgets/buttons/menu/playlist-options-button.vala:48
+#: src/widgets/buttons/menu/playlist-options-button.vala:49
#, c-format
msgid "Playlist '%s'"
msgstr "Плейлист '%s'"
-#: src/widgets/buttons/menu/playlist-options-button.vala:53
-#: src/widgets/buttons/menu/playlist-options-button.vala:66
+#: src/widgets/buttons/menu/playlist-options-button.vala:54
+#: src/widgets/buttons/menu/playlist-options-button.vala:67
msgid "My Vibe by playlist"
msgstr "Моя волна по плейлисту"
-#: src/widgets/buttons/menu/playlist-options-button.vala:54
-#: src/widgets/buttons/menu/playlist-options-button.vala:76
-#: src/widgets/buttons/menu/track-options-button.vala:80
-#: src/widgets/buttons/menu/track-options-button.vala:105
-#: src/widgets/buttons/menu/track-playlist-options-button.vala:35
-#: src/widgets/buttons/menu/track-playlist-options-button.vala:46
-#: src/widgets/buttons/menu/track-queue-options-button.vala:69
-#: src/widgets/buttons/menu/track-queue-options-button.vala:99
-msgid "Add to queue"
-msgstr "Добавить в очередь"
-
#: src/widgets/buttons/menu/playlist-options-button.vala:55
#: src/widgets/buttons/menu/playlist-options-button.vala:77
-#: src/widgets/buttons/menu/track-options-button.vala:83
-#: src/widgets/buttons/menu/track-options-button.vala:108
-#: src/widgets/buttons/menu/track-playlist-options-button.vala:39
-#: src/widgets/buttons/menu/track-playlist-options-button.vala:50
-#: src/widgets/buttons/menu/track-queue-options-button.vala:73
-#: src/widgets/buttons/menu/track-queue-options-button.vala:103
-msgid "Share"
-msgstr "Поделиться"
-
-#: src/widgets/buttons/menu/primary-menu-button.vala:26
-msgid "Primary menu"
-msgstr "Основное меню"
-
-#: src/widgets/buttons/menu/primary-menu-button.vala:32
-msgid "Parse URL from clipboard"
-msgstr "Спарсить URL-адрес из буфера обмена"
-
-#: src/widgets/buttons/menu/primary-menu-button.vala:33
-msgid "Preferences"
-msgstr "Параметры"
-
-#: src/widgets/buttons/menu/primary-menu-button.vala:34
-msgid "Keyboard Shortcuts"
-msgstr "Сочетания клавиш"
-
-#: src/widgets/buttons/menu/primary-menu-button.vala:35
-msgid "About Cassette"
-msgstr "О Cassette"
-
-#: src/widgets/buttons/menu/track-options-button.vala:77
-#: src/widgets/buttons/menu/track-options-button.vala:94
-#: src/widgets/buttons/menu/track-playlist-options-button.vala:32
-#: src/widgets/buttons/menu/track-queue-options-button.vala:66
-#: src/widgets/buttons/menu/track-queue-options-button.vala:87
-msgid "My Vibe by track"
-msgstr "Моя волна по треку"
-
-#: src/widgets/buttons/menu/track-options-button.vala:78
-#: src/widgets/buttons/menu/track-playlist-options-button.vala:33
-#: src/widgets/buttons/menu/track-queue-options-button.vala:67
-msgid "Show info"
-msgstr "Подробнее"
-
-#: src/widgets/buttons/menu/track-options-button.vala:79
-#: src/widgets/buttons/menu/track-options-button.vala:104
-#: src/widgets/buttons/menu/track-playlist-options-button.vala:34
-#: src/widgets/buttons/menu/track-playlist-options-button.vala:45
-#: src/widgets/buttons/menu/track-queue-options-button.vala:68
-#: src/widgets/buttons/menu/track-queue-options-button.vala:98
-msgid "Play next"
-msgstr "Играть следующим"
-
#: src/widgets/buttons/menu/track-options-button.vala:81
#: src/widgets/buttons/menu/track-options-button.vala:106
#: src/widgets/buttons/menu/track-playlist-options-button.vala:36
#: src/widgets/buttons/menu/track-playlist-options-button.vala:47
#: src/widgets/buttons/menu/track-queue-options-button.vala:70
#: src/widgets/buttons/menu/track-queue-options-button.vala:100
+msgid "Add to queue"
+msgstr "Добавить в очередь"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:56
+#: src/widgets/buttons/menu/playlist-options-button.vala:78
+#: src/widgets/buttons/menu/track-options-button.vala:84
+#: src/widgets/buttons/menu/track-options-button.vala:109
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:40
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:51
+#: src/widgets/buttons/menu/track-queue-options-button.vala:74
+#: src/widgets/buttons/menu/track-queue-options-button.vala:104
+msgid "Share"
+msgstr "Поделиться"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:27
+msgid "Primary menu"
+msgstr "Главное меню"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:33
+msgid "Parse URL from clipboard"
+msgstr "Разобрать URL-адрес из буфера обмена"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:34
+msgid "Preferences"
+msgstr "Параметры"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:35
+msgid "Keyboard Shortcuts"
+msgstr "Комбинации клавиш"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:36
+msgid "About Cassette"
+msgstr "О приложении"
+
+#: src/widgets/buttons/menu/track-options-button.vala:78
+#: src/widgets/buttons/menu/track-options-button.vala:95
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:33
+#: src/widgets/buttons/menu/track-queue-options-button.vala:67
+#: src/widgets/buttons/menu/track-queue-options-button.vala:88
+msgid "My Vibe by track"
+msgstr "Моя волна по треку"
+
+#: src/widgets/buttons/menu/track-options-button.vala:79
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:34
+#: src/widgets/buttons/menu/track-queue-options-button.vala:68
+msgid "Show info"
+msgstr "Подробнее"
+
+#: src/widgets/buttons/menu/track-options-button.vala:80
+#: src/widgets/buttons/menu/track-options-button.vala:105
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:35
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:46
+#: src/widgets/buttons/menu/track-queue-options-button.vala:69
+#: src/widgets/buttons/menu/track-queue-options-button.vala:99
+msgid "Play next"
+msgstr "Играть следующим"
+
+#: src/widgets/buttons/menu/track-options-button.vala:82
+#: src/widgets/buttons/menu/track-options-button.vala:107
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:37
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:48
+#: src/widgets/buttons/menu/track-queue-options-button.vala:71
+#: src/widgets/buttons/menu/track-queue-options-button.vala:101
msgid "Add to playlist"
msgstr "Добавить в плейлист"
-#: src/widgets/buttons/menu/track-playlist-options-button.vala:37
-#: src/widgets/buttons/menu/track-playlist-options-button.vala:48
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:38
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:49
msgid "Remove from playlist"
msgstr "Удалить из плейлиста"
-#: src/widgets/buttons/menu/track-queue-options-button.vala:71
-#: src/widgets/buttons/menu/track-queue-options-button.vala:101
+#: src/widgets/buttons/menu/track-queue-options-button.vala:72
+#: src/widgets/buttons/menu/track-queue-options-button.vala:102
msgid "Remove from queue"
msgstr "Удалить из очереди"
-#: src/widgets/buttons/menu/volume-button.vala:121
+#: src/widgets/buttons/menu/volume-button.vala:122
msgid "Volume control"
msgstr "Управление громкостью"
-#: src/widgets/buttons/menu/volume-button.vala:261
+#: src/widgets/buttons/menu/volume-button.vala:262
msgid "Unmute"
msgstr "Включить звук"
-#: src/widgets/buttons/menu/volume-button.vala:261
+#: src/widgets/buttons/menu/volume-button.vala:262
msgid "Mute"
msgstr "Выключить звук"
-#: src/widgets/cache-indicator/job-info-badge.vala:44
-#: src/widgets/save-stack.vala:52 src/widgets/views/abstract-cachiable.vala:170
+#: src/widgets/cache-indicator/job-info-badge.vala:45
+#: src/widgets/save-stack.vala:53 src/widgets/views/abstract-cachiable.vala:173
msgid "Album"
msgstr "Альбом"
#. Translators: n track from n tracks saved
-#: src/widgets/cache-indicator/job-info-badge.vala:76
+#: src/widgets/cache-indicator/job-info-badge.vala:78
#, c-format
msgid "%d / %d saved%s"
-msgstr "%d / %d сохранено%s"
+msgid_plural "%d / %d saved%s"
+msgstr[0] "%d / %d сохранено%s"
+msgstr[1] "%d / %d сохранено%s"
+msgstr[2] "%d / %d сохранено%s"
-#: src/widgets/cache-indicator/job-info-badge.vala:80
+#: src/widgets/cache-indicator/job-info-badge.vala:85
#, c-format
-msgid ". %d track saving now"
-msgid_plural ". %d tracks saving now"
-msgstr[0] ". %d трек сохраняется сейчас"
-msgstr[1] ". %d трека сохраняется сейчас"
-msgstr[2] ". %d треков сохраняется сейчас"
+msgid "%d track saving now"
+msgid_plural "%d tracks saving now"
+msgstr[0] "%d трек сохраняется сейчас"
+msgstr[1] "%d трека сохраняется сейчас"
+msgstr[2] "%d треков сохраняется сейчас"
-#: src/widgets/info-marks.vala:41
+#: src/widgets/info-marks.vala:42
#, c-format
msgid "Track was replaced. Original version: %s, %s"
msgstr "Трек был заменён. Оригинальная версия: %s, %s"
-#: src/widgets/playlist-micro.vala:157 src/widgets/views/playlist.vala:241
+#: src/widgets/playlist-micro.vala:158 src/widgets/views/playlist.vala:242
#, c-format
msgid "Owner: %s"
msgstr "Владелец: %s"
-#: src/widgets/playlist-row.vala:85
+#: src/widgets/playlist-row.vala:86
#, c-format
msgid "Track count: %s"
msgstr "Количество треков: %s"
-#: src/widgets/preferences/cache-deletion-preferences.vala:88
-#: src/widgets/preferences/preferences-dialog.vala:134
+#: src/widgets/preferences/cache-deletion-preferences.vala:89
+#: src/widgets/preferences/preferences-dialog.vala:135
msgid "Delete cache files?"
msgstr "Удалить кэш?"
-#: src/widgets/preferences/cache-deletion-preferences.vala:89
-msgid "Moved saved files?"
-msgstr "Переместить сохраненный контент?"
-
#: src/widgets/preferences/cache-deletion-preferences.vala:90
-#: src/widgets/preferences/preferences-dialog.vala:135
+msgid "Move saved files?"
+msgstr "Переместить сохраненные файлы?"
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:91
+#: src/widgets/preferences/preferences-dialog.vala:136
msgid ""
"All cache will be deleted. This doesn't affect on saved playlists or albums"
msgstr ""
"Весь кэш будет удалён. Это не влияет на сохраненные плейлисты или альбомы"
-#: src/widgets/preferences/cache-deletion-preferences.vala:91
+#: src/widgets/preferences/cache-deletion-preferences.vala:92
msgid ""
"All saved playlists and albums will be moved to cache files. This could take "
"a while."
@@ -1337,657 +1210,173 @@ msgstr ""
"Все сохранённые плейлисты и альбомы будут перемещены в кэш-файлы. Это может "
"занять некоторое время."
-#: src/widgets/preferences/cache-deletion-preferences.vala:129
+#: src/widgets/preferences/cache-deletion-preferences.vala:130
msgid "Deleting…"
msgstr "Удаление…"
-#: src/widgets/save-stack.vala:54
+#: src/widgets/save-stack.vala:55
msgid "Image"
msgstr "Изображение"
-#: src/widgets/save-stack.vala:58
+#: src/widgets/save-stack.vala:59
msgid "Track"
msgstr "Трек"
-#: src/widgets/save-stack.vala:75
+#: src/widgets/save-stack.vala:76
#, c-format
msgid "%s saving…"
msgstr "%s сохраняется…"
-#: src/widgets/save-stack.vala:76
+#: src/widgets/save-stack.vala:77
#, c-format
msgid "%s cached"
-msgstr "%s закэширован"
+msgstr "%s кэширован"
-#: src/widgets/save-stack.vala:77
+#: src/widgets/save-stack.vala:78
#, c-format
msgid "%s saved"
msgstr "%s сохранён"
-#: src/widgets/sidebar/childs/player-queue.vala:66
+#: src/widgets/sidebar/childs/player-queue.vala:67
#, c-format
msgid "Playlist \"%s\""
msgstr "Плейлист \"%s\""
-#: src/widgets/sidebar/childs/player-queue.vala:70
+#: src/widgets/sidebar/childs/player-queue.vala:71
#, c-format
msgid "Album \"%s\""
msgstr "Альбом \"%s\""
-#: src/widgets/sidebar/childs/player-queue.vala:74
+#: src/widgets/sidebar/childs/player-queue.vala:75
#, c-format
msgid "By search results \"%s\""
msgstr "По результатам поиска \"%s\""
-#: src/widgets/sidebar/childs/player-queue.vala:78
+#: src/widgets/sidebar/childs/player-queue.vala:79
msgid "Track list"
msgstr "Список треков"
-#: src/widgets/sidebar/childs/track-info.vala:68
+#: src/widgets/sidebar/childs/track-info.vala:69
msgid "Your music track"
msgstr "Ваш трек"
-#: src/widgets/sidebar/childs/track-info.vala:84
+#: src/widgets/sidebar/childs/track-info.vala:85
msgid "Music track"
msgstr "Трек"
-#: src/widgets/sidebar/childs/wave-settings.vala:39
+#: src/widgets/sidebar/childs/wave-settings.vala:40
msgid "Wave settings"
msgstr "Настройки Волны"
-#: src/widgets/track-rows/base.vala:79 src/widgets/track-rows/default.vala:100
+#: src/widgets/track-rows/base.vala:80 src/widgets/track-rows/default.vala:101
msgid "Track is not available"
msgstr "Трек не доступен"
#. Translators: first %s - content type (Playlist), second - name
-#: src/widgets/views/abstract-cachiable.vala:72
+#: src/widgets/views/abstract-cachiable.vala:79
#, c-format
-msgid "%s%s successfully cached"
-msgstr "%s%s успешно кэширован"
+msgid "%s '%s' saved successfully"
+msgstr "%s '%s' успешно сохранен"
#. Translators: first %s - content type (Playlist), second - name
-#: src/widgets/views/abstract-cachiable.vala:83
+#: src/widgets/views/abstract-cachiable.vala:90
#, c-format
-msgid "Caching of %s%s was canceled, due to network error"
-msgstr "Кэширование %sа%s не было завершено из-за сетевой ошибки"
+msgid "%s '%s' saving was stopped, due to network error"
+msgstr "Сохранение %s '%s' было остановлено из-за сетевой ошибки"
#. Translators: first %s - content type (Playlist), second - name
-#: src/widgets/views/abstract-cachiable.vala:94
+#: src/widgets/views/abstract-cachiable.vala:100
#, c-format
-msgid "Caching of %s%s was aborted"
-msgstr "Кэширование %sа%s было отменено"
+msgid "%s '%s' saving was aborted"
+msgstr "Сохранение %s '%s' было прервано"
-#. Translators: first %s - content type (Playlist), second - name
+#. Translators: %s - content type (e.g. "Playlist")
#: src/widgets/views/abstract-cachiable.vala:192
#, c-format
-msgid "Cacheing of %s%s started"
-msgstr "Кэширование %sа%s было начато"
+msgid "%s saving has started"
+msgstr "Сохранение %s начато"
#. Translators: first %s - content type (Playlist), second - name
-#: src/widgets/views/abstract-cachiable.vala:228
+#: src/widgets/views/abstract-cachiable.vala:230
#, c-format
-msgid "%s%s was removed from cache folder"
-msgstr "%s%s был удалён из кэш-папки"
+msgid "%s '%s' was moved from data to cache"
+msgstr "%s '%s' был перемещен из данных в кэш"
#. Translators: first %s - content type (Playlist), second - name
-#: src/widgets/views/abstract-cachiable.vala:238
+#: src/widgets/views/abstract-cachiable.vala:240
#, c-format
-msgid "%s%s is removing, please do not close the app"
-msgstr "%s%s удаляется, пожалуйста, не закрывайте приложение"
+msgid "%s removing has started. Please do not close the app"
+msgstr "Удаление %s начато. Пожалуйста, не закрывайте приложение"
-#: src/widgets/views/cant-show.vala:37
+#: src/widgets/views/cant-show.vala:38
#, c-format
msgid "Error %d"
msgstr "Ошибка %d"
-#: src/widgets/views/cant-show.vala:41
+#: src/widgets/views/cant-show.vala:42
msgid "Can't load page"
-msgstr "Не удаётся загрузить страницу %s"
+msgstr "Не удаётся загрузить страницу"
-#: src/widgets/views/cant-show.vala:44
+#: src/widgets/views/cant-show.vala:45
msgid "Can't find desired content"
msgstr "Не удаётся найти желаемый контент"
-#: src/widgets/views/playlist.vala:84
+#: src/widgets/views/playlist.vala:85
msgid "Delete playlist?"
msgstr "Удалить плейлист?"
-#: src/widgets/views/playlist.vala:85
+#: src/widgets/views/playlist.vala:86
#, c-format
msgid "Playlist '%s' will be permanently deleted."
msgstr "Плейлист '%s' будет безвозвратно удалён."
-#: src/widgets/views/playlist.vala:104
+#: src/widgets/views/playlist.vala:105
#, c-format
msgid "Playlist '%s' was deleted"
msgstr "Плейлист '%s' удалён"
-#. Translators: 0 - female, 1 - male (different gender endings)
-#: src/widgets/views/playlist.vala:246
+#. Translators: %s is female person
+#: src/widgets/views/playlist.vala:248
#, c-format
+msgctxt "female person"
msgid "%s updated playlist %s"
-msgid_plural "%s updated playlist %s"
-msgstr[0] "%s обновила плейлист %s"
-msgstr[1] "%s обновил плейлист %s"
-msgstr[2] "%s обновили плейлист %s"
+msgstr "%s обновила плейлист %s"
-#: src/widgets/views/playlist.vala:277
+#. Translators: %s is male person
+#: src/widgets/views/playlist.vala:252
+#, c-format
+msgctxt "male person"
+msgid "%s updated playlist %s"
+msgstr "%s обновил плейлист %s"
+
+#: src/widgets/views/playlist.vala:282
#, c-format
msgid "Can't change visibility of '%s'"
msgstr "Не удалось изменить видимость плейлиста '%s'"
-#: src/widgets/views/playlist.vala:283
+#: src/widgets/views/playlist.vala:288
#, c-format
msgid "Playlist '%s' is public now"
msgstr "Плейлист '%s' виден всем"
-#: src/widgets/views/playlist.vala:286
+#: src/widgets/views/playlist.vala:291
#, c-format
msgid "Playlist '%s' is private now"
msgstr "Плейлист '%s' виден только вам"
-#: src/window.vala:235
+#: src/window.vala:236
#, c-format
msgid "Window info message: %s"
msgstr "Информационное сообщение об окне: %s"
-#~ msgid ""
-#~ "All cached files will be deleted. This doesn't affect on saved playlists "
-#~ "or albums"
-#~ msgstr ""
-#~ "Весь кэш будет удалён. Это не повлияет на сохраненные плейлисты или "
-#~ "альбомы"
+#~ msgid "@APP_NAME@"
+#~ msgstr "@APP_NAME@"
-#~ msgid "My Vibe by Playlist"
-#~ msgstr "Моя Волна по плейлисту"
+#~ msgid "Unofficial Yandex.Music client for GNOME @NAME_SUFFIX@"
+#~ msgstr "Неофициальный клиент сервиса Я.Музыка для GNOME @NAME_SUFFIX@"
-#~ msgid "Now playing"
-#~ msgstr "Сейчас играет"
+#~ msgid "Vladimir Vaskov"
+#~ msgstr "Владимир Васьков"
-#, c-format
-#~ msgctxt "account info window"
-#~ msgid "Login: %s"
-#~ msgstr "Логин: %s"
-
-#, c-format
-#~ msgctxt "account info window"
-#~ msgid "Phone number: %s"
-#~ msgstr "Номер телефона: %s"
-
-#, c-format
-#~ msgctxt "account info window"
-#~ msgid "First name: %s"
-#~ msgstr "Имя: %s"
-
-#, c-format
-#~ msgctxt "account info window"
-#~ msgid "Second name: %s"
-#~ msgstr "Фамилия: %s"
-
-#, c-format
-#~ msgctxt "account info window"
-#~ msgid "Display name: %s"
-#~ msgstr "Отображаемое имя: %s"
-
-#, c-format
-#~ msgctxt "account info window"
-#~ msgid "Birthday: %s"
-#~ msgstr "Дата рождения: %s"
-
-#~ msgctxt "account info window"
-#~ msgid "Additional options:"
-#~ msgstr "Дополнительные опции:"
-
-#~ msgid "Temporary"
-#~ msgstr "Временный"
-
-#~ msgid "Permanent"
-#~ msgstr "Постоянный"
-
-#~ msgctxt "shortcut window"
-#~ msgid "Play previous track"
-#~ msgstr "Играть предыдущий трек"
-
-#~ msgctxt "shortcut window"
-#~ msgid "Play next track"
-#~ msgstr "Играть следующий трек"
-
-#~ msgctxt "shortcut window"
-#~ msgid "Change shuffle mode"
-#~ msgstr "Переключить перемешивание очереди"
-
-#~ msgctxt "shortcut window"
-#~ msgid "Change repeat mode"
-#~ msgstr "Переключить режим повтора"
-
-#~ msgid "Start playlist"
-#~ msgstr "Проиграть плейлист"
-
-#~ msgid "Add playlist to queue"
-#~ msgstr "Добавить плейлист в очередь"
-
-#~ msgctxt "preference window"
-#~ msgid "Main"
-#~ msgstr "Главное"
-
-#~ msgctxt "preference window"
-#~ msgid "Max active threads"
-#~ msgstr "Максимальное количество активных потоков"
-
-#~ msgctxt "preference window"
-#~ msgid ""
-#~ "The maximum number of threads for content loading. A large value can "
-#~ "affect the performance of the system. The changes will take effect after "
-#~ "restarting the application."
-#~ msgstr ""
-#~ "Максимальное количество потоков для загрузки содержимого. Установка "
-#~ "высокого значения может повлиять на производительность системы. Изменения "
-#~ "этого параметра вступят в силу после перезапуска приложения."
-
-#~ msgctxt "preference window"
-#~ msgid "Try to load queue every window activation"
-#~ msgstr "Пробовать загрузить очередь при каждой активации окна"
-
-#~ msgctxt "preference window"
-#~ msgid ""
-#~ "Every time it is expanded or the focus changes from another window queue "
-#~ "will loaded from the device on which you listened to music last time."
-#~ msgstr ""
-#~ "Каждый раз, когда окно расширяется или фокус меняется с другого окна, "
-#~ "очередь будет загружаться с устройства, на котором вы слушали музыку в "
-#~ "последний раз."
-
-#~ msgctxt "preference window"
-#~ msgid "Show temp save mark"
-#~ msgstr "Отображать отметку о временном сохранении"
-
-#~ msgctxt "preference window"
-#~ msgid ""
-#~ "Show a mark indicating that the track has been saved to temporary storage"
-#~ msgstr "Отображать отметку о сохранении трека во временное хранилище"
-
-#~ msgctxt "preference window"
-#~ msgid "Force enable mobile mode"
-#~ msgstr "Принудительно включить мобильный режим"
-
-#~ msgctxt "preference window"
-#~ msgid ""
-#~ "Cache content for better performance (Over time, it starts to take up a "
-#~ "lot of space. So far, manual cleaning is required)"
-#~ msgstr ""
-#~ "Кэшировать контент для увеличения скорости загрузки (Со временем, он "
-#~ "начинает занимать много места. Пока что требуется ручная очистка)"
-
-#~ msgid "Content saved to temp folder"
-#~ msgstr "Контент сохранён во временную папку"
-
-#~ msgid "PLAYING "
-#~ msgstr "ИГРАЕТ "
-
-#~ msgid "Arseniy Nechkin "
-#~ msgstr "Арсений Нечкин "
-
-#, c-format
-#~ msgid "Error while getting temporary dir size. Message %s"
-#~ msgstr "Ошибка при получении размера временного каталога. Сообщение %s"
-
-#~ msgid "Options menu"
-#~ msgstr "Меню опций"
-
-#~ msgid "My wave on playlist"
-#~ msgstr "Моя волна по плейлисту"
-
-#~ msgid "Delete playlist"
-#~ msgstr "Удалить плейлист"
-
-#, c-format
-#~ msgid "%s like"
-#~ msgid_plural "%s likes"
-#~ msgstr[0] "%s лайк"
-#~ msgstr[1] "%s лайка"
-#~ msgstr[2] "%s лайков"
-
-#~ msgid "Delete temporary files?"
-#~ msgstr "Удалить временные файлы?"
-
-#, c-format
-#~ msgid "%s saved to temp folder"
-#~ msgstr "%s сохранён во временную папку"
-
-#~ msgid "PLAYLIST"
-#~ msgstr "ПЛЕЙЛИСТ"
-
-#~ msgid "ALBUM"
-#~ msgstr "АЛЬБОМ"
-
-#~ msgid "SEARCH RESULTS"
-#~ msgstr "РЕЗУЛЬТАТЫ ПОИСКА"
-
-#~ msgid "Added new authorization via WebView
"
-#~ msgstr "Добавлена новая авторизация через WebView
"
-
-#, c-format
-#~ msgid "In cache folder found suspicious file '%s'. It moved to trash."
-#~ msgstr ""
-#~ "В кэш-папке обнаружен подозрительный файл '%s'. Он был перенесён в "
-#~ "корзину."
-
-#, c-format
-#~ msgid "Can't move file '%s' to '%s'. Error message: %s"
-#~ msgstr "Не удаётся переместить каталог. Сообщение: %s"
-
-#, c-format
-#~ msgid "Can't move directory '%s' to '%s'. Error message: %s"
-#~ msgstr "Не удаётся переместить каталог. Сообщение: %s"
-
-#, fuzzy, c-format
-#~ msgid "Can't delete file '%s'."
-#~ msgstr "Не удаётся создать %s"
-
-#, fuzzy, c-format
-#~ msgid "Can't remove directory '%s'. Error message: %s"
-#~ msgstr "Не удаётся переместить каталог. Сообщение: %s"
-
-#, fuzzy, c-format
-#~ msgid "Can't load image '%s'. Error message: %s"
-#~ msgstr "Не удаётся прочитать файл страницы. Сообщение: %s"
-
-#, fuzzy, c-format
-#~ msgid "Can't load audio '%s'. Error message: %s"
-#~ msgstr "Не удаётся переместить каталог. Сообщение: %s"
-
-#, fuzzy, c-format
-#~ msgid "Can't save audio '%s'. Error message: %s"
-#~ msgstr "Не удаётся переместить каталог. Сообщение: %s"
-
-#, fuzzy, c-format
-#~ msgid "Can't find '%s'. Error message: %s"
-#~ msgstr "Не удаётся переместить каталог. Сообщение: %s"
-
-#~ msgid "Delete temporary"
-#~ msgstr "Удалить временные файлы"
-
-#~ msgid "Temporary playlist"
-#~ msgstr "Временный плейлист"
-
-#~ msgid "Shuffle"
-#~ msgstr "Перемешать очередь"
-
-#~ msgid "Repeat"
-#~ msgstr "Повтор"
-
-#~ msgid "Close"
-#~ msgstr "Закрыть"
-
-#~ msgid "USER "
-#~ msgstr "ПОЛЬЗОВАТЕЛЬСКИЙ "
-
-#~ msgid "TRACK"
-#~ msgstr "ТРЕК"
-
-#~ msgid "ALBUM "
-#~ msgstr "АЛЬБОМ "
-
-#~ msgid "ARTISTS "
-#~ msgstr "ИСПОЛНИТЕЛИ "
-
-#~ msgid "TRACK LYRICS"
-#~ msgstr "ТЕКСТ ПЕСНИ"
-
-#~ msgid "SIMILAR TRACKS"
-#~ msgstr "ПОХОЖИЕ ТРЕКИ"
-
-#~ msgid "Backward"
-#~ msgstr "Назад"
-
-#~ msgid "Main menu"
-#~ msgstr "Главное меню"
-
-#~ msgid "Account menu"
-#~ msgstr "Информация об аккаунте"
-
-#~ msgid "Global search"
-#~ msgstr "Глобальный поиск"
-
-#~ msgid "Compact mode"
-#~ msgstr "Компактный режим"
-
-#~ msgid "Big picture mode"
-#~ msgstr "Режим \"Big picture\""
-
-#~ msgctxt "preference window"
-#~ msgid "Main preferences"
-#~ msgstr "Основные параметры"
-
-#~ msgctxt "preference window"
-#~ msgid "Pages preferences"
-#~ msgstr "Параметры страниц"
-
-#~ msgctxt "preference window"
-#~ msgid "Cache preferences"
-#~ msgstr "Параметры кэширования"
-
-#~ msgctxt "preference window"
-#~ msgid "Cache content to ~/.cache"
-#~ msgstr "Кэшировать содержимое в ~/.cache"
-
-#, c-format
-#~ msgid "Log created, loc - %s"
-#~ msgstr "Журнал создан, расположение - %s"
-
-#, c-format
-#~ msgid "Can't save audio %s"
-#~ msgstr "Не удаётся сохранить аудио %s"
-
-#, c-format
-#~ msgid "Can't create log on %s"
-#~ msgstr "Не удаётся создать файл лога %s"
-
-#, c-format
-#~ msgid "Can't write to log file. Message: %s"
-#~ msgstr "Не удаётся сделать запись в файл лога. Сообщение: %s"
-
-#~ msgid "Can't write to log"
-#~ msgstr "Не удаётся сделать запись в файл лога"
-
-#~ msgid ""
-#~ "Cache state of this object was changed out of this view. Please refresh"
-#~ msgstr ""
-#~ "Состояние кэширования этого объекта было изменено вне этой страницы. "
-#~ "Пожалуйста, обновите страницу"
-
-#~ msgid "Playlist name can't be empty"
-#~ msgstr "Название плейлиста не может быть пустым"
-
-#, c-format
-#~ msgid "Playlist '%s' was renamed to '%s'"
-#~ msgstr "Плейлист '%s' был переименован в '%s'"
-
-#~ msgctxt "auth window"
-#~ msgid "By username"
-#~ msgstr "По имени пользователя"
-
-#~ msgctxt "auth window"
-#~ msgid "Username or email adress"
-#~ msgstr "Имя пользователя или адрес электронной почты"
-
-#~ msgctxt "auth window"
-#~ msgid "By phone number"
-#~ msgstr "По номеру телефона"
-
-#~ msgctxt "auth window"
-#~ msgid "By Qr-code"
-#~ msgstr "По QR-коду"
-
-#~ msgctxt "auth window"
-#~ msgid "Loading…"
-#~ msgstr "Загрузка…"
-
-#~ msgctxt "auth window"
-#~ msgid "Enter password"
-#~ msgstr "Введите пароль"
-
-#~ msgid "Failed while getting csrf token"
-#~ msgstr "Ошибка при получении csrf токена"
-
-#~ msgid "Error while getting qr-code uri"
-#~ msgstr "Ошибка при получении URI QR-кода"
-
-#~ msgid "Authorization warning"
-#~ msgstr "Предупреждение об авторизации"
-
-#~ msgid ""
-#~ "Frequent authorization initialization attempts may lead to Yandex "
-#~ "perceiving this as ddos, so please check the data when entering and do "
-#~ "not log in too often in a short time. And DON'T USE QR-CODE IF YOU HAVE "
-#~ "NOT KEY APP"
-#~ msgstr ""
-#~ "Частые попытки авторизации могут привести к тому, что Яндекс воспримет "
-#~ "это как DDoS-атаку, поэтому, пожалуйста, проверяйте данные при вводе и не "
-#~ "авторизуйтесь в аккаунт слишком часто за короткий промежуток времени. И "
-#~ "НЕ ИСПОЛЬЗУЙТЕ QR-КОД, ЕСЛИ У ВАС НЕ ПОДКЛЮЧЁН Я.Ключ"
-
-#~ msgid "Ok"
-#~ msgstr "Ок"
-
-#~ msgid "Username/phone can't be empty"
-#~ msgstr "Имя пользователя/номер телефона не может быть пустым"
-
-#~ msgid "Yandex send captcha. There nothing we can do. Try later"
-#~ msgstr "Яндекс отправил капчу. Мы ничего не можем сделать. Попробуйте позже"
-
-#~ msgid "User not registered"
-#~ msgstr "Пользователь не зарегистрирован"
-
-#~ msgid "Enter code from key app"
-#~ msgstr "Введите код из приложения Я.Ключ"
-
-#~ msgid "Enter password"
-#~ msgstr "Введите пароль"
-
-#, c-format
-#~ msgid ""
-#~ "Can't login, create an issue with the attached file %s to github page"
-#~ msgstr ""
-#~ "Не удаётся авторизоваться, создайте ишью на GitHub с приложенным файлом: "
-#~ "%s"
-
-#, c-format
-#~ msgid "Auth methods: %s"
-#~ msgstr "Методы аутентификации: %s"
-
-#~ msgid "Username incorrect"
-#~ msgstr "Неверное имя пользователя"
-
-#~ msgid "Password/code can't be empty"
-#~ msgstr "Пароль/код не может быть пустым"
-
-#~ msgid "Password/code incorrect"
-#~ msgstr "Пароль/код неверен"
-
-#~ msgid "Error while checking qr"
-#~ msgstr "Ошибка при проверке QR-кода"
-
-#, c-format
-#~ msgid "Error while checking qr. Message: %s"
-#~ msgstr "Ошибка при проверке QR-кода. Сообщение: %s"
-
-#~ msgid "Error while getting qr-code. Try later"
-#~ msgstr "Ошибка при получении QR-кода. Попробуйте позже"
-
-#~ msgid "First release. For additional info check telegram channel
"
-#~ msgstr ""
-#~ "Первый релиз. Дополнительную информацию смотрите в telegram-канале
"
-
-#~ msgid "Duration: 11 min."
-#~ msgstr "Продолжительность: %s мин."
-
-#~ msgid "Duration: 120 h. 11 min."
-#~ msgstr "Продолжительность: %s ч. %s мин."
-
-#~ msgid "Repeat playback"
-#~ msgstr "Переключить повтор"
-
-#~ msgid "Delete temp cache?"
-#~ msgstr "Удалить временный кэш?"
-
-#~ msgid "Track was replaced"
-#~ msgstr "Трек был заменён"
-
-#~ msgctxt "preference window"
-#~ msgid "Manage cache"
-#~ msgstr "Управление кэшем"
-
-# Заметки о релизе
-#~ msgid "Added bebra
"
-#~ msgstr "Добавлена бебра
"
-
-#~ msgctxt "preference window"
-#~ msgid "Download content to disk at all"
-#~ msgstr "Загружать контент без кэша"
-
-#~ msgctxt "preference window"
-#~ msgid "The directory where the content will be saved for permanent storage"
-#~ msgstr ""
-#~ "Каталог, в котором содержимое будет сохранено для постоянного хранения"
-
-#, fuzzy
-#~ msgid "Error while getting qr-code"
-#~ msgstr "Ошибка при получении QR-кода"
-
-#~ msgid "No playlists to display"
-#~ msgstr "Нет плейлистов для отображения"
-
-#~ msgctxt "auth window"
-#~ msgid "Code"
-#~ msgstr "Код"
-
-#~ msgctxt "auth window"
-#~ msgid "Password"
-#~ msgstr "Пароль"
-
-#~ msgctxt "preference window"
-#~ msgid "Cache possibility"
-#~ msgstr "Возможность кэширования"
-
-#~ msgctxt "preference window"
-#~ msgid "Marks visible"
-#~ msgstr "Видимость меток"
-
-#~ msgctxt "preference window"
-#~ msgid "The ability to disable the display of some track information"
-#~ msgstr "Отключение дополнительной информации о треках."
-
-#~ msgid "Login incorrect"
-#~ msgstr "Логин неверен"
-
-#~ msgctxt "shortcut window"
-#~ msgid "Next Track"
-#~ msgstr "Следующий трек"
-
-#~ msgid "Show explicit tracks"
-#~ msgstr "Показывать 18+-треки"
-
-#, c-format
-#~ msgid "Not implemented yet. Will be implemented in version %s"
-#~ msgstr "Ещё не реализовано. Будет реализовано в версии %s"
-
-#~ msgid "Liked tracks"
-#~ msgstr "Любимые треки"
-
-#~ msgid "Queue doesn't exist"
-#~ msgstr "Очереди не существует"
-
-#~ msgid "Answer is error"
-#~ msgstr "Ошибочный ответ"
-
-#, c-format
-#~ msgid "Caching of %s %s was canceled, due to cancellation"
-#~ msgstr "Кэширование %sа %s было отменено"
-
-#, c-format
-#~ msgid "%s caching failed"
-#~ msgstr "%s не был сохранён"
-
-#~ msgid "Content moved"
-#~ msgstr "Содержимое перенесено"
+#~ msgid "Rirusha"
+#~ msgstr "Rirusha"
diff --git a/po/sl.po b/po/sl.po
new file mode 100644
index 0000000..55f2a27
--- /dev/null
+++ b/po/sl.po
@@ -0,0 +1,1374 @@
+# Slovenian translation for cassette.
+# Copyright (C) 2024 cassette's COPYRIGHT HOLDER
+# This file is distributed under the same license as the cassette package.
+#
+# Martin Srebotnjak , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: cassette main\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/Rirusha/Cassette/-/issues\n"
+"POT-Creation-Date: 2024-09-30 18:34+0000\n"
+"PO-Revision-Date: 2024-09-30 22:20+0200\n"
+"Last-Translator: Martin Srebotnjak \n"
+"Language-Team: Slovenian GNOME Translation Team \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 ? 1 : n%100==2 ? 2 : n%100==3 || n"
+"%100==4 ? 3 : 0);\n"
+"X-Generator: Poedit 2.2.1\n"
+"X-Poedit-SourceCharset: UTF-8\n"
+
+#. Translators: app name should be translated
+#: data/space.rirusha.Cassette.desktop.in.in:4
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:3 src/main.vala:23
+msgid "Cassette"
+msgstr "Kaseta"
+
+#: data/space.rirusha.Cassette.desktop.in.in:5
+msgid "Unofficial Yandex Music client for GNOME"
+msgstr "Neuradni odjemalec Yandex Music za GNOME"
+
+#. Translators: keep number of ';'
+#: data/space.rirusha.Cassette.desktop.in.in:7
+#: data/space.rirusha.Cassette-Devel.desktop.in.in:7
+msgid "yandex;yandex music;yam;music;"
+msgstr "yandex;glasba yandex;yandex music;yam;glasba;music;"
+
+#. Translators: app name should be translated
+#: data/space.rirusha.Cassette-Devel.desktop.in.in:4
+msgid "Cassette (Devel)"
+msgstr "Kaseta (razvojna različica)"
+
+#: data/space.rirusha.Cassette-Devel.desktop.in.in:5
+msgid "Unofficial Yandex Music client for GNOME (Devel build)"
+msgstr "Neuradni odjemalec Yandex Music za GNOME (razvojna gradnja)"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:7
+msgid "Unofficial Yandex Music client"
+msgstr "Neuradni odjemalec za Yandex Music"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:9
+msgid ""
+"GTK/Adwaita application that allows to use Yandex Music service on Linux "
+"operating systems."
+msgstr ""
+"Program GTK / Adwaita, ki omogoča uporabo storitve Yandex Music v "
+"operacijskih sistemih Linux."
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:13
+msgid "Features:"
+msgstr "Zmožnosti:"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:17
+msgid "Allows you to save playlists and albums for offline listening"
+msgstr ""
+"Omogoča shranjevanje seznamov predvajanja in albumov za poslušanje brez "
+"povezave"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:20
+msgid "Has a dynamic \"karaoke mode\" right in the track information panel"
+msgstr ""
+"Ima dinamičen način »karaoke« neposredno na informacijski plošči posnetka"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:23
+msgid ""
+"Allows you to more precisely customize the display and playback of special "
+"content, such as explicit or suitable for children."
+msgstr ""
+"Omogoča natančnejše prilagajanje prikaza in predvajanja posebnih vsebin, na "
+"primer eksplicitnih ali primernih za otroke."
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:27
+msgid "Displays tracks that are currently unavailable in the service"
+msgstr "Prikaže posnetke, ki trenutno niso na voljo v storitvi"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:30
+msgid "Shows which tracks have been replaced and by what"
+msgstr "Pokaže, kateri posnetki so bili nadomeščeni in s čim"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:34
+msgid ""
+"Cassette is an unofficial client and is not associated with or endorsed by "
+"Yandex."
+msgstr "Kaseta je neuradni odjemalec in ni povezana z Yandexom ali ga podpira."
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:63
+msgid "Liked view"
+msgstr "Pogled všečnih"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:67
+msgid "Playlists view"
+msgstr "Pogled seznamov predvajanja"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:71
+msgid "Sync lyrics"
+msgstr "Sinhroniziraj besedilo"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:75
+msgid "Playback queue"
+msgstr "Čakalna vrsta za predvajanje"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:79
+msgid "Waves view"
+msgstr "Pogled valovanja"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:83
+msgid "Main preferences"
+msgstr "Glavne nastavitve"
+
+#: data/ui/account-info-dialog.blp:5
+msgid "Account information"
+msgstr "Podatki o računu"
+
+#: data/ui/account-info-dialog.blp:52
+msgid "Open in browser"
+msgstr "Odpri v brskalniku"
+
+#: data/ui/account-info-dialog.blp:61
+msgid "Plus"
+msgstr "Plus"
+
+#: data/ui/account-info-dialog.blp:70 data/ui/no-plus-dialog.blp:51
+#: src/authenticator.vala:51
+msgid "Log out"
+msgstr "Odjavi"
+
+#. Translators: usage mode of application. Online mode or Local mode available
+#: data/ui/begin-view.ui:11
+msgid "Usage mode"
+msgstr "Način uporabe"
+
+#. Translators: usage mode of application. Online mode or Local mode available
+#: data/ui/begin-view.ui:40
+msgctxt "auth window"
+msgid "Choose usage mode"
+msgstr "Izberite način uporabe"
+
+#: data/ui/begin-view.ui:50
+msgctxt "auth window"
+msgid ""
+"If you select the \"Online mode\", you can access local music by enabling "
+"the display of the corresponding pages in the pages preferences, as well as "
+"log in later when selecting \"Local mode\""
+msgstr ""
+"Če izberete »Spletni način«, lahko dostopate do krajevne glasbe tako, da "
+"omogočite prikaz ustreznih strani v nastavitvah strani, kot tudi pozneje, ko "
+"izberete »Krajevni način«"
+
+#. Translators: usage mode of application. Online mode or Local mode available
+#: data/ui/begin-view.ui:75
+msgctxt "auth window"
+msgid "Online mode"
+msgstr "Spletni način"
+
+#. Translators: usage mode of application. Online mode or Local mode available
+#: data/ui/begin-view.ui:85
+msgctxt "auth window"
+msgid "Local mode"
+msgstr "Krajevni način"
+
+#. Translators: "Close" window button label
+#: data/ui/begin-view.ui:97
+msgctxt "auth window"
+msgid "Close"
+msgstr "Zapri"
+
+#: data/ui/begin-view.ui:112
+msgid "Authorization"
+msgstr "Overitev"
+
+#. Translators: size of cache dirs
+#: data/ui/cache-deletion-preferences.ui:21
+msgid "Dirs size:"
+msgstr "Velikost map:"
+
+#. Translators: tempprary cache folder
+#: data/ui/cache-deletion-preferences.ui:35
+msgid "Cache"
+msgstr "Predpomnilnik"
+
+#: data/ui/cache-deletion-preferences.ui:88
+msgid "Clear"
+msgstr "Počisti"
+
+#. Translators: temparence cache folder
+#: data/ui/cache-deletion-preferences.ui:109
+msgid "Data"
+msgstr "Podatki"
+
+#: data/ui/cache-deletion-preferences.ui:159
+msgid "Move to cache"
+msgstr "Premakni v predpomnilnik"
+
+#: data/ui/cache-deletion-preferences.ui:163
+msgid "Move"
+msgstr "Premakni"
+
+#: data/ui/cache-indicator.blp:35
+msgid "Show all cache jobs"
+msgstr "Pokaži vsa opravila predpomnilnika"
+
+#: data/ui/custom-page-preferences.ui:17
+msgid "Title: "
+msgstr "Naslov: "
+
+#: data/ui/custom-page-preferences.ui:38
+msgid "Icon: "
+msgstr "Ikona: "
+
+#: data/ui/custom-page-preferences.ui:75
+msgid "Save page"
+msgstr "Shrani stran"
+
+#: data/ui/custom-page-preferences.ui:92
+msgid "Remove page"
+msgstr "Odstrani stran"
+
+#. Translators: title of preference group
+#: data/ui/custom-pages-preferences.ui:7
+msgctxt "preference window"
+msgid "Custom pages"
+msgstr "Strani po meri"
+
+#. Translators: description of preference group
+#: data/ui/custom-pages-preferences.ui:9
+msgctxt "preference window"
+msgid "Here you can control custom pages."
+msgstr "Tukaj lahko nadzirate strani po meri."
+
+#: data/ui/disliked-tracks-view.ui:23
+#: src/widgets/buttons/menu/primary-menu-button.vala:31
+msgid "Disliked tracks"
+msgstr "Posnetki, ki ne ugajajo"
+
+#: data/ui/header-bar.blp:12
+msgid "Go back"
+msgstr "Skoči nazaj"
+
+#: data/ui/header-bar.blp:20
+msgid "Refresh"
+msgstr "Osveži"
+
+#: data/ui/header-bar.blp:28
+msgid "Yandex Music search"
+msgstr "Iskanje Yandex Music"
+
+#: data/ui/help-overlay.blp:11
+msgid "Main Actions"
+msgstr "Glavna dejanja"
+
+#: data/ui/help-overlay.blp:14
+msgid "Show Shortcuts"
+msgstr "Pokaži tipkovne bližnjice"
+
+#: data/ui/help-overlay.blp:19
+msgid "Quit"
+msgstr "Izhod"
+
+#: data/ui/help-overlay.blp:25
+msgid "Playback Control"
+msgstr "Nadzor predvajanja"
+
+#: data/ui/help-overlay.blp:28
+msgid "Play/Pause playback"
+msgstr "Predvajaj/zaustavi predvajanje"
+
+#: data/ui/help-overlay.blp:33 data/ui/player-bar.blp:87
+msgid "Play previous track"
+msgstr "Predvajaj prejšnji posnetek"
+
+#: data/ui/help-overlay.blp:38 data/ui/player-bar.blp:119
+msgid "Play next track"
+msgstr "Predvajaj naslednji posnetek"
+
+#: data/ui/help-overlay.blp:43
+msgid "Mute app"
+msgstr "Utišaj program"
+
+#: data/ui/help-overlay.blp:49
+msgid "Queue control"
+msgstr "Nadzor čakalne vrste"
+
+#: data/ui/help-overlay.blp:52 data/ui/player-bar.blp:141
+msgid "Change shuffle mode"
+msgstr "Spremeni način naključnega predvajanja"
+
+#: data/ui/help-overlay.blp:57 data/ui/player-bar.blp:65
+msgid "Change repeat mode"
+msgstr "Spremeni način ponavljanja"
+
+#: data/ui/help-overlay.blp:63
+msgid "Other"
+msgstr "Drugo"
+
+#: data/ui/help-overlay.blp:66
+msgid "Share current track"
+msgstr "Trenutni posnetek v skupno rabo"
+
+#: data/ui/help-overlay.blp:71
+msgid "Parse url from clipboard"
+msgstr "Razčleni URL iz odložišča"
+
+#: data/ui/info-marks.ui:23
+msgid "Explicit content"
+msgstr "Eksplicitna vsebina"
+
+#: data/ui/info-marks.ui:32
+msgid "Child content"
+msgstr "Vsebina za otroke"
+
+#: data/ui/main-view.blp:6
+msgid "Page under construction"
+msgstr "Stran v gradnji"
+
+#: data/ui/main-view.blp:20
+msgid "All stations"
+msgstr "Vse postaje"
+
+#: data/ui/no-plus-dialog.blp:20
+msgid "No Plus Subscription"
+msgstr "Brez naročnine Plus"
+
+#: data/ui/no-plus-dialog.blp:21
+msgid ""
+"To avoid problems with Yandex, the online functions of the application are "
+"not available without a Yandex.Plus subscription. Thanks for understanding."
+msgstr ""
+"Da bi se izognili težavam z Yandexom, spletne funkcije programa niso na "
+"voljo brez naročnine na Yandex.Plus. Hvala za razumevanje."
+
+#: data/ui/no-plus-dialog.blp:41
+msgid "Get Plus"
+msgstr "Pridobi Plus"
+
+#: data/ui/player-bar.blp:22
+msgid "Show track info"
+msgstr "Pokaži podatke o posnetku"
+
+#: data/ui/player-bar.blp:206
+msgid "Show wave settings"
+msgstr "Pokaži nastavitve signalne oblike"
+
+#: data/ui/player-bar.blp:216
+msgid "Show playback queue"
+msgstr "Pokaži čakalno vrsto za predvajanje"
+
+#: data/ui/player-bar.blp:229
+msgid "Change volume"
+msgstr "Spremeni glasnost"
+
+#: data/ui/player-queue.blp:5 src/application.vala:271
+msgid "Playing now"
+msgstr "Zdaj se predvaja"
+
+#: data/ui/playlist-choose-dialog.ui:8
+msgid "Choose playlist to add"
+msgstr "Izberite seznam predvajanja, ki ga želite dodati"
+
+#: data/ui/playlist-create-button.ui:36
+msgid "Create playlist"
+msgstr "Ustvari seznam predvajanja"
+
+#: data/ui/playlist-micro.ui:39 data/ui/playlist-view.ui:56
+#: src/widgets/cache-indicator/job-info-badge.vala:42
+#: src/widgets/save-stack.vala:56 src/widgets/views/abstract-cachiable.vala:167
+msgid "Playlist"
+msgstr "Seznam predvajanja"
+
+#: data/ui/playlist-row.ui:40
+msgid "Empty"
+msgstr "Prazno"
+
+#: data/ui/playlists-view.ui:23
+msgid "Your playlists"
+msgstr "Vaši seznami predvajanja"
+
+#: data/ui/playlists-view.ui:39
+msgid "Also you liked these playlists"
+msgstr "Všeč so vam bili naslednji seznami predvajanja"
+
+#: data/ui/playlist-view.ui:187
+msgid "Change playlist visibility"
+msgstr "Spremeni vidnost seznama predvajanja"
+
+#: data/ui/playlist-view.ui:211
+msgid "Add page to header"
+msgstr "Dodaj stran v glavo"
+
+#. Translators: tooltip of "save" button
+#: data/ui/playlist-view.ui:233 data/ui/playlist-view.ui:237
+#: src/widgets/buttons/menu/track-options-button.vala:82
+#: src/widgets/buttons/menu/track-options-button.vala:107
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:38
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:49
+#: src/widgets/buttons/menu/track-queue-options-button.vala:72
+#: src/widgets/buttons/menu/track-queue-options-button.vala:102
+msgid "Save"
+msgstr "Shrani"
+
+#. Translators: tooltip of "delete" button
+#: data/ui/playlist-view.ui:256 data/ui/playlist-view.ui:260
+#: src/widgets/preferences/cache-deletion-preferences.vala:96
+#: src/widgets/preferences/preferences-dialog.vala:140
+#: src/widgets/views/playlist.vala:90
+msgid "Delete"
+msgstr "Izbriši"
+
+#. Translators: tooltip of "abort" button
+#: data/ui/playlist-view.ui:276
+msgid "Abort"
+msgstr "Prekliči"
+
+#: data/ui/playlist-view.ui:280
+msgid "Stop"
+msgstr "Ustavi"
+
+#: data/ui/preferences-dialog.ui:8
+msgctxt "preference dialog"
+msgid "Main"
+msgstr "Glavno"
+
+#: data/ui/preferences-dialog.ui:12
+msgctxt "preference dialog"
+msgid "General"
+msgstr "Splošno"
+
+#: data/ui/preferences-dialog.ui:15
+msgctxt "preference dialog"
+msgid "Enable high quality audio"
+msgstr "Omogoči visokokakovostni zvok"
+
+#: data/ui/preferences-dialog.ui:16
+msgctxt "preference dialog"
+msgid ""
+"Attention! If the track was downloaded in low quality, and after the "
+"download is enabled in high quality, the audio will not be reloaded"
+msgstr ""
+"Pozor! Če je bil posnetek prenesen v nizki kakovosti in je kasneje prenos "
+"omogočen v visoki kakovosti, zvok ne bo ponovno naložen"
+
+#: data/ui/preferences-dialog.ui:21
+msgctxt "preference dialog"
+msgid "Add track on top of playlist"
+msgstr "Dodaj posnetek na vrh seznama predvajanja"
+
+#: data/ui/preferences-dialog.ui:22
+msgctxt "preference dialog"
+msgid "Will the track be added to the playlist as the first or as the last"
+msgstr "Ali bo posnetek dodan na seznam predvajanja kot prvi ali zadnji"
+
+#: data/ui/preferences-dialog.ui:27
+msgctxt "preference dialog"
+msgid "Show 'Playing now' notification"
+msgstr "Pokaži obvestilo »Zdaj se predvaja«"
+
+#: data/ui/preferences-dialog.ui:28
+msgctxt "preference dialog"
+msgid "Show a notification when switching a track"
+msgstr "Pokaži obvestilo pri preklapljanju med posnetki"
+
+#: data/ui/preferences-dialog.ui:35
+msgctxt "preference dialog"
+msgid "Show additional marks"
+msgstr "Pokaži dodatne oznake"
+
+#: data/ui/preferences-dialog.ui:36
+msgctxt "preference dialog"
+msgid "Additional marks display additional information about the track"
+msgstr "Dodatne oznake prikazujejo dodatne informacije o posnetku"
+
+#: data/ui/preferences-dialog.ui:39
+msgctxt "preference dialog"
+msgid "Show save mark"
+msgstr "Pokaži oznako za shranjevanje"
+
+#: data/ui/preferences-dialog.ui:40
+msgctxt "preference dialog"
+msgid "Show a label with information about the caching status of the track"
+msgstr "Pokaži oznako z informacijami o stanju predpomnjenja posnetka"
+
+#: data/ui/preferences-dialog.ui:45
+msgctxt "preference dialog"
+msgid "Show cache mark"
+msgstr "Pokaži oznako predpomnjenja"
+
+#: data/ui/preferences-dialog.ui:46
+msgctxt "preference dialog"
+msgid "Show a mark about saving a track to the cache"
+msgstr "Pokaži oznako za shranjevanje posnetka v predpomnilnik"
+
+#: data/ui/preferences-dialog.ui:51
+msgctxt "preference dialog"
+msgid "Show replaced mark"
+msgstr "Pokaži zamenjano oznako"
+
+#: data/ui/preferences-dialog.ui:52
+msgctxt "preference dialog"
+msgid "Show a mark that shows that the track has been replaced"
+msgstr "Pokaži oznako, ki označuje, da je bil posnetek zamenjan"
+
+#: data/ui/preferences-dialog.ui:59
+msgctxt "preference dialog"
+msgid "Tracks visibility"
+msgstr "Vidnost posnetkov"
+
+#: data/ui/preferences-dialog.ui:60
+msgctxt "preference dialog"
+msgid ""
+"Show special tracks in track lists. Filter doesn't work when searching in "
+"track list"
+msgstr ""
+"Pokaži posebne posnetke na seznamih posnetkov. Filter ne deluje pri iskanju "
+"po seznamu posnetkov"
+
+#: data/ui/preferences-dialog.ui:63
+msgctxt "preference dialog"
+msgid "Show unavailable content"
+msgstr "Pokaži vsebine, ki niso na voljo"
+
+#: data/ui/preferences-dialog.ui:64
+msgctxt "preference dialog"
+msgid ""
+"Show tracks that are not available in the service. You can't listen to them"
+msgstr "Pokaži posnetke, ki niso na voljo v storitvi. Ne morete jih poslušati"
+
+#: data/ui/preferences-dialog.ui:69
+msgctxt "preference dialog"
+msgid "Show content suitable for children"
+msgstr "Pokaži vsebino, primerno za otroke"
+
+#: data/ui/preferences-dialog.ui:70
+msgctxt "preference dialog"
+msgid "Show content that is specific to children"
+msgstr "Pokaži vsebine, ki so posebej primerne za otroke"
+
+#: data/ui/preferences-dialog.ui:75
+msgctxt "preference dialog"
+msgid "Show explicit content"
+msgstr "Pokaži vsebine za odrasle"
+
+#: data/ui/preferences-dialog.ui:76
+msgctxt "preference dialog"
+msgid "Show content that has age restrictions"
+msgstr "Pokaži vsebine, za katero veljajo starostne omejitve"
+
+#: data/ui/preferences-dialog.ui:83
+msgctxt "preference dialog"
+msgid "Other"
+msgstr "Drugo"
+
+#: data/ui/preferences-dialog.ui:86
+msgctxt "preference dialog"
+msgid "Enable Debug-Mode"
+msgstr "Omogoči način odpravljanja napak"
+
+#: data/ui/preferences-dialog.ui:87
+msgctxt "preference dialog"
+msgid "Enable logging of additional information useful for error detection"
+msgstr ""
+"Omogoči pisanje zapisnika dodatnih informacij, uporabnih za zaznavanje napak"
+
+#: data/ui/preferences-dialog.ui:94
+msgctxt "preference dialog"
+msgid "Experimental"
+msgstr "Poskusno"
+
+#: data/ui/preferences-dialog.ui:95
+msgctxt "preference dialog"
+msgid "Parameters that test anything and may be removed in future releases"
+msgstr ""
+"Parametri, ki preizkušajo karkoli, in bodo morda odstranjeni v prihodnjih "
+"izdajah"
+
+#: data/ui/preferences-dialog.ui:98
+msgctxt "preference dialog"
+msgid "Use only bottom sheet menus"
+msgstr "Uporabi samo menije na spodnjih zavihkih"
+
+#: data/ui/preferences-dialog.ui:99
+msgctxt "preference dialog"
+msgid "Test preference for bottom sheet menu"
+msgstr "Preskusna nastavitev za meni spodnjih zavihkov"
+
+#: data/ui/preferences-dialog.ui:108
+msgctxt "preference dialog"
+msgid "Pages"
+msgstr "Strani"
+
+#: data/ui/preferences-dialog.ui:112
+msgctxt "preference dialog"
+msgid "Static pages"
+msgstr "Statične strani"
+
+#: data/ui/preferences-dialog.ui:113
+msgctxt "preference dialog"
+msgid ""
+"Here you can show or hide static pages. They will always be displayed on the "
+"left side of the header."
+msgstr ""
+"Tukaj lahko prikažete ali skrijete statične strani. Vedno bodo prikazane na "
+"levi strani glave."
+
+#: data/ui/preferences-dialog.ui:116
+msgctxt "preference dialog"
+msgid "Show 'Main' page"
+msgstr "Pokaži »Glavno« stran"
+
+#: data/ui/preferences-dialog.ui:121
+msgctxt "preference dialog"
+msgid "Show 'Liked' page"
+msgstr "Pokaži stran »Všeč mi je«"
+
+#: data/ui/preferences-dialog.ui:126
+msgctxt "preference dialog"
+msgid "Show 'Playlists' page"
+msgstr "Pokaži stran »Seznami predvajanja«"
+
+#: data/ui/preferences-dialog.ui:138
+msgctxt "preference dialog"
+msgid "Cache"
+msgstr "Predpomnilnik"
+
+#: data/ui/preferences-dialog.ui:142
+msgctxt "preference dialog"
+msgid "Cache managing"
+msgstr "Upravljanje predpomnilnika"
+
+#: data/ui/preferences-dialog.ui:143
+msgctxt "preference dialog"
+msgid ""
+"Here you can see application memory usage, delete all cache from cache "
+"folder and control downloading cache to disk"
+msgstr ""
+"Tukaj si lahko ogledate porabo pomnilnika programa, izbrišete ves "
+"predpomnilnik iz mape predpomnilnika in nadzirate prenos predpomnilnika na "
+"disk"
+
+#: data/ui/preferences-dialog.ui:146
+msgctxt "preference dialog"
+msgid "Cache content"
+msgstr "Vsebina predpomnilnika"
+
+#: data/ui/preferences-dialog.ui:147
+msgctxt "preference dialog"
+msgid ""
+"For better performance. Over time, it starts to take up a lot of space. So "
+"far, manual cleaning is required. If enabled, the application will cache all "
+"content to cache dir for better performance, otherwise, the application will "
+"load content only when caching objects (such as playlists or albums). "
+"Disabling the parameter does not delete already downloaded content"
+msgstr ""
+"Za boljše delovanje. Sčasoma začne zavzemati veliko prostora. Zaenkrat je "
+"potrebno ročno čiščenje. Če je omogočeno, bo program predpomnil vso vsebino "
+"v predpomnilno mapo za boljše delovanje, sicer bo program naložilavsebino "
+"samo pri predpomnjenju predmetov (kot so seznami predvajanja ali albumi). Če "
+"onemogočite parameter, ne izbrišete že prenesene vsebine"
+
+#: data/ui/save-stack.ui:25
+msgid "Content saving…"
+msgstr "Shranjevanje vsebine ..."
+
+#: data/ui/save-stack.ui:42
+msgid "Content cached"
+msgstr "Vsebina predpomnjena"
+
+#: data/ui/save-stack.ui:56
+msgid "Content saved"
+msgstr "Vsebina shranjena"
+
+#: data/ui/stations-view.blp:22
+msgid "Stations dashboard"
+msgstr "Nadzorna plošča postaj"
+
+#: data/ui/stations-view.blp:58
+msgid "Searching for station…"
+msgstr "Iskanje postaje ..."
+
+#: data/ui/stations-view.blp:77
+msgid "By genre…"
+msgstr "Po zvrsti …"
+
+#: data/ui/stations-view.blp:99 data/ui/wave-settings.blp:60
+msgid "By mood…"
+msgstr "Po razpoloženju …"
+
+#: data/ui/stations-view.blp:121 data/ui/wave-settings.blp:25
+msgid "By activity…"
+msgstr "Po aktivnosti …"
+
+#: data/ui/stations-view.blp:143
+msgid "By epoch…"
+msgstr "Po dobi …"
+
+#: data/ui/stations-view.blp:165
+msgid "Other…"
+msgstr "Drugo …"
+
+#: data/ui/stations-view.blp:209
+msgid "No stations with that name were found"
+msgstr "Postaje s tem imenom ni moč najti"
+
+#: data/ui/track-info.blp:103
+msgid "Track lyrics"
+msgstr "Besedilo posnetka"
+
+#: data/ui/track-info.blp:117
+msgid "Authors"
+msgstr "Avtorji"
+
+#: data/ui/track-info.blp:135
+msgid "Source"
+msgstr "Vir"
+
+#: data/ui/track-info.blp:158
+msgid "Similar tracks"
+msgstr "Podobni posnetki"
+
+#. Translators: placeholder of "search" entry. Local track search (inside of track list)
+#: data/ui/track-list.ui:21
+msgid "Search track"
+msgstr "Poišči posnetek"
+
+#. Translators: part of sort by
+#: data/ui/track-list.ui:30
+msgid "Sort by"
+msgstr "Razvrsti po"
+
+#: data/ui/track-list.ui:77
+msgid "No tracks to display"
+msgstr "Ni posnetkov za prikaz"
+
+#: data/ui/track-list.ui:88
+msgid "name"
+msgstr "name"
+
+#: data/ui/track-list.ui:92
+msgid "artist"
+msgstr "izvajalec"
+
+#: data/ui/track-list.ui:96
+msgid "album"
+msgstr "album"
+
+#: data/ui/track-list.ui:100
+msgid "duration"
+msgstr "trajanje"
+
+#: data/ui/track-placeholder.ui:9 src/widgets/pages/loading-page.vala:37
+msgid "Loading…"
+msgstr "Poteka nalaganje …"
+
+#: data/ui/wave-settings.blp:42
+msgid "By diversity…"
+msgstr "Po raznolikosti ..."
+
+#: data/ui/wave-settings.blp:78
+msgid "By language…"
+msgstr "Po jeziku ..."
+
+#: data/ui/wave-settings.blp:93
+msgid "Can't get wave settings"
+msgstr "Nastavitev signalne oblike ni mogoče pridobiti"
+
+#: data/ui/window.blp:57 src/window.vala:252
+msgid "Reconnect"
+msgstr "Ponovno se poveži"
+
+#: data/ui/window.blp:58 src/application.vala:151
+msgid "Connection problems"
+msgstr "Težave s povezavo"
+
+#. Translators: NAME /n NAME
+#: src/about.vala:59
+msgid "translator-credits"
+msgstr "Martin Srebotnjak "
+
+#: src/about.vala:67
+msgid "Telegram channel"
+msgstr "Kanal Telegram"
+
+#: src/about.vala:68
+msgid "Financial support (Tinkoff)"
+msgstr "Finančna podpora (Tinkoff)"
+
+#: src/about.vala:69
+msgid "Financial support (Boosty)"
+msgstr "Finančna podpora (Boosty)"
+
+#. Please keep alphabetical
+#: src/about.vala:72
+msgid "Sponsors"
+msgstr "Sponzorji"
+
+#: src/application.vala:62
+msgid "Print version information and exit"
+msgstr "Izpiši podatke o različici in končaj"
+
+#: src/application.vala:145
+msgid "Connection restored"
+msgstr "Povezava je bila obnovljena"
+
+#: src/application.vala:273
+msgid "Previous"
+msgstr "Prejšnje"
+
+#: src/application.vala:274
+msgid "Next"
+msgstr "Naslednje"
+
+#: src/application.vala:357
+msgid "Current track can not be copied to the clipboard"
+msgstr "Trenutnega posnetka ni mogoče kopirati v odložišče"
+
+#: src/application.vala:371 src/application.vala:378 src/application.vala:435
+msgid "Can't parse clipboard content"
+msgstr "Vsebine odložišča ni mogoče razčleniti"
+
+#: src/application.vala:389
+msgid "Users view not implemented yet"
+msgstr "Pogled uporabnikov še ni implementiran"
+
+#: src/application.vala:405 src/application.vala:419
+msgid "Albums view not implemented yet"
+msgstr "Pogled albumov še ni implementiran"
+
+#: src/authenticator.vala:46
+msgid "Log out?"
+msgstr "Se želite odjaviti?"
+
+#: src/authenticator.vala:47
+msgid "You will need to log in again to use the app"
+msgstr "Če želite uporabljati program, se boste morali znova prijaviti"
+
+#. Translators: cancel of deleting playlist
+#: src/authenticator.vala:50
+#: src/widgets/preferences/cache-deletion-preferences.vala:95
+#: src/widgets/preferences/preferences-dialog.vala:139
+#: src/widgets/views/playlist.vala:89
+msgid "Cancel"
+msgstr "Prekliči"
+
+#: src/authenticator.vala:97
+#: src/widgets/preferences/cache-deletion-preferences.vala:129
+msgid "Moving…"
+msgstr "Premikanje …"
+
+#. Translators: Playlist with liked tracks
+#: src/client/api/objects/playlist/playlist.vala:49
+#: src/client/api/objects/playlist/playlist.vala:99 src/pager.vala:276
+msgid "Liked"
+msgstr "Všeč"
+
+#. Translators: Playlist that updates every day
+#: src/client/api/objects/playlist/playlist.vala:53
+msgid "Daily"
+msgstr "Dnevno"
+
+#. Translators: Unknown playlist
+#: src/client/api/objects/playlist/playlist.vala:57
+msgid "Unknown"
+msgstr "Neznano"
+
+#: src/client/cachier/storager.vala:124
+#, c-format
+msgid "Database was initialized, loc - %s"
+msgstr "Zbirka podatkov je bila inicializirana, loc - %s"
+
+#: src/client/cachier/storager.vala:801
+#, c-format
+msgid "Can't save object %s"
+msgstr "Predmeta %s ni mogoče shraniti"
+
+#: src/client/cachier/storager.vala:818
+msgid "Byte"
+msgid_plural "Bytes"
+msgstr[0] "bajtov"
+msgstr[1] "bajt"
+msgstr[2] "bajta"
+msgstr[3] "bajte"
+
+#: src/client/cachier/storager.vala:821
+msgid "Kilobyte"
+msgid_plural "Kilobytes"
+msgstr[0] "kilobajte"
+msgstr[1] "kilobajt"
+msgstr[2] "kilobajta"
+msgstr[3] "kilobajte"
+
+#: src/client/cachier/storager.vala:824
+msgid "Megabyte"
+msgid_plural "Megabytes"
+msgstr[0] "megabajtov"
+msgstr[1] "megabajt"
+msgstr[2] "megabajta"
+msgstr[3] "megabajte"
+
+#: src/client/cachier/storager.vala:827
+msgid "Gigabyte"
+msgid_plural "Gigabytes"
+msgstr[0] "gigabajtov"
+msgstr[1] "gigabajt"
+msgstr[2] "gigabajta"
+msgstr[3] "gigabajte"
+
+#: src/client/cachier/storager.vala:830
+msgid "Terabyte"
+msgid_plural "Terabytes"
+msgstr[0] "terabajtov"
+msgstr[1] "terabajt"
+msgstr[2] "terabajta"
+msgstr[3] "terabajte"
+
+#: src/client/cachier/storager.vala:859
+#, c-format
+msgid "Error while getting cache directory size. Message %s"
+msgstr "Napaka pri pridobivanju velikosti mape predpomnilnika. Sporočilo %s"
+
+#: src/client/cachier/storager.vala:894
+#, c-format
+msgid "Error while getting permanent directory size. Message %s"
+msgstr "Napaka pri pridobivanju velikosti trajne mape. Sporočilo %s"
+
+#: src/client/jsoner.vala:358 src/client/jsoner.vala:419
+#: src/client/jsoner.vala:526 src/client/jsoner.vala:550
+#, c-format
+msgid "Wrong type: expected %s, got %s"
+msgstr "Napačna vrsta: pričakovano %s, prejeto %s"
+
+#: src/client/player/mods/abstract-mode.vala:91
+msgid "Problems with queue"
+msgstr "Težave s čakalno vrsto"
+
+#. Translators: name of new created playlist
+#: src/client/talkers/yam-talker.vala:627
+msgid "New Playlist"
+msgstr "Nov seznam predvajanja"
+
+#: src/pager.vala:162
+#, c-format
+msgid "Can't set title \"%s\" to page"
+msgstr "Strani ni mogoče nastaviti naslova »%s«"
+
+#: src/pager.vala:173
+#, c-format
+msgid "Can't set icon with name \"%s\" to page"
+msgstr "Strani ni mogoče nastaviti ikone z imenom »%s«"
+
+#: src/pager.vala:199
+msgid "Reached max page count"
+msgstr "Doseženo največje število strani"
+
+#: src/pager.vala:205
+#, c-format
+msgid "Page '%s' already added"
+msgstr "Stran »%s« je že dodana"
+
+#: src/pager.vala:267
+msgid "Main"
+msgstr "Glavno"
+
+#: src/pager.vala:286
+msgid "Playlists"
+msgstr "Seznami predvajanja"
+
+#: src/pager.vala:311
+#, c-format
+msgid "Can't read pages file. Message: %s"
+msgstr "Datoteke strani ni mogoče prebrati. Sporočilo: %s"
+
+#: src/pager.vala:331
+#, c-format
+msgid "Can't create pages file. Message: %s"
+msgstr "Ni mogoče ustvariti datoteke strani. Sporočilo: %s"
+
+#: src/utils.vala:69
+msgid "Not implemented yet"
+msgstr "Še ni izvedeno"
+
+#: src/utils.vala:76
+msgid "Need authorization"
+msgstr "Potrebna je overitev"
+
+#: src/utils.vala:80
+msgid "Need Bookmate subscription"
+msgstr "Potrebujete naročnino na Bookmate"
+
+#: src/utils.vala:176 src/utils.vala:192
+msgid "Link copied to clipboard"
+msgstr "Povezava je kopirana v odložišče"
+
+#: src/utils.vala:241
+#, c-format
+msgid "Duration: %s h. %s min."
+msgstr "Trajanje: %s u. %s min."
+
+#: src/utils.vala:243
+#, c-format
+msgid "Duration: %s min."
+msgstr "Trajanje: %s min."
+
+#: src/utils.vala:357
+msgid "today"
+msgstr "danes"
+
+#: src/utils.vala:359
+msgid "yesterday"
+msgstr "včeraj"
+
+#: src/widgets/buttons/just/dislike-button.vala:37
+msgid "Remove dislike"
+msgstr "Odstrani neugajanje"
+
+#: src/widgets/buttons/just/dislike-button.vala:40
+msgid "Set dislike"
+msgstr "Nastavi neugajanje"
+
+#: src/widgets/buttons/just/like-button.vala:41
+msgid "Remove like"
+msgstr "Odstrani všeček"
+
+#: src/widgets/buttons/just/like-button.vala:48
+msgid "Set like"
+msgstr "Nastavi všeček"
+
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:37
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:40
+msgid "Pause"
+msgstr "Premor"
+
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:44
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:47
+msgid "Play"
+msgstr "Predvajaj"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:48
+#, c-format
+msgid "Playlist '%s'"
+msgstr "Seznam predvajanja »%s«"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:53
+#: src/widgets/buttons/menu/playlist-options-button.vala:66
+msgid "My Vibe by playlist"
+msgstr "My Vibe po seznamu predvajanja"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:54
+#: src/widgets/buttons/menu/playlist-options-button.vala:76
+#: src/widgets/buttons/menu/track-options-button.vala:80
+#: src/widgets/buttons/menu/track-options-button.vala:105
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:35
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:46
+#: src/widgets/buttons/menu/track-queue-options-button.vala:69
+#: src/widgets/buttons/menu/track-queue-options-button.vala:99
+msgid "Add to queue"
+msgstr "Dodaj v vrsto predvajanja"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:55
+#: src/widgets/buttons/menu/playlist-options-button.vala:77
+#: src/widgets/buttons/menu/track-options-button.vala:83
+#: src/widgets/buttons/menu/track-options-button.vala:108
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:39
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:50
+#: src/widgets/buttons/menu/track-queue-options-button.vala:73
+#: src/widgets/buttons/menu/track-queue-options-button.vala:103
+msgid "Share"
+msgstr "Deli"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:26
+msgid "Primary menu"
+msgstr "Osnovni meni"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:32
+msgid "Parse URL from clipboard"
+msgstr "Razčleni URL iz odložišča"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:33
+msgid "Preferences"
+msgstr "Nastavitve"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:34
+msgid "Keyboard Shortcuts"
+msgstr "Tipkovne bližnjice"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:35
+msgid "About Cassette"
+msgstr "O programu Kaseta"
+
+#: src/widgets/buttons/menu/track-options-button.vala:77
+#: src/widgets/buttons/menu/track-options-button.vala:94
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:32
+#: src/widgets/buttons/menu/track-queue-options-button.vala:66
+#: src/widgets/buttons/menu/track-queue-options-button.vala:87
+msgid "My Vibe by track"
+msgstr "My Vibe po posnetku"
+
+#: src/widgets/buttons/menu/track-options-button.vala:78
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:33
+#: src/widgets/buttons/menu/track-queue-options-button.vala:67
+msgid "Show info"
+msgstr "Pokaži podatke"
+
+#: src/widgets/buttons/menu/track-options-button.vala:79
+#: src/widgets/buttons/menu/track-options-button.vala:104
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:34
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:45
+#: src/widgets/buttons/menu/track-queue-options-button.vala:68
+#: src/widgets/buttons/menu/track-queue-options-button.vala:98
+msgid "Play next"
+msgstr "Predvajaj naslednje"
+
+#: src/widgets/buttons/menu/track-options-button.vala:81
+#: src/widgets/buttons/menu/track-options-button.vala:106
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:36
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:47
+#: src/widgets/buttons/menu/track-queue-options-button.vala:70
+#: src/widgets/buttons/menu/track-queue-options-button.vala:100
+msgid "Add to playlist"
+msgstr "Dodaj na seznam predvajanja"
+
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:37
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:48
+msgid "Remove from playlist"
+msgstr "Odstrani s seznama predvajanja"
+
+#: src/widgets/buttons/menu/track-queue-options-button.vala:71
+#: src/widgets/buttons/menu/track-queue-options-button.vala:101
+msgid "Remove from queue"
+msgstr "Odstrani iz čakalne vrste"
+
+#: src/widgets/buttons/menu/volume-button.vala:121
+msgid "Volume control"
+msgstr "Nadzor glasnosti"
+
+#: src/widgets/buttons/menu/volume-button.vala:261
+msgid "Unmute"
+msgstr "Vklopi zvok"
+
+#: src/widgets/buttons/menu/volume-button.vala:261
+msgid "Mute"
+msgstr "Nemo"
+
+#: src/widgets/cache-indicator/job-info-badge.vala:44
+#: src/widgets/save-stack.vala:52 src/widgets/views/abstract-cachiable.vala:172
+msgid "Album"
+msgstr "Album"
+
+#. Translators: n track from n tracks saved
+#: src/widgets/cache-indicator/job-info-badge.vala:77
+#, c-format
+msgid "%d / %d saved%s"
+msgid_plural "%d / %d saved%s"
+msgstr[0] "%d / %d shranjenih%s"
+msgstr[1] "%d / %d shranjen%s"
+msgstr[2] "%d / %d shranjena%s"
+msgstr[3] "%d / %d shranjeni%s"
+
+#: src/widgets/cache-indicator/job-info-badge.vala:84
+#, c-format
+msgid "%d track saving now"
+msgid_plural "%d tracks saving now"
+msgstr[0] "Shranjevanje %d posnetkov je v teku"
+msgstr[1] "Shranjevanje %d posnetka je v teku"
+msgstr[2] "Shranjevanje %d posnetkov je v teku"
+msgstr[3] "Shranjevanje %d posnetkov je v teku"
+
+#: src/widgets/info-marks.vala:41
+#, c-format
+msgid "Track was replaced. Original version: %s, %s"
+msgstr "Posnetek je bil zamenjan. Izvirna različica: %s, %s"
+
+#: src/widgets/playlist-micro.vala:157 src/widgets/views/playlist.vala:241
+#, c-format
+msgid "Owner: %s"
+msgstr "Lastnik: %s"
+
+#: src/widgets/playlist-row.vala:85
+#, c-format
+msgid "Track count: %s"
+msgstr "Število posnetkov: %s"
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:88
+#: src/widgets/preferences/preferences-dialog.vala:134
+msgid "Delete cache files?"
+msgstr "Želite izbrisati predpomnilniške datoteke?"
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:89
+msgid "Move saved files?"
+msgstr "Ali želite premakniti shranjene datoteke?"
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:90
+#: src/widgets/preferences/preferences-dialog.vala:135
+msgid ""
+"All cache will be deleted. This doesn't affect on saved playlists or albums"
+msgstr ""
+"Ves predpomnilnik bo izbrisan. To ne vpliva na shranjene sezname predvajanja "
+"ali albume"
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:91
+msgid ""
+"All saved playlists and albums will be moved to cache files. This could take "
+"a while."
+msgstr ""
+"Vsi shranjeni seznami predvajanja in albumi bodo premaknjeni v "
+"predpomnilniške datoteke. To lahko traja nekaj časa."
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:129
+msgid "Deleting…"
+msgstr "Poteka brisanje …"
+
+#: src/widgets/save-stack.vala:54
+msgid "Image"
+msgstr "Slika"
+
+#: src/widgets/save-stack.vala:58
+msgid "Track"
+msgstr "Steza"
+
+#: src/widgets/save-stack.vala:75
+#, c-format
+msgid "%s saving…"
+msgstr "Shranjevanje %s ..."
+
+#: src/widgets/save-stack.vala:76
+#, c-format
+msgid "%s cached"
+msgstr "%s predpomnjeno"
+
+#: src/widgets/save-stack.vala:77
+#, c-format
+msgid "%s saved"
+msgstr "%s shranjeno"
+
+#: src/widgets/sidebar/childs/player-queue.vala:66
+#, c-format
+msgid "Playlist \"%s\""
+msgstr "Seznam predvajanja »%s«"
+
+#: src/widgets/sidebar/childs/player-queue.vala:70
+#, c-format
+msgid "Album \"%s\""
+msgstr "Album »%s«"
+
+#: src/widgets/sidebar/childs/player-queue.vala:74
+#, c-format
+msgid "By search results \"%s\""
+msgstr "Po rezultatih iskanja »%s«"
+
+#: src/widgets/sidebar/childs/player-queue.vala:78
+msgid "Track list"
+msgstr "Seznam posnetkov"
+
+#: src/widgets/sidebar/childs/track-info.vala:68
+msgid "Your music track"
+msgstr "Vaš glasbeni posnetek"
+
+#: src/widgets/sidebar/childs/track-info.vala:84
+msgid "Music track"
+msgstr "Glasbeni posnetek"
+
+#: src/widgets/sidebar/childs/wave-settings.vala:39
+msgid "Wave settings"
+msgstr "Nastavitve signalne oblike"
+
+#: src/widgets/track-rows/base.vala:79 src/widgets/track-rows/default.vala:100
+msgid "Track is not available"
+msgstr "Posnetek ni na voljo"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:78
+#, c-format
+msgid "%s '%s' saved successfully"
+msgstr "%s »%s« uspešno shranjen(a)"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:89
+#, c-format
+msgid "%s '%s' saving was stopped, due to network error"
+msgstr "Shranjevanje (%s) »%s« je bilo preklicano zaradi napake v omrežju"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:99
+#, c-format
+msgid "%s '%s' saving was aborted"
+msgstr "Shranjevanje (%s) »%s« je bilo prekinjeno"
+
+#. Translators: %s - content type (e.g. "Playlist")
+#: src/widgets/views/abstract-cachiable.vala:191
+#, c-format
+msgid "%s saving has started"
+msgstr "Začelo se je shranjevanje %s"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:229
+#, c-format
+msgid "%s '%s' was moved from data to cache"
+msgstr "%s »%s« je bil(a) premaknjen(a) iz podatkov v predpomnilnik"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:239
+#, c-format
+msgid "%s removing has started. Please do not close the app"
+msgstr "%s se odstranjuje. Ne zaprite programa"
+
+#: src/widgets/views/cant-show.vala:37
+#, c-format
+msgid "Error %d"
+msgstr "Napaka %d"
+
+#: src/widgets/views/cant-show.vala:41
+msgid "Can't load page"
+msgstr "Strani ni mogoče naložiti"
+
+#: src/widgets/views/cant-show.vala:44
+msgid "Can't find desired content"
+msgstr "Želene vsebine ni mogoče najti"
+
+#: src/widgets/views/playlist.vala:84
+msgid "Delete playlist?"
+msgstr "Želite izbrisati seznam predvajanja?"
+
+#: src/widgets/views/playlist.vala:85
+#, c-format
+msgid "Playlist '%s' will be permanently deleted."
+msgstr "Seznam predvajanja »%s« bo trajno izbrisan."
+
+#: src/widgets/views/playlist.vala:104
+#, c-format
+msgid "Playlist '%s' was deleted"
+msgstr "Seznam predvajanja »%s« je bil izbrisan"
+
+#. Translators: %s is female person
+#: src/widgets/views/playlist.vala:247
+#, c-format
+msgctxt "female person"
+msgid "%s updated playlist %s"
+msgstr "%s je posodobila seznam predvajanja %s"
+
+#. Translators: %s is male person
+#: src/widgets/views/playlist.vala:251
+#, c-format
+msgctxt "male person"
+msgid "%s updated playlist %s"
+msgstr "%s je posodobil seznam predvajanja %s"
+
+#: src/widgets/views/playlist.vala:281
+#, c-format
+msgid "Can't change visibility of '%s'"
+msgstr "Vidnosti »%s« ni mogoče spremeniti"
+
+#: src/widgets/views/playlist.vala:287
+#, c-format
+msgid "Playlist '%s' is public now"
+msgstr "Seznam predvajanja »%s« je zdaj javen"
+
+#: src/widgets/views/playlist.vala:290
+#, c-format
+msgid "Playlist '%s' is private now"
+msgstr "Seznam predvajanja »%s« je zdaj zaseben"
+
+#: src/window.vala:235
+#, c-format
+msgid "Window info message: %s"
+msgstr "Sporočilo informacijskega okna: %s"
diff --git a/po/sv.po b/po/sv.po
new file mode 100644
index 0000000..c35bb71
--- /dev/null
+++ b/po/sv.po
@@ -0,0 +1,1366 @@
+# Swedish translation for cassette.
+# Copyright © 2024 cassette's COPYRIGHT HOLDER
+# This file is distributed under the same license as the cassette package.
+# Anders Jonsson , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: cassette main\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/Rirusha/Cassette/-/issues\n"
+"POT-Creation-Date: 2024-09-30 18:34+0000\n"
+"PO-Revision-Date: 2024-10-05 11:49+0200\n"
+"Last-Translator: Anders Jonsson \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: Poedit 3.5\n"
+
+#. Translators: app name should be translated
+#: data/space.rirusha.Cassette.desktop.in.in:4
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:3 src/main.vala:23
+msgid "Cassette"
+msgstr "Kassett"
+
+#: data/space.rirusha.Cassette.desktop.in.in:5
+msgid "Unofficial Yandex Music client for GNOME"
+msgstr "Inofficiell Yandex Music-klient för GNOME"
+
+#. Translators: keep number of ';'
+#: data/space.rirusha.Cassette.desktop.in.in:7
+#: data/space.rirusha.Cassette-Devel.desktop.in.in:7
+msgid "yandex;yandex music;yam;music;"
+msgstr "yandex;yandex music;yam;musik;"
+
+#. Translators: app name should be translated
+#: data/space.rirusha.Cassette-Devel.desktop.in.in:4
+msgid "Cassette (Devel)"
+msgstr "Kassett (utveckling)"
+
+#: data/space.rirusha.Cassette-Devel.desktop.in.in:5
+msgid "Unofficial Yandex Music client for GNOME (Devel build)"
+msgstr "Inofficiell Yandex Music-klient för GNOME (utvecklingsbygge)"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:7
+msgid "Unofficial Yandex Music client"
+msgstr "Inofficiell Yandex Music-klient"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:9
+msgid ""
+"GTK/Adwaita application that allows to use Yandex Music service on Linux "
+"operating systems."
+msgstr ""
+"GTK/Adwaita-program som låter dig använda Yandex Music-tjänsten på Linux-"
+"operativsystem."
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:13
+msgid "Features:"
+msgstr "Funktioner:"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:17
+msgid "Allows you to save playlists and albums for offline listening"
+msgstr "Låter dig spara spellistor och album för frånkopplad lyssning"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:20
+msgid "Has a dynamic \"karaoke mode\" right in the track information panel"
+msgstr "Har ett dynamiskt ”karaokeläge” direkt i spårinformationspanelen"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:23
+msgid ""
+"Allows you to more precisely customize the display and playback of special "
+"content, such as explicit or suitable for children."
+msgstr ""
+"Låter dig mer precist anpassa visningen och uppspelningen av speciellt "
+"innehåll, exempelvis om det är känsligt eller lämpligt för barn."
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:27
+msgid "Displays tracks that are currently unavailable in the service"
+msgstr "Visar spår som för närvarande är otillgängliga på tjänsten"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:30
+msgid "Shows which tracks have been replaced and by what"
+msgstr "Visar vilka spår som ersatts och av vad"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:34
+msgid ""
+"Cassette is an unofficial client and is not associated with or endorsed by "
+"Yandex."
+msgstr ""
+"Kassett är en inofficiell klient och är inte associerad med eller främjad av "
+"Yandex."
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:63
+msgid "Liked view"
+msgstr "Gillatvy"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:67
+msgid "Playlists view"
+msgstr "Spellistevy"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:71
+msgid "Sync lyrics"
+msgstr "Synkronisera låttexter"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:75
+msgid "Playback queue"
+msgstr "Uppspelningskö"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:79
+msgid "Waves view"
+msgstr "Vågvy"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:83
+msgid "Main preferences"
+msgstr "Huvudinställningar"
+
+#: data/ui/account-info-dialog.blp:5
+msgid "Account information"
+msgstr "Kontoinformation"
+
+#: data/ui/account-info-dialog.blp:52
+msgid "Open in browser"
+msgstr "Öppna i webbläsare"
+
+#: data/ui/account-info-dialog.blp:61
+msgid "Plus"
+msgstr "Plus"
+
+#: data/ui/account-info-dialog.blp:70 data/ui/no-plus-dialog.blp:51
+#: src/authenticator.vala:51
+msgid "Log out"
+msgstr "Logga ut"
+
+#. Translators: usage mode of application. Online mode or Local mode available
+#: data/ui/begin-view.ui:11
+msgid "Usage mode"
+msgstr "Användningsläge"
+
+#. Translators: usage mode of application. Online mode or Local mode available
+#: data/ui/begin-view.ui:40
+msgctxt "auth window"
+msgid "Choose usage mode"
+msgstr "Välj användningsläge"
+
+#: data/ui/begin-view.ui:50
+msgctxt "auth window"
+msgid ""
+"If you select the \"Online mode\", you can access local music by enabling "
+"the display of the corresponding pages in the pages preferences, as well as "
+"log in later when selecting \"Local mode\""
+msgstr ""
+"Om du väljer ”Anslutet läge” kan du komma åt lokal musik genom att aktivera "
+"visningen av motsvarande sidor i sidinställningarna, såväl som att logga in "
+"senare när du väljer ”Lokalt läge”"
+
+#. Translators: usage mode of application. Online mode or Local mode available
+#: data/ui/begin-view.ui:75
+msgctxt "auth window"
+msgid "Online mode"
+msgstr "Anslutet läge"
+
+#. Translators: usage mode of application. Online mode or Local mode available
+#: data/ui/begin-view.ui:85
+msgctxt "auth window"
+msgid "Local mode"
+msgstr "Lokalt läge"
+
+#. Translators: "Close" window button label
+#: data/ui/begin-view.ui:97
+msgctxt "auth window"
+msgid "Close"
+msgstr "Stäng"
+
+#: data/ui/begin-view.ui:112
+msgid "Authorization"
+msgstr "Auktorisering"
+
+#. Translators: size of cache dirs
+#: data/ui/cache-deletion-preferences.ui:21
+msgid "Dirs size:"
+msgstr "Katalogstorlek:"
+
+#. Translators: tempprary cache folder
+#: data/ui/cache-deletion-preferences.ui:35
+msgid "Cache"
+msgstr "Cache"
+
+#: data/ui/cache-deletion-preferences.ui:88
+msgid "Clear"
+msgstr "Rensa"
+
+#. Translators: temparence cache folder
+#: data/ui/cache-deletion-preferences.ui:109
+msgid "Data"
+msgstr "Data"
+
+#: data/ui/cache-deletion-preferences.ui:159
+msgid "Move to cache"
+msgstr "Flytta till cache"
+
+#: data/ui/cache-deletion-preferences.ui:163
+msgid "Move"
+msgstr "Flytta"
+
+#: data/ui/cache-indicator.blp:35
+msgid "Show all cache jobs"
+msgstr "Visa alla cachejobb"
+
+#: data/ui/custom-page-preferences.ui:17
+msgid "Title: "
+msgstr "Titel: "
+
+#: data/ui/custom-page-preferences.ui:38
+msgid "Icon: "
+msgstr "Ikon: "
+
+#: data/ui/custom-page-preferences.ui:75
+msgid "Save page"
+msgstr "Spara sida"
+
+#: data/ui/custom-page-preferences.ui:92
+msgid "Remove page"
+msgstr "Ta bort sida"
+
+#. Translators: title of preference group
+#: data/ui/custom-pages-preferences.ui:7
+msgctxt "preference window"
+msgid "Custom pages"
+msgstr "Anpassade sidor"
+
+#. Translators: description of preference group
+#: data/ui/custom-pages-preferences.ui:9
+msgctxt "preference window"
+msgid "Here you can control custom pages."
+msgstr "Här kan du styra anpassade sidor."
+
+#: data/ui/disliked-tracks-view.ui:23
+#: src/widgets/buttons/menu/primary-menu-button.vala:31
+msgid "Disliked tracks"
+msgstr "Ogillade spår"
+
+#: data/ui/header-bar.blp:12
+msgid "Go back"
+msgstr "Gå bakåt"
+
+#: data/ui/header-bar.blp:20
+msgid "Refresh"
+msgstr "Uppdatera"
+
+#: data/ui/header-bar.blp:28
+msgid "Yandex Music search"
+msgstr "Yandex Music-sökning"
+
+#: data/ui/help-overlay.blp:11
+msgid "Main Actions"
+msgstr "Huvudåtgärder"
+
+#: data/ui/help-overlay.blp:14
+msgid "Show Shortcuts"
+msgstr "Visa kortkommandon"
+
+#: data/ui/help-overlay.blp:19
+msgid "Quit"
+msgstr "Avsluta"
+
+#: data/ui/help-overlay.blp:25
+msgid "Playback Control"
+msgstr "Uppspelningskontroll"
+
+#: data/ui/help-overlay.blp:28
+msgid "Play/Pause playback"
+msgstr "Spela upp/pausa uppspelning"
+
+#: data/ui/help-overlay.blp:33 data/ui/player-bar.blp:87
+msgid "Play previous track"
+msgstr "Spela upp föregående spår"
+
+#: data/ui/help-overlay.blp:38 data/ui/player-bar.blp:119
+msgid "Play next track"
+msgstr "Spela upp nästa spår"
+
+#: data/ui/help-overlay.blp:43
+msgid "Mute app"
+msgstr "Tysta program"
+
+#: data/ui/help-overlay.blp:49
+msgid "Queue control"
+msgstr "Kökontroll"
+
+#: data/ui/help-overlay.blp:52 data/ui/player-bar.blp:141
+msgid "Change shuffle mode"
+msgstr "Ändra blandningsläge"
+
+#: data/ui/help-overlay.blp:57 data/ui/player-bar.blp:65
+msgid "Change repeat mode"
+msgstr "Ändra upprepningsläge"
+
+#: data/ui/help-overlay.blp:63
+msgid "Other"
+msgstr "Annat"
+
+#: data/ui/help-overlay.blp:66
+msgid "Share current track"
+msgstr "Dela aktuellt spår"
+
+#: data/ui/help-overlay.blp:71
+msgid "Parse url from clipboard"
+msgstr "Klistra in URL från urklipp"
+
+#: data/ui/info-marks.ui:23
+msgid "Explicit content"
+msgstr "Känsligt innehåll"
+
+#: data/ui/info-marks.ui:32
+msgid "Child content"
+msgstr "Innehåll för barn"
+
+#: data/ui/main-view.blp:6
+msgid "Page under construction"
+msgstr "Sidan under uppbyggnad"
+
+#: data/ui/main-view.blp:20
+msgid "All stations"
+msgstr "Alla stationer"
+
+#: data/ui/no-plus-dialog.blp:20
+msgid "No Plus Subscription"
+msgstr "Ingen Plus-prenumeration"
+
+#: data/ui/no-plus-dialog.blp:21
+msgid ""
+"To avoid problems with Yandex, the online functions of the application are "
+"not available without a Yandex.Plus subscription. Thanks for understanding."
+msgstr ""
+"För att undvika problem med Yandex så är programmets nätfunktioner inte "
+"tillgängliga utan en Yandex.Plus-prenumeration. Tack för er förståelse."
+
+#: data/ui/no-plus-dialog.blp:41
+msgid "Get Plus"
+msgstr "Skaffa Plus"
+
+#: data/ui/player-bar.blp:22
+msgid "Show track info"
+msgstr "Visa spårinfo"
+
+#: data/ui/player-bar.blp:206
+msgid "Show wave settings"
+msgstr "Visa våginställningar"
+
+#: data/ui/player-bar.blp:216
+msgid "Show playback queue"
+msgstr "Visa uppspelningskö"
+
+#: data/ui/player-bar.blp:229
+msgid "Change volume"
+msgstr "Ändra volym"
+
+#: data/ui/player-queue.blp:5 src/application.vala:271
+msgid "Playing now"
+msgstr "Spelar nu"
+
+#: data/ui/playlist-choose-dialog.ui:8
+msgid "Choose playlist to add"
+msgstr "Välj spellista att lägga till"
+
+#: data/ui/playlist-create-button.ui:36
+msgid "Create playlist"
+msgstr "Skapa spellista"
+
+#: data/ui/playlist-micro.ui:39 data/ui/playlist-view.ui:56
+#: src/widgets/cache-indicator/job-info-badge.vala:42
+#: src/widgets/save-stack.vala:56 src/widgets/views/abstract-cachiable.vala:167
+msgid "Playlist"
+msgstr "Spellista"
+
+#: data/ui/playlist-row.ui:40
+msgid "Empty"
+msgstr "Tom"
+
+#: data/ui/playlists-view.ui:23
+msgid "Your playlists"
+msgstr "Dina spellistor"
+
+#: data/ui/playlists-view.ui:39
+msgid "Also you liked these playlists"
+msgstr "Du gillade också dessa spellistor"
+
+#: data/ui/playlist-view.ui:187
+msgid "Change playlist visibility"
+msgstr "Ändra synlighet för spellista"
+
+#: data/ui/playlist-view.ui:211
+msgid "Add page to header"
+msgstr "Lägg till sida till rubrik"
+
+#. Translators: tooltip of "save" button
+#: data/ui/playlist-view.ui:233 data/ui/playlist-view.ui:237
+#: src/widgets/buttons/menu/track-options-button.vala:82
+#: src/widgets/buttons/menu/track-options-button.vala:107
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:38
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:49
+#: src/widgets/buttons/menu/track-queue-options-button.vala:72
+#: src/widgets/buttons/menu/track-queue-options-button.vala:102
+msgid "Save"
+msgstr "Spara"
+
+#. Translators: tooltip of "delete" button
+#: data/ui/playlist-view.ui:256 data/ui/playlist-view.ui:260
+#: src/widgets/preferences/cache-deletion-preferences.vala:96
+#: src/widgets/preferences/preferences-dialog.vala:140
+#: src/widgets/views/playlist.vala:90
+msgid "Delete"
+msgstr "Ta bort"
+
+#. Translators: tooltip of "abort" button
+#: data/ui/playlist-view.ui:276
+msgid "Abort"
+msgstr "Avbryt"
+
+#: data/ui/playlist-view.ui:280
+msgid "Stop"
+msgstr "Stoppa"
+
+#: data/ui/preferences-dialog.ui:8
+msgctxt "preference dialog"
+msgid "Main"
+msgstr "Huvudsida"
+
+#: data/ui/preferences-dialog.ui:12
+msgctxt "preference dialog"
+msgid "General"
+msgstr "Allmänt"
+
+#: data/ui/preferences-dialog.ui:15
+msgctxt "preference dialog"
+msgid "Enable high quality audio"
+msgstr "Aktivera högkvalitetsljud"
+
+#: data/ui/preferences-dialog.ui:16
+msgctxt "preference dialog"
+msgid ""
+"Attention! If the track was downloaded in low quality, and after the "
+"download is enabled in high quality, the audio will not be reloaded"
+msgstr ""
+"Observera! Om spåret hämtades i låg kvalitet, och hög kvalitet aktiveras "
+"efter hämtningen, så kommer ljudet inte läsas in på nytt"
+
+#: data/ui/preferences-dialog.ui:21
+msgctxt "preference dialog"
+msgid "Add track on top of playlist"
+msgstr "Lägg till spår högst upp i spellista"
+
+#: data/ui/preferences-dialog.ui:22
+msgctxt "preference dialog"
+msgid "Will the track be added to the playlist as the first or as the last"
+msgstr "Om spåret kommer läggas till först eller sist i spellistan"
+
+#: data/ui/preferences-dialog.ui:27
+msgctxt "preference dialog"
+msgid "Show 'Playing now' notification"
+msgstr "Visa ”Spelar nu”-avisering"
+
+#: data/ui/preferences-dialog.ui:28
+msgctxt "preference dialog"
+msgid "Show a notification when switching a track"
+msgstr "Visa en avisering vid byte av spår"
+
+#: data/ui/preferences-dialog.ui:35
+msgctxt "preference dialog"
+msgid "Show additional marks"
+msgstr "Visa ytterligare märken"
+
+#: data/ui/preferences-dialog.ui:36
+msgctxt "preference dialog"
+msgid "Additional marks display additional information about the track"
+msgstr "Ytterligare märken visar ytterligare information om spåret"
+
+#: data/ui/preferences-dialog.ui:39
+msgctxt "preference dialog"
+msgid "Show save mark"
+msgstr "Visa sparningsmärke"
+
+#: data/ui/preferences-dialog.ui:40
+msgctxt "preference dialog"
+msgid "Show a label with information about the caching status of the track"
+msgstr "Visa en etikett med information om spårets cachestatus"
+
+#: data/ui/preferences-dialog.ui:45
+msgctxt "preference dialog"
+msgid "Show cache mark"
+msgstr "Visa cachemärke"
+
+#: data/ui/preferences-dialog.ui:46
+msgctxt "preference dialog"
+msgid "Show a mark about saving a track to the cache"
+msgstr "Visa ett märke om att spara ett spår till cachen"
+
+#: data/ui/preferences-dialog.ui:51
+msgctxt "preference dialog"
+msgid "Show replaced mark"
+msgstr "Visa ersattmärke"
+
+#: data/ui/preferences-dialog.ui:52
+msgctxt "preference dialog"
+msgid "Show a mark that shows that the track has been replaced"
+msgstr "Visa ett märke som visar att spåret har blivit ersatt"
+
+#: data/ui/preferences-dialog.ui:59
+msgctxt "preference dialog"
+msgid "Tracks visibility"
+msgstr "Synlighet för spår"
+
+#: data/ui/preferences-dialog.ui:60
+msgctxt "preference dialog"
+msgid ""
+"Show special tracks in track lists. Filter doesn't work when searching in "
+"track list"
+msgstr ""
+"Visa speciella spår i spårlistor. Filter fungerar inte vid sökning i "
+"spårlistan"
+
+#: data/ui/preferences-dialog.ui:63
+msgctxt "preference dialog"
+msgid "Show unavailable content"
+msgstr "Visa otillgängligt innehåll"
+
+#: data/ui/preferences-dialog.ui:64
+msgctxt "preference dialog"
+msgid ""
+"Show tracks that are not available in the service. You can't listen to them"
+msgstr ""
+"Visa spår som inte är tillgängliga i tjänsten. Du kan inte lyssna på dem"
+
+#: data/ui/preferences-dialog.ui:69
+msgctxt "preference dialog"
+msgid "Show content suitable for children"
+msgstr "Visa innehåll som är lämpligt för barn"
+
+#: data/ui/preferences-dialog.ui:70
+msgctxt "preference dialog"
+msgid "Show content that is specific to children"
+msgstr "Visa innehåll specifikt för barn"
+
+#: data/ui/preferences-dialog.ui:75
+msgctxt "preference dialog"
+msgid "Show explicit content"
+msgstr "Visa känsligt innehåll"
+
+#: data/ui/preferences-dialog.ui:76
+msgctxt "preference dialog"
+msgid "Show content that has age restrictions"
+msgstr "Visa innehåll som har åldersbegränsningar"
+
+#: data/ui/preferences-dialog.ui:83
+msgctxt "preference dialog"
+msgid "Other"
+msgstr "Övrigt"
+
+#: data/ui/preferences-dialog.ui:86
+msgctxt "preference dialog"
+msgid "Enable Debug-Mode"
+msgstr "Aktivera felsökningsläge"
+
+#: data/ui/preferences-dialog.ui:87
+msgctxt "preference dialog"
+msgid "Enable logging of additional information useful for error detection"
+msgstr ""
+"Aktivera loggning av ytterligare information som är användbar för felupptäckt"
+
+#: data/ui/preferences-dialog.ui:94
+msgctxt "preference dialog"
+msgid "Experimental"
+msgstr "Experimentellt"
+
+#: data/ui/preferences-dialog.ui:95
+msgctxt "preference dialog"
+msgid "Parameters that test anything and may be removed in future releases"
+msgstr "Parametrar som testar något och kan tas bort i framtida utgåvor"
+
+#: data/ui/preferences-dialog.ui:98
+msgctxt "preference dialog"
+msgid "Use only bottom sheet menus"
+msgstr "Använd endast bottenmenyer"
+
+#: data/ui/preferences-dialog.ui:99
+msgctxt "preference dialog"
+msgid "Test preference for bottom sheet menu"
+msgstr "Testinställning för bottenmeny"
+
+#: data/ui/preferences-dialog.ui:108
+msgctxt "preference dialog"
+msgid "Pages"
+msgstr "Sidor"
+
+#: data/ui/preferences-dialog.ui:112
+msgctxt "preference dialog"
+msgid "Static pages"
+msgstr "Statiska sidor"
+
+#: data/ui/preferences-dialog.ui:113
+msgctxt "preference dialog"
+msgid ""
+"Here you can show or hide static pages. They will always be displayed on the "
+"left side of the header."
+msgstr ""
+"Här kan du visa eller dölja statiska sidor. De kommer alltid visas på "
+"vänster sida om rubriken."
+
+#: data/ui/preferences-dialog.ui:116
+msgctxt "preference dialog"
+msgid "Show 'Main' page"
+msgstr "Visa ”Huvud”-sida"
+
+#: data/ui/preferences-dialog.ui:121
+msgctxt "preference dialog"
+msgid "Show 'Liked' page"
+msgstr "Visa ”Gillat”-sida"
+
+#: data/ui/preferences-dialog.ui:126
+msgctxt "preference dialog"
+msgid "Show 'Playlists' page"
+msgstr "Visa ”Spellistor”-sida"
+
+#: data/ui/preferences-dialog.ui:138
+msgctxt "preference dialog"
+msgid "Cache"
+msgstr "Cache"
+
+#: data/ui/preferences-dialog.ui:142
+msgctxt "preference dialog"
+msgid "Cache managing"
+msgstr "Cachehantering"
+
+#: data/ui/preferences-dialog.ui:143
+msgctxt "preference dialog"
+msgid ""
+"Here you can see application memory usage, delete all cache from cache "
+"folder and control downloading cache to disk"
+msgstr ""
+"Här kan du se programmets minnesanvändning, ta bort all cache från "
+"cachemappen och styra hämtning av cache till disk"
+
+#: data/ui/preferences-dialog.ui:146
+msgctxt "preference dialog"
+msgid "Cache content"
+msgstr "Cacha innehåll"
+
+#: data/ui/preferences-dialog.ui:147
+msgctxt "preference dialog"
+msgid ""
+"For better performance. Over time, it starts to take up a lot of space. So "
+"far, manual cleaning is required. If enabled, the application will cache all "
+"content to cache dir for better performance, otherwise, the application will "
+"load content only when caching objects (such as playlists or albums). "
+"Disabling the parameter does not delete already downloaded content"
+msgstr ""
+"För bättre prestanda. Med tiden börjar det ta upp mycket utrymme. Så här "
+"långt krävs manuell rensning. Om aktiverat kommer programmet cacha allt "
+"innehåll till en cachekatalog för bättre prestanda. Annars kommer programmet "
+"endast läsa in innehåll vid cachning av objekt (såsom spellistor eller "
+"album). Att inaktivera parametern tar inte bort redan hämtat innehåll"
+
+#: data/ui/save-stack.ui:25
+msgid "Content saving…"
+msgstr "Innehåll sparas…"
+
+#: data/ui/save-stack.ui:42
+msgid "Content cached"
+msgstr "Innehåll cachat"
+
+#: data/ui/save-stack.ui:56
+msgid "Content saved"
+msgstr "Innehåll sparat"
+
+#: data/ui/stations-view.blp:22
+msgid "Stations dashboard"
+msgstr "Stationspanel"
+
+#: data/ui/stations-view.blp:58
+msgid "Searching for station…"
+msgstr "Söker efter station…"
+
+#: data/ui/stations-view.blp:77
+msgid "By genre…"
+msgstr "Efter genre…"
+
+#: data/ui/stations-view.blp:99 data/ui/wave-settings.blp:60
+msgid "By mood…"
+msgstr "Efter stämning…"
+
+#: data/ui/stations-view.blp:121 data/ui/wave-settings.blp:25
+msgid "By activity…"
+msgstr "Efter aktivitet…"
+
+#: data/ui/stations-view.blp:143
+msgid "By epoch…"
+msgstr "Efter epok…"
+
+#: data/ui/stations-view.blp:165
+msgid "Other…"
+msgstr "Annat…"
+
+#: data/ui/stations-view.blp:209
+msgid "No stations with that name were found"
+msgstr "Inga stationer hittades med det namnet"
+
+#: data/ui/track-info.blp:103
+msgid "Track lyrics"
+msgstr "Texter för spår"
+
+#: data/ui/track-info.blp:117
+msgid "Authors"
+msgstr "Upphovsmän"
+
+#: data/ui/track-info.blp:135
+msgid "Source"
+msgstr "Källa"
+
+#: data/ui/track-info.blp:158
+msgid "Similar tracks"
+msgstr "Liknande spår"
+
+#. Translators: placeholder of "search" entry. Local track search (inside of track list)
+#: data/ui/track-list.ui:21
+msgid "Search track"
+msgstr "Sök spår"
+
+#. Translators: part of sort by
+#: data/ui/track-list.ui:30
+msgid "Sort by"
+msgstr "Sortera efter"
+
+#: data/ui/track-list.ui:77
+msgid "No tracks to display"
+msgstr "Inga spår att visa"
+
+#: data/ui/track-list.ui:88
+msgid "name"
+msgstr "namn"
+
+#: data/ui/track-list.ui:92
+msgid "artist"
+msgstr "artist"
+
+#: data/ui/track-list.ui:96
+msgid "album"
+msgstr "album"
+
+#: data/ui/track-list.ui:100
+msgid "duration"
+msgstr "längd"
+
+#: data/ui/track-placeholder.ui:9 src/widgets/pages/loading-page.vala:37
+msgid "Loading…"
+msgstr "Läser in…"
+
+#: data/ui/wave-settings.blp:42
+msgid "By diversity…"
+msgstr "Efter mångfald…"
+
+#: data/ui/wave-settings.blp:78
+msgid "By language…"
+msgstr "Efter språk…"
+
+#: data/ui/wave-settings.blp:93
+msgid "Can't get wave settings"
+msgstr "Kan inte hämta våginställningar"
+
+#: data/ui/window.blp:57 src/window.vala:252
+msgid "Reconnect"
+msgstr "Anslut igen"
+
+#: data/ui/window.blp:58 src/application.vala:151
+msgid "Connection problems"
+msgstr "Anslutningsproblem"
+
+#. Translators: NAME /n NAME
+#: src/about.vala:59
+msgid "translator-credits"
+msgstr "Anders Jonsson "
+
+#: src/about.vala:67
+msgid "Telegram channel"
+msgstr "Telegramkanal"
+
+#: src/about.vala:68
+msgid "Financial support (Tinkoff)"
+msgstr "Finansiellt stöd (Tinkoff)"
+
+#: src/about.vala:69
+msgid "Financial support (Boosty)"
+msgstr "Finansiellt stöd (Boosty)"
+
+#. Please keep alphabetical
+#: src/about.vala:72
+msgid "Sponsors"
+msgstr "Sponsorer"
+
+#: src/application.vala:62
+msgid "Print version information and exit"
+msgstr "Skriv ut versionsinformation och avsluta"
+
+#: src/application.vala:145
+msgid "Connection restored"
+msgstr "Anslutning återupprättad"
+
+#: src/application.vala:273
+msgid "Previous"
+msgstr "Föregående"
+
+#: src/application.vala:274
+msgid "Next"
+msgstr "Nästa"
+
+#: src/application.vala:357
+msgid "Current track can not be copied to the clipboard"
+msgstr "Aktuellt spår kan inte kopieras till urklipp"
+
+#: src/application.vala:371 src/application.vala:378 src/application.vala:435
+msgid "Can't parse clipboard content"
+msgstr "Kan inte tolka urklippsinnehåll"
+
+#: src/application.vala:389
+msgid "Users view not implemented yet"
+msgstr "Användarvy inte implementerad ännu"
+
+#: src/application.vala:405 src/application.vala:419
+msgid "Albums view not implemented yet"
+msgstr "Albumvy inte implementerad ännu"
+
+#: src/authenticator.vala:46
+msgid "Log out?"
+msgstr "Logga ut?"
+
+#: src/authenticator.vala:47
+msgid "You will need to log in again to use the app"
+msgstr "Du behöver logga in igen för att använda programmet"
+
+#. Translators: cancel of deleting playlist
+#: src/authenticator.vala:50
+#: src/widgets/preferences/cache-deletion-preferences.vala:95
+#: src/widgets/preferences/preferences-dialog.vala:139
+#: src/widgets/views/playlist.vala:89
+msgid "Cancel"
+msgstr "Avbryt"
+
+#: src/authenticator.vala:97
+#: src/widgets/preferences/cache-deletion-preferences.vala:129
+msgid "Moving…"
+msgstr "Flyttar…"
+
+#. Translators: Playlist with liked tracks
+#: src/client/api/objects/playlist/playlist.vala:49
+#: src/client/api/objects/playlist/playlist.vala:99 src/pager.vala:276
+msgid "Liked"
+msgstr "Gillade"
+
+#. Translators: Playlist that updates every day
+#: src/client/api/objects/playlist/playlist.vala:53
+msgid "Daily"
+msgstr "Dagens"
+
+#. Translators: Unknown playlist
+#: src/client/api/objects/playlist/playlist.vala:57
+msgid "Unknown"
+msgstr "Okänd"
+
+#: src/client/cachier/storager.vala:124
+#, c-format
+msgid "Database was initialized, loc - %s"
+msgstr "Databasen initierades, plats - %s"
+
+#: src/client/cachier/storager.vala:801
+#, c-format
+msgid "Can't save object %s"
+msgstr "Kan inte spara objektet %s"
+
+#: src/client/cachier/storager.vala:818
+msgid "Byte"
+msgid_plural "Bytes"
+msgstr[0] "Byte"
+msgstr[1] "Byte"
+
+#: src/client/cachier/storager.vala:821
+msgid "Kilobyte"
+msgid_plural "Kilobytes"
+msgstr[0] "Kilobyte"
+msgstr[1] "Kilobyte"
+
+#: src/client/cachier/storager.vala:824
+msgid "Megabyte"
+msgid_plural "Megabytes"
+msgstr[0] "Megabyte"
+msgstr[1] "Megabyte"
+
+#: src/client/cachier/storager.vala:827
+msgid "Gigabyte"
+msgid_plural "Gigabytes"
+msgstr[0] "Gigabyte"
+msgstr[1] "Gigabyte"
+
+#: src/client/cachier/storager.vala:830
+msgid "Terabyte"
+msgid_plural "Terabytes"
+msgstr[0] "Terabyte"
+msgstr[1] "Terabyte"
+
+#: src/client/cachier/storager.vala:859
+#, c-format
+msgid "Error while getting cache directory size. Message %s"
+msgstr "Fel vid hämtning av storlek på cachekatalog. Meddelande %s"
+
+#: src/client/cachier/storager.vala:894
+#, c-format
+msgid "Error while getting permanent directory size. Message %s"
+msgstr "Fel vid hämtning av storlek på permanent katalog. Meddelande %s"
+
+#: src/client/jsoner.vala:358 src/client/jsoner.vala:419
+#: src/client/jsoner.vala:526 src/client/jsoner.vala:550
+#, c-format
+msgid "Wrong type: expected %s, got %s"
+msgstr "Fel typ: %s förväntades, fick %s"
+
+#: src/client/player/mods/abstract-mode.vala:91
+msgid "Problems with queue"
+msgstr "Problem med kö"
+
+#. Translators: name of new created playlist
+#: src/client/talkers/yam-talker.vala:627
+msgid "New Playlist"
+msgstr "Ny spellista"
+
+#: src/pager.vala:162
+#, c-format
+msgid "Can't set title \"%s\" to page"
+msgstr "Kan inte ställa in titeln ”%s” till sida"
+
+#: src/pager.vala:173
+#, c-format
+msgid "Can't set icon with name \"%s\" to page"
+msgstr "Kan inte ställa in ikon med namnet ”%s” till sida"
+
+#: src/pager.vala:199
+msgid "Reached max page count"
+msgstr "Maximalt sidantal uppnåddes"
+
+#: src/pager.vala:205
+#, c-format
+msgid "Page '%s' already added"
+msgstr "Sidan ”%s” redan tillagd"
+
+#: src/pager.vala:267
+msgid "Main"
+msgstr "Huvudsida"
+
+#: src/pager.vala:286
+msgid "Playlists"
+msgstr "Spellistor"
+
+#: src/pager.vala:311
+#, c-format
+msgid "Can't read pages file. Message: %s"
+msgstr "Kan inte läsa sidfil. Meddelande: %s"
+
+#: src/pager.vala:331
+#, c-format
+msgid "Can't create pages file. Message: %s"
+msgstr "Kan inte skapa sidfil. Meddelande: %s"
+
+#: src/utils.vala:69
+msgid "Not implemented yet"
+msgstr "Inte implementerat ännu"
+
+#: src/utils.vala:76
+msgid "Need authorization"
+msgstr "Behöver auktorisering"
+
+#: src/utils.vala:80
+msgid "Need Bookmate subscription"
+msgstr "Behöver en prenumeration på Bookmate"
+
+#: src/utils.vala:176 src/utils.vala:192
+msgid "Link copied to clipboard"
+msgstr "Länk kopierad till urklipp"
+
+#: src/utils.vala:241
+#, c-format
+msgid "Duration: %s h. %s min."
+msgstr "Längd: %s h. %s min."
+
+#: src/utils.vala:243
+#, c-format
+msgid "Duration: %s min."
+msgstr "Längd: %s min."
+
+#: src/utils.vala:357
+msgid "today"
+msgstr "i dag"
+
+#: src/utils.vala:359
+msgid "yesterday"
+msgstr "i går"
+
+#: src/widgets/buttons/just/dislike-button.vala:37
+msgid "Remove dislike"
+msgstr "Ta bort ogillande"
+
+#: src/widgets/buttons/just/dislike-button.vala:40
+msgid "Set dislike"
+msgstr "Sätt ogillande"
+
+#: src/widgets/buttons/just/like-button.vala:41
+msgid "Remove like"
+msgstr "Ta bort gillande"
+
+#: src/widgets/buttons/just/like-button.vala:48
+msgid "Set like"
+msgstr "Sätt gillande"
+
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:37
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:40
+msgid "Pause"
+msgstr "Pausa"
+
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:44
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:47
+msgid "Play"
+msgstr "Spela upp"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:48
+#, c-format
+msgid "Playlist '%s'"
+msgstr "Spellista ”%s”"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:53
+#: src/widgets/buttons/menu/playlist-options-button.vala:66
+msgid "My Vibe by playlist"
+msgstr "Min vibb efter spellista"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:54
+#: src/widgets/buttons/menu/playlist-options-button.vala:76
+#: src/widgets/buttons/menu/track-options-button.vala:80
+#: src/widgets/buttons/menu/track-options-button.vala:105
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:35
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:46
+#: src/widgets/buttons/menu/track-queue-options-button.vala:69
+#: src/widgets/buttons/menu/track-queue-options-button.vala:99
+msgid "Add to queue"
+msgstr "Lägg till i kö"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:55
+#: src/widgets/buttons/menu/playlist-options-button.vala:77
+#: src/widgets/buttons/menu/track-options-button.vala:83
+#: src/widgets/buttons/menu/track-options-button.vala:108
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:39
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:50
+#: src/widgets/buttons/menu/track-queue-options-button.vala:73
+#: src/widgets/buttons/menu/track-queue-options-button.vala:103
+msgid "Share"
+msgstr "Dela"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:26
+msgid "Primary menu"
+msgstr "Primär meny"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:32
+msgid "Parse URL from clipboard"
+msgstr "Tolka URL från urklipp"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:33
+msgid "Preferences"
+msgstr "Inställningar"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:34
+msgid "Keyboard Shortcuts"
+msgstr "Tangentbordsgenvägar"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:35
+msgid "About Cassette"
+msgstr "Om Kassett"
+
+#: src/widgets/buttons/menu/track-options-button.vala:77
+#: src/widgets/buttons/menu/track-options-button.vala:94
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:32
+#: src/widgets/buttons/menu/track-queue-options-button.vala:66
+#: src/widgets/buttons/menu/track-queue-options-button.vala:87
+msgid "My Vibe by track"
+msgstr "Min vibb efter spår"
+
+#: src/widgets/buttons/menu/track-options-button.vala:78
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:33
+#: src/widgets/buttons/menu/track-queue-options-button.vala:67
+msgid "Show info"
+msgstr "Visa info"
+
+#: src/widgets/buttons/menu/track-options-button.vala:79
+#: src/widgets/buttons/menu/track-options-button.vala:104
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:34
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:45
+#: src/widgets/buttons/menu/track-queue-options-button.vala:68
+#: src/widgets/buttons/menu/track-queue-options-button.vala:98
+msgid "Play next"
+msgstr "Spela nästa"
+
+#: src/widgets/buttons/menu/track-options-button.vala:81
+#: src/widgets/buttons/menu/track-options-button.vala:106
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:36
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:47
+#: src/widgets/buttons/menu/track-queue-options-button.vala:70
+#: src/widgets/buttons/menu/track-queue-options-button.vala:100
+msgid "Add to playlist"
+msgstr "Lägg till i spellista"
+
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:37
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:48
+msgid "Remove from playlist"
+msgstr "Ta bort från spellista"
+
+#: src/widgets/buttons/menu/track-queue-options-button.vala:71
+#: src/widgets/buttons/menu/track-queue-options-button.vala:101
+msgid "Remove from queue"
+msgstr "Ta bort från kö"
+
+#: src/widgets/buttons/menu/volume-button.vala:121
+msgid "Volume control"
+msgstr "Volymkontroll"
+
+#: src/widgets/buttons/menu/volume-button.vala:261
+msgid "Unmute"
+msgstr "Aktivera ljud"
+
+#: src/widgets/buttons/menu/volume-button.vala:261
+msgid "Mute"
+msgstr "Tysta"
+
+#: src/widgets/cache-indicator/job-info-badge.vala:44
+#: src/widgets/save-stack.vala:52 src/widgets/views/abstract-cachiable.vala:172
+msgid "Album"
+msgstr "Album"
+
+#. Translators: n track from n tracks saved
+#: src/widgets/cache-indicator/job-info-badge.vala:77
+#, c-format
+msgid "%d / %d saved%s"
+msgid_plural "%d / %d saved%s"
+msgstr[0] "%d / %d sparat%s"
+msgstr[1] "%d / %d sparade%s"
+
+#: src/widgets/cache-indicator/job-info-badge.vala:84
+#, c-format
+msgid "%d track saving now"
+msgid_plural "%d tracks saving now"
+msgstr[0] "%d spår sparas nu"
+msgstr[1] "%d spår sparas nu"
+
+#: src/widgets/info-marks.vala:41
+#, c-format
+msgid "Track was replaced. Original version: %s, %s"
+msgstr "Spår ersattes. Ursprunglig version: %s, %s"
+
+#: src/widgets/playlist-micro.vala:157 src/widgets/views/playlist.vala:241
+#, c-format
+msgid "Owner: %s"
+msgstr "Ägare: %s"
+
+#: src/widgets/playlist-row.vala:85
+#, c-format
+msgid "Track count: %s"
+msgstr "Spårantal: %s"
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:88
+#: src/widgets/preferences/preferences-dialog.vala:134
+msgid "Delete cache files?"
+msgstr "Ta bort cachefiler?"
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:89
+msgid "Move saved files?"
+msgstr "Flytta sparade filer?"
+
+# TODO: affect saved
+#: src/widgets/preferences/cache-deletion-preferences.vala:90
+#: src/widgets/preferences/preferences-dialog.vala:135
+msgid ""
+"All cache will be deleted. This doesn't affect on saved playlists or albums"
+msgstr ""
+"All cache kommer tas bort. Detta påverkar inte sparade spellistor eller album"
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:91
+msgid ""
+"All saved playlists and albums will be moved to cache files. This could take "
+"a while."
+msgstr ""
+"Alla sparade spellistor och album kommer flyttas till cachefiler. Detta kan "
+"ta ett tag."
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:129
+msgid "Deleting…"
+msgstr "Tar bort…"
+
+#: src/widgets/save-stack.vala:54
+msgid "Image"
+msgstr "Bild"
+
+#: src/widgets/save-stack.vala:58
+msgid "Track"
+msgstr "Spår"
+
+#: src/widgets/save-stack.vala:75
+#, c-format
+msgid "%s saving…"
+msgstr "%s sparas…"
+
+#: src/widgets/save-stack.vala:76
+#, c-format
+msgid "%s cached"
+msgstr "%s cachad"
+
+#: src/widgets/save-stack.vala:77
+#, c-format
+msgid "%s saved"
+msgstr "%s sparad"
+
+#: src/widgets/sidebar/childs/player-queue.vala:66
+#, c-format
+msgid "Playlist \"%s\""
+msgstr "Spellista ”%s”"
+
+#: src/widgets/sidebar/childs/player-queue.vala:70
+#, c-format
+msgid "Album \"%s\""
+msgstr "Album ”%s”"
+
+#: src/widgets/sidebar/childs/player-queue.vala:74
+#, c-format
+msgid "By search results \"%s\""
+msgstr "Efter sökresultat ”%s”"
+
+#: src/widgets/sidebar/childs/player-queue.vala:78
+msgid "Track list"
+msgstr "Spårlista"
+
+#: src/widgets/sidebar/childs/track-info.vala:68
+msgid "Your music track"
+msgstr "Ditt musikspår"
+
+#: src/widgets/sidebar/childs/track-info.vala:84
+msgid "Music track"
+msgstr "Musikspår"
+
+#: src/widgets/sidebar/childs/wave-settings.vala:39
+msgid "Wave settings"
+msgstr "Våginställningar"
+
+#: src/widgets/track-rows/base.vala:79 src/widgets/track-rows/default.vala:100
+msgid "Track is not available"
+msgstr "Spåret inte tillgängligt"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:78
+#, c-format
+msgid "%s '%s' saved successfully"
+msgstr "%s ”%s” sparades"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:89
+#, c-format
+msgid "%s '%s' saving was stopped, due to network error"
+msgstr "Sparning av %s ”%s” stoppades på grund av nätverksfel"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:99
+#, c-format
+msgid "%s '%s' saving was aborted"
+msgstr "Sparning av %s ”%s” avbröts"
+
+#. Translators: %s - content type (e.g. "Playlist")
+#: src/widgets/views/abstract-cachiable.vala:191
+#, c-format
+msgid "%s saving has started"
+msgstr "Sparning av %s har startat"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:229
+#, c-format
+msgid "%s '%s' was moved from data to cache"
+msgstr "%s ”%s” flyttades från data till cache"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:239
+#, c-format
+msgid "%s removing has started. Please do not close the app"
+msgstr "Borttagning av %s har startat. Stäng inte programmet"
+
+#: src/widgets/views/cant-show.vala:37
+#, c-format
+msgid "Error %d"
+msgstr "Fel %d"
+
+#: src/widgets/views/cant-show.vala:41
+msgid "Can't load page"
+msgstr "Kan inte läsa in sida"
+
+#: src/widgets/views/cant-show.vala:44
+msgid "Can't find desired content"
+msgstr "Kan inte hitta önskat innehåll"
+
+#: src/widgets/views/playlist.vala:84
+msgid "Delete playlist?"
+msgstr "Ta bort spellista?"
+
+#: src/widgets/views/playlist.vala:85
+#, c-format
+msgid "Playlist '%s' will be permanently deleted."
+msgstr "Spellistan ”%s” kommer tas bort permanent."
+
+#: src/widgets/views/playlist.vala:104
+#, c-format
+msgid "Playlist '%s' was deleted"
+msgstr "Spellistan ”%s” togs bort"
+
+#. Translators: %s is female person
+#: src/widgets/views/playlist.vala:247
+#, c-format
+msgctxt "female person"
+msgid "%s updated playlist %s"
+msgstr "%s uppdaterade spellistan %s"
+
+#. Translators: %s is male person
+#: src/widgets/views/playlist.vala:251
+#, c-format
+msgctxt "male person"
+msgid "%s updated playlist %s"
+msgstr "%s uppdaterade spellistan %s"
+
+#: src/widgets/views/playlist.vala:281
+#, c-format
+msgid "Can't change visibility of '%s'"
+msgstr "Kan inte ändra synlighet för ”%s”"
+
+#: src/widgets/views/playlist.vala:287
+#, c-format
+msgid "Playlist '%s' is public now"
+msgstr "Spellistan ”%s” är nu offentlig"
+
+#: src/widgets/views/playlist.vala:290
+#, c-format
+msgid "Playlist '%s' is private now"
+msgstr "Spellistan ”%s” är nu privat"
+
+#: src/window.vala:235
+#, c-format
+msgid "Window info message: %s"
+msgstr "Fönsterinfomeddelande: %s"
+
+#~ msgid "@APP_NAME@"
+#~ msgstr "@APP_NAME@"
+
+#~ msgid "Unofficial Yandex.Music client for GNOME @NAME_SUFFIX@"
+#~ msgstr "Inofficiell Yandex.Music-klient för GNOME @NAME_SUFFIX@"
+
+#~ msgid "Vladimir Vaskov"
+#~ msgstr "Vladimir Vaskov"
+
+#~ msgid "Rirusha"
+#~ msgstr "Rirusha"
diff --git a/po/tr.po b/po/tr.po
new file mode 100644
index 0000000..2db2935
--- /dev/null
+++ b/po/tr.po
@@ -0,0 +1,1328 @@
+# Turkish translation for cassette.
+# Copyright (C) 2024 cassette's COPYRIGHT HOLDER
+# This file is distributed under the same license as the cassette package.
+#
+# Sabri Ünal , 2024.
+# Emin Tufan Çetin , 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: cassette main\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/Rirusha/Cassette/-/issues\n"
+"POT-Creation-Date: 2024-09-30 18:34+0000\n"
+"PO-Revision-Date: 2024-10-28 15:49+0300\n"
+"Last-Translator: Sabri Ünal \n"
+"Language-Team: Türkçe \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=1; plural=0;\n"
+"X-Generator: Poedit 3.5\n"
+
+#. Translators: app name should be translated
+#: data/space.rirusha.Cassette.desktop.in.in:4
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:3 src/main.vala:23
+msgid "Cassette"
+msgstr "Kaset"
+
+#: data/space.rirusha.Cassette.desktop.in.in:5
+msgid "Unofficial Yandex Music client for GNOME"
+msgstr "GNOME için resmi olmayan Yandex Müzik istemcisi"
+
+#. Translators: keep number of ';'
+#: data/space.rirusha.Cassette.desktop.in.in:7
+#: data/space.rirusha.Cassette-Devel.desktop.in.in:7
+msgid "yandex;yandex music;yam;music;"
+msgstr "yandex;yandex music;yam;music;yandex müzik;"
+
+#. Translators: app name should be translated
+#: data/space.rirusha.Cassette-Devel.desktop.in.in:4
+msgid "Cassette (Devel)"
+msgstr "Kaset (Geliştirme)"
+
+#: data/space.rirusha.Cassette-Devel.desktop.in.in:5
+msgid "Unofficial Yandex Music client for GNOME (Devel build)"
+msgstr ""
+"GNOME için resmi olmayan Yandex Müzik istemcisi (Geliştirici derlemesi)"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:7
+msgid "Unofficial Yandex Music client"
+msgstr "Resmi olmayan Yandex Müzik istemcisi"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:9
+msgid ""
+"GTK/Adwaita application that allows to use Yandex Music service on Linux "
+"operating systems."
+msgstr ""
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:13
+msgid "Features:"
+msgstr "Özellikler:"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:17
+msgid "Allows you to save playlists and albums for offline listening"
+msgstr ""
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:20
+msgid "Has a dynamic \"karaoke mode\" right in the track information panel"
+msgstr ""
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:23
+msgid ""
+"Allows you to more precisely customize the display and playback of special "
+"content, such as explicit or suitable for children."
+msgstr ""
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:27
+msgid "Displays tracks that are currently unavailable in the service"
+msgstr ""
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:30
+msgid "Shows which tracks have been replaced and by what"
+msgstr ""
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:34
+msgid ""
+"Cassette is an unofficial client and is not associated with or endorsed by "
+"Yandex."
+msgstr ""
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:63
+msgid "Liked view"
+msgstr "Beğenilenler görünümü"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:67
+msgid "Playlists view"
+msgstr "Çalma listeleri görünümü"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:71
+msgid "Sync lyrics"
+msgstr "Şarkı sözlerini eşzamanla"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:75
+msgid "Playback queue"
+msgstr "Çalma listesi kuyruğu"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:79
+msgid "Waves view"
+msgstr "Dalgalar görünümü"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:83
+msgid "Main preferences"
+msgstr "Ana tercihler"
+
+#: data/ui/account-info-dialog.blp:5
+msgid "Account information"
+msgstr "Hesap Bilgileri"
+
+#: data/ui/account-info-dialog.blp:52
+msgid "Open in browser"
+msgstr "Tarayıcıda Aç"
+
+# Plus burada Yandex'in ek özellikler içeren bir paketinin adı.
+#: data/ui/account-info-dialog.blp:61
+msgid "Plus"
+msgstr "Plus"
+
+#: data/ui/account-info-dialog.blp:70 data/ui/no-plus-dialog.blp:51
+#: src/authenticator.vala:51
+msgid "Log out"
+msgstr "Oturumu kapat"
+
+#. Translators: usage mode of application. Online mode or Local mode available
+#: data/ui/begin-view.ui:11
+msgid "Usage mode"
+msgstr "Kullanım kipi"
+
+#. Translators: usage mode of application. Online mode or Local mode available
+#: data/ui/begin-view.ui:40
+msgctxt "auth window"
+msgid "Choose usage mode"
+msgstr "Kullanım kipini seç"
+
+#: data/ui/begin-view.ui:50
+msgctxt "auth window"
+msgid ""
+"If you select the \"Online mode\", you can access local music by enabling "
+"the display of the corresponding pages in the pages preferences, as well as "
+"log in later when selecting \"Local mode\""
+msgstr ""
+
+#. Translators: usage mode of application. Online mode or Local mode available
+#: data/ui/begin-view.ui:75
+msgctxt "auth window"
+msgid "Online mode"
+msgstr "Çevrim içi kip"
+
+#. Translators: usage mode of application. Online mode or Local mode available
+#: data/ui/begin-view.ui:85
+msgctxt "auth window"
+msgid "Local mode"
+msgstr "Yerel kip"
+
+#. Translators: "Close" window button label
+#: data/ui/begin-view.ui:97
+msgctxt "auth window"
+msgid "Close"
+msgstr "Kapat"
+
+#: data/ui/begin-view.ui:112
+msgid "Authorization"
+msgstr "Yetkilendirme"
+
+#. Translators: size of cache dirs
+#: data/ui/cache-deletion-preferences.ui:21
+msgid "Dirs size:"
+msgstr "Dizin boyutu:"
+
+#. Translators: tempprary cache folder
+#: data/ui/cache-deletion-preferences.ui:35
+msgid "Cache"
+msgstr "Ön Bellek"
+
+#: data/ui/cache-deletion-preferences.ui:88
+msgid "Clear"
+msgstr "Temizle"
+
+#. Translators: temparence cache folder
+#: data/ui/cache-deletion-preferences.ui:109
+msgid "Data"
+msgstr "Veri"
+
+#: data/ui/cache-deletion-preferences.ui:159
+msgid "Move to cache"
+msgstr "Ön belleğe taşı"
+
+#: data/ui/cache-deletion-preferences.ui:163
+msgid "Move"
+msgstr "Taşı"
+
+#: data/ui/cache-indicator.blp:35
+msgid "Show all cache jobs"
+msgstr "Tüm ön bellek işlerini göster"
+
+#: data/ui/custom-page-preferences.ui:17
+msgid "Title: "
+msgstr "Başlık:"
+
+#: data/ui/custom-page-preferences.ui:38
+msgid "Icon: "
+msgstr "Simge: "
+
+#: data/ui/custom-page-preferences.ui:75
+msgid "Save page"
+msgstr "Sayfayı kaydet"
+
+#: data/ui/custom-page-preferences.ui:92
+msgid "Remove page"
+msgstr "Sayfayı kaldır"
+
+#. Translators: title of preference group
+#: data/ui/custom-pages-preferences.ui:7
+msgctxt "preference window"
+msgid "Custom pages"
+msgstr "Özel sayfalar"
+
+#. Translators: description of preference group
+#: data/ui/custom-pages-preferences.ui:9
+msgctxt "preference window"
+msgid "Here you can control custom pages."
+msgstr "Buradan özel sayfaları denetleyebilirsiniz."
+
+#: data/ui/disliked-tracks-view.ui:23
+#: src/widgets/buttons/menu/primary-menu-button.vala:31
+msgid "Disliked tracks"
+msgstr "Beğenilmeyen parçalar"
+
+#: data/ui/header-bar.blp:12
+msgid "Go back"
+msgstr "Geri git"
+
+#: data/ui/header-bar.blp:20
+msgid "Refresh"
+msgstr "Yenile"
+
+#: data/ui/header-bar.blp:28
+#, fuzzy
+#| msgid "Yandex.Music search"
+msgid "Yandex Music search"
+msgstr "Yandex.Music arama"
+
+#: data/ui/help-overlay.blp:11
+msgid "Main Actions"
+msgstr "Ana Eylemler"
+
+#: data/ui/help-overlay.blp:14
+msgid "Show Shortcuts"
+msgstr "Kısayolları Göster"
+
+#: data/ui/help-overlay.blp:19
+msgid "Quit"
+msgstr "Çık"
+
+#: data/ui/help-overlay.blp:25
+msgid "Playback Control"
+msgstr "Oynatma Denetimi"
+
+#: data/ui/help-overlay.blp:28
+msgid "Play/Pause playback"
+msgstr "Oynat/Duraklat"
+
+#: data/ui/help-overlay.blp:33 data/ui/player-bar.blp:87
+msgid "Play previous track"
+msgstr "Önceki parçayı çal"
+
+#: data/ui/help-overlay.blp:38 data/ui/player-bar.blp:119
+msgid "Play next track"
+msgstr "Sonraki parçayı çal"
+
+#: data/ui/help-overlay.blp:43
+msgid "Mute app"
+msgstr "Uygulamayı sustur"
+
+#: data/ui/help-overlay.blp:49
+msgid "Queue control"
+msgstr "Kuyruk denetimi"
+
+#: data/ui/help-overlay.blp:52 data/ui/player-bar.blp:141
+msgid "Change shuffle mode"
+msgstr "Karıştırma kipini değiştir"
+
+#: data/ui/help-overlay.blp:57 data/ui/player-bar.blp:65
+msgid "Change repeat mode"
+msgstr "Yineleme kipini değiştir"
+
+#: data/ui/help-overlay.blp:63
+msgid "Other"
+msgstr "Diğer"
+
+#: data/ui/help-overlay.blp:66
+msgid "Share current track"
+msgstr "Geçerli parçayı paylaş"
+
+#: data/ui/help-overlay.blp:71
+msgid "Parse url from clipboard"
+msgstr "Panodan URL ayrıştır"
+
+#: data/ui/info-marks.ui:23
+msgid "Explicit content"
+msgstr "Yetişkin içerik"
+
+#: data/ui/info-marks.ui:32
+msgid "Child content"
+msgstr "Çocuk içerik"
+
+#: data/ui/main-view.blp:6
+msgid "Page under construction"
+msgstr "Sayfa yapım aşamasında"
+
+#: data/ui/main-view.blp:20
+msgid "All stations"
+msgstr "Tüm istasyonlar"
+
+#: data/ui/no-plus-dialog.blp:20
+msgid "No Plus Subscription"
+msgstr "Plus Aboneliği Yok"
+
+#: data/ui/no-plus-dialog.blp:21
+msgid ""
+"To avoid problems with Yandex, the online functions of the application are "
+"not available without a Yandex.Plus subscription. Thanks for understanding."
+msgstr ""
+
+#: data/ui/no-plus-dialog.blp:41
+msgid "Get Plus"
+msgstr "Plus Al"
+
+#: data/ui/player-bar.blp:22
+msgid "Show track info"
+msgstr "Parça bilgisini göster"
+
+#: data/ui/player-bar.blp:206
+msgid "Show wave settings"
+msgstr "Dalga ayarlarını göster"
+
+#: data/ui/player-bar.blp:216
+msgid "Show playback queue"
+msgstr "Oynatma kuyruğunu göster"
+
+#: data/ui/player-bar.blp:229
+msgid "Change volume"
+msgstr "Sesi değiştir"
+
+#: data/ui/player-queue.blp:5 src/application.vala:271
+msgid "Playing now"
+msgstr "Şimdi oynatılıyor"
+
+#: data/ui/playlist-choose-dialog.ui:8
+msgid "Choose playlist to add"
+msgstr "Eklenecek çalma listesini seç"
+
+#: data/ui/playlist-create-button.ui:36
+msgid "Create playlist"
+msgstr "Çalma listesi oluştur"
+
+#: data/ui/playlist-micro.ui:39 data/ui/playlist-view.ui:56
+#: src/widgets/cache-indicator/job-info-badge.vala:42
+#: src/widgets/save-stack.vala:56 src/widgets/views/abstract-cachiable.vala:167
+msgid "Playlist"
+msgstr "Çalma Listesi"
+
+#: data/ui/playlist-row.ui:40
+msgid "Empty"
+msgstr "Boş"
+
+#: data/ui/playlists-view.ui:23
+msgid "Your playlists"
+msgstr "Çalma listeleriniz"
+
+#: data/ui/playlists-view.ui:39
+msgid "Also you liked these playlists"
+msgstr "Ayrıca şu çalma listelerini de beğendiniz"
+
+#: data/ui/playlist-view.ui:187
+msgid "Change playlist visibility"
+msgstr "Çalma listesi görünürlüğünü değiştir"
+
+#: data/ui/playlist-view.ui:211
+msgid "Add page to header"
+msgstr "Başlığa sayfa ekle"
+
+#. Translators: tooltip of "save" button
+#: data/ui/playlist-view.ui:233 data/ui/playlist-view.ui:237
+#: src/widgets/buttons/menu/track-options-button.vala:82
+#: src/widgets/buttons/menu/track-options-button.vala:107
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:38
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:49
+#: src/widgets/buttons/menu/track-queue-options-button.vala:72
+#: src/widgets/buttons/menu/track-queue-options-button.vala:102
+msgid "Save"
+msgstr "Kaydet"
+
+#. Translators: tooltip of "delete" button
+#: data/ui/playlist-view.ui:256 data/ui/playlist-view.ui:260
+#: src/widgets/preferences/cache-deletion-preferences.vala:96
+#: src/widgets/preferences/preferences-dialog.vala:140
+#: src/widgets/views/playlist.vala:90
+msgid "Delete"
+msgstr "Sil"
+
+#. Translators: tooltip of "abort" button
+#: data/ui/playlist-view.ui:276
+msgid "Abort"
+msgstr "Vazgeç"
+
+#: data/ui/playlist-view.ui:280
+msgid "Stop"
+msgstr "Durdur"
+
+#: data/ui/preferences-dialog.ui:8
+msgctxt "preference dialog"
+msgid "Main"
+msgstr "Ana"
+
+#: data/ui/preferences-dialog.ui:12
+msgctxt "preference dialog"
+msgid "General"
+msgstr "Genel"
+
+#: data/ui/preferences-dialog.ui:15
+msgctxt "preference dialog"
+msgid "Enable high quality audio"
+msgstr "Yüksek kaliteli sesi etkinleştir"
+
+#: data/ui/preferences-dialog.ui:16
+msgctxt "preference dialog"
+msgid ""
+"Attention! If the track was downloaded in low quality, and after the "
+"download is enabled in high quality, the audio will not be reloaded"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:21
+msgctxt "preference dialog"
+msgid "Add track on top of playlist"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:22
+msgctxt "preference dialog"
+msgid "Will the track be added to the playlist as the first or as the last"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:27
+msgctxt "preference dialog"
+msgid "Show 'Playing now' notification"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:28
+msgctxt "preference dialog"
+msgid "Show a notification when switching a track"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:35
+msgctxt "preference dialog"
+msgid "Show additional marks"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:36
+msgctxt "preference dialog"
+msgid "Additional marks display additional information about the track"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:39
+msgctxt "preference dialog"
+msgid "Show save mark"
+msgstr "Kaydetme imini göster"
+
+#: data/ui/preferences-dialog.ui:40
+msgctxt "preference dialog"
+msgid "Show a label with information about the caching status of the track"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:45
+msgctxt "preference dialog"
+msgid "Show cache mark"
+msgstr "Önbellek imini göster"
+
+#: data/ui/preferences-dialog.ui:46
+msgctxt "preference dialog"
+msgid "Show a mark about saving a track to the cache"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:51
+msgctxt "preference dialog"
+msgid "Show replaced mark"
+msgstr "Değiştirildi imini göster"
+
+#: data/ui/preferences-dialog.ui:52
+msgctxt "preference dialog"
+msgid "Show a mark that shows that the track has been replaced"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:59
+msgctxt "preference dialog"
+msgid "Tracks visibility"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:60
+msgctxt "preference dialog"
+msgid ""
+"Show special tracks in track lists. Filter doesn't work when searching in "
+"track list"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:63
+msgctxt "preference dialog"
+msgid "Show unavailable content"
+msgstr "Kullanılamayan içeriği göster"
+
+#: data/ui/preferences-dialog.ui:64
+msgctxt "preference dialog"
+msgid ""
+"Show tracks that are not available in the service. You can't listen to them"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:69
+msgctxt "preference dialog"
+msgid "Show content suitable for children"
+msgstr "Çocuklar için uygun içeriği göster"
+
+#: data/ui/preferences-dialog.ui:70
+msgctxt "preference dialog"
+msgid "Show content that is specific to children"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:75
+msgctxt "preference dialog"
+msgid "Show explicit content"
+msgstr "Müstehcen içeriği göster"
+
+#: data/ui/preferences-dialog.ui:76
+msgctxt "preference dialog"
+msgid "Show content that has age restrictions"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:83
+msgctxt "preference dialog"
+msgid "Other"
+msgstr "Diğer"
+
+#: data/ui/preferences-dialog.ui:86
+msgctxt "preference dialog"
+msgid "Enable Debug-Mode"
+msgstr "Hata ayıklama kipini etkinleştir"
+
+#: data/ui/preferences-dialog.ui:87
+msgctxt "preference dialog"
+msgid "Enable logging of additional information useful for error detection"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:94
+msgctxt "preference dialog"
+msgid "Experimental"
+msgstr "Deneysel"
+
+#: data/ui/preferences-dialog.ui:95
+msgctxt "preference dialog"
+msgid "Parameters that test anything and may be removed in future releases"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:98
+msgctxt "preference dialog"
+msgid "Use only bottom sheet menus"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:99
+msgctxt "preference dialog"
+msgid "Test preference for bottom sheet menu"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:108
+msgctxt "preference dialog"
+msgid "Pages"
+msgstr "Sayfalar"
+
+#: data/ui/preferences-dialog.ui:112
+msgctxt "preference dialog"
+msgid "Static pages"
+msgstr "Sabit sayfalar"
+
+#: data/ui/preferences-dialog.ui:113
+msgctxt "preference dialog"
+msgid ""
+"Here you can show or hide static pages. They will always be displayed on the "
+"left side of the header."
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:116
+msgctxt "preference dialog"
+msgid "Show 'Main' page"
+msgstr "'Ana' sayfayı göster"
+
+#: data/ui/preferences-dialog.ui:121
+msgctxt "preference dialog"
+msgid "Show 'Liked' page"
+msgstr "'Beğenilen' sayfasını göster"
+
+#: data/ui/preferences-dialog.ui:126
+msgctxt "preference dialog"
+msgid "Show 'Playlists' page"
+msgstr "'Çalma Listeleri' sayfasını göster"
+
+#: data/ui/preferences-dialog.ui:138
+msgctxt "preference dialog"
+msgid "Cache"
+msgstr "Ön bellek"
+
+#: data/ui/preferences-dialog.ui:142
+msgctxt "preference dialog"
+msgid "Cache managing"
+msgstr "Ön bellek yönetimi"
+
+#: data/ui/preferences-dialog.ui:143
+msgctxt "preference dialog"
+msgid ""
+"Here you can see application memory usage, delete all cache from cache "
+"folder and control downloading cache to disk"
+msgstr ""
+
+#: data/ui/preferences-dialog.ui:146
+msgctxt "preference dialog"
+msgid "Cache content"
+msgstr "İçeriği ön bellekle"
+
+#: data/ui/preferences-dialog.ui:147
+msgctxt "preference dialog"
+msgid ""
+"For better performance. Over time, it starts to take up a lot of space. So "
+"far, manual cleaning is required. If enabled, the application will cache all "
+"content to cache dir for better performance, otherwise, the application will "
+"load content only when caching objects (such as playlists or albums). "
+"Disabling the parameter does not delete already downloaded content"
+msgstr ""
+
+#: data/ui/save-stack.ui:25
+msgid "Content saving…"
+msgstr "İçerik kaydediliyor…"
+
+#: data/ui/save-stack.ui:42
+msgid "Content cached"
+msgstr "İçerik ön belleklendi"
+
+#: data/ui/save-stack.ui:56
+msgid "Content saved"
+msgstr "İçerik kaydedildi"
+
+#: data/ui/stations-view.blp:22
+msgid "Stations dashboard"
+msgstr "İstasyonlar tablosu"
+
+#: data/ui/stations-view.blp:58
+msgid "Searching for station…"
+msgstr "İstasyon aranıyor…"
+
+#: data/ui/stations-view.blp:77
+msgid "By genre…"
+msgstr "Türe göre…"
+
+#: data/ui/stations-view.blp:99 data/ui/wave-settings.blp:60
+msgid "By mood…"
+msgstr "Ruh haline göre…"
+
+#: data/ui/stations-view.blp:121 data/ui/wave-settings.blp:25
+msgid "By activity…"
+msgstr "Etkinliğe göre…"
+
+#: data/ui/stations-view.blp:143
+msgid "By epoch…"
+msgstr "Çağlara göre…"
+
+#: data/ui/stations-view.blp:165
+msgid "Other…"
+msgstr "Diğer…"
+
+#: data/ui/stations-view.blp:209
+msgid "No stations with that name were found"
+msgstr ""
+
+#: data/ui/track-info.blp:103
+msgid "Track lyrics"
+msgstr "Parça şarkı sözleri"
+
+#: data/ui/track-info.blp:117
+msgid "Authors"
+msgstr "Yazarlar"
+
+#: data/ui/track-info.blp:135
+msgid "Source"
+msgstr "Kaynak"
+
+#: data/ui/track-info.blp:158
+msgid "Similar tracks"
+msgstr "Benzer parçalar"
+
+#. Translators: placeholder of "search" entry. Local track search (inside of track list)
+#: data/ui/track-list.ui:21
+msgid "Search track"
+msgstr "Parça ara"
+
+#. Translators: part of sort by
+#: data/ui/track-list.ui:30
+msgid "Sort by"
+msgstr "Sıralama Ölçütü"
+
+#: data/ui/track-list.ui:77
+msgid "No tracks to display"
+msgstr "Görüntülenecek parça yok"
+
+#: data/ui/track-list.ui:88
+msgid "name"
+msgstr "ad"
+
+#: data/ui/track-list.ui:92
+msgid "artist"
+msgstr "sanatçı"
+
+#: data/ui/track-list.ui:96
+msgid "album"
+msgstr "albüm"
+
+#: data/ui/track-list.ui:100
+msgid "duration"
+msgstr "süre"
+
+#: data/ui/track-placeholder.ui:9 src/widgets/pages/loading-page.vala:37
+msgid "Loading…"
+msgstr "Yükleniyor…"
+
+#: data/ui/wave-settings.blp:42
+msgid "By diversity…"
+msgstr "Çeşitliliğe göre…"
+
+#: data/ui/wave-settings.blp:78
+msgid "By language…"
+msgstr "Dile göre…"
+
+#: data/ui/wave-settings.blp:93
+msgid "Can't get wave settings"
+msgstr "Dalga ayarları alınamadı"
+
+#: data/ui/window.blp:57 src/window.vala:252
+msgid "Reconnect"
+msgstr "Yeniden Bağlan"
+
+#: data/ui/window.blp:58 src/application.vala:151
+msgid "Connection problems"
+msgstr "Bağlantı sorunları"
+
+#. Translators: NAME /n NAME
+#: src/about.vala:59
+msgid "translator-credits"
+msgstr ""
+"Sabri Ünal \n"
+"Emin Tufan Çetin "
+
+#: src/about.vala:67
+msgid "Telegram channel"
+msgstr "Telegram kanalı"
+
+#: src/about.vala:68
+msgid "Financial support (Tinkoff)"
+msgstr "Maddi destek (Tinkoff)"
+
+#: src/about.vala:69
+msgid "Financial support (Boosty)"
+msgstr "Maddi destek (Boosty)"
+
+#. Please keep alphabetical
+#: src/about.vala:72
+msgid "Sponsors"
+msgstr "Sponsorlar"
+
+#: src/application.vala:62
+msgid "Print version information and exit"
+msgstr "Sürüm bilgisini yazdır ve çık"
+
+#: src/application.vala:145
+msgid "Connection restored"
+msgstr "Bağlantı yeniden sağlandı"
+
+#: src/application.vala:273
+msgid "Previous"
+msgstr "Önceki"
+
+#: src/application.vala:274
+msgid "Next"
+msgstr "Sonraki"
+
+#: src/application.vala:357
+msgid "Current track can not be copied to the clipboard"
+msgstr ""
+
+#: src/application.vala:371 src/application.vala:378 src/application.vala:435
+msgid "Can't parse clipboard content"
+msgstr "Pano içeriği ayrıştırılamadı"
+
+#: src/application.vala:389
+msgid "Users view not implemented yet"
+msgstr ""
+
+#: src/application.vala:405 src/application.vala:419
+msgid "Albums view not implemented yet"
+msgstr ""
+
+#: src/authenticator.vala:46
+msgid "Log out?"
+msgstr "Oturum kapatılsın mı?"
+
+#: src/authenticator.vala:47
+msgid "You will need to log in again to use the app"
+msgstr ""
+
+#. Translators: cancel of deleting playlist
+#: src/authenticator.vala:50
+#: src/widgets/preferences/cache-deletion-preferences.vala:95
+#: src/widgets/preferences/preferences-dialog.vala:139
+#: src/widgets/views/playlist.vala:89
+msgid "Cancel"
+msgstr "İptal"
+
+#: src/authenticator.vala:97
+#: src/widgets/preferences/cache-deletion-preferences.vala:129
+msgid "Moving…"
+msgstr "Taşınıyor…"
+
+#. Translators: Playlist with liked tracks
+#: src/client/api/objects/playlist/playlist.vala:49
+#: src/client/api/objects/playlist/playlist.vala:99 src/pager.vala:276
+msgid "Liked"
+msgstr "Beğenildi"
+
+#. Translators: Playlist that updates every day
+#: src/client/api/objects/playlist/playlist.vala:53
+msgid "Daily"
+msgstr "Günlük"
+
+#. Translators: Unknown playlist
+#: src/client/api/objects/playlist/playlist.vala:57
+msgid "Unknown"
+msgstr "Bilinmeyen"
+
+#: src/client/cachier/storager.vala:124
+#, c-format
+msgid "Database was initialized, loc - %s"
+msgstr ""
+
+#: src/client/cachier/storager.vala:801
+#, c-format
+msgid "Can't save object %s"
+msgstr ""
+
+#: src/client/cachier/storager.vala:818
+msgid "Byte"
+msgid_plural "Bytes"
+msgstr[0] "Bayt"
+
+#: src/client/cachier/storager.vala:821
+msgid "Kilobyte"
+msgid_plural "Kilobytes"
+msgstr[0] "Kilobayt"
+
+#: src/client/cachier/storager.vala:824
+msgid "Megabyte"
+msgid_plural "Megabytes"
+msgstr[0] "Megabayt"
+
+#: src/client/cachier/storager.vala:827
+msgid "Gigabyte"
+msgid_plural "Gigabytes"
+msgstr[0] "Gigabyte"
+
+#: src/client/cachier/storager.vala:830
+msgid "Terabyte"
+msgid_plural "Terabytes"
+msgstr[0] "Terabayt"
+
+#: src/client/cachier/storager.vala:859
+#, c-format
+msgid "Error while getting cache directory size. Message %s"
+msgstr ""
+
+#: src/client/cachier/storager.vala:894
+#, c-format
+msgid "Error while getting permanent directory size. Message %s"
+msgstr ""
+
+#: src/client/jsoner.vala:358 src/client/jsoner.vala:419
+#: src/client/jsoner.vala:526 src/client/jsoner.vala:550
+#, c-format
+msgid "Wrong type: expected %s, got %s"
+msgstr ""
+
+#: src/client/player/mods/abstract-mode.vala:91
+msgid "Problems with queue"
+msgstr "Kuyruk ile ilgili sorun"
+
+#. Translators: name of new created playlist
+#: src/client/talkers/yam-talker.vala:627
+msgid "New Playlist"
+msgstr "Yeni Çalma Listesi"
+
+#: src/pager.vala:162
+#, c-format
+msgid "Can't set title \"%s\" to page"
+msgstr ""
+
+#: src/pager.vala:173
+#, c-format
+msgid "Can't set icon with name \"%s\" to page"
+msgstr ""
+
+#: src/pager.vala:199
+msgid "Reached max page count"
+msgstr ""
+
+#: src/pager.vala:205
+#, c-format
+msgid "Page '%s' already added"
+msgstr ""
+
+#: src/pager.vala:267
+msgid "Main"
+msgstr "Ana"
+
+#: src/pager.vala:286
+msgid "Playlists"
+msgstr "Çalma Listeleri"
+
+#: src/pager.vala:311
+#, c-format
+msgid "Can't read pages file. Message: %s"
+msgstr ""
+
+#: src/pager.vala:331
+#, c-format
+msgid "Can't create pages file. Message: %s"
+msgstr ""
+
+#: src/utils.vala:69
+msgid "Not implemented yet"
+msgstr ""
+
+#: src/utils.vala:76
+msgid "Need authorization"
+msgstr ""
+
+#: src/utils.vala:80
+msgid "Need Bookmate subscription"
+msgstr "Bookmate aboneliği gerekli"
+
+#: src/utils.vala:176 src/utils.vala:192
+msgid "Link copied to clipboard"
+msgstr ""
+
+#: src/utils.vala:241
+#, c-format
+msgid "Duration: %s h. %s min."
+msgstr "Süre: %s sa. %s dk."
+
+#: src/utils.vala:243
+#, c-format
+msgid "Duration: %s min."
+msgstr "Süre: %s dk."
+
+#: src/utils.vala:357
+msgid "today"
+msgstr "bugün"
+
+#: src/utils.vala:359
+msgid "yesterday"
+msgstr "dün"
+
+#: src/widgets/buttons/just/dislike-button.vala:37
+msgid "Remove dislike"
+msgstr ""
+
+#: src/widgets/buttons/just/dislike-button.vala:40
+msgid "Set dislike"
+msgstr ""
+
+#: src/widgets/buttons/just/like-button.vala:41
+msgid "Remove like"
+msgstr ""
+
+#: src/widgets/buttons/just/like-button.vala:48
+msgid "Set like"
+msgstr ""
+
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:37
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:40
+msgid "Pause"
+msgstr "Duraklat"
+
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:44
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:47
+msgid "Play"
+msgstr "Oynat"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:48
+#, c-format
+msgid "Playlist '%s'"
+msgstr "Çalma Listesi '%s'"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:53
+#: src/widgets/buttons/menu/playlist-options-button.vala:66
+msgid "My Vibe by playlist"
+msgstr ""
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:54
+#: src/widgets/buttons/menu/playlist-options-button.vala:76
+#: src/widgets/buttons/menu/track-options-button.vala:80
+#: src/widgets/buttons/menu/track-options-button.vala:105
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:35
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:46
+#: src/widgets/buttons/menu/track-queue-options-button.vala:69
+#: src/widgets/buttons/menu/track-queue-options-button.vala:99
+msgid "Add to queue"
+msgstr "Kuyruğa ekle"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:55
+#: src/widgets/buttons/menu/playlist-options-button.vala:77
+#: src/widgets/buttons/menu/track-options-button.vala:83
+#: src/widgets/buttons/menu/track-options-button.vala:108
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:39
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:50
+#: src/widgets/buttons/menu/track-queue-options-button.vala:73
+#: src/widgets/buttons/menu/track-queue-options-button.vala:103
+msgid "Share"
+msgstr "Paylaş"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:26
+msgid "Primary menu"
+msgstr "Ana Menü"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:32
+msgid "Parse URL from clipboard"
+msgstr ""
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:33
+msgid "Preferences"
+msgstr ""
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:34
+msgid "Keyboard Shortcuts"
+msgstr ""
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:35
+msgid "About Cassette"
+msgstr ""
+
+#: src/widgets/buttons/menu/track-options-button.vala:77
+#: src/widgets/buttons/menu/track-options-button.vala:94
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:32
+#: src/widgets/buttons/menu/track-queue-options-button.vala:66
+#: src/widgets/buttons/menu/track-queue-options-button.vala:87
+msgid "My Vibe by track"
+msgstr ""
+
+#: src/widgets/buttons/menu/track-options-button.vala:78
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:33
+#: src/widgets/buttons/menu/track-queue-options-button.vala:67
+msgid "Show info"
+msgstr ""
+
+#: src/widgets/buttons/menu/track-options-button.vala:79
+#: src/widgets/buttons/menu/track-options-button.vala:104
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:34
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:45
+#: src/widgets/buttons/menu/track-queue-options-button.vala:68
+#: src/widgets/buttons/menu/track-queue-options-button.vala:98
+msgid "Play next"
+msgstr ""
+
+#: src/widgets/buttons/menu/track-options-button.vala:81
+#: src/widgets/buttons/menu/track-options-button.vala:106
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:36
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:47
+#: src/widgets/buttons/menu/track-queue-options-button.vala:70
+#: src/widgets/buttons/menu/track-queue-options-button.vala:100
+msgid "Add to playlist"
+msgstr "Çalma Listesine Ekle"
+
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:37
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:48
+msgid "Remove from playlist"
+msgstr "Çalma Listesinden Kaldır"
+
+#: src/widgets/buttons/menu/track-queue-options-button.vala:71
+#: src/widgets/buttons/menu/track-queue-options-button.vala:101
+msgid "Remove from queue"
+msgstr "Kuyruktan Kaldır"
+
+#: src/widgets/buttons/menu/volume-button.vala:121
+msgid "Volume control"
+msgstr "Ses Denetimi"
+
+#: src/widgets/buttons/menu/volume-button.vala:261
+msgid "Unmute"
+msgstr "Sesi Aç"
+
+#: src/widgets/buttons/menu/volume-button.vala:261
+msgid "Mute"
+msgstr "Sessiz"
+
+#: src/widgets/cache-indicator/job-info-badge.vala:44
+#: src/widgets/save-stack.vala:52 src/widgets/views/abstract-cachiable.vala:172
+msgid "Album"
+msgstr "Albüm"
+
+#. Translators: n track from n tracks saved
+#: src/widgets/cache-indicator/job-info-badge.vala:77
+#, c-format
+msgid "%d / %d saved%s"
+msgid_plural "%d / %d saved%s"
+msgstr[0] "%d / %d kaydedildi %s"
+
+#: src/widgets/cache-indicator/job-info-badge.vala:84
+#, c-format
+msgid "%d track saving now"
+msgid_plural "%d tracks saving now"
+msgstr[0] "%d parça şimdi kaydediliyor"
+
+#: src/widgets/info-marks.vala:41
+#, c-format
+msgid "Track was replaced. Original version: %s, %s"
+msgstr ""
+
+#: src/widgets/playlist-micro.vala:157 src/widgets/views/playlist.vala:241
+#, c-format
+msgid "Owner: %s"
+msgstr "Sahibi: %s"
+
+#: src/widgets/playlist-row.vala:85
+#, c-format
+msgid "Track count: %s"
+msgstr "Parça sayısı: %s"
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:88
+#: src/widgets/preferences/preferences-dialog.vala:134
+msgid "Delete cache files?"
+msgstr "Ön bellek dosyaları silinsin mi?"
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:89
+msgid "Move saved files?"
+msgstr "Kayıtlı dosyalar taşınsın mı?"
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:90
+#: src/widgets/preferences/preferences-dialog.vala:135
+msgid ""
+"All cache will be deleted. This doesn't affect on saved playlists or albums"
+msgstr ""
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:91
+msgid ""
+"All saved playlists and albums will be moved to cache files. This could take "
+"a while."
+msgstr ""
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:129
+msgid "Deleting…"
+msgstr "Siliniyor…"
+
+#: src/widgets/save-stack.vala:54
+msgid "Image"
+msgstr "Görüntü"
+
+#: src/widgets/save-stack.vala:58
+msgid "Track"
+msgstr "Parça"
+
+#: src/widgets/save-stack.vala:75
+#, c-format
+msgid "%s saving…"
+msgstr "%s kaydediliyor…"
+
+#: src/widgets/save-stack.vala:76
+#, c-format
+msgid "%s cached"
+msgstr "%s ön belleklendi"
+
+#: src/widgets/save-stack.vala:77
+#, c-format
+msgid "%s saved"
+msgstr "%s kaydedildi"
+
+#: src/widgets/sidebar/childs/player-queue.vala:66
+#, c-format
+msgid "Playlist \"%s\""
+msgstr "Çalma Listesi \"%s\""
+
+#: src/widgets/sidebar/childs/player-queue.vala:70
+#, c-format
+msgid "Album \"%s\""
+msgstr "Sanatçı \"%s\""
+
+#: src/widgets/sidebar/childs/player-queue.vala:74
+#, c-format
+msgid "By search results \"%s\""
+msgstr "Arama sonuçlarına göre \"%s\""
+
+#: src/widgets/sidebar/childs/player-queue.vala:78
+msgid "Track list"
+msgstr "Parça listesi"
+
+#: src/widgets/sidebar/childs/track-info.vala:68
+msgid "Your music track"
+msgstr "Müzik parçanız"
+
+#: src/widgets/sidebar/childs/track-info.vala:84
+msgid "Music track"
+msgstr "Müzik parçası"
+
+#: src/widgets/sidebar/childs/wave-settings.vala:39
+msgid "Wave settings"
+msgstr "Dalga ayarları"
+
+#: src/widgets/track-rows/base.vala:79 src/widgets/track-rows/default.vala:100
+msgid "Track is not available"
+msgstr "Parça yok"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:78
+#, c-format
+msgid "%s '%s' saved successfully"
+msgstr "%s '%s' kaydedildi"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:89
+#, c-format
+msgid "%s '%s' saving was stopped, due to network error"
+msgstr "%s '%s' kaydedilemedi, ağ hatası oluştu"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:99
+#, c-format
+msgid "%s '%s' saving was aborted"
+msgstr "%s '%s' kaydından vazgeçildi"
+
+#. Translators: %s - content type (e.g. "Playlist")
+#: src/widgets/views/abstract-cachiable.vala:191
+#, c-format
+msgid "%s saving has started"
+msgstr "%s kaydı başladı"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:229
+#, c-format
+msgid "%s '%s' was moved from data to cache"
+msgstr "%s '%s' veriden ön belleğe taşındı"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:239
+#, c-format
+msgid "%s removing has started. Please do not close the app"
+msgstr "%s kaldırma başladı. Lütfen uygulamayı kapatmayın"
+
+#: src/widgets/views/cant-show.vala:37
+#, c-format
+msgid "Error %d"
+msgstr "Hata %d"
+
+#: src/widgets/views/cant-show.vala:41
+msgid "Can't load page"
+msgstr "Sayfa yüklenemedi"
+
+#: src/widgets/views/cant-show.vala:44
+msgid "Can't find desired content"
+msgstr "İstenen içerik bulunamadı"
+
+#: src/widgets/views/playlist.vala:84
+msgid "Delete playlist?"
+msgstr "Çalma listesi silinsin mi?"
+
+#: src/widgets/views/playlist.vala:85
+#, c-format
+msgid "Playlist '%s' will be permanently deleted."
+msgstr ""
+
+#: src/widgets/views/playlist.vala:104
+#, c-format
+msgid "Playlist '%s' was deleted"
+msgstr "'%s' çalma listesi silindi"
+
+#. Translators: %s is female person
+#: src/widgets/views/playlist.vala:247
+#, c-format
+msgctxt "female person"
+msgid "%s updated playlist %s"
+msgstr "%s, %s çalma listesini güncelledi"
+
+#. Translators: %s is male person
+#: src/widgets/views/playlist.vala:251
+#, c-format
+msgctxt "male person"
+msgid "%s updated playlist %s"
+msgstr "%s, %s çalma listesini güncelledi"
+
+#: src/widgets/views/playlist.vala:281
+#, c-format
+msgid "Can't change visibility of '%s'"
+msgstr "'%s' görünürlüğü değiştirelemedi"
+
+#: src/widgets/views/playlist.vala:287
+#, c-format
+msgid "Playlist '%s' is public now"
+msgstr "Çalma listesi '%s' artık genel"
+
+#: src/widgets/views/playlist.vala:290
+#, c-format
+msgid "Playlist '%s' is private now"
+msgstr "Çalma listesi '%s' artık özel"
+
+#: src/window.vala:235
+#, c-format
+msgid "Window info message: %s"
+msgstr "Pencere bilgi iletisi: %s"
+
+#~ msgid "Rirusha"
+#~ msgstr "Rirusha"
diff --git a/po/update_potfiles.sh b/po/update_potfiles.sh
index 59454fe..fe5439b 100644
--- a/po/update_potfiles.sh
+++ b/po/update_potfiles.sh
@@ -6,8 +6,8 @@ touch ./po/unsort-POTFILES.in
find ./data/ui -iname "*.ui" -type f -exec grep -l "translatable" {} + | while read file; do echo "${file#./}" >> ./po/unsort-POTFILES.in; done
find ./data/ui -iname "*.blp" -type f -exec grep -lrE '_\(|C_|ngettext' {} + | while read file; do echo "${file#./}" >> ./po/unsort-POTFILES.in; done
find ./src -iname "*.vala" -type f -exec grep -lrE '_\(|C_|ngettext' {} + | while read file; do echo "${file#./}" >> ./po/unsort-POTFILES.in; done
-find ./data/ -iname "*.desktop.in" | while read file; do echo "${file#./}" >> ./po/unsort-POTFILES.in; done
-find ./data/ -iname "*.appdata.xml.in" | while read file; do echo "${file#./}" >> ./po/unsort-POTFILES.in; done
+find ./data/ -iname "*.desktop.in.in" | while read file; do echo "${file#./}" >> ./po/unsort-POTFILES.in; done
+find ./data/ -iname "*.metainfo.xml.in.in" | while read file; do echo "${file#./}" >> ./po/unsort-POTFILES.in; done
cat ./po/unsort-POTFILES.in | sort | uniq > ./po/POTFILES.in
diff --git a/po/zh_CN.po b/po/zh_CN.po
new file mode 100644
index 0000000..90f9ffb
--- /dev/null
+++ b/po/zh_CN.po
@@ -0,0 +1,1328 @@
+# Chinese (China) translation for cassette.
+# Copyright (C) 2024 cassette's COPYRIGHT HOLDER
+# This file is distributed under the same license as the cassette package.
+# lumingzh , 2024-2025.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: cassette main\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/Rirusha/Cassette/-/issues\n"
+"POT-Creation-Date: 2025-01-14 06:02+0000\n"
+"PO-Revision-Date: 2025-06-22 14:48+0800\n"
+"Last-Translator: lumingzh \n"
+"Language-Team: Chinese (China) \n"
+"Language: zh_CN\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: Gtranslator 48.0\n"
+
+#. Translators: app name should be translated
+#: data/space.rirusha.Cassette.desktop.in.in:4
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:3 src/main.vala:24
+msgid "Cassette"
+msgstr "Cassette"
+
+#: data/space.rirusha.Cassette.desktop.in.in:5
+msgid "Unofficial Yandex Music client for GNOME"
+msgstr "GNOME 的第三方 Yandex 音乐客户端"
+
+#. Translators: keep number of ';'
+#: data/space.rirusha.Cassette.desktop.in.in:7
+#: data/space.rirusha.Cassette-Devel.desktop.in.in:7
+msgid "yandex;yandex music;yam;music;"
+msgstr "yandex;yandex music;yam;music;音乐;播放器;歌曲;"
+
+#. Translators: app name should be translated
+#: data/space.rirusha.Cassette-Devel.desktop.in.in:4
+msgid "Cassette (Devel)"
+msgstr "Cassette(开发版)"
+
+#: data/space.rirusha.Cassette-Devel.desktop.in.in:5
+msgid "Unofficial Yandex Music client for GNOME (Devel build)"
+msgstr "GNOME 的第三方 Yandex 音乐客户端(开发版构建)"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:7
+msgid "Unofficial Yandex Music client"
+msgstr "第三方 Yandex 音乐客户端"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:9
+msgid ""
+"GTK/Adwaita application that allows to use Yandex Music service on Linux "
+"operating systems."
+msgstr "可让您在 Linux 操作系统上使用 Yandex 音乐服务的 GTK/Adwaita 应用程序。"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:13
+msgid "Features:"
+msgstr "特性:"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:17
+msgid "Allows you to save playlists and albums for offline listening"
+msgstr "可让您保存播放列表和专辑用于离线播放"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:20
+msgid "Has a dynamic \"karaoke mode\" right in the track information panel"
+msgstr "在曲目信息面板中有动态“卡拉 OK 模式”"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:23
+msgid ""
+"Allows you to more precisely customize the display and playback of special "
+"content, such as explicit or suitable for children."
+msgstr "可让您更精准自定义显示和播放特定内容,比如露骨内容或适合儿童的内容。"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:27
+msgid "Displays tracks that are currently unavailable in the service"
+msgstr "显示当前在服务中不可用的曲目"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:30
+msgid "Shows which tracks have been replaced and by what"
+msgstr "显示被替换的曲目和替换后的曲目"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:34
+msgid ""
+"Cassette is an unofficial client and is not associated with or endorsed by "
+"Yandex."
+msgstr "Cassette 是第三方客户端且未与 Yandex 关联或受其支持。"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:63
+msgid "Liked view"
+msgstr "喜欢视图"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:67
+msgid "Playlists view"
+msgstr "播放列表视图"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:71
+msgid "Sync lyrics"
+msgstr "同步歌词"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:75
+msgid "Playback queue"
+msgstr "播放队列"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:79
+msgid "Waves view"
+msgstr "波形视图"
+
+#: data/space.rirusha.Cassette.metainfo.xml.in.in:83
+msgid "Main preferences"
+msgstr "主首选项"
+
+#: data/ui/account-info-dialog.blp:5
+msgid "Account information"
+msgstr "账号信息"
+
+#: data/ui/account-info-dialog.blp:52
+msgid "Open in browser"
+msgstr "在浏览器中打开"
+
+#: data/ui/account-info-dialog.blp:61
+msgid "Plus"
+msgstr "会员"
+
+#: data/ui/account-info-dialog.blp:70 data/ui/no-plus-dialog.blp:51
+#: src/authenticator.vala:52
+msgid "Log out"
+msgstr "登出"
+
+#. Translators: usage mode of application. Online mode or Local mode available
+#: data/ui/begin-view.ui:11
+msgid "Usage mode"
+msgstr "使用模式"
+
+#. Translators: usage mode of application. Online mode or Local mode available
+#: data/ui/begin-view.ui:40
+msgctxt "auth window"
+msgid "Choose usage mode"
+msgstr "选择使用模式"
+
+#: data/ui/begin-view.ui:50
+msgctxt "auth window"
+msgid ""
+"If you select the \"Online mode\", you can access local music by enabling "
+"the display of the corresponding pages in the pages preferences, as well as "
+"log in later when selecting \"Local mode\""
+msgstr ""
+"如果您选择“在线模式”,可以通过在页面首选项中启用显示相应页面来访问本地音乐,"
+"或选择“本地模式”后登录"
+
+#. Translators: usage mode of application. Online mode or Local mode available
+#: data/ui/begin-view.ui:75
+msgctxt "auth window"
+msgid "Online mode"
+msgstr "在线模式"
+
+#. Translators: usage mode of application. Online mode or Local mode available
+#: data/ui/begin-view.ui:85
+msgctxt "auth window"
+msgid "Local mode"
+msgstr "本地模式"
+
+#. Translators: "Close" window button label
+#: data/ui/begin-view.ui:97
+msgctxt "auth window"
+msgid "Close"
+msgstr "关闭"
+
+#: data/ui/begin-view.ui:112
+msgid "Authorization"
+msgstr "授权"
+
+#. Translators: size of cache dirs
+#: data/ui/cache-deletion-preferences.ui:21
+msgid "Dirs size:"
+msgstr "目录大小:"
+
+#. Translators: tempprary cache folder
+#: data/ui/cache-deletion-preferences.ui:35
+msgid "Cache"
+msgstr "缓存"
+
+#: data/ui/cache-deletion-preferences.ui:88
+msgid "Clear"
+msgstr "清除"
+
+#. Translators: temparence cache folder
+#: data/ui/cache-deletion-preferences.ui:109
+msgid "Data"
+msgstr "数据"
+
+#: data/ui/cache-deletion-preferences.ui:159
+msgid "Move to cache"
+msgstr "移至缓存"
+
+#: data/ui/cache-deletion-preferences.ui:163
+msgid "Move"
+msgstr "移动"
+
+#: data/ui/cache-indicator.blp:35
+msgid "Show all cache jobs"
+msgstr "显示所有缓存任务"
+
+#: data/ui/custom-page-preferences.ui:17
+msgid "Title: "
+msgstr "标题:"
+
+#: data/ui/custom-page-preferences.ui:38
+msgid "Icon: "
+msgstr "图标:"
+
+#: data/ui/custom-page-preferences.ui:75
+msgid "Save page"
+msgstr "保存页面"
+
+#: data/ui/custom-page-preferences.ui:92
+msgid "Remove page"
+msgstr "移除页面"
+
+#. Translators: title of preference group
+#: data/ui/custom-pages-preferences.ui:7
+msgctxt "preference window"
+msgid "Custom pages"
+msgstr "自定义页面"
+
+#. Translators: description of preference group
+#: data/ui/custom-pages-preferences.ui:9
+msgctxt "preference window"
+msgid "Here you can control custom pages."
+msgstr "您可以在这里控制自定义页面。"
+
+#: data/ui/disliked-tracks-view.ui:23
+#: src/widgets/buttons/menu/primary-menu-button.vala:32
+msgid "Disliked tracks"
+msgstr "讨厌的曲目"
+
+#: data/ui/header-bar.blp:12
+msgid "Go back"
+msgstr "返回"
+
+#: data/ui/header-bar.blp:20
+msgid "Refresh"
+msgstr "刷新"
+
+#: data/ui/header-bar.blp:28
+msgid "Yandex Music search"
+msgstr "Yandex 音乐搜索"
+
+#: data/ui/help-overlay.blp:11
+msgid "Main Actions"
+msgstr "主操作"
+
+#: data/ui/help-overlay.blp:14
+msgid "Show Shortcuts"
+msgstr "显示快捷键"
+
+#: data/ui/help-overlay.blp:19
+msgid "Quit"
+msgstr "退出"
+
+#: data/ui/help-overlay.blp:25
+msgid "Playback Control"
+msgstr "播放控制"
+
+#: data/ui/help-overlay.blp:28
+msgid "Play/Pause playback"
+msgstr "播放/暂停播放"
+
+#: data/ui/help-overlay.blp:33 data/ui/player-bar.blp:87
+msgid "Play previous track"
+msgstr "播放上一首曲目"
+
+#: data/ui/help-overlay.blp:38 data/ui/player-bar.blp:119
+msgid "Play next track"
+msgstr "播放下一首曲目"
+
+#: data/ui/help-overlay.blp:43
+msgid "Mute app"
+msgstr "静音应用"
+
+#: data/ui/help-overlay.blp:49
+msgid "Queue control"
+msgstr "队列控制"
+
+#: data/ui/help-overlay.blp:52 data/ui/player-bar.blp:141
+msgid "Change shuffle mode"
+msgstr "更改乱序模式"
+
+#: data/ui/help-overlay.blp:57 data/ui/player-bar.blp:65
+msgid "Change repeat mode"
+msgstr "更改重复模式"
+
+#: data/ui/help-overlay.blp:63
+msgid "Other"
+msgstr "其它"
+
+#: data/ui/help-overlay.blp:66
+msgid "Share current track"
+msgstr "分享当前曲目"
+
+#: data/ui/help-overlay.blp:71
+msgid "Parse url from clipboard"
+msgstr "从剪贴板解析 URL"
+
+#: data/ui/info-marks.ui:23
+msgid "Explicit content"
+msgstr "露骨内容"
+
+#: data/ui/info-marks.ui:32
+msgid "Child content"
+msgstr "儿童内容"
+
+#: data/ui/main-view.blp:6
+msgid "Page under construction"
+msgstr "施工中页面"
+
+#: data/ui/main-view.blp:20
+msgid "All stations"
+msgstr "所有电台"
+
+#: data/ui/no-plus-dialog.blp:20
+msgid "No Plus Subscription"
+msgstr "无会员订阅"
+
+#: data/ui/no-plus-dialog.blp:21
+msgid ""
+"To avoid problems with Yandex, the online functions of the application are "
+"not available without a Yandex.Plus subscription. Thanks for understanding."
+msgstr ""
+"为了避免与 Yandex 相关的问题,该应用程序的在线功能在没有 Yandex 会员订阅时不"
+"可用。感谢理解。"
+
+#: data/ui/no-plus-dialog.blp:41
+msgid "Get Plus"
+msgstr "获取会员"
+
+#: data/ui/player-bar.blp:22
+msgid "Show track info"
+msgstr "显示曲目信息"
+
+#: data/ui/player-bar.blp:206
+msgid "Show wave settings"
+msgstr "显示波形设置"
+
+#: data/ui/player-bar.blp:216
+msgid "Show playback queue"
+msgstr "显示播放队列"
+
+#: data/ui/player-bar.blp:229
+msgid "Change volume"
+msgstr "更改音量"
+
+#: data/ui/player-queue.blp:5 src/application.vala:272
+msgid "Playing now"
+msgstr "正在播放"
+
+#: data/ui/playlist-choose-dialog.ui:8
+msgid "Choose playlist to add"
+msgstr "选择添加的播放列表"
+
+#: data/ui/playlist-create-button.ui:36
+msgid "Create playlist"
+msgstr "创建播放列表"
+
+#: data/ui/playlist-micro.ui:39 data/ui/playlist-view.ui:56
+#: src/widgets/cache-indicator/job-info-badge.vala:43
+#: src/widgets/save-stack.vala:57 src/widgets/views/abstract-cachiable.vala:168
+msgid "Playlist"
+msgstr "播放列表"
+
+#: data/ui/playlist-row.ui:40
+msgid "Empty"
+msgstr "空"
+
+#: data/ui/playlists-view.ui:23
+msgid "Your playlists"
+msgstr "您的播放列表"
+
+#: data/ui/playlists-view.ui:39
+msgid "Also you liked these playlists"
+msgstr "您也喜欢这些播放列表"
+
+#: data/ui/playlist-view.ui:187
+msgid "Change playlist visibility"
+msgstr "更改播放列表可见性"
+
+#: data/ui/playlist-view.ui:211
+msgid "Add page to header"
+msgstr "将页面添加到头部"
+
+#. Translators: tooltip of "save" button
+#: data/ui/playlist-view.ui:233 data/ui/playlist-view.ui:237
+#: src/widgets/buttons/menu/track-options-button.vala:83
+#: src/widgets/buttons/menu/track-options-button.vala:108
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:39
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:50
+#: src/widgets/buttons/menu/track-queue-options-button.vala:73
+#: src/widgets/buttons/menu/track-queue-options-button.vala:103
+msgid "Save"
+msgstr "保存"
+
+#. Translators: tooltip of "delete" button
+#: data/ui/playlist-view.ui:256 data/ui/playlist-view.ui:260
+#: src/widgets/preferences/cache-deletion-preferences.vala:97
+#: src/widgets/preferences/preferences-dialog.vala:141
+#: src/widgets/views/playlist.vala:91
+msgid "Delete"
+msgstr "删除"
+
+#. Translators: tooltip of "abort" button
+#: data/ui/playlist-view.ui:276
+msgid "Abort"
+msgstr "中止"
+
+#: data/ui/playlist-view.ui:280
+msgid "Stop"
+msgstr "停止"
+
+#: data/ui/preferences-dialog.ui:8
+msgctxt "preference dialog"
+msgid "Main"
+msgstr "主要"
+
+#: data/ui/preferences-dialog.ui:12
+msgctxt "preference dialog"
+msgid "General"
+msgstr "常规"
+
+#: data/ui/preferences-dialog.ui:15
+msgctxt "preference dialog"
+msgid "Enable high quality audio"
+msgstr "启用高质量音频"
+
+#: data/ui/preferences-dialog.ui:16
+msgctxt "preference dialog"
+msgid ""
+"Attention! If the track was downloaded in low quality, and after the "
+"download is enabled in high quality, the audio will not be reloaded"
+msgstr ""
+"注意!如果曲目已以低质量下载并在下载之后启用了高质量选项,则已下载音频不会重"
+"新加载"
+
+#: data/ui/preferences-dialog.ui:21
+msgctxt "preference dialog"
+msgid "Add track on top of playlist"
+msgstr "添加曲目至播放列表顶部"
+
+#: data/ui/preferences-dialog.ui:22
+msgctxt "preference dialog"
+msgid "Will the track be added to the playlist as the first or as the last"
+msgstr "将曲目添加至播放列表顶部还是底部"
+
+#: data/ui/preferences-dialog.ui:27
+msgctxt "preference dialog"
+msgid "Show 'Playing now' notification"
+msgstr "显示“正在播放”通知"
+
+#: data/ui/preferences-dialog.ui:28
+msgctxt "preference dialog"
+msgid "Show a notification when switching a track"
+msgstr "切换曲目时显示通知"
+
+#: data/ui/preferences-dialog.ui:35
+msgctxt "preference dialog"
+msgid "Show additional marks"
+msgstr "显示额外标记"
+
+#: data/ui/preferences-dialog.ui:36
+msgctxt "preference dialog"
+msgid "Additional marks display additional information about the track"
+msgstr "额外标记会显示关于曲目的额外信息"
+
+#: data/ui/preferences-dialog.ui:39
+msgctxt "preference dialog"
+msgid "Show save mark"
+msgstr "显示保存标记"
+
+#: data/ui/preferences-dialog.ui:40
+msgctxt "preference dialog"
+msgid "Show a label with information about the caching status of the track"
+msgstr "显示带有关于曲目缓存状态信息的标签"
+
+#: data/ui/preferences-dialog.ui:45
+msgctxt "preference dialog"
+msgid "Show cache mark"
+msgstr "显示缓存标记"
+
+#: data/ui/preferences-dialog.ui:46
+msgctxt "preference dialog"
+msgid "Show a mark about saving a track to the cache"
+msgstr "显示关于将曲目保存至缓存的标记"
+
+#: data/ui/preferences-dialog.ui:51
+msgctxt "preference dialog"
+msgid "Show replaced mark"
+msgstr "显示替换标记"
+
+#: data/ui/preferences-dialog.ui:52
+msgctxt "preference dialog"
+msgid "Show a mark that shows that the track has been replaced"
+msgstr "显示表明曲目已被替换的标记"
+
+#: data/ui/preferences-dialog.ui:59
+msgctxt "preference dialog"
+msgid "Tracks visibility"
+msgstr "曲目可见性"
+
+#: data/ui/preferences-dialog.ui:60
+msgctxt "preference dialog"
+msgid ""
+"Show special tracks in track lists. Filter doesn't work when searching in "
+"track list"
+msgstr "显示曲目列表中的特定曲目。在曲目列表中搜索时无法使用筛选器"
+
+#: data/ui/preferences-dialog.ui:63
+msgctxt "preference dialog"
+msgid "Show unavailable content"
+msgstr "显示不可用内容"
+
+#: data/ui/preferences-dialog.ui:64
+msgctxt "preference dialog"
+msgid ""
+"Show tracks that are not available in the service. You can't listen to them"
+msgstr "显示服务中不可用的曲目。您无法听这些曲目"
+
+#: data/ui/preferences-dialog.ui:69
+msgctxt "preference dialog"
+msgid "Show content suitable for children"
+msgstr "显示适合儿童的内容"
+
+#: data/ui/preferences-dialog.ui:70
+msgctxt "preference dialog"
+msgid "Show content that is specific to children"
+msgstr "显示儿童特定的内容"
+
+#: data/ui/preferences-dialog.ui:75
+msgctxt "preference dialog"
+msgid "Show explicit content"
+msgstr "显示露骨内容"
+
+#: data/ui/preferences-dialog.ui:76
+msgctxt "preference dialog"
+msgid "Show content that has age restrictions"
+msgstr "显示具有年龄限制的内容"
+
+#: data/ui/preferences-dialog.ui:83
+msgctxt "preference dialog"
+msgid "Other"
+msgstr "其它"
+
+#: data/ui/preferences-dialog.ui:86
+msgctxt "preference dialog"
+msgid "Enable Debug-Mode"
+msgstr "启用调试模式"
+
+#: data/ui/preferences-dialog.ui:87
+msgctxt "preference dialog"
+msgid "Enable logging of additional information useful for error detection"
+msgstr "启用对错误检测有用的额外信息的日志记录"
+
+#: data/ui/preferences-dialog.ui:94
+msgctxt "preference dialog"
+msgid "Experimental"
+msgstr "试验"
+
+#: data/ui/preferences-dialog.ui:95
+msgctxt "preference dialog"
+msgid "Parameters that test anything and may be removed in future releases"
+msgstr "测试所有部分且可能在未来发布中移除的参数"
+
+#: data/ui/preferences-dialog.ui:98
+msgctxt "preference dialog"
+msgid "Use only bottom sheet menus"
+msgstr "使用仅底部操作表菜单"
+
+#: data/ui/preferences-dialog.ui:99
+msgctxt "preference dialog"
+msgid "Test preference for bottom sheet menu"
+msgstr "底部操作表菜单的测试首选项"
+
+#: data/ui/preferences-dialog.ui:108
+msgctxt "preference dialog"
+msgid "Pages"
+msgstr "页面"
+
+#: data/ui/preferences-dialog.ui:112
+msgctxt "preference dialog"
+msgid "Static pages"
+msgstr "静态页面"
+
+#: data/ui/preferences-dialog.ui:113
+msgctxt "preference dialog"
+msgid ""
+"Here you can show or hide static pages. They will always be displayed on the "
+"left side of the header."
+msgstr "这里您可以显示或隐藏静态页面。它们将总是显示在标头的左侧。"
+
+#: data/ui/preferences-dialog.ui:116
+msgctxt "preference dialog"
+msgid "Show 'Main' page"
+msgstr "显示“主”页面"
+
+#: data/ui/preferences-dialog.ui:121
+msgctxt "preference dialog"
+msgid "Show 'Liked' page"
+msgstr "显示“喜欢”页面"
+
+#: data/ui/preferences-dialog.ui:126
+msgctxt "preference dialog"
+msgid "Show 'Playlists' page"
+msgstr "显示“播放列表”页面"
+
+#: data/ui/preferences-dialog.ui:138
+msgctxt "preference dialog"
+msgid "Cache"
+msgstr "缓存"
+
+#: data/ui/preferences-dialog.ui:142
+msgctxt "preference dialog"
+msgid "Cache managing"
+msgstr "缓存管理"
+
+#: data/ui/preferences-dialog.ui:143
+msgctxt "preference dialog"
+msgid ""
+"Here you can see application memory usage, delete all cache from cache "
+"folder and control downloading cache to disk"
+msgstr ""
+"这里您可以查看应用程序的内存占用,从缓存文件夹删除所有缓存和对将缓存下载至磁"
+"盘进行控制"
+
+#: data/ui/preferences-dialog.ui:146
+msgctxt "preference dialog"
+msgid "Cache content"
+msgstr "缓存内容"
+
+#: data/ui/preferences-dialog.ui:147
+msgctxt "preference dialog"
+msgid ""
+"For better performance. Over time, it starts to take up a lot of space. So "
+"far, manual cleaning is required. If enabled, the application will cache all "
+"content to cache dir for better performance, otherwise, the application will "
+"load content only when caching objects (such as playlists or albums). "
+"Disabling the parameter does not delete already downloaded content"
+msgstr ""
+"为了更好的性能。随着使用,它会开始占用大量空间。目前需要手动清理。如果启用,"
+"应用程序会将所有内容缓存至缓存目录以获得更好的性能,否则会仅在缓存对象(比如"
+"播放列表或专辑)时加载内容。禁用该选项不会删除已经下载的内容"
+
+#: data/ui/save-stack.ui:25
+msgid "Content saving…"
+msgstr "正在保存内容…"
+
+#: data/ui/save-stack.ui:42
+msgid "Content cached"
+msgstr "内容已缓存"
+
+#: data/ui/save-stack.ui:56
+msgid "Content saved"
+msgstr "内容已保存"
+
+#: data/ui/stations-view.blp:22
+msgid "Stations dashboard"
+msgstr "电台仪表盘"
+
+#: data/ui/stations-view.blp:58
+msgid "Searching for station…"
+msgstr "搜索电台…"
+
+#: data/ui/stations-view.blp:77
+msgid "By genre…"
+msgstr "按流派…"
+
+#: data/ui/stations-view.blp:99 data/ui/wave-settings.blp:60
+msgid "By mood…"
+msgstr "按情绪…"
+
+#: data/ui/stations-view.blp:121 data/ui/wave-settings.blp:25
+msgid "By activity…"
+msgstr "按活跃…"
+
+#: data/ui/stations-view.blp:143
+msgid "By epoch…"
+msgstr "按时代…"
+
+#: data/ui/stations-view.blp:165
+msgid "Other…"
+msgstr "其它…"
+
+#: data/ui/stations-view.blp:209
+msgid "No stations with that name were found"
+msgstr "未找到带有该名称的电台"
+
+#: data/ui/track-info.blp:103
+msgid "Track lyrics"
+msgstr "曲目歌词"
+
+#: data/ui/track-info.blp:117
+msgid "Authors"
+msgstr "作者"
+
+#: data/ui/track-info.blp:135
+msgid "Source"
+msgstr "来源"
+
+#: data/ui/track-info.blp:158
+msgid "Similar tracks"
+msgstr "相似曲目"
+
+#. Translators: placeholder of "search" entry. Local track search (inside of track list)
+#: data/ui/track-list.ui:21
+msgid "Search track"
+msgstr "搜索曲目"
+
+#. Translators: part of sort by
+#: data/ui/track-list.ui:30
+msgid "Sort by"
+msgstr "排序方式"
+
+#: data/ui/track-list.ui:77
+msgid "No tracks to display"
+msgstr "无可显示曲目"
+
+#: data/ui/track-list.ui:88
+msgid "name"
+msgstr "名称"
+
+#: data/ui/track-list.ui:92
+msgid "artist"
+msgstr "艺人"
+
+#: data/ui/track-list.ui:96
+msgid "album"
+msgstr "专辑"
+
+#: data/ui/track-list.ui:100
+msgid "duration"
+msgstr "时长"
+
+#: data/ui/track-placeholder.ui:9 src/widgets/pages/loading-page.vala:38
+msgid "Loading…"
+msgstr "正在加载…"
+
+#: data/ui/wave-settings.blp:42
+msgid "By diversity…"
+msgstr "按多元性…"
+
+#: data/ui/wave-settings.blp:78
+msgid "By language…"
+msgstr "按语言…"
+
+#: data/ui/wave-settings.blp:93
+msgid "Can't get wave settings"
+msgstr "无法获取波形设置"
+
+#: data/ui/window.blp:57 src/window.vala:253
+msgid "Reconnect"
+msgstr "重新连接"
+
+#: data/ui/window.blp:58 src/application.vala:152
+msgid "Connection problems"
+msgstr "连接问题"
+
+#. Translators: NAME /n NAME
+#: src/about.vala:60
+msgid "translator-credits"
+msgstr "lumingzh , 2024-2025"
+
+#: src/about.vala:68
+msgid "Telegram channel"
+msgstr "Telegram 频道"
+
+#: src/about.vala:69
+msgid "Financial support (Tinkoff)"
+msgstr "财政支持(Tinkoff)"
+
+#: src/about.vala:70
+msgid "Financial support (Boosty)"
+msgstr "财政支持(Boosty)"
+
+#. Please keep alphabetical
+#: src/about.vala:73
+msgid "Sponsors"
+msgstr "赞助者"
+
+#: src/application.vala:63
+msgid "Print version information and exit"
+msgstr "显示版本信息并退出"
+
+#: src/application.vala:146
+msgid "Connection restored"
+msgstr "连接已恢复"
+
+#: src/application.vala:274
+msgid "Previous"
+msgstr "上一首"
+
+#: src/application.vala:275
+msgid "Next"
+msgstr "下一首"
+
+#: src/application.vala:358
+msgid "Current track can not be copied to the clipboard"
+msgstr "当前曲目无法复制到剪贴板"
+
+#: src/application.vala:372 src/application.vala:379 src/application.vala:436
+msgid "Can't parse clipboard content"
+msgstr "无法解析剪贴板内容"
+
+#: src/application.vala:390
+msgid "Users view not implemented yet"
+msgstr "用户视图尚未实现"
+
+#: src/application.vala:406 src/application.vala:420
+msgid "Albums view not implemented yet"
+msgstr "专辑视图尚未实现"
+
+#: src/authenticator.vala:47
+msgid "Log out?"
+msgstr "登出吗?"
+
+#: src/authenticator.vala:48
+msgid "You will need to log in again to use the app"
+msgstr "您将需要再次登录以使用该应用"
+
+#. Translators: cancel of deleting playlist
+#: src/authenticator.vala:51
+#: src/widgets/preferences/cache-deletion-preferences.vala:96
+#: src/widgets/preferences/preferences-dialog.vala:140
+#: src/widgets/views/playlist.vala:90
+msgid "Cancel"
+msgstr "取消"
+
+#: src/authenticator.vala:98
+#: src/widgets/preferences/cache-deletion-preferences.vala:130
+msgid "Moving…"
+msgstr "正在移动…"
+
+#. Translators: Playlist with liked tracks
+#: src/client/api/objects/playlist/playlist.vala:50
+#: src/client/api/objects/playlist/playlist.vala:100 src/pager.vala:277
+msgid "Liked"
+msgstr "喜爱"
+
+#. Translators: Playlist that updates every day
+#: src/client/api/objects/playlist/playlist.vala:54
+msgid "Daily"
+msgstr "每日"
+
+#. Translators: Unknown playlist
+#: src/client/api/objects/playlist/playlist.vala:58
+msgid "Unknown"
+msgstr "未知"
+
+#: src/client/cachier/storager.vala:125
+#, c-format
+msgid "Database was initialized, loc - %s"
+msgstr "数据库已初始化,位置 - %s"
+
+#: src/client/cachier/storager.vala:802
+#, c-format
+msgid "Can't save object %s"
+msgstr "无法保存对象 %s"
+
+#: src/client/cachier/storager.vala:819
+msgid "Byte"
+msgid_plural "Bytes"
+msgstr[0] "B"
+
+#: src/client/cachier/storager.vala:822
+msgid "Kilobyte"
+msgid_plural "Kilobytes"
+msgstr[0] "KB"
+
+#: src/client/cachier/storager.vala:825
+msgid "Megabyte"
+msgid_plural "Megabytes"
+msgstr[0] "MB"
+
+#: src/client/cachier/storager.vala:828
+msgid "Gigabyte"
+msgid_plural "Gigabytes"
+msgstr[0] "GB"
+
+#: src/client/cachier/storager.vala:831
+msgid "Terabyte"
+msgid_plural "Terabytes"
+msgstr[0] "TB"
+
+#: src/client/cachier/storager.vala:860
+#, c-format
+msgid "Error while getting cache directory size. Message %s"
+msgstr "获取缓存目录大小时出错。消息 %s"
+
+#: src/client/cachier/storager.vala:895
+#, c-format
+msgid "Error while getting permanent directory size. Message %s"
+msgstr "获取永存目录大小时出错。消息 %s"
+
+#: src/client/jsoner.vala:358 src/client/jsoner.vala:419
+#: src/client/jsoner.vala:526 src/client/jsoner.vala:550
+#, c-format
+msgid "Wrong type: expected %s, got %s"
+msgstr "类型错误:需要 %s,但获得 %s"
+
+#: src/client/player/mods/abstract-mode.vala:92
+msgid "Problems with queue"
+msgstr "队列有问题"
+
+#. Translators: name of new created playlist
+#: src/client/talkers/yam-talker.vala:628
+msgid "New Playlist"
+msgstr "新建播放列表"
+
+#: src/pager.vala:163
+#, c-format
+msgid "Can't set title \"%s\" to page"
+msgstr "无法为页面设定“%s”标题"
+
+#: src/pager.vala:174
+#, c-format
+msgid "Can't set icon with name \"%s\" to page"
+msgstr "无法为页面设定带名字“%s”的图标"
+
+#: src/pager.vala:200
+msgid "Reached max page count"
+msgstr "达到最大页数"
+
+#: src/pager.vala:206
+#, c-format
+msgid "Page '%s' already added"
+msgstr "页面“%s”已经添加"
+
+#: src/pager.vala:268
+msgid "Main"
+msgstr "主页"
+
+#: src/pager.vala:287
+msgid "Playlists"
+msgstr "播放列表"
+
+#: src/pager.vala:312
+#, c-format
+msgid "Can't read pages file. Message: %s"
+msgstr "无法读取页面文件。消息:%s"
+
+#: src/pager.vala:332
+#, c-format
+msgid "Can't create pages file. Message: %s"
+msgstr "无法创建页面文件。消息:%s"
+
+#: src/utils.vala:70
+msgid "Not implemented yet"
+msgstr "尚未实现"
+
+#: src/utils.vala:77
+msgid "Need authorization"
+msgstr "需要认证"
+
+#: src/utils.vala:81
+msgid "Need Bookmate subscription"
+msgstr "需要 Bookmate 订阅"
+
+#: src/utils.vala:177 src/utils.vala:193
+msgid "Link copied to clipboard"
+msgstr "链接已复制到剪贴板"
+
+#: src/utils.vala:242
+#, c-format
+msgid "Duration: %s h. %s min."
+msgstr "时长:%s 时 %s 分"
+
+#: src/utils.vala:244
+#, c-format
+msgid "Duration: %s min."
+msgstr "时长:%s 分"
+
+#: src/utils.vala:358
+msgid "today"
+msgstr "今天"
+
+#: src/utils.vala:360
+msgid "yesterday"
+msgstr "昨天"
+
+#: src/widgets/buttons/just/dislike-button.vala:38
+msgid "Remove dislike"
+msgstr "移除讨厌"
+
+#: src/widgets/buttons/just/dislike-button.vala:41
+msgid "Set dislike"
+msgstr "设为讨厌"
+
+#: src/widgets/buttons/just/like-button.vala:42
+msgid "Remove like"
+msgstr "移除喜爱"
+
+#: src/widgets/buttons/just/like-button.vala:49
+msgid "Set like"
+msgstr "设为喜爱"
+
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:38
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:41
+msgid "Pause"
+msgstr "暂停"
+
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:45
+#: src/widgets/buttons/just/play-buttons/abstract-play-button.vala:48
+msgid "Play"
+msgstr "播放"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:49
+#, c-format
+msgid "Playlist '%s'"
+msgstr "播放列表“%s”"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:54
+#: src/widgets/buttons/menu/playlist-options-button.vala:67
+msgid "My Vibe by playlist"
+msgstr "基于播放列表的推荐"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:55
+#: src/widgets/buttons/menu/playlist-options-button.vala:77
+#: src/widgets/buttons/menu/track-options-button.vala:81
+#: src/widgets/buttons/menu/track-options-button.vala:106
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:36
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:47
+#: src/widgets/buttons/menu/track-queue-options-button.vala:70
+#: src/widgets/buttons/menu/track-queue-options-button.vala:100
+msgid "Add to queue"
+msgstr "添加到队列"
+
+#: src/widgets/buttons/menu/playlist-options-button.vala:56
+#: src/widgets/buttons/menu/playlist-options-button.vala:78
+#: src/widgets/buttons/menu/track-options-button.vala:84
+#: src/widgets/buttons/menu/track-options-button.vala:109
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:40
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:51
+#: src/widgets/buttons/menu/track-queue-options-button.vala:74
+#: src/widgets/buttons/menu/track-queue-options-button.vala:104
+msgid "Share"
+msgstr "分享"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:27
+msgid "Primary menu"
+msgstr "主菜单"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:33
+msgid "Parse URL from clipboard"
+msgstr "从剪贴板解析 URL"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:34
+msgid "Preferences"
+msgstr "首选项"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:35
+msgid "Keyboard Shortcuts"
+msgstr "键盘快捷键"
+
+#: src/widgets/buttons/menu/primary-menu-button.vala:36
+msgid "About Cassette"
+msgstr "关于 Cassette"
+
+#: src/widgets/buttons/menu/track-options-button.vala:78
+#: src/widgets/buttons/menu/track-options-button.vala:95
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:33
+#: src/widgets/buttons/menu/track-queue-options-button.vala:67
+#: src/widgets/buttons/menu/track-queue-options-button.vala:88
+msgid "My Vibe by track"
+msgstr "基于单曲的推荐"
+
+#: src/widgets/buttons/menu/track-options-button.vala:79
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:34
+#: src/widgets/buttons/menu/track-queue-options-button.vala:68
+msgid "Show info"
+msgstr "显示信息"
+
+#: src/widgets/buttons/menu/track-options-button.vala:80
+#: src/widgets/buttons/menu/track-options-button.vala:105
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:35
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:46
+#: src/widgets/buttons/menu/track-queue-options-button.vala:69
+#: src/widgets/buttons/menu/track-queue-options-button.vala:99
+msgid "Play next"
+msgstr "播放下一首"
+
+#: src/widgets/buttons/menu/track-options-button.vala:82
+#: src/widgets/buttons/menu/track-options-button.vala:107
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:37
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:48
+#: src/widgets/buttons/menu/track-queue-options-button.vala:71
+#: src/widgets/buttons/menu/track-queue-options-button.vala:101
+msgid "Add to playlist"
+msgstr "添加到播放列表"
+
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:38
+#: src/widgets/buttons/menu/track-playlist-options-button.vala:49
+msgid "Remove from playlist"
+msgstr "从播放列表移除"
+
+#: src/widgets/buttons/menu/track-queue-options-button.vala:72
+#: src/widgets/buttons/menu/track-queue-options-button.vala:102
+msgid "Remove from queue"
+msgstr "从播放队列移除"
+
+#: src/widgets/buttons/menu/volume-button.vala:122
+msgid "Volume control"
+msgstr "音量控制"
+
+#: src/widgets/buttons/menu/volume-button.vala:262
+msgid "Unmute"
+msgstr "取消静音"
+
+#: src/widgets/buttons/menu/volume-button.vala:262
+msgid "Mute"
+msgstr "静音"
+
+#: src/widgets/cache-indicator/job-info-badge.vala:45
+#: src/widgets/save-stack.vala:53 src/widgets/views/abstract-cachiable.vala:173
+msgid "Album"
+msgstr "专辑"
+
+#. Translators: n track from n tracks saved
+#: src/widgets/cache-indicator/job-info-badge.vala:78
+#, c-format
+msgid "%d / %d saved%s"
+msgid_plural "%d / %d saved%s"
+msgstr[0] "%d / %d 已保存 %s"
+
+#: src/widgets/cache-indicator/job-info-badge.vala:85
+#, c-format
+msgid "%d track saving now"
+msgid_plural "%d tracks saving now"
+msgstr[0] "正在保存 %d 首曲目"
+
+#: src/widgets/info-marks.vala:42
+#, c-format
+msgid "Track was replaced. Original version: %s, %s"
+msgstr "曲目已被替换。原始版本:%s,%s"
+
+#: src/widgets/playlist-micro.vala:158 src/widgets/views/playlist.vala:242
+#, c-format
+msgid "Owner: %s"
+msgstr "所有者:%s"
+
+#: src/widgets/playlist-row.vala:86
+#, c-format
+msgid "Track count: %s"
+msgstr "曲目计数:%s"
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:89
+#: src/widgets/preferences/preferences-dialog.vala:135
+msgid "Delete cache files?"
+msgstr "删除缓存文件吗?"
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:90
+msgid "Move saved files?"
+msgstr "移动保存的文件吗?"
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:91
+#: src/widgets/preferences/preferences-dialog.vala:136
+msgid ""
+"All cache will be deleted. This doesn't affect on saved playlists or albums"
+msgstr "所有缓存将被删除。此操作不会影响已保存的播放列表或专辑"
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:92
+msgid ""
+"All saved playlists and albums will be moved to cache files. This could take "
+"a while."
+msgstr "所有保存的播放列表和专辑将被移至缓存文件。此操作会花费一点时间。"
+
+#: src/widgets/preferences/cache-deletion-preferences.vala:130
+msgid "Deleting…"
+msgstr "正在删除…"
+
+#: src/widgets/save-stack.vala:55
+msgid "Image"
+msgstr "图像"
+
+#: src/widgets/save-stack.vala:59
+msgid "Track"
+msgstr "曲目"
+
+#: src/widgets/save-stack.vala:76
+#, c-format
+msgid "%s saving…"
+msgstr "正在保存 %s…"
+
+#: src/widgets/save-stack.vala:77
+#, c-format
+msgid "%s cached"
+msgstr "%s 已缓存"
+
+#: src/widgets/save-stack.vala:78
+#, c-format
+msgid "%s saved"
+msgstr "%s 已保存"
+
+#: src/widgets/sidebar/childs/player-queue.vala:67
+#, c-format
+msgid "Playlist \"%s\""
+msgstr "播放列表“%s”"
+
+#: src/widgets/sidebar/childs/player-queue.vala:71
+#, c-format
+msgid "Album \"%s\""
+msgstr "专辑“%s”"
+
+#: src/widgets/sidebar/childs/player-queue.vala:75
+#, c-format
+msgid "By search results \"%s\""
+msgstr "按搜索结果“%s”"
+
+#: src/widgets/sidebar/childs/player-queue.vala:79
+msgid "Track list"
+msgstr "曲目列表"
+
+#: src/widgets/sidebar/childs/track-info.vala:69
+msgid "Your music track"
+msgstr "您的音乐曲目"
+
+#: src/widgets/sidebar/childs/track-info.vala:85
+msgid "Music track"
+msgstr "音乐曲目"
+
+#: src/widgets/sidebar/childs/wave-settings.vala:40
+msgid "Wave settings"
+msgstr "波形设置"
+
+#: src/widgets/track-rows/base.vala:80 src/widgets/track-rows/default.vala:101
+msgid "Track is not available"
+msgstr "曲目不可用"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:79
+#, c-format
+msgid "%s '%s' saved successfully"
+msgstr "%s“%s”已成功保存"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:90
+#, c-format
+msgid "%s '%s' saving was stopped, due to network error"
+msgstr "%s“%s”已停止保存,网络出现错误"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:100
+#, c-format
+msgid "%s '%s' saving was aborted"
+msgstr "%s“%s”已中止保存"
+
+#. Translators: %s - content type (e.g. "Playlist")
+#: src/widgets/views/abstract-cachiable.vala:192
+#, c-format
+msgid "%s saving has started"
+msgstr "已开始保存%s"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:230
+#, c-format
+msgid "%s '%s' was moved from data to cache"
+msgstr "%s“%s”已从数据移至缓存"
+
+#. Translators: first %s - content type (Playlist), second - name
+#: src/widgets/views/abstract-cachiable.vala:240
+#, c-format
+msgid "%s removing has started. Please do not close the app"
+msgstr "已开始移除%s。请不要关闭应用"
+
+#: src/widgets/views/cant-show.vala:38
+#, c-format
+msgid "Error %d"
+msgstr "错误 %d"
+
+#: src/widgets/views/cant-show.vala:42
+msgid "Can't load page"
+msgstr "无法加载页面"
+
+#: src/widgets/views/cant-show.vala:45
+msgid "Can't find desired content"
+msgstr "无法找到想要的内容"
+
+#: src/widgets/views/playlist.vala:85
+msgid "Delete playlist?"
+msgstr "删除播放列表吗?"
+
+#: src/widgets/views/playlist.vala:86
+#, c-format
+msgid "Playlist '%s' will be permanently deleted."
+msgstr "播放列表“%s”将被永久删除。"
+
+#: src/widgets/views/playlist.vala:105
+#, c-format
+msgid "Playlist '%s' was deleted"
+msgstr "播放列表“%s”已删除"
+
+#. Translators: %s is female person
+#: src/widgets/views/playlist.vala:248
+#, c-format
+msgctxt "female person"
+msgid "%s updated playlist %s"
+msgstr "%s 已更新播放列表 %s"
+
+#. Translators: %s is male person
+#: src/widgets/views/playlist.vala:252
+#, c-format
+msgctxt "male person"
+msgid "%s updated playlist %s"
+msgstr "%s 已更新播放列表 %s"
+
+#: src/widgets/views/playlist.vala:282
+#, c-format
+msgid "Can't change visibility of '%s'"
+msgstr "无法更改“%s”的可见性"
+
+#: src/widgets/views/playlist.vala:288
+#, c-format
+msgid "Playlist '%s' is public now"
+msgstr "播放列表“%s”现在是公开的"
+
+#: src/widgets/views/playlist.vala:291
+#, c-format
+msgid "Playlist '%s' is private now"
+msgstr "播放列表“%s”现在是私人的"
+
+#: src/window.vala:236
+#, c-format
+msgid "Window info message: %s"
+msgstr "窗口信息消息:%s"
diff --git a/src/about.vala b/src/about.vala
index e95a420..456c4b4 100644
--- a/src/about.vala
+++ b/src/about.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,36 +13,35 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
namespace Cassette {
public Adw.AboutDialog build_about_dialog () {
- const string RIRUSHA = "Rirusha https://github.com/Rirusha";
+ const string ME = "Vladimir Vaskov https://gitlab.gnome.org/Rirusha";
const string TELEGRAM_CHAT = "https://t.me/CassetteGNOME_Discussion";
const string TELEGRAM_CHANNEL = "https://t.me/CassetteGNOME_Devlog";
- const string ISSUE_LINK = "https://github.com/Rirusha/Cassette/issues/new";
const string TINKOFF_SUPPORT_LINK = "https://www.tinkoff.ru/cf/21GCxLuFuE9";
const string BOOSTY_SUPPORT_LINK = "https://boosty.to/rirusha/donate";
string[] developers = {
- RIRUSHA,
+ ME,
"KseBooka https://github.com/KseBooka"
};
string[] designers = {
- RIRUSHA
+ ME
};
string[] artists = {
- RIRUSHA,
+ ME,
"Arseniy Nechkin ",
"NaumovSN",
};
string[] documenters = {
- RIRUSHA,
+ ME,
"Armatik https://github.com/Armatik",
"Fiersik https://github.com/fiersik",
"Mikazil https://github.com/Mikazil",
@@ -50,7 +50,7 @@ namespace Cassette {
var about = new Adw.AboutDialog () {
application_name = Config.APP_NAME,
application_icon = Config.APP_ID_DYN,
- developer_name = "Rirusha",
+ developer_name = "Vladimir Vaskov",
version = Config.VERSION,
developers = developers,
designers = designers,
@@ -58,10 +58,10 @@ namespace Cassette {
documenters = documenters,
// Translators: NAME /n NAME
translator_credits = _("translator-credits"),
- license_type = Gtk.License.GPL_3_0_ONLY,
- copyright = "© 2023-2024 Rirusha",
+ license_type = Gtk.License.GPL_3_0,
+ copyright = "© 2023-2024 Vladimir Vaskov",
support_url = TELEGRAM_CHAT,
- issue_url = ISSUE_LINK,
+ issue_url = Config.BUGTRACKER,
release_notes_version = Config.VERSION
};
@@ -69,28 +69,43 @@ namespace Cassette {
about.add_link (_("Financial support (Tinkoff)"), TINKOFF_SUPPORT_LINK);
about.add_link (_("Financial support (Boosty)"), BOOSTY_SUPPORT_LINK);
+ // Please keep alphabetical
about.add_acknowledgement_section (_("Sponsors"), {
+ "Alex Gluck",
"Amper Shiz",
+ "Anton P.",
+ "AveryanAlex",
+ "Avr_Iv",
"belovmv",
"dant4ick",
+ "Dmitry M.",
"Do6pblu_Jyk",
"eugene_t",
"Fiersik",
"Fissium",
"gen1s",
+ "InDevOne",
"IQQator",
+ "Ivan A.",
"katze_942",
"khaustovdn",
"krylov_alexandr",
"kvadrozorro",
+ "Mikazil E.",
"Mikazil",
"Mikhail Postnikov",
"Nikolai M.",
"Oleg Shchavelev",
+ "Pavel T.",
+ "Petr Chelpanov",
"Roman Aysin",
"Semen Fomchenkov",
+ "Sergey G.",
"Sergey P.",
+ "Sergey S.",
+ "Shakhrutdin Z.",
"Spp595",
+ "Tamahome",
"Toxblh",
"Vasily Biryukov",
"werlock",
diff --git a/src/application.vala b/src/application.vala
index 6776346..e88b185 100644
--- a/src/application.vala
+++ b/src/application.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Cassette.Client;
@@ -54,6 +55,7 @@ namespace Cassette {
{ "parse-url", on_parse_url_action },
{ "open-account", on_open_account_action },
{ "open-plus", on_open_plus_action },
+ { "get-plus", on_get_plus_action },
{ "mute", on_mute_action },
};
@@ -90,14 +92,14 @@ namespace Cassette {
public bool is_devel {
get {
- return Config.PROFILE == "Devel";
+ return Config.IS_DEVEL;
}
}
public Application () {
Object (
application_id: Config.APP_ID_DYN,
- resource_base_path: "/io/github/Rirusha/Cassette/",
+ resource_base_path: "/space/rirusha/Cassette/",
flags: ApplicationFlags.DEFAULT_FLAGS | ApplicationFlags.HANDLES_OPEN
);
}
@@ -105,7 +107,7 @@ namespace Cassette {
construct {
application = this;
- settings = new Settings ("io.github.Rirusha.Cassette.application");
+ settings = new Settings ("space.rirusha.Cassette.application");
Cassette.Client.init (is_devel);
@@ -437,21 +439,15 @@ namespace Cassette {
}
void on_open_account_action () {
- try {
- Process.spawn_command_line_async ("xdg-open https://id.yandex.ru/");
-
- } catch (SpawnError e) {
- Logger.warning (_("Error while opening uri: %s").printf (e.message));
- }
+ new Gtk.UriLauncher ("https://id.yandex.ru/").launch.begin (null, null);
}
void on_open_plus_action () {
- try {
- Process.spawn_command_line_async ("xdg-open https://plus.yandex.ru/");
+ new Gtk.UriLauncher ("https://plus.yandex.ru/").launch.begin (null, null);
+ }
- } catch (SpawnError e) {
- Logger.warning (_("Error while opening uri: %s").printf (e.message));
- }
+ void on_get_plus_action () {
+ new Gtk.UriLauncher ("https://plus.yandex.ru/getplus/").launch.begin (null, null);
}
void on_mute_action () {
diff --git a/src/authenticator.vala b/src/authenticator.vala
index dfa4d6a..435a8a8 100644
--- a/src/authenticator.vala
+++ b/src/authenticator.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/api/difference-builder.vala b/src/client/api/difference-builder.vala
index 8fc4974..c5b7a82 100644
--- a/src/client/api/difference-builder.vala
+++ b/src/client/api/difference-builder.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Gee;
diff --git a/src/client/api/objects/account/about.vala b/src/client/api/objects/account/about.vala
index f693123..3a56e47 100644
--- a/src/client/api/objects/account/about.vala
+++ b/src/client/api/objects/account/about.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/api/objects/additional-info/lyrics-major.vala b/src/client/api/objects/additional-info/lyrics-major.vala
index 879852b..9baccb6 100644
--- a/src/client/api/objects/additional-info/lyrics-major.vala
+++ b/src/client/api/objects/additional-info/lyrics-major.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
namespace Cassette.Client.YaMAPI {
diff --git a/src/client/api/objects/additional-info/lyrics.vala b/src/client/api/objects/additional-info/lyrics.vala
index dfd4802..a20a668 100644
--- a/src/client/api/objects/additional-info/lyrics.vala
+++ b/src/client/api/objects/additional-info/lyrics.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Gee;
diff --git a/src/client/api/objects/additional-info/similar-tracks.vala b/src/client/api/objects/additional-info/similar-tracks.vala
index 6161c0d..8d03e6a 100644
--- a/src/client/api/objects/additional-info/similar-tracks.vala
+++ b/src/client/api/objects/additional-info/similar-tracks.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Gee;
diff --git a/src/client/api/objects/album/album.vala b/src/client/api/objects/album/album.vala
index c8ca6d6..07767d6 100644
--- a/src/client/api/objects/album/album.vala
+++ b/src/client/api/objects/album/album.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Gee;
diff --git a/src/client/api/objects/album/label.vala b/src/client/api/objects/album/label.vala
index c8048b3..a9a9ae3 100644
--- a/src/client/api/objects/album/label.vala
+++ b/src/client/api/objects/album/label.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
namespace Cassette.Client.YaMAPI {
diff --git a/src/client/api/objects/album/volume.vala b/src/client/api/objects/album/volume.vala
index ab59e25..83653dd 100644
--- a/src/client/api/objects/album/volume.vala
+++ b/src/client/api/objects/album/volume.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
// DEPROCATED
diff --git a/src/client/api/objects/api-error.vala b/src/client/api/objects/api-error.vala
index c4fd783..868f28f 100644
--- a/src/client/api/objects/api-error.vala
+++ b/src/client/api/objects/api-error.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Gee;
diff --git a/src/client/api/objects/artist/artist.vala b/src/client/api/objects/artist/artist.vala
index 75982e8..17488b2 100644
--- a/src/client/api/objects/artist/artist.vala
+++ b/src/client/api/objects/artist/artist.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Gee;
diff --git a/src/client/api/objects/artist/counts.vala b/src/client/api/objects/artist/counts.vala
index 6fb56a1..e76de04 100644
--- a/src/client/api/objects/artist/counts.vala
+++ b/src/client/api/objects/artist/counts.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
namespace Cassette.Client.YaMAPI {
diff --git a/src/client/api/objects/artist/link.vala b/src/client/api/objects/artist/link.vala
index 16caf84..9fafe33 100644
--- a/src/client/api/objects/artist/link.vala
+++ b/src/client/api/objects/artist/link.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
namespace Cassette.Client.YaMAPI {
diff --git a/src/client/api/objects/artist/ratings.vala b/src/client/api/objects/artist/ratings.vala
index cfe1aa6..740b150 100644
--- a/src/client/api/objects/artist/ratings.vala
+++ b/src/client/api/objects/artist/ratings.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
namespace Cassette.Client.YaMAPI {
diff --git a/src/client/api/objects/cover.vala b/src/client/api/objects/cover.vala
index 4f45e9d..f8dd0f1 100644
--- a/src/client/api/objects/cover.vala
+++ b/src/client/api/objects/cover.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Gee;
diff --git a/src/client/api/objects/download-info.vala b/src/client/api/objects/download-info.vala
index 2636f2b..2da550e 100644
--- a/src/client/api/objects/download-info.vala
+++ b/src/client/api/objects/download-info.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Gee;
diff --git a/src/client/api/objects/icon.vala b/src/client/api/objects/icon.vala
index a1dfa3f..b1c99ca 100644
--- a/src/client/api/objects/icon.vala
+++ b/src/client/api/objects/icon.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/api/objects/library/all-ids.vala b/src/client/api/objects/library/all-ids.vala
index 559181b..d95149c 100644
--- a/src/client/api/objects/library/all-ids.vala
+++ b/src/client/api/objects/library/all-ids.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/api/objects/playlist/case-forms.vala b/src/client/api/objects/playlist/case-forms.vala
index f8d7e7d..a4a1801 100644
--- a/src/client/api/objects/playlist/case-forms.vala
+++ b/src/client/api/objects/playlist/case-forms.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
namespace Cassette.Client.YaMAPI {
diff --git a/src/client/api/objects/playlist/liked-playlist.vala b/src/client/api/objects/playlist/liked-playlist.vala
index e8483fd..27db4df 100644
--- a/src/client/api/objects/playlist/liked-playlist.vala
+++ b/src/client/api/objects/playlist/liked-playlist.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
namespace Cassette.Client.YaMAPI {
diff --git a/src/client/api/objects/playlist/made-for.vala b/src/client/api/objects/playlist/made-for.vala
index 4119c33..621aa9f 100644
--- a/src/client/api/objects/playlist/made-for.vala
+++ b/src/client/api/objects/playlist/made-for.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
namespace Cassette.Client.YaMAPI {
diff --git a/src/client/api/objects/playlist/play-counter.vala b/src/client/api/objects/playlist/play-counter.vala
index 438eb5d..6f4ed16 100644
--- a/src/client/api/objects/playlist/play-counter.vala
+++ b/src/client/api/objects/playlist/play-counter.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
namespace Cassette.Client.YaMAPI {
diff --git a/src/client/api/objects/playlist/playlist-absence.vala b/src/client/api/objects/playlist/playlist-absence.vala
index 92c68c1..ae8b9c2 100644
--- a/src/client/api/objects/playlist/playlist-absence.vala
+++ b/src/client/api/objects/playlist/playlist-absence.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
namespace Cassette.Client.YaMAPI {
diff --git a/src/client/api/objects/playlist/playlist-recommendations.vala b/src/client/api/objects/playlist/playlist-recommendations.vala
index 7220d22..8deb7c5 100644
--- a/src/client/api/objects/playlist/playlist-recommendations.vala
+++ b/src/client/api/objects/playlist/playlist-recommendations.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/api/objects/playlist/playlist.vala b/src/client/api/objects/playlist/playlist.vala
index 4a4ed5c..194465d 100644
--- a/src/client/api/objects/playlist/playlist.vala
+++ b/src/client/api/objects/playlist/playlist.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/api/objects/playlist/user.vala b/src/client/api/objects/playlist/user.vala
index b6885ab..b8445a8 100644
--- a/src/client/api/objects/playlist/user.vala
+++ b/src/client/api/objects/playlist/user.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Gee;
diff --git a/src/client/api/objects/plays.vala b/src/client/api/objects/plays.vala
index 6687968..7d747f1 100644
--- a/src/client/api/objects/plays.vala
+++ b/src/client/api/objects/plays.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/api/objects/rotor/block.vala b/src/client/api/objects/rotor/block.vala
index 0ceb932..3080849 100644
--- a/src/client/api/objects/rotor/block.vala
+++ b/src/client/api/objects/rotor/block.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/api/objects/rotor/dashboard.vala b/src/client/api/objects/rotor/dashboard.vala
index 8606e1a..17266f3 100644
--- a/src/client/api/objects/rotor/dashboard.vala
+++ b/src/client/api/objects/rotor/dashboard.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/api/objects/rotor/event.vala b/src/client/api/objects/rotor/event.vala
index df3a1fe..3881dfb 100644
--- a/src/client/api/objects/rotor/event.vala
+++ b/src/client/api/objects/rotor/event.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/api/objects/rotor/feedback.vala b/src/client/api/objects/rotor/feedback.vala
index f1f7a11..b6decdb 100644
--- a/src/client/api/objects/rotor/feedback.vala
+++ b/src/client/api/objects/rotor/feedback.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/api/objects/rotor/id.vala b/src/client/api/objects/rotor/id.vala
index 729ca08..5250945 100644
--- a/src/client/api/objects/rotor/id.vala
+++ b/src/client/api/objects/rotor/id.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/api/objects/rotor/queue.vala b/src/client/api/objects/rotor/queue.vala
index 8745c3a..f23332c 100644
--- a/src/client/api/objects/rotor/queue.vala
+++ b/src/client/api/objects/rotor/queue.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/api/objects/rotor/restrictions.vala b/src/client/api/objects/rotor/restrictions.vala
index cbdb750..814cc18 100644
--- a/src/client/api/objects/rotor/restrictions.vala
+++ b/src/client/api/objects/rotor/restrictions.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/api/objects/rotor/seed.vala b/src/client/api/objects/rotor/seed.vala
index 8362356..ef098e8 100644
--- a/src/client/api/objects/rotor/seed.vala
+++ b/src/client/api/objects/rotor/seed.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/api/objects/rotor/sequence.vala b/src/client/api/objects/rotor/sequence.vala
index 3d2e316..70e842c 100644
--- a/src/client/api/objects/rotor/sequence.vala
+++ b/src/client/api/objects/rotor/sequence.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/api/objects/rotor/session-new.vala b/src/client/api/objects/rotor/session-new.vala
index 0c766d1..bea8983 100644
--- a/src/client/api/objects/rotor/session-new.vala
+++ b/src/client/api/objects/rotor/session-new.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/api/objects/rotor/settings.vala b/src/client/api/objects/rotor/settings.vala
index e82b0ad..9a85dfc 100644
--- a/src/client/api/objects/rotor/settings.vala
+++ b/src/client/api/objects/rotor/settings.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/api/objects/rotor/station-info.vala b/src/client/api/objects/rotor/station-info.vala
index 4122e86..45050ec 100644
--- a/src/client/api/objects/rotor/station-info.vala
+++ b/src/client/api/objects/rotor/station-info.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/api/objects/rotor/station-tracks.vala b/src/client/api/objects/rotor/station-tracks.vala
index 72006f7..935154f 100644
--- a/src/client/api/objects/rotor/station-tracks.vala
+++ b/src/client/api/objects/rotor/station-tracks.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/api/objects/rotor/station.vala b/src/client/api/objects/rotor/station.vala
index 65c678a..6846495 100644
--- a/src/client/api/objects/rotor/station.vala
+++ b/src/client/api/objects/rotor/station.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/api/objects/rotor/track-parameters.vala b/src/client/api/objects/rotor/track-parameters.vala
index ffd2381..3989ad0 100644
--- a/src/client/api/objects/rotor/track-parameters.vala
+++ b/src/client/api/objects/rotor/track-parameters.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/api/objects/rotor/value-heap.vala b/src/client/api/objects/rotor/value-heap.vala
index c492c8c..082b599 100644
--- a/src/client/api/objects/rotor/value-heap.vala
+++ b/src/client/api/objects/rotor/value-heap.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/api/objects/rotor/value.vala b/src/client/api/objects/rotor/value.vala
index cd66c2a..0fb2994 100644
--- a/src/client/api/objects/rotor/value.vala
+++ b/src/client/api/objects/rotor/value.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/api/objects/rotor/wave.vala b/src/client/api/objects/rotor/wave.vala
index 29e2314..323e603 100644
--- a/src/client/api/objects/rotor/wave.vala
+++ b/src/client/api/objects/rotor/wave.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/api/objects/track-heap.vala b/src/client/api/objects/track-heap.vala
index 831874d..c0e3a96 100644
--- a/src/client/api/objects/track-heap.vala
+++ b/src/client/api/objects/track-heap.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Gee;
diff --git a/src/client/api/objects/track-short.vala b/src/client/api/objects/track-short.vala
index 3556217..f096bb0 100644
--- a/src/client/api/objects/track-short.vala
+++ b/src/client/api/objects/track-short.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Gee;
diff --git a/src/client/api/objects/track/chart.vala b/src/client/api/objects/track/chart.vala
index cec0144..b52f99f 100644
--- a/src/client/api/objects/track/chart.vala
+++ b/src/client/api/objects/track/chart.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
namespace Cassette.Client.YaMAPI {
diff --git a/src/client/api/objects/track/lyrics-info.vala b/src/client/api/objects/track/lyrics-info.vala
index 788d977..f856c5b 100644
--- a/src/client/api/objects/track/lyrics-info.vala
+++ b/src/client/api/objects/track/lyrics-info.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
namespace Cassette.Client.YaMAPI {
diff --git a/src/client/api/objects/track/meta-data.vala b/src/client/api/objects/track/meta-data.vala
index 2158ebd..c251ac0 100644
--- a/src/client/api/objects/track/meta-data.vala
+++ b/src/client/api/objects/track/meta-data.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
namespace Cassette.Client.YaMAPI {
diff --git a/src/client/api/objects/track/track.vala b/src/client/api/objects/track/track.vala
index 0acfb18..df748e8 100644
--- a/src/client/api/objects/track/track.vala
+++ b/src/client/api/objects/track/track.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Gee;
diff --git a/src/client/api/yam-client.vala b/src/client/api/yam-client.vala
index 409b221..0279013 100644
--- a/src/client/api/yam-client.vala
+++ b/src/client/api/yam-client.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/cachier/cachier.vala b/src/client/cachier/cachier.vala
index 8c9bc8d..b779fc0 100644
--- a/src/client/cachier/cachier.vala
+++ b/src/client/cachier/cachier.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/cachier/controller.vala b/src/client/cachier/controller.vala
index 976a235..d3bf5e6 100644
--- a/src/client/cachier/controller.vala
+++ b/src/client/cachier/controller.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Gee;
diff --git a/src/client/cachier/info-db.vala b/src/client/cachier/info-db.vala
index 1a44960..da42a2a 100644
--- a/src/client/cachier/info-db.vala
+++ b/src/client/cachier/info-db.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
@@ -211,7 +212,7 @@ namespace Cassette.Client.Cachier {
int error_code = statement.step ();
if (error_code != Sqlite.ROW) {
- Logger.error ("Error while geting ref for %s in %s, Sqlite error code: %s, message: %s".printf (
+ Logger.error ("Error while getting ref for %s in %s, Sqlite error code: %s, message: %s".printf (
what_id, db_path, db.errcode ().to_string (), db.errmsg ()
));
}
diff --git a/src/client/cachier/job.vala b/src/client/cachier/job.vala
index 61763cd..ac79667 100644
--- a/src/client/cachier/job.vala
+++ b/src/client/cachier/job.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/cachier/storager.vala b/src/client/cachier/storager.vala
index 98e7d61..cbe1c6a 100644
--- a/src/client/cachier/storager.vala
+++ b/src/client/cachier/storager.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
namespace Cassette.Client.Cachier {
diff --git a/src/client/jsoner.vala b/src/client/jsoner.vala
index 87d873e..5dc1e9d 100644
--- a/src/client/jsoner.vala
+++ b/src/client/jsoner.vala
@@ -1,4 +1,4 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -13,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Gee;
diff --git a/src/client/likes-controller.vala b/src/client/likes-controller.vala
index 3b4c041..96f8d82 100644
--- a/src/client/likes-controller.vala
+++ b/src/client/likes-controller.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Gee;
diff --git a/src/client/logger.vala b/src/client/logger.vala
index fdbcd06..b69f9a5 100644
--- a/src/client/logger.vala
+++ b/src/client/logger.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/player/mods/abstract-mode.vala b/src/client/player/mods/abstract-mode.vala
index e05d7c7..9125b25 100644
--- a/src/client/player/mods/abstract-mode.vala
+++ b/src/client/player/mods/abstract-mode.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
@@ -64,7 +65,7 @@ public abstract class Cassette.Client.Player.Mode : Object {
* Get previous track index in queue.
* Track list and Flow have different rules for this.
*
- * @return new index. Returns -1 if theres no previous track
+ * @return new index. Returns -1 if there's no previous track
*/
public abstract int get_prev_index ();
@@ -118,7 +119,7 @@ public abstract class Cassette.Client.Player.Mode : Object {
*
* @param consider_repeat_mode some mode ignore this.
*
- * @return new index. Returns -1 if theres no next track
+ * @return new index. Returns -1 if there's no next track
*/
public abstract int get_next_index (bool consider_repeat_mode);
diff --git a/src/client/player/mods/abstract-shufflable.vala b/src/client/player/mods/abstract-shufflable.vala
index 13b1782..71d2c79 100644
--- a/src/client/player/mods/abstract-shufflable.vala
+++ b/src/client/player/mods/abstract-shufflable.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/player/mods/empty.vala b/src/client/player/mods/empty.vala
index 9318094..88084db 100644
--- a/src/client/player/mods/empty.vala
+++ b/src/client/player/mods/empty.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/player/mods/flow.vala b/src/client/player/mods/flow.vala
index 38b4917..9967ff2 100644
--- a/src/client/player/mods/flow.vala
+++ b/src/client/player/mods/flow.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/player/mods/local.vala b/src/client/player/mods/local.vala
index 8f35724..5504ce4 100644
--- a/src/client/player/mods/local.vala
+++ b/src/client/player/mods/local.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/player/mods/track-list.vala b/src/client/player/mods/track-list.vala
index 3daada4..54121a2 100644
--- a/src/client/player/mods/track-list.vala
+++ b/src/client/player/mods/track-list.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Gee;
diff --git a/src/client/player/mpris.vala b/src/client/player/mpris.vala
index 4ff92f7..b41074d 100644
--- a/src/client/player/mpris.vala
+++ b/src/client/player/mpris.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
@@ -47,8 +48,8 @@ static void on_bus_aquired (DBusConnection con, string name) {
public class Mpris : Object {
public bool can_quit { get; set; default = true; }
public bool can_raise { get; set; default = true; }
- public string desktop_entry { get; set; default = Config.APP_ID_DYN; }
- public string identity { get; set; default = Config.APP_IDENTITY_DYN; }
+ public string desktop_entry { get; set; default = "%s.desktop".printf (Config.APP_ID_DYN); }
+ public string identity { get; set; default = Config.APP_NAME; }
public signal void quit_triggered ();
public signal void raise_triggered ();
@@ -248,13 +249,13 @@ public class MprisPlayer : Object {
var current_track = player.mode.get_current_track_info ();
if (current_track == null) {
- metadata.insert ("mpris:trackid", new ObjectPath ("/io/github/Rirusha/Cassette/Track/0"));
+ metadata.insert ("mpris:trackid", new ObjectPath ("/space/rirusha/Cassette/Track/0"));
} else {
ObjectPath obj_path;
if ("-" in current_track.id) {
- obj_path = new ObjectPath (@"/io/github/Rirusha/Cassette/Track/$(current_track.id.hash ())");
+ obj_path = new ObjectPath (@"/space/rirusha/Cassette/Track/$(current_track.id.hash ())");
} else {
- obj_path = new ObjectPath (@"/io/github/Rirusha/Cassette/Track/$(current_track.id)");
+ obj_path = new ObjectPath (@"/space/rirusha/Cassette/Track/$(current_track.id)");
}
string[] artists = new string [current_track.artists.size];
diff --git a/src/client/player/player.vala b/src/client/player/player.vala
index e32a7e3..60a2714 100644
--- a/src/client/player/player.vala
+++ b/src/client/player/player.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
@@ -180,19 +181,19 @@ public class Cassette.Client.Player.Player : Object {
/**
* Triggers when previous track in queue finish loading.
- * For next track show posibility.
+ * For next track show possibility.
*/
public signal void next_track_loaded (YaMAPI.Track? next_track);
/**
* Current track started loaded.
- * Inteface should block for interaction.
+ * Interface should block for interaction.
*/
public signal void current_track_start_loading ();
/**
* Current track started loaded.
- * Inteface can be released from block.
+ * Interface can be released from block.
*/
public signal void current_track_finish_loading (YaMAPI.Track track_info);
diff --git a/src/client/soup-wrapper.vala b/src/client/soup-wrapper.vala
index adcedde..ef93025 100644
--- a/src/client/soup-wrapper.vala
+++ b/src/client/soup-wrapper.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Soup;
diff --git a/src/client/talkers/abstract-talker.vala b/src/client/talkers/abstract-talker.vala
index 2d2cf59..22dc8b9 100644
--- a/src/client/talkers/abstract-talker.vala
+++ b/src/client/talkers/abstract-talker.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/talkers/yam-talker.vala b/src/client/talkers/yam-talker.vala
index d53b8e7..02c3c58 100644
--- a/src/client/talkers/yam-talker.vala
+++ b/src/client/talkers/yam-talker.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/client/threader.vala b/src/client/threader.vala
index ab10978..83b246b 100644
--- a/src/client/threader.vala
+++ b/src/client/threader.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
namespace Cassette.Client {
diff --git a/src/client/utils.vala b/src/client/utils.vala
index 4f8fc51..9a1656e 100644
--- a/src/client/utils.vala
+++ b/src/client/utils.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
@@ -153,7 +154,7 @@ namespace Cassette.Client {
* Инициализация клиента. Создание синглтонов.
*/
public static void init (bool is_devel) {
- settings = new Settings ("io.github.Rirusha.Cassette.client");
+ settings = new Settings ("space.rirusha.Cassette.client");
cachier = new Cachier.Cachier ();
storager = new Cachier.Storager ();
diff --git a/src/client/yam-object.vala b/src/client/yam-object.vala
index a049ebe..15b12ea 100644
--- a/src/client/yam-object.vala
+++ b/src/client/yam-object.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
namespace Cassette.Client {
diff --git a/src/config.vapi b/src/config.vapi
index a78685d..2a189ae 100644
--- a/src/config.vapi
+++ b/src/config.vapi
@@ -1,12 +1,14 @@
[CCode (cprefix = "", lower_case_cprefix = "", cheader_filename = "config.h")]
namespace Config {
- public const string APP_ID;
public const string APP_ID_DYN;
- public const string APP_IDENTITY_DYN;
+ public const string APP_NAME;
public const string VERSION;
- public const string PROFILE;
+ public const bool IS_DEVEL;
+ public const string G_LOG_DOMAIN;
public const string GETTEXT_PACKAGE;
public const string GNOMELOCALEDIR;
public const string DATADIR;
- public const string APP_NAME;
+ public const string HOMEPAGE;
+ public const string BUGTRACKER;
+ public const string HELP;
}
diff --git a/src/main.vala b/src/main.vala
index 91fc71a..44a1cff 100644
--- a/src/main.vala
+++ b/src/main.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
int main (string[] args) {
diff --git a/src/meson.build b/src/meson.build
index d0efcc5..736d6f7 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -123,9 +123,7 @@ cassette_sources = [
cassette_vala_args = [
'--target-glib', '2.76',
- '--vapidir', meson.current_source_dir(),
- '--gresources', resource_files,
- '--gresourcesdir=data/'
+ '--vapidir', meson.current_source_dir()
]
cassette_c_args = [
@@ -139,7 +137,7 @@ cassette_c_args += [
# END GCC14
executable(
- 'cassette',
+ meson.project_name(),
cassette_sources,
include_directories: config_h_dir,
vala_args: cassette_vala_args,
diff --git a/src/pager.vala b/src/pager.vala
index 11ef6e6..81d1d3c 100644
--- a/src/pager.vala
+++ b/src/pager.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
@@ -104,7 +105,7 @@ namespace Cassette {
}
construct {
- pages_file = File.new_build_filename (storager.cache_dir_file.peek_path (), "cassette.pages");
+ pages_file = File.new_build_filename (storager.data_dir_file.peek_path (), "cassette.pages");
// Type register
typeof (PlaylistView).ensure ();
@@ -265,7 +266,7 @@ namespace Cassette {
add_page ({
"main",
_("Main"),
- "go-home-symbolic",
+ "user-home-symbolic",
typeof (MainView).name ()
});
}
@@ -308,7 +309,7 @@ namespace Cassette {
}
} catch (Error e) {
- Logger.warning (_("Can't read pages file. Messsage: %s").printf (e.message));
+ Logger.warning (_("Can't read pages file. Message: %s").printf (e.message));
}
}
@@ -328,7 +329,7 @@ namespace Cassette {
FileUtils.set_contents (pages_file.peek_path (), content_str, content_str.length);
} catch (Error e) {
- Logger.warning (_("Can't create pages file. Messsage: %s").printf (e.message));
+ Logger.warning (_("Can't create pages file. Message: %s").printf (e.message));
}
}
diff --git a/src/utils.vala b/src/utils.vala
index 9ca1830..b0ca297 100644
--- a/src/utils.vala
+++ b/src/utils.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Cassette.Client;
@@ -67,7 +68,7 @@ namespace Cassette {
switch (reason) {
case BlockReason.NOT_IMPLEMENTED:
widget.tooltip_text = _("Not implemented yet");
- if (get_debug_mode ()) {
+ if (application.is_devel) {
widget.sensitive = true;
}
break;
diff --git a/src/widgets/abstract-reactable.vala b/src/widgets/abstract-reactable.vala
index d0061eb..524e972 100644
--- a/src/widgets/abstract-reactable.vala
+++ b/src/widgets/abstract-reactable.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/widgets/account-info-dialog.vala b/src/widgets/account-info-dialog.vala
index d884310..c7a7a2b 100644
--- a/src/widgets/account-info-dialog.vala
+++ b/src/widgets/account-info-dialog.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
@@ -20,7 +21,7 @@ using Cassette.Client;
namespace Cassette {
- [GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/account-info-dialog.ui")]
+ [GtkTemplate (ui = "/space/rirusha/Cassette/ui/account-info-dialog.ui")]
public class AccountInfoDialog : Adw.Dialog {
[GtkChild]
unowned Adw.Avatar avatar;
diff --git a/src/widgets/action-cards/custom.vala b/src/widgets/action-cards/custom.vala
index 3c504af..b8854b3 100644
--- a/src/widgets/action-cards/custom.vala
+++ b/src/widgets/action-cards/custom.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,11 +13,11 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
-[GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/action-card-custom.ui")]
+[GtkTemplate (ui = "/space/rirusha/Cassette/ui/action-card-custom.ui")]
/**
* A class for convenient work with clickable cards.
*/
diff --git a/src/widgets/action-cards/station.vala b/src/widgets/action-cards/station.vala
index 8da728a..1ee85d4 100644
--- a/src/widgets/action-cards/station.vala
+++ b/src/widgets/action-cards/station.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,11 +13,11 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
-[GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/action-card-station.ui")]
+[GtkTemplate (ui = "/space/rirusha/Cassette/ui/action-card-station.ui")]
/**
* A class for convenient work with clickable cards.
*/
diff --git a/src/widgets/begin/begin-dialog.vala b/src/widgets/begin/begin-dialog.vala
index 93b61af..16d0fed 100644
--- a/src/widgets/begin/begin-dialog.vala
+++ b/src/widgets/begin/begin-dialog.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/widgets/begin/begin-view.vala b/src/widgets/begin/begin-view.vala
index 3b29bfb..b6fd605 100644
--- a/src/widgets/begin/begin-view.vala
+++ b/src/widgets/begin/begin-view.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
@@ -21,7 +22,7 @@ using WebKit;
namespace Cassette {
- [GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/begin-view.ui")]
+ [GtkTemplate (ui = "/space/rirusha/Cassette/ui/begin-view.ui")]
public class BeginView : AbstractLoadablePage {
[GtkChild]
unowned Adw.NavigationView navigation_view;
@@ -72,8 +73,10 @@ namespace Cassette {
insert_action_group ("auth", action_group);
webview.load_changed.connect ((event) => {
- if (("https://music.yandex.ru/" in webview.uri) && event != LoadEvent.STARTED) {
+ if (("https://music.yandex." in webview.uri) && event != LoadEvent.STARTED) {
online_complete ();
+ } else {
+ warning ("Redirected to %s", webview.uri);
}
if (event == LoadEvent.FINISHED && is_loading) {
@@ -108,7 +111,7 @@ namespace Cassette {
start_loading ();
webview.load_uri (
- "https://oauth.yandex.ru/authorize?response_type=token&client_id=23cabbbdc6cd418abb4b39c32c41195d&https://music.yandex.ru" // vala-lint=line-length
+ "https://oauth.yandex.ru/authorize?response_type=token&client_id=23cabbbdc6cd418abb4b39c32c41195d" // vala-lint=line-length
);
}
diff --git a/src/widgets/buttons/just/abstract-custom-button.vala b/src/widgets/buttons/just/abstract-custom-button.vala
index 7815090..80f7cac 100644
--- a/src/widgets/buttons/just/abstract-custom-button.vala
+++ b/src/widgets/buttons/just/abstract-custom-button.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,11 +13,11 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
-[GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/custom-button.ui")]
+[GtkTemplate (ui = "/space/rirusha/Cassette/ui/custom-button.ui")]
public abstract class Cassette.CustomButton : Adw.Bin {
[GtkChild]
diff --git a/src/widgets/buttons/just/dislike-button.vala b/src/widgets/buttons/just/dislike-button.vala
index f635daf..2b6f657 100644
--- a/src/widgets/buttons/just/dislike-button.vala
+++ b/src/widgets/buttons/just/dislike-button.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/widgets/buttons/just/like-button.vala b/src/widgets/buttons/just/like-button.vala
index 4648d64..22f5960 100644
--- a/src/widgets/buttons/just/like-button.vala
+++ b/src/widgets/buttons/just/like-button.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
@@ -29,7 +30,7 @@ namespace Cassette {
bool is_liked {
get {
- return icon_name == "emblem-favorite-symbolic";
+ return icon_name == "like-symbolic";
}
set {
if (value) {
@@ -37,7 +38,7 @@ namespace Cassette {
likes_count++;
}
- icon_name = "emblem-favorite-symbolic";
+ icon_name = "like-symbolic";
real_button.tooltip_text = _("Remove like");
} else {
if (is_liked && should_change_likes_count && likes_count != -1) {
diff --git a/src/widgets/buttons/just/play-buttons/abstract-play-button-default.vala b/src/widgets/buttons/just/play-buttons/abstract-play-button-default.vala
index 8436f3b..4a46321 100644
--- a/src/widgets/buttons/just/play-buttons/abstract-play-button-default.vala
+++ b/src/widgets/buttons/just/play-buttons/abstract-play-button-default.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
namespace Cassette {
diff --git a/src/widgets/buttons/just/play-buttons/abstract-play-button.vala b/src/widgets/buttons/just/play-buttons/abstract-play-button.vala
index 7f7ba35..e49a482 100644
--- a/src/widgets/buttons/just/play-buttons/abstract-play-button.vala
+++ b/src/widgets/buttons/just/play-buttons/abstract-play-button.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
namespace Cassette {
diff --git a/src/widgets/buttons/just/play-buttons/play-button-action.vala b/src/widgets/buttons/just/play-buttons/play-button-action.vala
index 5ebfb1a..2599fe5 100644
--- a/src/widgets/buttons/just/play-buttons/play-button-action.vala
+++ b/src/widgets/buttons/just/play-buttons/play-button-action.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/widgets/buttons/just/play-buttons/play-button-context.vala b/src/widgets/buttons/just/play-buttons/play-button-context.vala
index d9c503b..2d46ea0 100644
--- a/src/widgets/buttons/just/play-buttons/play-button-context.vala
+++ b/src/widgets/buttons/just/play-buttons/play-button-context.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/widgets/buttons/just/play-buttons/play-button-track.vala b/src/widgets/buttons/just/play-buttons/play-button-track.vala
index 87a24e6..49cfa8f 100644
--- a/src/widgets/buttons/just/play-buttons/play-button-track.vala
+++ b/src/widgets/buttons/just/play-buttons/play-button-track.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/widgets/buttons/label-button.vala b/src/widgets/buttons/label-button.vala
index 19328ae..4063ab2 100644
--- a/src/widgets/buttons/label-button.vala
+++ b/src/widgets/buttons/label-button.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,14 +13,14 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Gee;
namespace Cassette {
// Может принимать вид кнопки, так и простого текста
- [GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/label-button.ui")]
+ [GtkTemplate (ui = "/space/rirusha/Cassette/ui/label-button.ui")]
public class LabelButton : Adw.Bin {
[GtkChild]
diff --git a/src/widgets/buttons/menu/abstract-menu-button.vala b/src/widgets/buttons/menu/abstract-menu-button.vala
index 387331f..8d80b2b 100644
--- a/src/widgets/buttons/menu/abstract-menu-button.vala
+++ b/src/widgets/buttons/menu/abstract-menu-button.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,10 +13,10 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
-[GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/custom-menu-button.ui")]
+[GtkTemplate (ui = "/space/rirusha/Cassette/ui/custom-menu-button.ui")]
public abstract class Cassette.CustomMenuButton : ShrinkableBin {
public struct MenuItem {
@@ -218,7 +219,7 @@ public abstract class Cassette.CustomMenuButton : ShrinkableBin {
content_height = 294
};
- dialog.insert_action_group ("track", actions);
+ dialog.insert_action_group ("actions", actions);
real_button.active = false;
diff --git a/src/widgets/buttons/menu/menu-dialog.vala b/src/widgets/buttons/menu/menu-dialog.vala
index 8349d4d..48c26c8 100644
--- a/src/widgets/buttons/menu/menu-dialog.vala
+++ b/src/widgets/buttons/menu/menu-dialog.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,10 +13,10 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
-[GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/menu-dialog.ui")]
+[GtkTemplate (ui = "/space/rirusha/Cassette/ui/menu-dialog.ui")]
public class Cassette.MenuDialog : Adw.Dialog {
[GtkChild]
diff --git a/src/widgets/buttons/menu/playlist-options-button.vala b/src/widgets/buttons/menu/playlist-options-button.vala
index 5885365..27f349e 100644
--- a/src/widgets/buttons/menu/playlist-options-button.vala
+++ b/src/widgets/buttons/menu/playlist-options-button.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
public class Cassette.PlaylistOptionsButton : CustomMenuButton {
diff --git a/src/widgets/buttons/menu/primary-menu-button.vala b/src/widgets/buttons/menu/primary-menu-button.vala
index bf5285d..88aa8dd 100644
--- a/src/widgets/buttons/menu/primary-menu-button.vala
+++ b/src/widgets/buttons/menu/primary-menu-button.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
public class Cassette.PrimaryMenuButton : CustomMenuButton {
diff --git a/src/widgets/buttons/menu/track-options-button.vala b/src/widgets/buttons/menu/track-options-button.vala
index 44a41b5..3998a25 100644
--- a/src/widgets/buttons/menu/track-options-button.vala
+++ b/src/widgets/buttons/menu/track-options-button.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
public class Cassette.TrackOptionsButton: CustomMenuButton {
diff --git a/src/widgets/buttons/menu/track-playlist-options-button.vala b/src/widgets/buttons/menu/track-playlist-options-button.vala
index 04c9844..559119f 100644
--- a/src/widgets/buttons/menu/track-playlist-options-button.vala
+++ b/src/widgets/buttons/menu/track-playlist-options-button.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
public class Cassette.TrackPlaylistOptionsButton: TrackOptionsButton {
diff --git a/src/widgets/buttons/menu/track-queue-options-button.vala b/src/widgets/buttons/menu/track-queue-options-button.vala
index f8e3ea7..4a7e931 100644
--- a/src/widgets/buttons/menu/track-queue-options-button.vala
+++ b/src/widgets/buttons/menu/track-queue-options-button.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
public sealed class Cassette.TrackQueueOptionsButton: TrackOptionsButton {
diff --git a/src/widgets/buttons/menu/volume-button.vala b/src/widgets/buttons/menu/volume-button.vala
index aad99aa..cdb9a08 100644
--- a/src/widgets/buttons/menu/volume-button.vala
+++ b/src/widgets/buttons/menu/volume-button.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
public class Cassette.VolumeButton : CustomMenuButton {
diff --git a/src/widgets/buttons/playlist-create-button.vala b/src/widgets/buttons/playlist-create-button.vala
index f49bc5c..1ff05b1 100644
--- a/src/widgets/buttons/playlist-create-button.vala
+++ b/src/widgets/buttons/playlist-create-button.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
@@ -20,7 +21,7 @@ using Cassette.Client;
namespace Cassette {
- [GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/playlist-create-button.ui")]
+ [GtkTemplate (ui = "/space/rirusha/Cassette/ui/playlist-create-button.ui")]
public class PlaylistCreateButton : Adw.Bin {
[GtkChild]
unowned Gtk.Button real_button;
diff --git a/src/widgets/cache-indicator/cache-indicator.vala b/src/widgets/cache-indicator/cache-indicator.vala
index 95ef011..274f1b4 100644
--- a/src/widgets/cache-indicator/cache-indicator.vala
+++ b/src/widgets/cache-indicator/cache-indicator.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,14 +13,14 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Cassette.Client;
namespace Cassette {
- [GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/cache-indicator.ui")]
+ [GtkTemplate (ui = "/space/rirusha/Cassette/ui/cache-indicator.ui")]
public class CacheIndicator : Adw.Bin {
[GtkChild]
unowned Gtk.Popover jobs_popover;
@@ -103,7 +104,7 @@ namespace Cassette {
}
}
- // Алгоритм взят из https://gitlab.gnome.org/GNOME/nautilus/-/blob/main/src/nautilus-progress-indicator.c
+ // Took from https://gitlab.gnome.org/GNOME/nautilus/-/blob/main/src/nautilus-progress-indicator.c
void update_jobs_icon (Gtk.DrawingArea drawing_area, Cairo.Context cairo, int width, int height) {
int elapsed_progress = 0;
int total_progress = 0;
diff --git a/src/widgets/cache-indicator/job-info-badge.vala b/src/widgets/cache-indicator/job-info-badge.vala
index a1e4aa9..3c5b526 100644
--- a/src/widgets/cache-indicator/job-info-badge.vala
+++ b/src/widgets/cache-indicator/job-info-badge.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,14 +13,14 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Cassette.Client;
namespace Cassette {
- [GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/job-info-badge.ui")]
+ [GtkTemplate (ui = "/space/rirusha/Cassette/ui/job-info-badge.ui")]
public class JobInfoBadge : Gtk.Grid {
[GtkChild]
unowned Gtk.Label title_label;
@@ -73,12 +74,16 @@ namespace Cassette {
void update_info (int saved, int total, int now) {
// Translators: n track from n tracks saved
- progress_label.label = _("%d / %d saved%s").printf (
+ progress_label.label = ngettext (
+ "%d / %d saved%s",
+ "%d / %d saved%s",
+ saved
+ ).printf (
saved,
total,
- (now != 0? ngettext (
- ". %d track saving now",
- ". %d tracks saving now",
+ (now != 0? ". " + ngettext (
+ "%d track saving now",
+ "%d tracks saving now",
now
).printf (
now
diff --git a/src/widgets/cover-image.vala b/src/widgets/cover-image.vala
index 12f6733..8e11d77 100644
--- a/src/widgets/cover-image.vala
+++ b/src/widgets/cover-image.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,18 +13,20 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Cassette.Client;
using Gee;
-[GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/cover-image.ui")]
+[GtkTemplate (ui = "/space/rirusha/Cassette/ui/cover-image.ui")]
public sealed class Cassette.CoverImage : Gtk.Frame {
[GtkChild]
- unowned Gtk.Image real_image;
+ unowned Gtk.Image placeholder_image;
+ [GtkChild]
+ unowned Gtk.Stack stack;
public CoverSize cover_size { get; set; default = CoverSize.BIG; }
@@ -32,26 +35,20 @@ public sealed class Cassette.CoverImage : Gtk.Frame {
/**
* Easy way to set both width and height of the cover widget.
*/
- public int image_widget_size {
- get {
- return real_image.width_request == real_image.height_request ? real_image.height_request : -1;
- }
- set {
- real_image.width_request = value;
- real_image.height_request = value;
- }
- }
+ public int image_widget_size { get; set; }
construct {
notify["cover-size"].connect (() => {
switch (cover_size) {
case CoverSize.SMALL:
- real_image.icon_size = Gtk.IconSize.NORMAL;
+ placeholder_image.icon_size = Gtk.IconSize.NORMAL;
+ image_widget_size = 60;
add_css_class ("small-border-radius");
break;
case CoverSize.BIG:
- real_image.icon_size = Gtk.IconSize.LARGE;
+ placeholder_image.icon_size = Gtk.IconSize.LARGE;
+ image_widget_size = 200;
remove_css_class ("small-border-radius");
break;
@@ -62,13 +59,11 @@ public sealed class Cassette.CoverImage : Gtk.Frame {
}
public void init_content (HasCover yam_object) {
- real_image.icon_name = "audio-x-generic-symbolic";
this.yam_object = yam_object;
add_css_class ("card");
}
public void clear () {
- real_image.icon_name = null;
yam_object = null;
remove_css_class ("card");
}
@@ -81,7 +76,31 @@ public sealed class Cassette.CoverImage : Gtk.Frame {
pixbuf_buffer = yield Cachier.get_image (yam_object, (int) cover_size);
if (pixbuf_buffer != null) {
+ var real_image = new Gtk.Image ();
real_image.set_from_paintable (Gdk.Texture.for_pixbuf (pixbuf_buffer));
+
+ bind_property (
+ "image-widget-size",
+ real_image,
+ "width-request",
+ GLib.BindingFlags.SYNC_CREATE
+ );
+ bind_property (
+ "image-widget-size",
+ real_image,
+ "height-request",
+ GLib.BindingFlags.SYNC_CREATE
+ );
+ bind_property (
+ "image-widget-size",
+ real_image,
+ "pixel-size",
+ GLib.BindingFlags.SYNC_CREATE
+ );
+
+ stack.add_child (real_image);
+
+ stack.visible_child = real_image;
}
}
}
diff --git a/src/widgets/equalaizer.vala b/src/widgets/equalaizer.vala
index 1375ebc..8b3840f 100644
--- a/src/widgets/equalaizer.vala
+++ b/src/widgets/equalaizer.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,11 +13,11 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
-[GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/equalaizer.ui")]
+[GtkTemplate (ui = "/space/rirusha/Cassette/ui/equalaizer.ui")]
public class Cassette.Equalaizer : Adw.Bin {
construct {
diff --git a/src/widgets/header-bar.vala b/src/widgets/header-bar.vala
index 84c10bb..c4f62db 100644
--- a/src/widgets/header-bar.vala
+++ b/src/widgets/header-bar.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,13 +13,13 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Cassette.Client;
-[GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/header-bar.ui")]
+[GtkTemplate (ui = "/space/rirusha/Cassette/ui/header-bar.ui")]
public class Cassette.HeaderBar : ShrinkableBin {
[GtkChild]
@@ -105,6 +106,7 @@ public class Cassette.HeaderBar : ShrinkableBin {
}
});
+ // Also https://github.com/Rirusha/Cassette/blob/master/data/ui/header-bar.blp#L29
block_widget (search_button, BlockReason.NOT_IMPLEMENTED);
}
diff --git a/src/widgets/headered-scrolled-window.vala b/src/widgets/headered-scrolled-window.vala
index 3dcb4bc..24520fc 100644
--- a/src/widgets/headered-scrolled-window.vala
+++ b/src/widgets/headered-scrolled-window.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,11 +13,11 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
-[GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/headered-scrolled-window.ui")]
+[GtkTemplate (ui = "/space/rirusha/Cassette/ui/headered-scrolled-window.ui")]
public class Cassette.HeaderedScrolledWindow : Adw.Bin {
[GtkChild]
diff --git a/src/widgets/info-marks.vala b/src/widgets/info-marks.vala
index 993cb0f..d27fc32 100644
--- a/src/widgets/info-marks.vala
+++ b/src/widgets/info-marks.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
@@ -22,7 +23,7 @@ using Gee;
namespace Cassette {
// Может принимать вид кнопки, так и простого текста
- [GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/info-marks.ui")]
+ [GtkTemplate (ui = "/space/rirusha/Cassette/ui/info-marks.ui")]
public class InfoMarks : Adw.Bin {
[GtkChild]
diff --git a/src/widgets/loadable-widget.vala b/src/widgets/loadable-widget.vala
index 0f41b13..91d63b9 100644
--- a/src/widgets/loadable-widget.vala
+++ b/src/widgets/loadable-widget.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,10 +13,10 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
-[GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/loadable-widget.ui")]
+[GtkTemplate (ui = "/space/rirusha/Cassette/ui/loadable-widget.ui")]
public class Cassette.LoadableWidget: Adw.Bin {
[GtkChild]
diff --git a/src/widgets/loading-spinner.vala b/src/widgets/loading-spinner.vala
index 3069818..195b942 100644
--- a/src/widgets/loading-spinner.vala
+++ b/src/widgets/loading-spinner.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/widgets/lyrics/lyrics-line.vala b/src/widgets/lyrics/lyrics-line.vala
index 02fe74c..1edfa60 100644
--- a/src/widgets/lyrics/lyrics-line.vala
+++ b/src/widgets/lyrics/lyrics-line.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,13 +13,13 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Gee;
namespace Cassette {
- [GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/lyrics-line.ui")]
+ [GtkTemplate (ui = "/space/rirusha/Cassette/ui/lyrics-line.ui")]
public class LyricsLine : Adw.Bin {
[GtkChild]
unowned Gtk.Revealer line_small;
diff --git a/src/widgets/lyrics/lyrics-panel.vala b/src/widgets/lyrics/lyrics-panel.vala
index 24fc574..e28c0c0 100644
--- a/src/widgets/lyrics/lyrics-panel.vala
+++ b/src/widgets/lyrics/lyrics-panel.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
@@ -21,7 +22,7 @@ using Gee;
namespace Cassette {
- [GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/lyrics-panel.ui")]
+ [GtkTemplate (ui = "/space/rirusha/Cassette/ui/lyrics-panel.ui")]
public class LyricsPanel : Adw.Bin {
[GtkChild]
unowned Gtk.Box lines_box;
diff --git a/src/widgets/narrow-toggle-button.vala b/src/widgets/narrow-toggle-button.vala
index 85fede0..30e9c99 100644
--- a/src/widgets/narrow-toggle-button.vala
+++ b/src/widgets/narrow-toggle-button.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,10 +13,10 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
-[GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/narrow-toggle-button.ui")]
+[GtkTemplate (ui = "/space/rirusha/Cassette/ui/narrow-toggle-button.ui")]
public class Cassette.NarrowToggleButton: Gtk.ToggleButton {
[GtkChild]
diff --git a/src/widgets/no-plus-dialog.vala b/src/widgets/no-plus-dialog.vala
index 458ffc6..878834a 100644
--- a/src/widgets/no-plus-dialog.vala
+++ b/src/widgets/no-plus-dialog.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,10 +13,10 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
-[GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/no-plus-dialog.ui")]
+[GtkTemplate (ui = "/space/rirusha/Cassette/ui/no-plus-dialog.ui")]
public class Cassette.NoPlusDialog : Adw.Dialog {
public bool log_out_button_visible { get; set; }
diff --git a/src/widgets/page-root.vala b/src/widgets/page-root.vala
index 36402f1..eeed4fc 100644
--- a/src/widgets/page-root.vala
+++ b/src/widgets/page-root.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/widgets/pages/abstract-loadable-page.vala b/src/widgets/pages/abstract-loadable-page.vala
index c03787b..b5136d9 100644
--- a/src/widgets/pages/abstract-loadable-page.vala
+++ b/src/widgets/pages/abstract-loadable-page.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/widgets/pages/loading-page.vala b/src/widgets/pages/loading-page.vala
index f1eb29f..901d36a 100644
--- a/src/widgets/pages/loading-page.vala
+++ b/src/widgets/pages/loading-page.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/widgets/play-mark/abstract-play-mark-default.vala b/src/widgets/play-mark/abstract-play-mark-default.vala
index 5a30ea1..21a6915 100644
--- a/src/widgets/play-mark/abstract-play-mark-default.vala
+++ b/src/widgets/play-mark/abstract-play-mark-default.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/widgets/play-mark/abstract-play-mark.vala b/src/widgets/play-mark/abstract-play-mark.vala
index c22df09..533b835 100644
--- a/src/widgets/play-mark/abstract-play-mark.vala
+++ b/src/widgets/play-mark/abstract-play-mark.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/widgets/play-mark/play-mark-context.vala b/src/widgets/play-mark/play-mark-context.vala
index ff9215d..c4eeaef 100644
--- a/src/widgets/play-mark/play-mark-context.vala
+++ b/src/widgets/play-mark/play-mark-context.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/widgets/play-mark/play-mark-global.vala b/src/widgets/play-mark/play-mark-global.vala
index 79f37c6..57e9fad 100644
--- a/src/widgets/play-mark/play-mark-global.vala
+++ b/src/widgets/play-mark/play-mark-global.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/widgets/play-mark/play-mark-track.vala b/src/widgets/play-mark/play-mark-track.vala
index e345f76..7222d00 100644
--- a/src/widgets/play-mark/play-mark-track.vala
+++ b/src/widgets/play-mark/play-mark-track.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/widgets/player-bar.vala b/src/widgets/player-bar.vala
index 05fa75f..77316bc 100644
--- a/src/widgets/player-bar.vala
+++ b/src/widgets/player-bar.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
@@ -20,7 +21,7 @@ using Cassette.Client;
namespace Cassette {
- [GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/player-bar.ui")]
+ [GtkTemplate (ui = "/space/rirusha/Cassette/ui/player-bar.ui")]
public class PlayerBar : Adw.Bin {
[GtkChild]
diff --git a/src/widgets/playlist-choose-dialog.vala b/src/widgets/playlist-choose-dialog.vala
index 04b1e41..a4f798d 100644
--- a/src/widgets/playlist-choose-dialog.vala
+++ b/src/widgets/playlist-choose-dialog.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
@@ -20,7 +21,7 @@ using Cassette.Client;
namespace Cassette {
- [GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/playlist-choose-dialog.ui")]
+ [GtkTemplate (ui = "/space/rirusha/Cassette/ui/playlist-choose-dialog.ui")]
public class PlaylistChooseDialog : Adw.Dialog {
[GtkChild]
unowned Gtk.Box main_box;
diff --git a/src/widgets/playlist-micro.vala b/src/widgets/playlist-micro.vala
index 3036d76..ec8f908 100644
--- a/src/widgets/playlist-micro.vala
+++ b/src/widgets/playlist-micro.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
@@ -20,7 +21,7 @@ using Cassette.Client;
namespace Cassette {
- [GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/playlist-micro.ui")]
+ [GtkTemplate (ui = "/space/rirusha/Cassette/ui/playlist-micro.ui")]
public class PlaylistMicro : Adw.Bin {
[GtkChild]
unowned CoverImage cover_image;
diff --git a/src/widgets/playlist-row.vala b/src/widgets/playlist-row.vala
index 6473f3e..57d41f5 100644
--- a/src/widgets/playlist-row.vala
+++ b/src/widgets/playlist-row.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
@@ -20,7 +21,7 @@ using Cassette.Client;
namespace Cassette {
- [GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/playlist-row.ui")]
+ [GtkTemplate (ui = "/space/rirusha/Cassette/ui/playlist-row.ui")]
public class PlaylistRow : Gtk.Frame {
[GtkChild]
unowned CoverImage cover_image;
diff --git a/src/widgets/preferences/cache-deletion-preferences.vala b/src/widgets/preferences/cache-deletion-preferences.vala
index 9d7473f..2c2efc0 100644
--- a/src/widgets/preferences/cache-deletion-preferences.vala
+++ b/src/widgets/preferences/cache-deletion-preferences.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
@@ -22,7 +23,7 @@ using Gee;
namespace Cassette {
- [GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/cache-deletion-preferences.ui")]
+ [GtkTemplate (ui = "/space/rirusha/Cassette/ui/cache-deletion-preferences.ui")]
public class CacheDeletionPreferences : Adw.PreferencesRow {
[GtkChild]
unowned Gtk.Stack temp_stack;
@@ -86,7 +87,7 @@ namespace Cassette {
void ask_about_deletion (bool is_tmp) {
var dialog = new Adw.AlertDialog (
is_tmp ? _("Delete cache files?") :
- _("Moved saved files?"),
+ _("Move saved files?"),
is_tmp ? _("All cache will be deleted. This doesn't affect on saved playlists or albums") :
_("All saved playlists and albums will be moved to cache files. This could take a while.")
);
diff --git a/src/widgets/preferences/custom-page-preferences.vala b/src/widgets/preferences/custom-page-preferences.vala
index dca7a2b..23c6785 100644
--- a/src/widgets/preferences/custom-page-preferences.vala
+++ b/src/widgets/preferences/custom-page-preferences.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
@@ -20,7 +21,7 @@ using Cassette.Client;
namespace Cassette {
- [GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/custom-page-preferences.ui")]
+ [GtkTemplate (ui = "/space/rirusha/Cassette/ui/custom-page-preferences.ui")]
public class CustomPagePreferences : Adw.PreferencesRow {
[GtkChild]
unowned Gtk.Entry page_title_entry;
diff --git a/src/widgets/preferences/custom-pages-preferences.vala b/src/widgets/preferences/custom-pages-preferences.vala
index 3689d7a..c0964a9 100644
--- a/src/widgets/preferences/custom-pages-preferences.vala
+++ b/src/widgets/preferences/custom-pages-preferences.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
@@ -21,7 +22,7 @@ using Gee;
namespace Cassette {
- [GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/custom-pages-preferences.ui")]
+ [GtkTemplate (ui = "/space/rirusha/Cassette/ui/custom-pages-preferences.ui")]
public class CustomPagesPreferences : Adw.PreferencesGroup {
ArrayList rows = new ArrayList ();
diff --git a/src/widgets/preferences/preferences-dialog.vala b/src/widgets/preferences/preferences-dialog.vala
index af036a0..9fc19b1 100644
--- a/src/widgets/preferences/preferences-dialog.vala
+++ b/src/widgets/preferences/preferences-dialog.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
@@ -20,7 +21,7 @@ using Cassette.Client;
namespace Cassette {
- [GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/preferences-dialog.ui")]
+ [GtkTemplate (ui = "/space/rirusha/Cassette/ui/preferences-dialog.ui")]
public class PreferencesDialog : Adw.PreferencesDialog {
[GtkChild]
unowned Adw.SwitchRow show_save_stack_switch;
diff --git a/src/widgets/save-stack.vala b/src/widgets/save-stack.vala
index b3c499e..8c4695f 100644
--- a/src/widgets/save-stack.vala
+++ b/src/widgets/save-stack.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
@@ -20,7 +21,7 @@ using Cassette.Client;
namespace Cassette {
- [GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/save-stack.ui")]
+ [GtkTemplate (ui = "/space/rirusha/Cassette/ui/save-stack.ui")]
public class SaveStack : Adw.Bin, Initable {
[GtkChild]
diff --git a/src/widgets/shrinkable/application-window.vala b/src/widgets/shrinkable/application-window.vala
index 8b20167..c077ca0 100644
--- a/src/widgets/shrinkable/application-window.vala
+++ b/src/widgets/shrinkable/application-window.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/widgets/shrinkable/bin.vala b/src/widgets/shrinkable/bin.vala
index dc6d72d..901bf71 100644
--- a/src/widgets/shrinkable/bin.vala
+++ b/src/widgets/shrinkable/bin.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/widgets/sidebar/childs/player-queue.vala b/src/widgets/sidebar/childs/player-queue.vala
index ad06c2c..fecd7f7 100644
--- a/src/widgets/sidebar/childs/player-queue.vala
+++ b/src/widgets/sidebar/childs/player-queue.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,13 +13,13 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Cassette.Client;
using Gee;
-[GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/player-queue.ui")]
+[GtkTemplate (ui = "/space/rirusha/Cassette/ui/player-queue.ui")]
public class Cassette.PlayerQueue : SidebarChildBin {
[GtkChild]
diff --git a/src/widgets/sidebar/childs/track-info.vala b/src/widgets/sidebar/childs/track-info.vala
index 59eceac..abab5fd 100644
--- a/src/widgets/sidebar/childs/track-info.vala
+++ b/src/widgets/sidebar/childs/track-info.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,13 +13,13 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Cassette.Client;
using Gee;
-[GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/track-info.ui")]
+[GtkTemplate (ui = "/space/rirusha/Cassette/ui/track-info.ui")]
public class Cassette.TrackInfo : SidebarChildBin {
[GtkChild]
diff --git a/src/widgets/sidebar/childs/wave-settings.vala b/src/widgets/sidebar/childs/wave-settings.vala
index a32a76f..668075f 100644
--- a/src/widgets/sidebar/childs/wave-settings.vala
+++ b/src/widgets/sidebar/childs/wave-settings.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,13 +13,13 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Cassette.Client.YaMAPI;
using Gee;
-[GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/wave-settings.ui")]
+[GtkTemplate (ui = "/space/rirusha/Cassette/ui/wave-settings.ui")]
public sealed class Cassette.WaveSettings: SidebarChildBin {
[GtkChild]
diff --git a/src/widgets/sidebar/sidebar-child-bin.vala b/src/widgets/sidebar/sidebar-child-bin.vala
index 3559823..1c59c2c 100644
--- a/src/widgets/sidebar/sidebar-child-bin.vala
+++ b/src/widgets/sidebar/sidebar-child-bin.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
public abstract class Cassette.SidebarChildBin: Adw.Bin {
diff --git a/src/widgets/sidebar/sidebar.vala b/src/widgets/sidebar/sidebar.vala
index 01c7537..bcc958c 100644
--- a/src/widgets/sidebar/sidebar.vala
+++ b/src/widgets/sidebar/sidebar.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,13 +13,13 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Cassette.Client;
using Gee;
-[GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/sidebar.ui")]
+[GtkTemplate (ui = "/space/rirusha/Cassette/ui/sidebar.ui")]
public class Cassette.Sidebar : ShrinkableBin {
[GtkChild]
diff --git a/src/widgets/track-carousel.vala b/src/widgets/track-carousel.vala
index 0a3a6a1..477d72a 100644
--- a/src/widgets/track-carousel.vala
+++ b/src/widgets/track-carousel.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,11 +13,11 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
-[GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/track-carousel.ui")]
+[GtkTemplate (ui = "/space/rirusha/Cassette/ui/track-carousel.ui")]
public class Cassette.TrackCarousel : Adw.Bin, Gtk.Orientable {
[GtkChild]
diff --git a/src/widgets/track-info-panel.vala b/src/widgets/track-info-panel.vala
index a7d234a..e5c963a 100644
--- a/src/widgets/track-info-panel.vala
+++ b/src/widgets/track-info-panel.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,12 +13,12 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Cassette.Client;
-[GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/track-info-panel.ui")]
+[GtkTemplate (ui = "/space/rirusha/Cassette/ui/track-info-panel.ui")]
public class Cassette.TrackInfoPanel : Adw.Bin, Gtk.Orientable {
[GtkChild]
@@ -80,6 +81,8 @@ public class Cassette.TrackInfoPanel : Adw.Bin, Gtk.Orientable {
play_mark_track.init_content (value.id);
}
+
+ update_labels_visibility ();
}
}
@@ -211,19 +214,16 @@ public class Cassette.TrackInfoPanel : Adw.Bin, Gtk.Orientable {
}
construct {
- track_version_label.notify["label"].connect (() => {
- track_version_label.visible = track_version_label.label != "";
- });
-
- track_authors_label.notify["label"].connect (() => {
- track_authors_label.visible = track_authors_label.label != "";
- });
-
notify["position"].connect (() => {
position_label.label = position.to_string ();
});
}
+ void update_labels_visibility () {
+ track_version_label.visible = track_version_label.label != "";
+ track_authors_label.visible = track_authors_label.label != "";
+ }
+
public PlayMarkTrack get_play_mark_track () {
return play_mark_track;
}
diff --git a/src/widgets/track-list/track-list.vala b/src/widgets/track-list/track-list.vala
index 3a7c3f2..2dda3fb 100644
--- a/src/widgets/track-list/track-list.vala
+++ b/src/widgets/track-list/track-list.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
@@ -124,7 +125,7 @@ namespace Cassette {
}
}
- [GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/track-list.ui")]
+ [GtkTemplate (ui = "/space/rirusha/Cassette/ui/track-list.ui")]
public class TrackList : Adw.Bin {
[GtkChild]
diff --git a/src/widgets/track-list/track-row-base.vala b/src/widgets/track-list/track-row-base.vala
index d8adcd6..7571441 100644
--- a/src/widgets/track-list/track-row-base.vala
+++ b/src/widgets/track-list/track-row-base.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,5 +13,5 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/widgets/track-list/tracks-model.vala b/src/widgets/track-list/tracks-model.vala
index d8adcd6..7571441 100644
--- a/src/widgets/track-list/tracks-model.vala
+++ b/src/widgets/track-list/tracks-model.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,5 +13,5 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/widgets/track-list/tracks-view.vala b/src/widgets/track-list/tracks-view.vala
index d8adcd6..7571441 100644
--- a/src/widgets/track-list/tracks-view.vala
+++ b/src/widgets/track-list/tracks-view.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,5 +13,5 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/widgets/track-rows/base.vala b/src/widgets/track-rows/base.vala
index 9121969..4cac58a 100644
--- a/src/widgets/track-rows/base.vala
+++ b/src/widgets/track-rows/base.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,12 +13,12 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Cassette.Client;
-[GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/track-base-content.ui")]
+[GtkTemplate (ui = "/space/rirusha/Cassette/ui/track-base-content.ui")]
public class Cassette.TrackBase: TrackRow {
[GtkChild]
diff --git a/src/widgets/track-rows/default.vala b/src/widgets/track-rows/default.vala
index dd3d678..59a6124 100644
--- a/src/widgets/track-rows/default.vala
+++ b/src/widgets/track-rows/default.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
@@ -20,7 +21,7 @@ using Cassette.Client;
namespace Cassette {
- [GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/track-default-content.ui")]
+ [GtkTemplate (ui = "/space/rirusha/Cassette/ui/track-default-content.ui")]
public class TrackDefault : TrackRow {
[GtkChild]
diff --git a/src/widgets/track-rows/placeholder.vala b/src/widgets/track-rows/placeholder.vala
index 19f1dc9..e192219 100644
--- a/src/widgets/track-rows/placeholder.vala
+++ b/src/widgets/track-rows/placeholder.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,11 +13,11 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
namespace Cassette {
- [GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/track-placeholder.ui")]
+ [GtkTemplate (ui = "/space/rirusha/Cassette/ui/track-placeholder.ui")]
public class TrackPlaceholder : Gtk.Frame {
public TrackPlaceholder () {
diff --git a/src/widgets/track-rows/queue.vala b/src/widgets/track-rows/queue.vala
index ddf4bff..2d31677 100644
--- a/src/widgets/track-rows/queue.vala
+++ b/src/widgets/track-rows/queue.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,12 +13,12 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Cassette.Client;
-[GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/track-queue-content.ui")]
+[GtkTemplate (ui = "/space/rirusha/Cassette/ui/track-queue-content.ui")]
public class Cassette.TrackQueue : TrackRow {
[GtkChild]
diff --git a/src/widgets/track-rows/track-row.vala b/src/widgets/track-rows/track-row.vala
index f528624..c426c53 100644
--- a/src/widgets/track-rows/track-row.vala
+++ b/src/widgets/track-rows/track-row.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
public abstract class Cassette.TrackRow: Reactable {
diff --git a/src/widgets/views/abstract-base.vala b/src/widgets/views/abstract-base.vala
index 52c6127..8bfe588 100644
--- a/src/widgets/views/abstract-base.vala
+++ b/src/widgets/views/abstract-base.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
namespace Cassette {
diff --git a/src/widgets/views/abstract-cachiable.vala b/src/widgets/views/abstract-cachiable.vala
index 30822aa..b70c802 100644
--- a/src/widgets/views/abstract-cachiable.vala
+++ b/src/widgets/views/abstract-cachiable.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
@@ -20,6 +21,12 @@ using Cassette.Client;
namespace Cassette {
public abstract class CachiableView : HasTracksView {
+
+ internal struct ContentInfo {
+ public string content_name;
+ public string content_title;
+ }
+
public Gtk.Stack download_stack { get; set; }
Gtk.Overlay overlay { get; default = new Gtk.Overlay (); }
public Gtk.ProgressBar saving_progress_bar { get; default = new Gtk.ProgressBar (); }
@@ -66,34 +73,33 @@ namespace Cassette {
_job.job_done.connect ((obj, status) => {
switch (status) {
case Cachier.JobDoneStatus.SUCCESS:
- var content_info = get_content_name (object_info, true, true);
+ var content_info = get_content_info (object_info);
// Translators: first %s - content type (Playlist), second - name
if (yell_status) {
- application.show_message (_("%s%s successfully cached").printf (
- content_info[0],
- content_info[1]
+ application.show_message (_("%s '%s' saved successfully").printf (
+ content_info.content_name,
+ content_info.content_title
));
}
download_stack.visible_child_name = "delete";
break;
case Cachier.JobDoneStatus.FAILED:
- var content_info = get_content_name (object_info, false, true);
+ var content_info = get_content_info (object_info);
// Translators: first %s - content type (Playlist), second - name
- application.show_message (_("Caching of %s%s was canceled, due to network error")
- .printf (
- content_info[0],
- content_info[1]
- ));
+ application.show_message (_("%s '%s' saving was stopped, due to network error").printf (
+ content_info.content_name,
+ content_info.content_title
+ ));
download_stack.visible_child_name = "save";
break;
case Cachier.JobDoneStatus.ABORTED:
- var content_info = get_content_name (object_info, false, true);
+ var content_info = get_content_info (object_info);
// Translators: first %s - content type (Playlist), second - name
- application.show_message (_("Caching of %s%s was aborted").printf (
- content_info[0],
- content_info[1]
+ application.show_message (_("%s '%s' saving was aborted").printf (
+ content_info.content_name,
+ content_info.content_title
));
download_stack.visible_child_name = "save";
break;
@@ -153,28 +159,22 @@ namespace Cassette {
}
}
- string[] get_content_name (HasTrackList obj_info, bool first_big, bool with_title) {
+ ContentInfo get_content_info (HasTrackList obj_info) {
string content_name = "";
string content_title = "";
- var playlist_info = obj_info as YaMAPI.Playlist;
- if (playlist_info != null) {
+ if (obj_info is YaMAPI.Playlist) {
+ var playlist_info = obj_info as YaMAPI.Playlist;
content_name = _("Playlist");
- content_name = first_big? content_name : content_name.down ();
- if (with_title) {
- content_title = " '%s'".printf (playlist_info.title);
- }
- } else {
+ content_title = playlist_info.title;
+
+ } else if (obj_info is YaMAPI.Album) {
var album_info = obj_info as YaMAPI.Album;
- if (album_info != null) {
- content_name = _("Album");
- content_name = first_big? content_name : content_name.down ();
- if (with_title) {
- content_title += " '%s'".printf (album_info.title);
- }
- } else {
- assert_not_reached ();
- }
+ content_name = _("Album");
+ content_title = album_info.title;
+
+ } else {
+ assert_not_reached ();
}
return {content_name, content_title};
@@ -187,9 +187,11 @@ namespace Cassette {
job = cachier.start_cache (object_info);
if (yell_status) {
- var content_info = get_content_name (object_info, false, false);
- // Translators: first %s - content type (Playlist), second - name
- application.show_message (_("Cacheing of %s%s started").printf (content_info[0], content_info[1]));
+ var content_info = get_content_info (object_info);
+ // Translators: %s - content type (e.g. "Playlist")
+ application.show_message (_("%s saving has started").printf (
+ content_info.content_name
+ ));
}
}
@@ -223,21 +225,20 @@ namespace Cassette {
download_stack.sensitive = true;
if (yell_status) {
- var content_info = get_content_name (object_info, true, true);
+ var content_info = get_content_info (object_info);
// Translators: first %s - content type (Playlist), second - name
- application.show_message (_("%s%s was removed from cache folder").printf (
- content_info[0],
- content_info[1]
+ application.show_message (_("%s '%s' was moved from data to cache").printf (
+ content_info.content_name,
+ content_info.content_title
));
}
});
if (yell_status) {
- var content_info = get_content_name (object_info, true, false);
+ var content_info = get_content_info (object_info);
// Translators: first %s - content type (Playlist), second - name
- application.show_message (_("%s%s is removing, please do not close the app").printf (
- content_info[0],
- content_info[1]
+ application.show_message (_("%s removing has started. Please do not close the app").printf (
+ content_info.content_name
));
}
}
diff --git a/src/widgets/views/abstract-with-tracks.vala b/src/widgets/views/abstract-with-tracks.vala
index d2d895c..ab7e1b8 100644
--- a/src/widgets/views/abstract-with-tracks.vala
+++ b/src/widgets/views/abstract-with-tracks.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
diff --git a/src/widgets/views/cant-show.vala b/src/widgets/views/cant-show.vala
index 53c5626..aff9755 100644
--- a/src/widgets/views/cant-show.vala
+++ b/src/widgets/views/cant-show.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
@@ -20,7 +21,7 @@ using Cassette.Client;
namespace Cassette {
- [GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/cant-show-view.ui")]
+ [GtkTemplate (ui = "/space/rirusha/Cassette/ui/cant-show-view.ui")]
public class CantShowView : Adw.Bin {
[GtkChild]
diff --git a/src/widgets/views/devel.vala b/src/widgets/views/devel.vala
index 6ea1254..526e1a9 100644
--- a/src/widgets/views/devel.vala
+++ b/src/widgets/views/devel.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,11 +13,11 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
-[GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/devel-view.ui")]
+[GtkTemplate (ui = "/space/rirusha/Cassette/ui/devel-view.ui")]
public class Cassette.DevelView : BaseView {
[GtkChild]
diff --git a/src/widgets/views/disliked.vala b/src/widgets/views/disliked.vala
index f4c5e2a..c5219a4 100644
--- a/src/widgets/views/disliked.vala
+++ b/src/widgets/views/disliked.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
@@ -21,7 +22,7 @@ using Cassette.Client;
namespace Cassette {
- [GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/disliked-tracks-view.ui")]
+ [GtkTemplate (ui = "/space/rirusha/Cassette/ui/disliked-tracks-view.ui")]
public class DislikedTracksView : HasTracksView {
[GtkChild]
unowned Gtk.Box main_box;
diff --git a/src/widgets/views/main.vala b/src/widgets/views/main.vala
index bd3464b..5a2f25d 100644
--- a/src/widgets/views/main.vala
+++ b/src/widgets/views/main.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,10 +13,10 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
-[GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/main-view.ui")]
+[GtkTemplate (ui = "/space/rirusha/Cassette/ui/main-view.ui")]
public class Cassette.MainView : BaseView {
[GtkChild]
diff --git a/src/widgets/views/playlist.vala b/src/widgets/views/playlist.vala
index e685afc..abdb8ce 100644
--- a/src/widgets/views/playlist.vala
+++ b/src/widgets/views/playlist.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
@@ -20,7 +21,7 @@ using Cassette.Client;
namespace Cassette {
- [GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/playlist-view.ui")]
+ [GtkTemplate (ui = "/space/rirusha/Cassette/ui/playlist-view.ui")]
public class PlaylistView : CachiableView {
[GtkChild]
unowned SaveStack save_stack;
@@ -241,12 +242,16 @@ namespace Cassette {
playlist_status.label = _("Owner: %s").printf (playlist_info.owner.name);
}
} else {
- // Translators: 0 - female, 1 - male (different gender endings)
- string format_string = ngettext (
- "%s updated playlist %s",
- "%s updated playlist %s",
- playlist_info.owner.sex == "female"? 0 : 1
- );
+ string format_string;
+ if (playlist_info.owner.sex == "female") {
+ // Translators: %s is female person
+ format_string = C_ ("female person", "%s updated playlist %s");
+
+ } else {
+ // Translators: %s is male person
+ format_string = C_ ("male person", "%s updated playlist %s");
+ }
+
playlist_status.label = format_string.printf (playlist_info.owner.name, get_when (playlist_info.modified));
}
diff --git a/src/widgets/views/playlists.vala b/src/widgets/views/playlists.vala
index d8dd532..1d8de29 100644
--- a/src/widgets/views/playlists.vala
+++ b/src/widgets/views/playlists.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
@@ -20,7 +21,7 @@ using Cassette.Client;
namespace Cassette {
- [GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/playlists-view.ui")]
+ [GtkTemplate (ui = "/space/rirusha/Cassette/ui/playlists-view.ui")]
public class PlaylistsView : BaseView {
[GtkChild]
unowned Gtk.Label playlists_label;
@@ -113,6 +114,17 @@ namespace Cassette {
}
show_ready ();
+
+ // Magicaly fix it https://t.me/RiruAndFriends/49936
+ Idle.add_once (() => {
+ flow_box.homogeneous = false;
+ likes_flow_box.homogeneous = false;
+ });
+
+ Idle.add_once (() => {
+ flow_box.homogeneous = true;
+ likes_flow_box.homogeneous = true;
+ });
}
public async override void first_show () {
diff --git a/src/widgets/views/stations.vala b/src/widgets/views/stations.vala
index d3dc493..808f86e 100644
--- a/src/widgets/views/stations.vala
+++ b/src/widgets/views/stations.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,13 +13,13 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Cassette.Client;
-[GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/stations-view.ui")]
+[GtkTemplate (ui = "/space/rirusha/Cassette/ui/stations-view.ui")]
public class Cassette.StationsView : BaseView {
[GtkChild]
@@ -140,6 +141,27 @@ public class Cassette.StationsView : BaseView {
}
show_ready ();
+
+ // Magicaly fix it https://t.me/RiruAndFriends/49936
+ Idle.add_once (() => {
+ dashboard_flow_box.homogeneous = false;
+ genre_flow_box.homogeneous = false;
+ mood_flow_box.homogeneous = false;
+ activity_flow_box.homogeneous = false;
+ epoch_flow_box.homogeneous = false;
+ other_flow_box.homogeneous = false;
+ search_flow_box.homogeneous = false;
+ });
+
+ Idle.add_once (() => {
+ dashboard_flow_box.homogeneous = true;
+ genre_flow_box.homogeneous = true;
+ mood_flow_box.homogeneous = true;
+ activity_flow_box.homogeneous = true;
+ epoch_flow_box.homogeneous = true;
+ other_flow_box.homogeneous = true;
+ search_flow_box.homogeneous = true;
+ });
}
public async override int try_load_from_web () {
diff --git a/src/window.vala b/src/window.vala
index 94c4644..d9dc241 100644
--- a/src/window.vala
+++ b/src/window.vala
@@ -1,8 +1,9 @@
-/* Copyright 2023-2024 Rirusha
+/* Copyright 2023-2024 Vladimir Vaskov
*
* 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, version 3
+ * 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
@@ -12,12 +13,12 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * SPDX-License-Identifier: GPL-3.0-only
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
using Cassette.Client;
-[GtkTemplate (ui = "/io/github/Rirusha/Cassette/ui/window.ui")]
+[GtkTemplate (ui = "/space/rirusha/Cassette/ui/window.ui")]
public class Cassette.Window : ApplicationWindow {
const ActionEntry[] ACTION_ENTRIES = {
diff --git a/vala-checkers b/vala-checkers
new file mode 160000
index 0000000..02dd029
--- /dev/null
+++ b/vala-checkers
@@ -0,0 +1 @@
+Subproject commit 02dd02976110f4f93f5867dc0f52abee24967d80
diff --git a/vala-lint.conf b/vala-lint.conf
index b451dd4..c8abba3 100644
--- a/vala-lint.conf
+++ b/vala-lint.conf
@@ -17,11 +17,11 @@ unnecessary-string-template=error
disable-by-inline-comments=true
[line-length]
-max-line-length=130
+max-line-length=120
ignore-comments=false
[naming-convention]
exceptions=UUID
[note]
-keywords=TODO,FIXME
\ No newline at end of file
+keywords=TODO,FIXME