From 34a2ebfd65c9345a38ca4430efb66a5ce84fd2a7 Mon Sep 17 00:00:00 2001 From: crowdin Date: Wed, 29 Nov 2023 17:27:10 +0000 Subject: [PATCH] chore(i18n): new Crowdin updates --- app/Language/ar/Episode.php | 12 + app/Language/ar/Podcast.php | 1 + app/Language/br/Episode.php | 12 + app/Language/br/Podcast.php | 1 + app/Language/ca/Episode.php | 12 + app/Language/ca/Podcast.php | 1 + app/Language/da/Episode.php | 12 + app/Language/da/Podcast.php | 1 + app/Language/de/Episode.php | 20 +- app/Language/de/Podcast.php | 11 +- app/Language/el/Episode.php | 12 + app/Language/el/Podcast.php | 1 + app/Language/es/Episode.php | 12 + app/Language/es/Podcast.php | 1 + app/Language/fa/Episode.php | 12 + app/Language/fa/Podcast.php | 1 + app/Language/fr/Episode.php | 12 + app/Language/fr/Podcast.php | 1 + app/Language/fr2/Episode.php | 12 + app/Language/fr2/Podcast.php | 1 + app/Language/fr_CA/Episode.php | 12 + app/Language/fr_CA/Podcast.php | 1 + app/Language/gd/Episode.php | 12 + app/Language/gd/Podcast.php | 1 + app/Language/gl/Episode.php | 12 + app/Language/gl/Podcast.php | 1 + app/Language/id/Episode.php | 12 + app/Language/id/Podcast.php | 1 + app/Language/it/Episode.php | 12 + app/Language/it/Podcast.php | 1 + app/Language/ja/Episode.php | 12 + app/Language/ja/Podcast.php | 1 + app/Language/kk/Comment.php | 34 ++ app/Language/kk/Common.php | 30 ++ app/Language/kk/Episode.php | 45 +++ app/Language/kk/Fediverse.php | 37 +++ app/Language/kk/Home.php | 20 ++ app/Language/kk/Page.php | 17 + app/Language/kk/Podcast.php | 55 +++ app/Language/kk/Post.php | 40 +++ app/Language/ko/Episode.php | 12 + app/Language/ko/Podcast.php | 1 + app/Language/nl/Episode.php | 12 + app/Language/nl/Podcast.php | 1 + app/Language/nn-NO/Podcast.php | 1 + app/Language/oc/Episode.php | 12 + app/Language/oc/Podcast.php | 1 + app/Language/pl/Episode.php | 12 + app/Language/pl/Podcast.php | 3 +- app/Language/pt-BR/Episode.php | 12 + app/Language/pt-BR/Podcast.php | 1 + app/Language/pt/Episode.php | 12 + app/Language/pt/Podcast.php | 1 + app/Language/ro/Episode.php | 12 + app/Language/ro/Podcast.php | 1 + app/Language/ru/Episode.php | 12 + app/Language/ru/Podcast.php | 1 + app/Language/sk/Episode.php | 12 + app/Language/sk/Podcast.php | 3 +- app/Language/sr_Latn/Episode.php | 12 + app/Language/sr_Latn/Fediverse.php | 2 +- app/Language/sr_Latn/Podcast.php | 3 +- app/Language/sv/Episode.php | 12 + app/Language/sv/Podcast.php | 1 + app/Language/uk/Comment.php | 8 +- app/Language/uk/Episode.php | 12 + app/Language/uk/Home.php | 12 +- app/Language/uk/Page.php | 6 +- app/Language/uk/Podcast.php | 1 + app/Language/zh-Hans/Episode.php | 12 + app/Language/zh-Hans/Podcast.php | 1 + docs/src/ar/getting-started/install.md | 23 +- docs/src/br/getting-started/install.md | 23 +- docs/src/ca/getting-started/install.md | 23 +- docs/src/da/getting-started/install.md | 23 +- docs/src/de/getting-started/docker.md | 4 +- docs/src/de/getting-started/install.md | 162 +++++---- docs/src/de/index.md | 35 +- docs/src/el/getting-started/install.md | 23 +- docs/src/es/getting-started/install.md | 23 +- docs/src/fa/getting-started/install.md | 23 +- docs/src/fr/getting-started/docker.md | 36 +- docs/src/fr/getting-started/install.md | 23 +- docs/src/fr2/getting-started/install.md | 23 +- docs/src/fr_CA/getting-started/install.md | 23 +- docs/src/gd/getting-started/install.md | 23 +- docs/src/gl/getting-started/install.md | 23 +- docs/src/id/getting-started/install.md | 23 +- docs/src/it/getting-started/install.md | 23 +- docs/src/ja/getting-started/install.md | 23 +- docs/src/kk/getting-started/auth.md | 87 +++++ docs/src/kk/getting-started/docker.md | 158 +++++++++ docs/src/kk/getting-started/install.md | 238 +++++++++++++ docs/src/kk/getting-started/security.md | 26 ++ docs/src/kk/getting-started/update.md | 109 ++++++ docs/src/kk/index.md | 299 +++++++++++++++++ docs/src/ko/getting-started/install.md | 23 +- docs/src/nl/getting-started/install.md | 23 +- docs/src/nn-NO/getting-started/auth.md | 110 +++--- docs/src/nn-NO/getting-started/docker.md | 84 ++--- docs/src/nn-NO/getting-started/install.md | 23 +- docs/src/nn-NO/index.md | 102 +++--- docs/src/oc/getting-started/install.md | 23 +- docs/src/pl/getting-started/install.md | 23 +- docs/src/pt-BR/getting-started/install.md | 23 +- docs/src/pt/getting-started/install.md | 23 +- docs/src/ro/getting-started/install.md | 23 +- docs/src/ru/getting-started/install.md | 23 +- docs/src/sk/getting-started/install.md | 23 +- docs/src/sr_Latn/getting-started/auth.md | 110 +++--- docs/src/sr_Latn/getting-started/install.md | 72 ++-- docs/src/sv/getting-started/install.md | 23 +- docs/src/uk/getting-started/install.md | 23 +- docs/src/zh-Hans/getting-started/install.md | 23 +- modules/Admin/Language/ar/Breadcrumb.php | 2 + modules/Admin/Language/ar/Common.php | 1 + modules/Admin/Language/ar/Episode.php | 13 +- modules/Admin/Language/ar/Platforms.php | 15 +- modules/Admin/Language/ar/Podcast.php | 4 +- .../Admin/Language/ar/PodcastNavigation.php | 11 +- modules/Admin/Language/br/Breadcrumb.php | 2 + modules/Admin/Language/br/Common.php | 1 + modules/Admin/Language/br/Episode.php | 25 +- modules/Admin/Language/br/Platforms.php | 15 +- modules/Admin/Language/br/Podcast.php | 4 +- .../Admin/Language/br/PodcastNavigation.php | 11 +- modules/Admin/Language/ca/Breadcrumb.php | 2 + modules/Admin/Language/ca/Common.php | 1 + modules/Admin/Language/ca/Episode.php | 25 +- modules/Admin/Language/ca/Platforms.php | 15 +- modules/Admin/Language/ca/Podcast.php | 4 +- .../Admin/Language/ca/PodcastNavigation.php | 11 +- modules/Admin/Language/da/Breadcrumb.php | 2 + modules/Admin/Language/da/Common.php | 1 + modules/Admin/Language/da/Episode.php | 13 +- modules/Admin/Language/da/Platforms.php | 15 +- modules/Admin/Language/da/Podcast.php | 4 +- .../Admin/Language/da/PodcastNavigation.php | 11 +- modules/Admin/Language/de/Breadcrumb.php | 4 +- modules/Admin/Language/de/Common.php | 1 + modules/Admin/Language/de/Episode.php | 13 +- modules/Admin/Language/de/Navigation.php | 4 +- modules/Admin/Language/de/Platforms.php | 15 +- modules/Admin/Language/de/Podcast.php | 6 +- .../Admin/Language/de/PodcastNavigation.php | 13 +- modules/Admin/Language/el/Breadcrumb.php | 2 + modules/Admin/Language/el/Common.php | 1 + modules/Admin/Language/el/Episode.php | 23 +- modules/Admin/Language/el/Platforms.php | 15 +- modules/Admin/Language/el/Podcast.php | 4 +- .../Admin/Language/el/PodcastNavigation.php | 11 +- modules/Admin/Language/es/Breadcrumb.php | 2 + modules/Admin/Language/es/Common.php | 1 + modules/Admin/Language/es/Episode.php | 25 +- modules/Admin/Language/es/Platforms.php | 15 +- modules/Admin/Language/es/Podcast.php | 4 +- .../Admin/Language/es/PodcastNavigation.php | 11 +- modules/Admin/Language/fa/Breadcrumb.php | 2 + modules/Admin/Language/fa/Common.php | 1 + modules/Admin/Language/fa/Episode.php | 13 +- modules/Admin/Language/fa/Platforms.php | 15 +- modules/Admin/Language/fa/Podcast.php | 6 +- .../Admin/Language/fa/PodcastNavigation.php | 11 +- modules/Admin/Language/fr/Breadcrumb.php | 2 + modules/Admin/Language/fr/Common.php | 1 + modules/Admin/Language/fr/Episode.php | 23 +- modules/Admin/Language/fr/Platforms.php | 15 +- modules/Admin/Language/fr/Podcast.php | 4 +- .../Admin/Language/fr/PodcastNavigation.php | 11 +- modules/Admin/Language/fr2/Breadcrumb.php | 2 + modules/Admin/Language/fr2/Common.php | 1 + modules/Admin/Language/fr2/Episode.php | 25 +- modules/Admin/Language/fr2/Platforms.php | 15 +- modules/Admin/Language/fr2/Podcast.php | 4 +- .../Admin/Language/fr2/PodcastNavigation.php | 11 +- modules/Admin/Language/fr_CA/Breadcrumb.php | 2 + modules/Admin/Language/fr_CA/Common.php | 1 + modules/Admin/Language/fr_CA/Episode.php | 13 +- modules/Admin/Language/fr_CA/Platforms.php | 15 +- modules/Admin/Language/fr_CA/Podcast.php | 4 +- .../Language/fr_CA/PodcastNavigation.php | 11 +- modules/Admin/Language/gd/Breadcrumb.php | 2 + modules/Admin/Language/gd/Common.php | 1 + modules/Admin/Language/gd/Episode.php | 13 +- modules/Admin/Language/gd/Platforms.php | 15 +- modules/Admin/Language/gd/Podcast.php | 4 +- .../Admin/Language/gd/PodcastNavigation.php | 11 +- modules/Admin/Language/gl/Breadcrumb.php | 2 + modules/Admin/Language/gl/Common.php | 1 + modules/Admin/Language/gl/Episode.php | 25 +- modules/Admin/Language/gl/Platforms.php | 15 +- modules/Admin/Language/gl/Podcast.php | 4 +- .../Admin/Language/gl/PodcastNavigation.php | 11 +- modules/Admin/Language/id/Breadcrumb.php | 2 + modules/Admin/Language/id/Common.php | 1 + modules/Admin/Language/id/Episode.php | 13 +- modules/Admin/Language/id/Platforms.php | 15 +- modules/Admin/Language/id/Podcast.php | 4 +- .../Admin/Language/id/PodcastNavigation.php | 11 +- modules/Admin/Language/it/Breadcrumb.php | 2 + modules/Admin/Language/it/Common.php | 1 + modules/Admin/Language/it/Episode.php | 13 +- modules/Admin/Language/it/Platforms.php | 15 +- modules/Admin/Language/it/Podcast.php | 4 +- .../Admin/Language/it/PodcastNavigation.php | 11 +- modules/Admin/Language/ja/Breadcrumb.php | 2 + modules/Admin/Language/ja/Common.php | 1 + modules/Admin/Language/ja/Episode.php | 13 +- modules/Admin/Language/ja/Platforms.php | 15 +- modules/Admin/Language/ja/Podcast.php | 4 +- .../Admin/Language/ja/PodcastNavigation.php | 11 +- modules/Admin/Language/kk/AboutCastopod.php | 22 ++ modules/Admin/Language/kk/Breadcrumb.php | 59 ++++ modules/Admin/Language/kk/Charts.php | 41 +++ modules/Admin/Language/kk/Common.php | 52 +++ modules/Admin/Language/kk/Countries.php | 264 +++++++++++++++ modules/Admin/Language/kk/Dashboard.php | 28 ++ modules/Admin/Language/kk/Episode.php | 225 +++++++++++++ .../Admin/Language/kk/EpisodeNavigation.php | 23 ++ modules/Admin/Language/kk/Fediverse.php | 32 ++ modules/Admin/Language/kk/Home.php | 14 + modules/Admin/Language/kk/Install.php | 61 ++++ modules/Admin/Language/kk/Navigation.php | 43 +++ modules/Admin/Language/kk/Notifications.php | 19 ++ modules/Admin/Language/kk/Page.php | 30 ++ modules/Admin/Language/kk/Pager.php | 21 ++ modules/Admin/Language/kk/Person.php | 65 ++++ modules/Admin/Language/kk/Platforms.php | 43 +++ modules/Admin/Language/kk/Podcast.php | 314 ++++++++++++++++++ .../Admin/Language/kk/PodcastNavigation.php | 42 +++ modules/Admin/Language/kk/Settings.php | 58 ++++ modules/Admin/Language/kk/Soundbite.php | 31 ++ modules/Admin/Language/kk/Validation.php | 16 + modules/Admin/Language/kk/VideoClip.php | 72 ++++ modules/Admin/Language/ko/Breadcrumb.php | 2 + modules/Admin/Language/ko/Common.php | 1 + modules/Admin/Language/ko/Episode.php | 13 +- modules/Admin/Language/ko/Platforms.php | 15 +- modules/Admin/Language/ko/Podcast.php | 4 +- .../Admin/Language/ko/PodcastNavigation.php | 11 +- modules/Admin/Language/nl/Breadcrumb.php | 2 + modules/Admin/Language/nl/Common.php | 1 + modules/Admin/Language/nl/Episode.php | 13 +- modules/Admin/Language/nl/Platforms.php | 15 +- modules/Admin/Language/nl/Podcast.php | 4 +- .../Admin/Language/nl/PodcastNavigation.php | 11 +- modules/Admin/Language/nn-NO/Breadcrumb.php | 2 + modules/Admin/Language/nn-NO/Common.php | 1 + modules/Admin/Language/nn-NO/Platforms.php | 15 +- modules/Admin/Language/nn-NO/Podcast.php | 6 +- .../Language/nn-NO/PodcastNavigation.php | 11 +- modules/Admin/Language/oc/Breadcrumb.php | 2 + modules/Admin/Language/oc/Common.php | 1 + modules/Admin/Language/oc/Episode.php | 13 +- modules/Admin/Language/oc/Platforms.php | 15 +- modules/Admin/Language/oc/Podcast.php | 4 +- .../Admin/Language/oc/PodcastNavigation.php | 11 +- modules/Admin/Language/pl/Breadcrumb.php | 2 + modules/Admin/Language/pl/Common.php | 1 + modules/Admin/Language/pl/Episode.php | 21 +- modules/Admin/Language/pl/Platforms.php | 15 +- modules/Admin/Language/pl/Podcast.php | 4 +- .../Admin/Language/pl/PodcastNavigation.php | 11 +- modules/Admin/Language/pt-BR/Breadcrumb.php | 2 + modules/Admin/Language/pt-BR/Common.php | 1 + modules/Admin/Language/pt-BR/Episode.php | 25 +- modules/Admin/Language/pt-BR/Platforms.php | 15 +- modules/Admin/Language/pt-BR/Podcast.php | 6 +- .../Language/pt-BR/PodcastNavigation.php | 11 +- modules/Admin/Language/pt/Breadcrumb.php | 2 + modules/Admin/Language/pt/Common.php | 1 + modules/Admin/Language/pt/Episode.php | 13 +- modules/Admin/Language/pt/Platforms.php | 15 +- modules/Admin/Language/pt/Podcast.php | 4 +- .../Admin/Language/pt/PodcastNavigation.php | 11 +- modules/Admin/Language/ro/Breadcrumb.php | 2 + modules/Admin/Language/ro/Common.php | 1 + modules/Admin/Language/ro/Episode.php | 13 +- modules/Admin/Language/ro/Platforms.php | 15 +- modules/Admin/Language/ro/Podcast.php | 4 +- .../Admin/Language/ro/PodcastNavigation.php | 11 +- modules/Admin/Language/ru/Breadcrumb.php | 2 + modules/Admin/Language/ru/Common.php | 1 + modules/Admin/Language/ru/Episode.php | 13 +- modules/Admin/Language/ru/Platforms.php | 15 +- modules/Admin/Language/ru/Podcast.php | 4 +- .../Admin/Language/ru/PodcastNavigation.php | 11 +- modules/Admin/Language/sk/Breadcrumb.php | 4 +- modules/Admin/Language/sk/Common.php | 1 + modules/Admin/Language/sk/Countries.php | 2 +- modules/Admin/Language/sk/Episode.php | 25 +- .../Admin/Language/sk/EpisodeNavigation.php | 4 +- modules/Admin/Language/sk/Navigation.php | 2 +- modules/Admin/Language/sk/Pager.php | 2 +- modules/Admin/Language/sk/Person.php | 2 +- modules/Admin/Language/sk/Platforms.php | 15 +- modules/Admin/Language/sk/Podcast.php | 4 +- .../Admin/Language/sk/PodcastNavigation.php | 11 +- .../Admin/Language/sr_Latn/AboutCastopod.php | 16 +- modules/Admin/Language/sr_Latn/Breadcrumb.php | 4 +- modules/Admin/Language/sr_Latn/Common.php | 1 + modules/Admin/Language/sr_Latn/Countries.php | 70 ++-- modules/Admin/Language/sr_Latn/Dashboard.php | 20 +- modules/Admin/Language/sr_Latn/Episode.php | 21 +- modules/Admin/Language/sr_Latn/Fediverse.php | 24 +- modules/Admin/Language/sr_Latn/Home.php | 4 +- modules/Admin/Language/sr_Latn/Install.php | 62 ++-- modules/Admin/Language/sr_Latn/Navigation.php | 4 +- .../Admin/Language/sr_Latn/Notifications.php | 14 +- modules/Admin/Language/sr_Latn/Pager.php | 4 +- modules/Admin/Language/sr_Latn/Platforms.php | 15 +- modules/Admin/Language/sr_Latn/Podcast.php | 122 +++---- .../Language/sr_Latn/PodcastNavigation.php | 55 +-- modules/Admin/Language/sr_Latn/Settings.php | 68 ++-- modules/Admin/Language/sr_Latn/Soundbite.php | 26 +- modules/Admin/Language/sr_Latn/Validation.php | 4 +- modules/Admin/Language/sr_Latn/VideoClip.php | 84 ++--- modules/Admin/Language/sv/Breadcrumb.php | 2 + modules/Admin/Language/sv/Common.php | 1 + modules/Admin/Language/sv/Episode.php | 21 +- modules/Admin/Language/sv/Platforms.php | 15 +- modules/Admin/Language/sv/Podcast.php | 4 +- .../Admin/Language/sv/PodcastNavigation.php | 11 +- modules/Admin/Language/uk/Breadcrumb.php | 2 + modules/Admin/Language/uk/Common.php | 1 + modules/Admin/Language/uk/Episode.php | 13 +- modules/Admin/Language/uk/Platforms.php | 15 +- modules/Admin/Language/uk/Podcast.php | 4 +- .../Admin/Language/uk/PodcastNavigation.php | 11 +- modules/Admin/Language/zh-Hans/Breadcrumb.php | 2 + modules/Admin/Language/zh-Hans/Common.php | 1 + modules/Admin/Language/zh-Hans/Episode.php | 25 +- modules/Admin/Language/zh-Hans/Platforms.php | 15 +- modules/Admin/Language/zh-Hans/Podcast.php | 6 +- .../Language/zh-Hans/PodcastNavigation.php | 11 +- modules/Auth/Language/ar/Auth.php | 1 - modules/Auth/Language/br/Auth.php | 1 - modules/Auth/Language/ca/Auth.php | 1 - modules/Auth/Language/da/Auth.php | 1 - modules/Auth/Language/de/Auth.php | 1 - modules/Auth/Language/el/Auth.php | 1 - modules/Auth/Language/es/Auth.php | 1 - modules/Auth/Language/fa/Auth.php | 1 - modules/Auth/Language/fr/Auth.php | 1 - modules/Auth/Language/fr2/Auth.php | 1 - modules/Auth/Language/fr_CA/Auth.php | 1 - modules/Auth/Language/gd/Auth.php | 1 - modules/Auth/Language/gl/Auth.php | 1 - modules/Auth/Language/id/Auth.php | 1 - modules/Auth/Language/it/Auth.php | 1 - modules/Auth/Language/ja/Auth.php | 1 - modules/Auth/Language/kk/Auth.php | 93 ++++++ modules/Auth/Language/kk/Contributor.php | 47 +++ modules/Auth/Language/kk/MyAccount.php | 18 + modules/Auth/Language/kk/User.php | 60 ++++ modules/Auth/Language/ko/Auth.php | 1 - modules/Auth/Language/nl/Auth.php | 1 - modules/Auth/Language/nn-NO/Auth.php | 101 +++--- modules/Auth/Language/nn-NO/Contributor.php | 12 +- modules/Auth/Language/nn-NO/User.php | 16 +- modules/Auth/Language/oc/Auth.php | 1 - modules/Auth/Language/pl/Auth.php | 1 - modules/Auth/Language/pt-BR/Auth.php | 1 - modules/Auth/Language/pt/Auth.php | 1 - modules/Auth/Language/ro/Auth.php | 1 - modules/Auth/Language/ru/Auth.php | 1 - modules/Auth/Language/sk/Auth.php | 1 - modules/Auth/Language/sr_Latn/Auth.php | 101 +++--- modules/Auth/Language/sr_Latn/Contributor.php | 48 +-- modules/Auth/Language/sr_Latn/MyAccount.php | 8 +- modules/Auth/Language/sr_Latn/User.php | 66 ++-- modules/Auth/Language/sv/Auth.php | 1 - modules/Auth/Language/uk/Auth.php | 1 - modules/Auth/Language/zh-Hans/Auth.php | 1 - modules/Install/Language/kk/Install.php | 62 ++++ modules/Install/Language/sr_Latn/Install.php | 64 ++-- .../Language/ar/PodcastImport.php | 6 + .../Language/br/PodcastImport.php | 6 + .../Language/ca/PodcastImport.php | 6 + .../Language/da/PodcastImport.php | 6 + .../Language/de/PodcastImport.php | 6 + .../Language/el/PodcastImport.php | 6 + .../Language/es/PodcastImport.php | 6 + .../Language/fa/PodcastImport.php | 6 + .../Language/fr/PodcastImport.php | 6 + .../Language/fr2/PodcastImport.php | 6 + .../Language/fr_CA/PodcastImport.php | 6 + .../Language/gd/PodcastImport.php | 6 + .../Language/gl/PodcastImport.php | 6 + .../Language/id/PodcastImport.php | 6 + .../Language/it/PodcastImport.php | 6 + .../Language/ja/PodcastImport.php | 6 + .../Language/kk/PodcastImport.php | 66 ++++ .../Language/ko/PodcastImport.php | 6 + .../Language/nl/PodcastImport.php | 6 + .../Language/nn-NO/PodcastImport.php | 76 +++-- .../Language/oc/PodcastImport.php | 6 + .../Language/pl/PodcastImport.php | 6 + .../Language/pt-BR/PodcastImport.php | 6 + .../Language/pt/PodcastImport.php | 6 + .../Language/ro/PodcastImport.php | 6 + .../Language/ru/PodcastImport.php | 6 + .../Language/sk/PodcastImport.php | 6 + .../Language/sr_Latn/PodcastImport.php | 76 +++-- .../Language/sv/PodcastImport.php | 6 + .../Language/uk/PodcastImport.php | 6 + .../Language/zh-Hans/PodcastImport.php | 6 + .../Language/de/Subscription.php | 2 +- .../Language/es/Subscription.php | 2 +- .../Language/fr/Subscription.php | 2 +- .../Language/gd/Subscription.php | 2 +- .../Language/kk/PremiumPodcasts.php | 34 ++ .../Language/kk/Subscription.php | 100 ++++++ .../Language/nl/Subscription.php | 2 +- .../Language/nn-NO/PremiumPodcasts.php | 36 +- .../Language/nn-NO/Subscription.php | 124 +++---- .../Language/pl/Subscription.php | 2 +- .../Language/ro/Subscription.php | 2 +- .../Language/sr_Latn/PremiumPodcasts.php | 20 +- .../Language/sr_Latn/Subscription.php | 142 ++++---- .../Language/sv/Subscription.php | 2 +- .../Language/zh-Hans/Subscription.php | 2 +- 422 files changed, 6740 insertions(+), 1506 deletions(-) create mode 100644 app/Language/kk/Comment.php create mode 100644 app/Language/kk/Common.php create mode 100644 app/Language/kk/Episode.php create mode 100644 app/Language/kk/Fediverse.php create mode 100644 app/Language/kk/Home.php create mode 100644 app/Language/kk/Page.php create mode 100644 app/Language/kk/Podcast.php create mode 100644 app/Language/kk/Post.php create mode 100644 docs/src/kk/getting-started/auth.md create mode 100644 docs/src/kk/getting-started/docker.md create mode 100644 docs/src/kk/getting-started/install.md create mode 100644 docs/src/kk/getting-started/security.md create mode 100644 docs/src/kk/getting-started/update.md create mode 100644 docs/src/kk/index.md create mode 100644 modules/Admin/Language/kk/AboutCastopod.php create mode 100644 modules/Admin/Language/kk/Breadcrumb.php create mode 100644 modules/Admin/Language/kk/Charts.php create mode 100644 modules/Admin/Language/kk/Common.php create mode 100644 modules/Admin/Language/kk/Countries.php create mode 100644 modules/Admin/Language/kk/Dashboard.php create mode 100644 modules/Admin/Language/kk/Episode.php create mode 100644 modules/Admin/Language/kk/EpisodeNavigation.php create mode 100644 modules/Admin/Language/kk/Fediverse.php create mode 100644 modules/Admin/Language/kk/Home.php create mode 100644 modules/Admin/Language/kk/Install.php create mode 100644 modules/Admin/Language/kk/Navigation.php create mode 100644 modules/Admin/Language/kk/Notifications.php create mode 100644 modules/Admin/Language/kk/Page.php create mode 100644 modules/Admin/Language/kk/Pager.php create mode 100644 modules/Admin/Language/kk/Person.php create mode 100644 modules/Admin/Language/kk/Platforms.php create mode 100644 modules/Admin/Language/kk/Podcast.php create mode 100644 modules/Admin/Language/kk/PodcastNavigation.php create mode 100644 modules/Admin/Language/kk/Settings.php create mode 100644 modules/Admin/Language/kk/Soundbite.php create mode 100644 modules/Admin/Language/kk/Validation.php create mode 100644 modules/Admin/Language/kk/VideoClip.php create mode 100644 modules/Auth/Language/kk/Auth.php create mode 100644 modules/Auth/Language/kk/Contributor.php create mode 100644 modules/Auth/Language/kk/MyAccount.php create mode 100644 modules/Auth/Language/kk/User.php create mode 100644 modules/Install/Language/kk/Install.php create mode 100644 modules/PodcastImport/Language/kk/PodcastImport.php create mode 100644 modules/PremiumPodcasts/Language/kk/PremiumPodcasts.php create mode 100644 modules/PremiumPodcasts/Language/kk/Subscription.php diff --git a/app/Language/ar/Episode.php b/app/Language/ar/Episode.php index 2363eb39..26ac5405 100644 --- a/app/Language/ar/Episode.php +++ b/app/Language/ar/Episode.php @@ -30,4 +30,16 @@ return [ }', 'all_podcast_episodes' => 'كافة حلقات البودكاست', 'back_to_podcast' => 'العودة إلى البودكاست', + 'preview' => [ + 'title' => 'Preview', + 'not_published' => 'Not published', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'publish' => 'Publish', + 'publish_edit' => 'Edit publication', + ], ]; diff --git a/app/Language/ar/Podcast.php b/app/Language/ar/Podcast.php index fccaa0c0..22308c43 100644 --- a/app/Language/ar/Podcast.php +++ b/app/Language/ar/Podcast.php @@ -51,4 +51,5 @@ return [ other {# persons} }', 'persons_list' => 'أشخاص', + 'castopod_website' => 'Castopod (website)', ]; diff --git a/app/Language/br/Episode.php b/app/Language/br/Episode.php index a8ff6012..0d2b685b 100644 --- a/app/Language/br/Episode.php +++ b/app/Language/br/Episode.php @@ -39,4 +39,16 @@ return [ }', 'all_podcast_episodes' => 'Holl rannoù ar podkast', 'back_to_podcast' => 'Mont d\'ar podkast en-dro', + 'preview' => [ + 'title' => 'Preview', + 'not_published' => 'Not published', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'publish' => 'Publish', + 'publish_edit' => 'Edit publication', + ], ]; diff --git a/app/Language/br/Podcast.php b/app/Language/br/Podcast.php index a073756f..b826b4d0 100644 --- a/app/Language/br/Podcast.php +++ b/app/Language/br/Podcast.php @@ -131,4 +131,5 @@ return [ 82 {# zen} }', 'persons_list' => 'Emellerien·ezed', + 'castopod_website' => 'Castopod (website)', ]; diff --git a/app/Language/ca/Episode.php b/app/Language/ca/Episode.php index 001ea5ac..53b95d89 100644 --- a/app/Language/ca/Episode.php +++ b/app/Language/ca/Episode.php @@ -30,4 +30,16 @@ return [ }', 'all_podcast_episodes' => 'Tots els episodis del podcast', 'back_to_podcast' => 'Tornar al podcast', + 'preview' => [ + 'title' => 'Preview', + 'not_published' => 'Not published', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'publish' => 'Publish', + 'publish_edit' => 'Edit publication', + ], ]; diff --git a/app/Language/ca/Podcast.php b/app/Language/ca/Podcast.php index ab6cbdce..e1d664e4 100644 --- a/app/Language/ca/Podcast.php +++ b/app/Language/ca/Podcast.php @@ -51,4 +51,5 @@ return [ other {# persones} }', 'persons_list' => 'Persones', + 'castopod_website' => 'Castopod (website)', ]; diff --git a/app/Language/da/Episode.php b/app/Language/da/Episode.php index efd43ec6..beae489c 100644 --- a/app/Language/da/Episode.php +++ b/app/Language/da/Episode.php @@ -30,4 +30,16 @@ return [ }', 'all_podcast_episodes' => 'Alle podcastepisoder', 'back_to_podcast' => 'Tilbage til podcast', + 'preview' => [ + 'title' => 'Preview', + 'not_published' => 'Not published', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'publish' => 'Publish', + 'publish_edit' => 'Edit publication', + ], ]; diff --git a/app/Language/da/Podcast.php b/app/Language/da/Podcast.php index c453554e..d34d7bfc 100644 --- a/app/Language/da/Podcast.php +++ b/app/Language/da/Podcast.php @@ -51,4 +51,5 @@ return [ other {# personer} }', 'persons_list' => 'Personer', + 'castopod_website' => 'Castopod (website)', ]; diff --git a/app/Language/de/Episode.php b/app/Language/de/Episode.php index 793c86d1..2e2c5e6b 100644 --- a/app/Language/de/Episode.php +++ b/app/Language/de/Episode.php @@ -12,22 +12,34 @@ return [ 'season' => 'Staffel {seasonNumber}', 'season_abbr' => 'S{seasonNumber}', 'number' => 'Folge {episodeNumber}', - 'number_abbr' => 'F {episodeNumber}', - 'season_episode' => 'Staffel {seasonNumber} Folge {episodeNumber}', + 'number_abbr' => 'E {episodeNumber}', + 'season_episode' => 'Staffel {seasonNumber} Episode {episodeNumber}', 'season_episode_abbr' => 'S{seasonNumber}F{episodeNumber}', 'persons' => '{personsCount, plural, one {# Mitwirkender} other {# Mitwirkende} }', 'persons_list' => 'Mitwirkende', - 'back_to_episodes' => 'Zurück zu den Folgen von {podcast}', + 'back_to_episodes' => 'Zurück zu Episoden von {podcast}', 'comments' => 'Kommentare', 'activity' => 'Aktivitäten', - 'description' => 'Beschreibung der Folge', + 'description' => 'Beschreibung der Episode', 'number_of_comments' => '{numberOfComments, plural, one {# Kommentar} other {# Kommentare} }', 'all_podcast_episodes' => 'Alle Podcast-Folgen', 'back_to_podcast' => 'Zurück zum Podcast', + 'preview' => [ + 'title' => 'Vorschau', + 'not_published' => 'Nicht veröffentlicht', + 'text' => '{publication_status, select, + published {Diese Episode ist noch nicht veröffentlicht.} + scheduled {Diese Episode ist für die Veröffentlichung geplant am {publication_date}.} + with_podcast {Diese Episode wird zur gleichen Zeit wie der Podcast veröffentlicht.} + other {Diese Episode ist noch nicht veröffentlicht.} + }', + 'publish' => 'Veröffentlichen', + 'publish_edit' => 'Veröffentlichung bearbeiten', + ], ]; diff --git a/app/Language/de/Podcast.php b/app/Language/de/Podcast.php index 18e414b5..10f71485 100644 --- a/app/Language/de/Podcast.php +++ b/app/Language/de/Podcast.php @@ -11,12 +11,12 @@ declare(strict_types=1); return [ 'feed' => 'RSS-Feed', 'season' => 'Staffel {seasonNumber}', - 'list_of_episodes_year' => '({episodeCount}) Folgen in {year}', + 'list_of_episodes_year' => '({episodeCount}) Episoden in {year}', 'list_of_episodes_season' => - 'Staffel {seasonNumber} Folgen ({episodeCount})', - 'no_episode' => 'Keine Folge gefunden', + 'Staffel {seasonNumber} Episode ({episodeCount})', + 'no_episode' => 'Keine Episode gefunden!', 'follow' => 'Folgen', - 'followTitle' => 'Folge {actorDisplayName} im Fediversum', + 'followTitle' => 'Folge {actorDisplayName} im Fediversum!', 'followers' => '{numberOfFollowers, plural, one {# Follower} other {# Follower} @@ -28,7 +28,7 @@ return [ 'links' => 'Links', 'activity' => 'Aktivitäten', 'episodes' => 'Episoden', - 'episodes_title' => 'Folgen von {podcastTitle}', + 'episodes_title' => 'Episoden von {podcastTitle}', 'about' => 'Über', 'stats' => [ 'title' => 'Statistiken', @@ -51,4 +51,5 @@ return [ other {# Personen} }', 'persons_list' => 'Mitwirkende', + 'castopod_website' => 'Castopod (website)', ]; diff --git a/app/Language/el/Episode.php b/app/Language/el/Episode.php index d7f8ee90..846b98f1 100644 --- a/app/Language/el/Episode.php +++ b/app/Language/el/Episode.php @@ -30,4 +30,16 @@ return [ }', 'all_podcast_episodes' => 'Όλα τα επεισόδια του podcast', 'back_to_podcast' => 'Μετάβαση πίσω στο podcast', + 'preview' => [ + 'title' => 'Preview', + 'not_published' => 'Not published', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'publish' => 'Publish', + 'publish_edit' => 'Edit publication', + ], ]; diff --git a/app/Language/el/Podcast.php b/app/Language/el/Podcast.php index 7baf119f..249dbd98 100644 --- a/app/Language/el/Podcast.php +++ b/app/Language/el/Podcast.php @@ -51,4 +51,5 @@ return [ other {# άτομα} }', 'persons_list' => 'Άτομα', + 'castopod_website' => 'Castopod (website)', ]; diff --git a/app/Language/es/Episode.php b/app/Language/es/Episode.php index ad8bb076..c4cec2e6 100644 --- a/app/Language/es/Episode.php +++ b/app/Language/es/Episode.php @@ -30,4 +30,16 @@ return [ }', 'all_podcast_episodes' => 'Todos los episodios del podcast', 'back_to_podcast' => 'Regresar al podcast', + 'preview' => [ + 'title' => 'Preview', + 'not_published' => 'Sin publicar', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'publish' => 'Publish', + 'publish_edit' => 'Edit publication', + ], ]; diff --git a/app/Language/es/Podcast.php b/app/Language/es/Podcast.php index f89d6809..7f788524 100644 --- a/app/Language/es/Podcast.php +++ b/app/Language/es/Podcast.php @@ -51,4 +51,5 @@ return [ other {# personas} }', 'persons_list' => 'Personas', + 'castopod_website' => 'Castopod (website)', ]; diff --git a/app/Language/fa/Episode.php b/app/Language/fa/Episode.php index 981ea9c7..4a7596e2 100644 --- a/app/Language/fa/Episode.php +++ b/app/Language/fa/Episode.php @@ -28,4 +28,16 @@ return [ }', 'all_podcast_episodes' => 'تمامی قسمت‌های پادکست', 'back_to_podcast' => 'بازگشت به پادکست', + 'preview' => [ + 'title' => 'Preview', + 'not_published' => 'Not published', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'publish' => 'Publish', + 'publish_edit' => 'Edit publication', + ], ]; diff --git a/app/Language/fa/Podcast.php b/app/Language/fa/Podcast.php index 44c1fb78..9a6a2f83 100644 --- a/app/Language/fa/Podcast.php +++ b/app/Language/fa/Podcast.php @@ -46,4 +46,5 @@ return [ other {# نفر} }', 'persons_list' => 'نفر', + 'castopod_website' => 'Castopod (website)', ]; diff --git a/app/Language/fr/Episode.php b/app/Language/fr/Episode.php index 86fa3453..7d87dee9 100644 --- a/app/Language/fr/Episode.php +++ b/app/Language/fr/Episode.php @@ -30,4 +30,16 @@ return [ }', 'all_podcast_episodes' => 'Tous les épisodes du podcast', 'back_to_podcast' => 'Revenir au podcast', + 'preview' => [ + 'title' => 'Preview', + 'not_published' => 'Not published', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'publish' => 'Publish', + 'publish_edit' => 'Edit publication', + ], ]; diff --git a/app/Language/fr/Podcast.php b/app/Language/fr/Podcast.php index f212d564..29fbc118 100644 --- a/app/Language/fr/Podcast.php +++ b/app/Language/fr/Podcast.php @@ -51,4 +51,5 @@ return [ other {# intervenant·e·s} }', 'persons_list' => 'Intervenant·e·s', + 'castopod_website' => 'Castopod (website)', ]; diff --git a/app/Language/fr2/Episode.php b/app/Language/fr2/Episode.php index 96d6a3ca..4d778a21 100644 --- a/app/Language/fr2/Episode.php +++ b/app/Language/fr2/Episode.php @@ -30,4 +30,16 @@ return [ }', 'all_podcast_episodes' => 'Tous les épisodes du podcast', 'back_to_podcast' => 'Revenir au podcast', + 'preview' => [ + 'title' => 'Preview', + 'not_published' => 'Not published', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'publish' => 'Publish', + 'publish_edit' => 'Edit publication', + ], ]; diff --git a/app/Language/fr2/Podcast.php b/app/Language/fr2/Podcast.php index 8a79be58..ac47801c 100644 --- a/app/Language/fr2/Podcast.php +++ b/app/Language/fr2/Podcast.php @@ -51,4 +51,5 @@ return [ other {# intervenants} }', 'persons_list' => 'Intervenants', + 'castopod_website' => 'Castopod (website)', ]; diff --git a/app/Language/fr_CA/Episode.php b/app/Language/fr_CA/Episode.php index ebe39336..44be8e38 100644 --- a/app/Language/fr_CA/Episode.php +++ b/app/Language/fr_CA/Episode.php @@ -30,4 +30,16 @@ return [ }', 'all_podcast_episodes' => 'All podcast episodes', 'back_to_podcast' => 'Go back to podcast', + 'preview' => [ + 'title' => 'Preview', + 'not_published' => 'Not published', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'publish' => 'Publish', + 'publish_edit' => 'Edit publication', + ], ]; diff --git a/app/Language/fr_CA/Podcast.php b/app/Language/fr_CA/Podcast.php index dbccf51b..2798fcdd 100644 --- a/app/Language/fr_CA/Podcast.php +++ b/app/Language/fr_CA/Podcast.php @@ -51,4 +51,5 @@ return [ other {# persons} }', 'persons_list' => 'Persons', + 'castopod_website' => 'Castopod (website)', ]; diff --git a/app/Language/gd/Episode.php b/app/Language/gd/Episode.php index 0d4c3770..3442ad5c 100644 --- a/app/Language/gd/Episode.php +++ b/app/Language/gd/Episode.php @@ -34,4 +34,16 @@ return [ }', 'all_podcast_episodes' => 'A h-uile eapasod a’ phod-chraolaidh', 'back_to_podcast' => 'Air ais dhan phod-chraoladh', + 'preview' => [ + 'title' => 'Preview', + 'not_published' => 'Not published', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'publish' => 'Publish', + 'publish_edit' => 'Edit publication', + ], ]; diff --git a/app/Language/gd/Podcast.php b/app/Language/gd/Podcast.php index 2a93dcbe..7f0369bf 100644 --- a/app/Language/gd/Podcast.php +++ b/app/Language/gd/Podcast.php @@ -61,4 +61,5 @@ return [ other {# duine} }', 'persons_list' => 'Daoine', + 'castopod_website' => 'Castopod (website)', ]; diff --git a/app/Language/gl/Episode.php b/app/Language/gl/Episode.php index 9d228bd9..1c2b8a66 100644 --- a/app/Language/gl/Episode.php +++ b/app/Language/gl/Episode.php @@ -30,4 +30,16 @@ return [ }', 'all_podcast_episodes' => 'Tódolos episodios do podcast', 'back_to_podcast' => 'Volver ao podcast', + 'preview' => [ + 'title' => 'Vista previa', + 'not_published' => 'Sen publicar', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'publish' => 'Publicar', + 'publish_edit' => 'Editar publicación', + ], ]; diff --git a/app/Language/gl/Podcast.php b/app/Language/gl/Podcast.php index 2a98a9bf..84e71982 100644 --- a/app/Language/gl/Podcast.php +++ b/app/Language/gl/Podcast.php @@ -51,4 +51,5 @@ return [ other {# persoas} }', 'persons_list' => 'Persoas', + 'castopod_website' => 'Castopod (website)', ]; diff --git a/app/Language/id/Episode.php b/app/Language/id/Episode.php index c64b5eb8..cfc02d19 100644 --- a/app/Language/id/Episode.php +++ b/app/Language/id/Episode.php @@ -28,4 +28,16 @@ return [ }', 'all_podcast_episodes' => 'Semua episode siniar', 'back_to_podcast' => 'Kembali ke siniar', + 'preview' => [ + 'title' => 'Preview', + 'not_published' => 'Not published', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'publish' => 'Publish', + 'publish_edit' => 'Edit publication', + ], ]; diff --git a/app/Language/id/Podcast.php b/app/Language/id/Podcast.php index 83d0b160..2e983ba8 100644 --- a/app/Language/id/Podcast.php +++ b/app/Language/id/Podcast.php @@ -46,4 +46,5 @@ return [ other {# orang} }', 'persons_list' => 'Orang', + 'castopod_website' => 'Castopod (website)', ]; diff --git a/app/Language/it/Episode.php b/app/Language/it/Episode.php index c9e96445..d06d4b18 100644 --- a/app/Language/it/Episode.php +++ b/app/Language/it/Episode.php @@ -30,4 +30,16 @@ return [ }', 'all_podcast_episodes' => 'Tutti gli episodi del podcast', 'back_to_podcast' => 'Torna a podcast', + 'preview' => [ + 'title' => 'Preview', + 'not_published' => 'Not published', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'publish' => 'Publish', + 'publish_edit' => 'Edit publication', + ], ]; diff --git a/app/Language/it/Podcast.php b/app/Language/it/Podcast.php index 1ee5d5cf..933eb3d2 100644 --- a/app/Language/it/Podcast.php +++ b/app/Language/it/Podcast.php @@ -51,4 +51,5 @@ return [ other {# persons} }', 'persons_list' => 'Persone', + 'castopod_website' => 'Castopod (website)', ]; diff --git a/app/Language/ja/Episode.php b/app/Language/ja/Episode.php index ebe39336..44be8e38 100644 --- a/app/Language/ja/Episode.php +++ b/app/Language/ja/Episode.php @@ -30,4 +30,16 @@ return [ }', 'all_podcast_episodes' => 'All podcast episodes', 'back_to_podcast' => 'Go back to podcast', + 'preview' => [ + 'title' => 'Preview', + 'not_published' => 'Not published', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'publish' => 'Publish', + 'publish_edit' => 'Edit publication', + ], ]; diff --git a/app/Language/ja/Podcast.php b/app/Language/ja/Podcast.php index dbccf51b..2798fcdd 100644 --- a/app/Language/ja/Podcast.php +++ b/app/Language/ja/Podcast.php @@ -51,4 +51,5 @@ return [ other {# persons} }', 'persons_list' => 'Persons', + 'castopod_website' => 'Castopod (website)', ]; diff --git a/app/Language/kk/Comment.php b/app/Language/kk/Comment.php new file mode 100644 index 00000000..1dd8f5ea --- /dev/null +++ b/app/Language/kk/Comment.php @@ -0,0 +1,34 @@ + "{actorDisplayName}'s comment for {episodeTitle}", + 'back_to_comments' => 'Back to comments', + 'form' => [ + 'episode_message_placeholder' => 'Write a comment…', + 'reply_to_placeholder' => 'Reply to @{actorUsername}', + 'submit' => 'Send', + 'submit_reply' => 'Reply', + ], + 'likes' => '{numberOfLikes, plural, + one {# like} + other {# likes} + }', + 'replies' => '{numberOfReplies, plural, + one {# reply} + other {# replies} + }', + 'like' => 'Like', + 'reply' => 'Reply', + 'view_replies' => 'View replies ({numberOfReplies})', + 'block_actor' => 'Block user @{actorUsername}', + 'block_domain' => 'Block domain @{actorDomain}', + 'delete' => 'Delete comment', +]; diff --git a/app/Language/kk/Common.php b/app/Language/kk/Common.php new file mode 100644 index 00000000..1258afcc --- /dev/null +++ b/app/Language/kk/Common.php @@ -0,0 +1,30 @@ + 'Yes', + 'no' => 'No', + 'cancel' => 'Cancel', + 'optional' => 'Optional', + 'close' => 'Close', + 'home' => 'Home', + 'explicit' => 'Explicit', + 'powered_by' => 'Powered by {castopod}', + 'go_back' => 'Go back', + 'play_episode_button' => [ + 'play' => 'Play', + 'playing' => 'Playing', + ], + 'read_more' => 'Read more', + 'read_less' => 'Read less', + 'see_more' => 'See more', + 'see_less' => 'See less', + 'legal_notice' => 'Legal notice', +]; diff --git a/app/Language/kk/Episode.php b/app/Language/kk/Episode.php new file mode 100644 index 00000000..44be8e38 --- /dev/null +++ b/app/Language/kk/Episode.php @@ -0,0 +1,45 @@ + 'Season {seasonNumber}', + 'season_abbr' => 'S{seasonNumber}', + 'number' => 'Episode {episodeNumber}', + 'number_abbr' => 'Ep. {episodeNumber}', + 'season_episode' => 'Season {seasonNumber} episode {episodeNumber}', + 'season_episode_abbr' => 'S{seasonNumber}:E{episodeNumber}', + 'persons' => '{personsCount, plural, + one {# person} + other {# persons} + }', + 'persons_list' => 'Persons', + 'back_to_episodes' => 'Back to episodes of {podcast}', + 'comments' => 'Comments', + 'activity' => 'Activity', + 'description' => 'Episode description', + 'number_of_comments' => '{numberOfComments, plural, + one {# comment} + other {# comments} + }', + 'all_podcast_episodes' => 'All podcast episodes', + 'back_to_podcast' => 'Go back to podcast', + 'preview' => [ + 'title' => 'Preview', + 'not_published' => 'Not published', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'publish' => 'Publish', + 'publish_edit' => 'Edit publication', + ], +]; diff --git a/app/Language/kk/Fediverse.php b/app/Language/kk/Fediverse.php new file mode 100644 index 00000000..32f54c07 --- /dev/null +++ b/app/Language/kk/Fediverse.php @@ -0,0 +1,37 @@ + 'Your handle', + 'your_handle_hint' => 'Enter the @username@domain you want to act from.', + 'follow' => [ + 'label' => 'Follow', + 'title' => 'Follow {actorDisplayName}', + 'subtitle' => 'You are going to follow:', + 'accountNotFound' => 'The account could not be found.', + 'remoteFollowNotAllowed' => 'Seems like the account server does not allow remote follows…', + 'submit' => 'Proceed to follow', + ], + 'favourite' => [ + 'title' => "Favourite {actorDisplayName}'s post", + 'subtitle' => 'You are going to favourite:', + 'submit' => 'Proceed to favourite', + ], + 'reblog' => [ + 'title' => "Share {actorDisplayName}'s post", + 'subtitle' => 'You are going to share:', + 'submit' => 'Proceed to share', + ], + 'reply' => [ + 'title' => "Reply to {actorDisplayName}'s post", + 'subtitle' => 'You are going to reply to:', + 'submit' => 'Proceed to reply', + ], +]; diff --git a/app/Language/kk/Home.php b/app/Language/kk/Home.php new file mode 100644 index 00000000..1518239b --- /dev/null +++ b/app/Language/kk/Home.php @@ -0,0 +1,20 @@ + 'All podcasts', + 'sort_by' => 'Sort by', + 'sort_options' => [ + 'activity' => 'Recent activity', + 'created_desc' => 'Newest first', + 'created_asc' => 'Oldest first', + ], + 'no_podcast' => 'No podcast found', +]; diff --git a/app/Language/kk/Page.php b/app/Language/kk/Page.php new file mode 100644 index 00000000..7cd60669 --- /dev/null +++ b/app/Language/kk/Page.php @@ -0,0 +1,17 @@ + 'Back to home', + 'map' => [ + 'title' => 'Map', + 'description' => 'Discover podcast episodes on {siteName} that are placed on a map! Travel through the map and listen to episodes that talk about specific locations.', + ], +]; diff --git a/app/Language/kk/Podcast.php b/app/Language/kk/Podcast.php new file mode 100644 index 00000000..2798fcdd --- /dev/null +++ b/app/Language/kk/Podcast.php @@ -0,0 +1,55 @@ + 'RSS Podcast feed', + 'season' => 'Season {seasonNumber}', + 'list_of_episodes_year' => '{year} episodes ({episodeCount})', + 'list_of_episodes_season' => + 'Season {seasonNumber} episodes ({episodeCount})', + 'no_episode' => 'No episode found!', + 'follow' => 'Follow', + 'followTitle' => 'Follow {actorDisplayName} on the fediverse!', + 'followers' => '{numberOfFollowers, plural, + one {# follower} + other {# followers} + }', + 'posts' => '{numberOfPosts, plural, + one {# post} + other {# posts} + }', + 'links' => 'Links', + 'activity' => 'Activity', + 'episodes' => 'Episodes', + 'episodes_title' => 'Episodes of {podcastTitle}', + 'about' => 'About', + 'stats' => [ + 'title' => 'Stats', + 'number_of_seasons' => '{0, plural, + one {# season} + other {# seasons} + }', + 'number_of_episodes' => '{0, plural, + one {# episode} + other {# episodes} + }', + 'first_published_at' => 'First episode published on {0, date, medium}', + ], + 'sponsor' => 'Sponsor', + 'funding_links' => 'Funding links for {podcastTitle}', + 'find_on' => 'Find {podcastTitle} on', + 'listen_on' => 'Listen on', + 'persons' => '{personsCount, plural, + one {# person} + other {# persons} + }', + 'persons_list' => 'Persons', + 'castopod_website' => 'Castopod (website)', +]; diff --git a/app/Language/kk/Post.php b/app/Language/kk/Post.php new file mode 100644 index 00000000..58d1cf80 --- /dev/null +++ b/app/Language/kk/Post.php @@ -0,0 +1,40 @@ + "{actorDisplayName}'s post", + 'back_to_actor_posts' => 'Back to {actor} posts', + 'actor_shared' => '{actor} shared', + 'reply_to' => 'Reply to @{actorUsername}', + 'form' => [ + 'message_placeholder' => 'Write a message…', + 'episode_message_placeholder' => 'Write a message for the episode…', + 'episode_url_placeholder' => 'Episode URL', + 'reply_to_placeholder' => 'Reply to @{actorUsername}', + 'submit' => 'Send', + 'submit_reply' => 'Reply', + ], + 'favourites' => '{numberOfFavourites, plural, + one {# favourite} + other {# favourites} + }', + 'reblogs' => '{numberOfReblogs, plural, + one {# share} + other {# shares} + }', + 'replies' => '{numberOfReplies, plural, + one {# reply} + other {# replies} + }', + 'expand' => 'Expand post', + 'block_actor' => 'Block user @{actorUsername}', + 'block_domain' => 'Block domain @{actorDomain}', + 'delete' => 'Delete post', +]; diff --git a/app/Language/ko/Episode.php b/app/Language/ko/Episode.php index ebe39336..44be8e38 100644 --- a/app/Language/ko/Episode.php +++ b/app/Language/ko/Episode.php @@ -30,4 +30,16 @@ return [ }', 'all_podcast_episodes' => 'All podcast episodes', 'back_to_podcast' => 'Go back to podcast', + 'preview' => [ + 'title' => 'Preview', + 'not_published' => 'Not published', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'publish' => 'Publish', + 'publish_edit' => 'Edit publication', + ], ]; diff --git a/app/Language/ko/Podcast.php b/app/Language/ko/Podcast.php index dbccf51b..2798fcdd 100644 --- a/app/Language/ko/Podcast.php +++ b/app/Language/ko/Podcast.php @@ -51,4 +51,5 @@ return [ other {# persons} }', 'persons_list' => 'Persons', + 'castopod_website' => 'Castopod (website)', ]; diff --git a/app/Language/nl/Episode.php b/app/Language/nl/Episode.php index e1989a29..4ddc503c 100644 --- a/app/Language/nl/Episode.php +++ b/app/Language/nl/Episode.php @@ -30,4 +30,16 @@ return [ }', 'all_podcast_episodes' => 'Alle podcast afleveringen', 'back_to_podcast' => 'Terug naar podcast', + 'preview' => [ + 'title' => 'Preview', + 'not_published' => 'Not published', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'publish' => 'Publish', + 'publish_edit' => 'Edit publication', + ], ]; diff --git a/app/Language/nl/Podcast.php b/app/Language/nl/Podcast.php index a5d5f61f..67d23c9a 100644 --- a/app/Language/nl/Podcast.php +++ b/app/Language/nl/Podcast.php @@ -51,4 +51,5 @@ return [ other {# personen} }', 'persons_list' => 'Personen', + 'castopod_website' => 'Castopod (website)', ]; diff --git a/app/Language/nn-NO/Podcast.php b/app/Language/nn-NO/Podcast.php index a3161457..2f5b24a1 100644 --- a/app/Language/nn-NO/Podcast.php +++ b/app/Language/nn-NO/Podcast.php @@ -51,4 +51,5 @@ return [ other {# personar} }', 'persons_list' => 'Personar', + 'castopod_website' => 'Castopod (website)', ]; diff --git a/app/Language/oc/Episode.php b/app/Language/oc/Episode.php index ebe39336..44be8e38 100644 --- a/app/Language/oc/Episode.php +++ b/app/Language/oc/Episode.php @@ -30,4 +30,16 @@ return [ }', 'all_podcast_episodes' => 'All podcast episodes', 'back_to_podcast' => 'Go back to podcast', + 'preview' => [ + 'title' => 'Preview', + 'not_published' => 'Not published', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'publish' => 'Publish', + 'publish_edit' => 'Edit publication', + ], ]; diff --git a/app/Language/oc/Podcast.php b/app/Language/oc/Podcast.php index dbccf51b..2798fcdd 100644 --- a/app/Language/oc/Podcast.php +++ b/app/Language/oc/Podcast.php @@ -51,4 +51,5 @@ return [ other {# persons} }', 'persons_list' => 'Persons', + 'castopod_website' => 'Castopod (website)', ]; diff --git a/app/Language/pl/Episode.php b/app/Language/pl/Episode.php index 3f519cce..33e8539c 100644 --- a/app/Language/pl/Episode.php +++ b/app/Language/pl/Episode.php @@ -32,4 +32,16 @@ return [ }', 'all_podcast_episodes' => 'Wszystkie odcinki podcastu', 'back_to_podcast' => 'Wróć do podkastu', + 'preview' => [ + 'title' => 'Podgląd', + 'not_published' => 'Nieopublikowany', + 'text' => '{publication_status, select, + published {Ten odcinek nie jest jeszcze opublikowany.} + scheduled {Ten odcinek jest zaplanowany do publikacji {publication_date}.} + with_podcast {Ten odcinek zostanie opublikowany w tym samym czasie co podcast.} + other {Ten odcinek nie jest jeszcze opublikowany.} + }', + 'publish' => 'Opublikuj', + 'publish_edit' => 'Edytuj publikację', + ], ]; diff --git a/app/Language/pl/Podcast.php b/app/Language/pl/Podcast.php index e36b92de..dfaed970 100644 --- a/app/Language/pl/Podcast.php +++ b/app/Language/pl/Podcast.php @@ -28,7 +28,7 @@ return [ other {# osób} }', 'links' => 'Links', - 'activity' => 'Aktywność', + 'activity' => 'Wpisy', 'episodes' => 'Odcinki', 'episodes_title' => 'Odcinki {podcastTitle}', 'about' => 'Informacje', @@ -56,4 +56,5 @@ return [ other {# osób} }', 'persons_list' => 'Osoby', + 'castopod_website' => 'Castopod (website)', ]; diff --git a/app/Language/pt-BR/Episode.php b/app/Language/pt-BR/Episode.php index 3dc334f2..a7fd80b3 100644 --- a/app/Language/pt-BR/Episode.php +++ b/app/Language/pt-BR/Episode.php @@ -30,4 +30,16 @@ return [ }', 'all_podcast_episodes' => 'Todos os episódios de podcast', 'back_to_podcast' => 'Voltar para o podcast', + 'preview' => [ + 'title' => 'Preview', + 'not_published' => 'Not published', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'publish' => 'Publish', + 'publish_edit' => 'Edit publication', + ], ]; diff --git a/app/Language/pt-BR/Podcast.php b/app/Language/pt-BR/Podcast.php index 4f9c6954..a27e6c46 100644 --- a/app/Language/pt-BR/Podcast.php +++ b/app/Language/pt-BR/Podcast.php @@ -51,4 +51,5 @@ return [ other {# pessoas} }', 'persons_list' => 'Pessoas', + 'castopod_website' => 'Castopod (website)', ]; diff --git a/app/Language/pt/Episode.php b/app/Language/pt/Episode.php index ebe39336..44be8e38 100644 --- a/app/Language/pt/Episode.php +++ b/app/Language/pt/Episode.php @@ -30,4 +30,16 @@ return [ }', 'all_podcast_episodes' => 'All podcast episodes', 'back_to_podcast' => 'Go back to podcast', + 'preview' => [ + 'title' => 'Preview', + 'not_published' => 'Not published', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'publish' => 'Publish', + 'publish_edit' => 'Edit publication', + ], ]; diff --git a/app/Language/pt/Podcast.php b/app/Language/pt/Podcast.php index dbccf51b..2798fcdd 100644 --- a/app/Language/pt/Podcast.php +++ b/app/Language/pt/Podcast.php @@ -51,4 +51,5 @@ return [ other {# persons} }', 'persons_list' => 'Persons', + 'castopod_website' => 'Castopod (website)', ]; diff --git a/app/Language/ro/Episode.php b/app/Language/ro/Episode.php index b59401f3..6dc7595b 100644 --- a/app/Language/ro/Episode.php +++ b/app/Language/ro/Episode.php @@ -32,4 +32,16 @@ return [ }', 'all_podcast_episodes' => 'Toate episoadele podcastului', 'back_to_podcast' => 'Înapoi la podcast', + 'preview' => [ + 'title' => 'Preview', + 'not_published' => 'Not published', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'publish' => 'Publish', + 'publish_edit' => 'Edit publication', + ], ]; diff --git a/app/Language/ro/Podcast.php b/app/Language/ro/Podcast.php index c21e4404..5752d1eb 100644 --- a/app/Language/ro/Podcast.php +++ b/app/Language/ro/Podcast.php @@ -56,4 +56,5 @@ return [ other {# persoane} }', 'persons_list' => 'Persoane', + 'castopod_website' => 'Castopod (website)', ]; diff --git a/app/Language/ru/Episode.php b/app/Language/ru/Episode.php index e97ac452..3811bf49 100644 --- a/app/Language/ru/Episode.php +++ b/app/Language/ru/Episode.php @@ -34,4 +34,16 @@ return [ }', 'all_podcast_episodes' => 'Все выпуски подкаста', 'back_to_podcast' => 'Вернуться к подкасту', + 'preview' => [ + 'title' => 'Предпросмотр', + 'not_published' => 'Не опубликовано', + 'text' => '{publication_status, select, + published {Этот эпизод еще не опубликован.} + scheduled {Этот эпизод запланирован на {publication_date}.} + with_podcast {Этот эпизод будет опубликован одновременно с подкастом.} + other {Этот эпизод еще не опубликован.} + }', + 'publish' => 'Опубликовать', + 'publish_edit' => 'Редактировать публикацию', + ], ]; diff --git a/app/Language/ru/Podcast.php b/app/Language/ru/Podcast.php index 65a2701d..d48e9309 100644 --- a/app/Language/ru/Podcast.php +++ b/app/Language/ru/Podcast.php @@ -53,4 +53,5 @@ return [ other {# человек} }', 'persons_list' => 'Лица', + 'castopod_website' => 'Castopod (website)', ]; diff --git a/app/Language/sk/Episode.php b/app/Language/sk/Episode.php index d8fe8759..3f441fd7 100644 --- a/app/Language/sk/Episode.php +++ b/app/Language/sk/Episode.php @@ -34,4 +34,16 @@ return [ }', 'all_podcast_episodes' => 'Všetky epizódy podcastu', 'back_to_podcast' => 'Späť na podcast', + 'preview' => [ + 'title' => 'Náhľad', + 'not_published' => 'Nezverejnená', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'publish' => 'Zverejniť', + 'publish_edit' => 'Edit publication', + ], ]; diff --git a/app/Language/sk/Podcast.php b/app/Language/sk/Podcast.php index 7cd79c57..121cecc6 100644 --- a/app/Language/sk/Podcast.php +++ b/app/Language/sk/Podcast.php @@ -29,7 +29,7 @@ return [ many {# príspevkov} other {# príspevkov} }', - 'links' => 'Links', + 'links' => 'Odkazy', 'activity' => 'Aktivita', 'episodes' => 'Časti', 'episodes_title' => 'Časti {podcastTitle}', @@ -61,4 +61,5 @@ return [ other {# osobností} }', 'persons_list' => 'Osobnosti', + 'castopod_website' => 'Castopod (website)', ]; diff --git a/app/Language/sr_Latn/Episode.php b/app/Language/sr_Latn/Episode.php index cd15419b..a688adb1 100644 --- a/app/Language/sr_Latn/Episode.php +++ b/app/Language/sr_Latn/Episode.php @@ -30,4 +30,16 @@ return [ }', 'all_podcast_episodes' => 'Sve epizode podkasta', 'back_to_podcast' => 'Nazad na podkast', + 'preview' => [ + 'title' => 'Pregled', + 'not_published' => 'Neobjavljeno', + 'text' => '{publication_status, select, + published {Ova epizoda još uvek nije objavljena.} + scheduled {Ova epizoda je zakazana za {publication_date}.} + with_podcast {Ova epizoda će biti objavljena kad i podkast.} + other {Ova epizoda još uvek nije objavljena.} + }', + 'publish' => 'Objavi', + 'publish_edit' => 'Uredi objavu', + ], ]; diff --git a/app/Language/sr_Latn/Fediverse.php b/app/Language/sr_Latn/Fediverse.php index 93c5e1ad..cfa3c4cc 100644 --- a/app/Language/sr_Latn/Fediverse.php +++ b/app/Language/sr_Latn/Fediverse.php @@ -9,7 +9,7 @@ declare(strict_types=1); */ return [ - 'your_handle' => 'Your handle', + 'your_handle' => 'Tvoj nadimak', 'your_handle_hint' => 'Unesite @username@domain koji želite da koristite.', 'follow' => [ 'label' => 'Prati', diff --git a/app/Language/sr_Latn/Podcast.php b/app/Language/sr_Latn/Podcast.php index 2dc4000c..21638abc 100644 --- a/app/Language/sr_Latn/Podcast.php +++ b/app/Language/sr_Latn/Podcast.php @@ -25,7 +25,7 @@ return [ few {# objave} other {# objava} }', - 'links' => 'Links', + 'links' => 'Linkovi', 'activity' => 'Aktivnost', 'episodes' => 'Epizode', 'episodes_title' => 'Epizode {podcastTitle}', @@ -51,4 +51,5 @@ return [ other {# osobe} }', 'persons_list' => 'Ličnosti', + 'castopod_website' => 'Castopod (veb stranica)', ]; diff --git a/app/Language/sv/Episode.php b/app/Language/sv/Episode.php index 3571750c..61c205bd 100644 --- a/app/Language/sv/Episode.php +++ b/app/Language/sv/Episode.php @@ -30,4 +30,16 @@ return [ }', 'all_podcast_episodes' => 'Alla podcast avsnitt', 'back_to_podcast' => 'Gå tillbaka till podcasten', + 'preview' => [ + 'title' => 'Preview', + 'not_published' => 'Not published', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'publish' => 'Publish', + 'publish_edit' => 'Edit publication', + ], ]; diff --git a/app/Language/sv/Podcast.php b/app/Language/sv/Podcast.php index 7cfc658a..fd2d786b 100644 --- a/app/Language/sv/Podcast.php +++ b/app/Language/sv/Podcast.php @@ -51,4 +51,5 @@ return [ other {# personer} }', 'persons_list' => 'Personer', + 'castopod_website' => 'Castopod (website)', ]; diff --git a/app/Language/uk/Comment.php b/app/Language/uk/Comment.php index c5c8b4eb..f3abd93e 100644 --- a/app/Language/uk/Comment.php +++ b/app/Language/uk/Comment.php @@ -18,10 +18,10 @@ return [ 'submit_reply' => 'Відповісти', ], 'likes' => '{numberOfLikes, plural, - one {# лайк} - few {# подобається} - many {# подобається} - other {# подобається} + one {# вподобайка} + few {# вподобань} + many {# вподобань} + other {# вподобань} }', 'replies' => '{numberOfReplies, plural, one {# коментар} diff --git a/app/Language/uk/Episode.php b/app/Language/uk/Episode.php index 33c715d4..dd5b0b35 100644 --- a/app/Language/uk/Episode.php +++ b/app/Language/uk/Episode.php @@ -34,4 +34,16 @@ return [ }', 'all_podcast_episodes' => 'Всі серії подкастів', 'back_to_podcast' => 'Повернутися до подкасту', + 'preview' => [ + 'title' => 'Переглянути', + 'not_published' => 'Не опубліковано', + 'text' => '{publication_status, select, + published {Цей епізод ще не опублікований.} + scheduled {Цей епізод запланований на публікацію {publication_date}.} + with_podcast {Цей епізод буде опублікований одночасно з подкастом.} + other {Цей епізод ще не опублікований.} + }', + 'publish' => 'Опублікувати', + 'publish_edit' => 'Редагувати публікацію', + ], ]; diff --git a/app/Language/uk/Home.php b/app/Language/uk/Home.php index 1518239b..7d05f1c6 100644 --- a/app/Language/uk/Home.php +++ b/app/Language/uk/Home.php @@ -9,12 +9,12 @@ declare(strict_types=1); */ return [ - 'all_podcasts' => 'All podcasts', - 'sort_by' => 'Sort by', + 'all_podcasts' => 'Усі подкасти', + 'sort_by' => 'Сортувати за', 'sort_options' => [ - 'activity' => 'Recent activity', - 'created_desc' => 'Newest first', - 'created_asc' => 'Oldest first', + 'activity' => 'Попередня активність', + 'created_desc' => 'Спочатку нові', + 'created_asc' => 'Спочатку старі', ], - 'no_podcast' => 'No podcast found', + 'no_podcast' => 'Подкастів не знайдено', ]; diff --git a/app/Language/uk/Page.php b/app/Language/uk/Page.php index 7cd60669..7f14b287 100644 --- a/app/Language/uk/Page.php +++ b/app/Language/uk/Page.php @@ -9,9 +9,9 @@ declare(strict_types=1); */ return [ - 'back_to_home' => 'Back to home', + 'back_to_home' => 'Повернутися на головну', 'map' => [ - 'title' => 'Map', - 'description' => 'Discover podcast episodes on {siteName} that are placed on a map! Travel through the map and listen to episodes that talk about specific locations.', + 'title' => 'Мапа', + 'description' => 'Відкрийте для себе епізоди подкастів на {siteName}, які розміщуються на карті! Подорожуйте по карті та прослуховуйте епізоди, що розповідають про конкретні місця.', ], ]; diff --git a/app/Language/uk/Podcast.php b/app/Language/uk/Podcast.php index dbccf51b..2798fcdd 100644 --- a/app/Language/uk/Podcast.php +++ b/app/Language/uk/Podcast.php @@ -51,4 +51,5 @@ return [ other {# persons} }', 'persons_list' => 'Persons', + 'castopod_website' => 'Castopod (website)', ]; diff --git a/app/Language/zh-Hans/Episode.php b/app/Language/zh-Hans/Episode.php index 778837dd..9b084e77 100644 --- a/app/Language/zh-Hans/Episode.php +++ b/app/Language/zh-Hans/Episode.php @@ -30,4 +30,16 @@ return [ }', 'all_podcast_episodes' => '所有播客剧集', 'back_to_podcast' => '返回播客', + 'preview' => [ + 'title' => 'Preview', + 'not_published' => 'Not published', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'publish' => 'Publish', + 'publish_edit' => 'Edit publication', + ], ]; diff --git a/app/Language/zh-Hans/Podcast.php b/app/Language/zh-Hans/Podcast.php index 1731418d..a16e73b2 100644 --- a/app/Language/zh-Hans/Podcast.php +++ b/app/Language/zh-Hans/Podcast.php @@ -51,4 +51,5 @@ return [ other {# 人} }', 'persons_list' => '人', + 'castopod_website' => 'Castopod (website)', ]; diff --git a/docs/src/ar/getting-started/install.md b/docs/src/ar/getting-started/install.md index af405daf..cdea18ec 100644 --- a/docs/src/ar/getting-started/install.md +++ b/docs/src/ar/getting-started/install.md @@ -19,15 +19,15 @@ If you prefer using Docker, you may skip this and go straight to the ## Requirements -- PHP v8.1 only +- PHP v8.1 or higher - MySQL version 5.7 or higher or MariaDB version 10.2 or higher - HTTPS support - An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's incoming requests -### PHP v8.1 only +### PHP v8.1 or higher -PHP version 8.1 is required, with the following extensions installed: +PHP version 8.1 or higher is required, with the following extensions installed: - [intl](https://php.net/manual/en/intl.requirements.php) - [libcurl](https://php.net/manual/en/curl.requirements.php) @@ -123,6 +123,23 @@ based on the `.env.example` file. ::: +### Using CLI + +1. Create a `.env` file in the package root based on the `.env.example` file. +2. Initialize the database using: + + ```sh + php spark install:init-database + ``` + +3. Create the superadmin user using: + + ```sh + php spark install:create-superadmin + ``` + +4. Head on to your admin gateway to start podcasting! + ### Email/SMTP setup Email configuration is required for some features to work properly (eg. diff --git a/docs/src/br/getting-started/install.md b/docs/src/br/getting-started/install.md index 3826a9a7..6e12eb88 100644 --- a/docs/src/br/getting-started/install.md +++ b/docs/src/br/getting-started/install.md @@ -19,15 +19,15 @@ If you prefer using Docker, you may skip this and go straight to the ## Requirements -- PHP v8.1 only +- PHP v8.1 or higher - MySQL version 5.7 or higher or MariaDB version 10.2 or higher - HTTPS support - An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's incoming requests -### PHP v8.1 only +### PHP v8.1 or higher -PHP version 8.1 is required, with the following extensions installed: +PHP version 8.1 or higher is required, with the following extensions installed: - [intl](https://php.net/manual/en/intl.requirements.php) - [libcurl](https://php.net/manual/en/curl.requirements.php) @@ -123,6 +123,23 @@ based on the `.env.example` file. ::: +### Using CLI + +1. Create a `.env` file in the package root based on the `.env.example` file. +2. Initialize the database using: + + ```sh + php spark install:init-database + ``` + +3. Create the superadmin user using: + + ```sh + php spark install:create-superadmin + ``` + +4. Head on to your admin gateway to start podcasting! + ### Email/SMTP setup Email configuration is required for some features to work properly (eg. diff --git a/docs/src/ca/getting-started/install.md b/docs/src/ca/getting-started/install.md index 217ebd85..c6dc8994 100644 --- a/docs/src/ca/getting-started/install.md +++ b/docs/src/ca/getting-started/install.md @@ -20,15 +20,15 @@ Si preferiu utilitzar Docker, podeu ometre això i anar directament a la ## Requisits -- PHP v8.1 only +- PHP v8.1 or higher - MySQL versió 5.7 o superior o MariaDB versió 10.2 o superior - Support d'HTTPS - An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's incoming requests -### PHP v8.1 only +### PHP v8.1 or higher -PHP version 8.1 is required, with the following extensions installed: +PHP version 8.1 or higher is required, with the following extensions installed: - [intl](https://php.net/manual/en/intl.requirements.php) - [libcurl](https://php.net/manual/en/curl.requirements.php) @@ -126,6 +126,23 @@ manually based on the `.env.example` file. ::: +### Using CLI + +1. Create a `.env` file in the package root based on the `.env.example` file. +2. Initialize the database using: + + ```sh + php spark install:init-database + ``` + +3. Create the superadmin user using: + + ```sh + php spark install:create-superadmin + ``` + +4. Head on to your admin gateway to start podcasting! + ### Email/SMTP setup Email configuration is required for some features to work properly (eg. diff --git a/docs/src/da/getting-started/install.md b/docs/src/da/getting-started/install.md index af405daf..cdea18ec 100644 --- a/docs/src/da/getting-started/install.md +++ b/docs/src/da/getting-started/install.md @@ -19,15 +19,15 @@ If you prefer using Docker, you may skip this and go straight to the ## Requirements -- PHP v8.1 only +- PHP v8.1 or higher - MySQL version 5.7 or higher or MariaDB version 10.2 or higher - HTTPS support - An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's incoming requests -### PHP v8.1 only +### PHP v8.1 or higher -PHP version 8.1 is required, with the following extensions installed: +PHP version 8.1 or higher is required, with the following extensions installed: - [intl](https://php.net/manual/en/intl.requirements.php) - [libcurl](https://php.net/manual/en/curl.requirements.php) @@ -123,6 +123,23 @@ based on the `.env.example` file. ::: +### Using CLI + +1. Create a `.env` file in the package root based on the `.env.example` file. +2. Initialize the database using: + + ```sh + php spark install:init-database + ``` + +3. Create the superadmin user using: + + ```sh + php spark install:create-superadmin + ``` + +4. Head on to your admin gateway to start podcasting! + ### Email/SMTP setup Email configuration is required for some features to work properly (eg. diff --git a/docs/src/de/getting-started/docker.md b/docs/src/de/getting-started/docker.md index 3f119d4e..814d0177 100644 --- a/docs/src/de/getting-started/docker.md +++ b/docs/src/de/getting-started/docker.md @@ -1,5 +1,5 @@ --- -title: Official Docker images +title: Offizielle Docker Images sidebarDepth: 3 --- @@ -112,7 +112,7 @@ kann als Cache-Handler hinzugefügt werden. ## Umgebungsvariablen -- **castopod/castopod** and **castopod/app** +- **castopod/castopod** und **castopod/app** | Variablennamen | Typ (`Standard`) | Standardwert | | ------------------------------------- | ----------------------- | ----------------- | diff --git a/docs/src/de/getting-started/install.md b/docs/src/de/getting-started/install.md index 576b1eb9..3625a9aa 100644 --- a/docs/src/de/getting-started/install.md +++ b/docs/src/de/getting-started/install.md @@ -20,15 +20,16 @@ direkt zur [Docker-Dokumentation](./docker.md) für Castopod gehen. ## Voraussetzungen -- PHP v8.1 only +- PHP v8.1 oder höher - MySQL Version 5.7 oder höher oder MariaDB Version 10.2 oder höher - HTTPS-Unterstützung - Eine [ntp-synchronisierte Uhr](https://wiki.debian.org/NTP) um die eingehenden Anfragen zu überprüfen -### PHP v8.1 only +### PHP v8.1 oder höher -PHP version 8.1 is required, with the following extensions installed: +PHP Version 8.1 oder höher ist erforderlich, mit folgenden Erweiterungen +installiert: - [intl](https://php.net/manual/en/intl.requirements.php) - [libcurl](https://php.net/manual/en/curl.requirements.php) @@ -85,54 +86,72 @@ nicht installiert: %s: ### Voraussetzungen -0. Get a Web Server with [requirements](#requirements) installed -1. Create a MySQL database for Castopod with a user having access and - modification privileges (for more info, see - [MySQL compatible database](#mysql-compatible-database)). -2. Activate HTTPS on your domain with an _SSL certificate_. -3. Download and unzip the latest [Castopod Package](https://castopod.org/) onto - the web server if you haven’t already. - - ⚠️ Set the web server document root to the `public/` sub-folder within the - `castopod` folder. -4. Add **cron tasks** on your web server for various background processes - (replace the paths accordingly): +0. Treib einen Webserver mit den [Voraussetzungen](#requirements) auf +1. Erstellen Sie eine MySQL-Datenbank für Castopod mit einem Benutzer mit + Zugriffsrechten und Modifikationsberechtigungen (für weitere Infos, Siehe + [MySQL kompatible Datenbank](#mysql-compatible-database)). +2. Aktivieren Sie HTTPS auf Ihrer Domain mit einem _SSL Zertifikat_. +3. Lade und entpacke das letzte [Castopod Packet](https://castopod.org/) auf den + Webserver, wenn nicht schon geschehen. + - ⚠️ Setzte das Webserver Document root auf das `public/` Unterverzeichnis + innerhalb des `castopod` Ordners. +4. Füge **cron tasks** auf deinem Webserver hinzu für verschiedene + Hintergrundprozesse (ersetze die Pfade entsprechend): ```bash * * * * * /path/to/php /path/to/castopod/spark tasks:run >> /dev/null 2>&1 ``` - **Note** - If you do not add this cron task, the following Castopod features - will not work: + **Hinweis** - Wenn Sie diese Cron-Aufgabe nicht hinzufügen, funktionieren die + folgenden Castopod-Funktionen nicht: - - Importing a podcast from an existing RSS feed - - Broadcasting social activities to your followers in the fediverse - - Broadcasting episodes to open hubs using - [WebSub](https://en.wikipedia.org/wiki/WebSub) - - Generating video clips - - [requires FFmpeg](#optional-ffmpeg-v418-or-higher-for-video-clips) + - Einen Podcast aus einem vorhandenen RSS-Feed importieren + - Sende soziale Aktivitäten an deine Follower im Fediversum + - Übertragungen von Episoden zu open hubs mit + [WebSub-](https://en.wikipedia.org/wiki/WebSub) + - Generieren von Videoclips - + [benötigt FFmpeg](#optional-ffmpeg-v418-or-higher-for-video-clips) -### (recommended) Install Wizard +### (empfohlen) Installations-Assistent -1. Run the Castopod install script by going to the install wizard page - (`https://your_domain_name.com/cp-install`) in your favorite web browser. -2. Follow the instructions on your screen. -3. Start podcasting! +1. Führen Sie das Castopod Installationsskript aus, indem Sie auf die + Installations-Seite (`https://your_domain_name.com/cp-install`) in Ihrem + bevorzugten Webbrowser gehen. +2. Folge der Anleitung auf dem Bildschirm. +3. Podcasting starten! ::: info Note -The install script writes a `.env` file in the package root. If you cannot go -through the install wizard, you can create and edit the `.env` file manually -based on the `.env.example` file. +Das Installationsskript schreibt eine `.env` Datei im Paket-Root. Wenn Sie nicht +durch den Installations-Assistenten kommen, können Sie die `.env` Datei manuell +erstellen und bearbeiten basierend auf der `.env.example` Datei. ::: -### Email/SMTP setup +### Using CLI -Email configuration is required for some features to work properly (eg. -retrieving your forgotten password, sending instructions to premium subscribers, -…) +1. Create a `.env` file in the package root based on the `.env.example` file. +2. Initialize the database using: -You may add your email configuration in your instance's `.env` like so: + ```sh + php spark install:init-database + ``` + +3. Create the superadmin user using: + + ```sh + php spark install:create-superadmin + ``` + +4. Head on to your admin gateway to start podcasting! + +### Email/SMTP Setup + +E-Mail-Konfiguration ist erforderlich, damit einige Funktionen ordnungsgemäß +funktionieren (zB. das Abrufen Ihres vergessenen Passworts, das Senden von +Anweisungen an Premium-Abonnenten, …) + +Sie können Ihre E-Mail-Konfiguration in `.env` Ihrer Instanz einfügen: ```ini # […] @@ -145,23 +164,23 @@ email.SMTPUser="your_smtp_user" email.SMTPPass="your_smtp_password" ``` -#### Email config options +#### E-Mail-Konfigurationsoptionen -| Variable name | Type | Default | -| ---------------- | -------------------- | ------------ | -| **`fromEmail`** | string | `undefined` | -| **`fromName`** | string | `"Castopod"` | -| **`SMTPHost`** | string | `undefined` | -| **`SMTPUser`** | string | `undefined` | -| **`SMTPPass`** | string | `undefined` | -| **`SMTPPort`** | number | `25` | -| **`SMTPCrypto`** | [`"tls"` or `"ssl"`] | `"tls"` | +| Variablennamen | Typ | Voreinstellung | +| ---------------- | -------------------- | -------------- | +| **`fromEmail`** | string | `undefined` | +| **`fromName`** | string | `"Castopod"` | +| **`SMTPHost`** | string | `undefined` | +| **`SMTPUser`** | string | `undefined` | +| **`SMTPPass`** | string | `undefined` | +| **`SMTPPort`** | number | `25` | +| **`SMTPCrypto`** | [`"tls"` or `"ssl"`] | `"tls"` | ### Media storage -By default, files are saved to the `public/media` folder using the file system. -If you need to relocate the `media` folder to a different location, you can -specify it in your `.env` file as shown below: +Standardmäßig werden Dateien im Ordner `public/media` über das Dateisystem +gespeichert. Wenn Sie den Ordner `media` an einen anderen Ort verlegen müssen, +können Sie es in Ihrer `.env` Datei angeben wie unten gezeigt: ```ini # […] @@ -170,13 +189,14 @@ media.root="media" media.storage="/mnt/storage" ``` -In this example, the files will be saved to the /mnt/storage/media folder. Make -sure to also update your web server configuration to reflect this change. +In diesem Beispiel werden die Dateien im Ordner /mnt/storage/media gespeichert. +Stellen Sie sicher, dass Sie auch Ihre Webserver-Konfiguration aktualisieren, um +diese Änderung wiederzugeben. ### S3 -If you prefer storing your media files on an S3 compatible storage, you may -specify it in your `.env`: +Wenn Sie Ihre Mediendateien lieber auf einem S3-kompatiblen Speicher speichern +möchten, können Sie dies in Ihrer `.env` spezifizieren: ```ini # […] @@ -188,34 +208,34 @@ media.s3.secret="your_s3_secret" media.s3.region="your_s3_region" ``` -#### S3 config options +#### S3 Konfigurationsoptionen -| Variable name | Type | Default | -| ----------------------- | ------- | ----------- | -| **`endpoint`** | string | `undefined` | -| **`key`** | string | `undefined` | -| **`secret`** | string | `undefined` | -| **`region`** | string | `undefined` | -| **`bucket`** | string | `castopod` | -| **`protocol`** | number | `undefined` | -| **`pathStyleEndpoint`** | boolean | `false` | -| **`keyPrefix`** | string | `undefined` | +| Variablennamen | Typ | Voreinstellung | +| ----------------------- | ------- | -------------- | +| **`endpoint`** | string | `undefined` | +| **`key`** | string | `undefined` | +| **`secret`** | string | `undefined` | +| **`region`** | string | `undefined` | +| **`bucket`** | string | `castopod` | +| **`protocol`** | number | `undefined` | +| **`pathStyleEndpoint`** | boolean | `false` | +| **`keyPrefix`** | string | `undefined` | -## Community packages +## Community-Pakete -If you don't want to bother with installing Castopod manually, you may use one -of the packages created and maintained by the open-source community. +Wenn Sie Castopod nicht manuell installieren wollen, können Sie eines der von +der Open-Source-Community erstellten und betreuten Pakete verwenden. -### Install with YunoHost +### Installieren mit YunoHost -[YunoHost](https://yunohost.org/) is a distribution based on Debian GNU/Linux -made up of free and open-source software packages. It manages the hardships of -self-hosting for you. +[YunoHost](https://yunohost.org/) ist eine auf Debian GNU/Linux basierende +Distribution, die aus freien und Open-Source-Software-Paketen besteht. Es +kümmert sich um den Aufwand von self-hosting für dich.
- Install Castopod with YunoHost + Installiere Castopod mit YunoHost + +| role | description | permissions | +| ----------- | ----------------------------------- | ------------------------------------------------------------------------------------------ | +| Super admin | Has complete control over Castopod. | admin.\*, podcasts.\*, users.manage, persons.manage, pages.manage, fediverse.manage-blocks | +| Manager | Manages Castopod's content. | podcasts.create, podcasts.import, persons.manage, pages.manage | +| Podcaster | General users of Castopod. | admin.access | + + + +### Instance permissions + + + +| permission | description | +| ----------------------- | ------------------------------------------------------------------ | +| admin.access | Can access the Castopod admin area. | +| admin.settings | Can access the Castopod settings. | +| users.manage | Can manage Castopod users. | +| persons.manage | Can manage persons. | +| pages.manage | Can manage pages. | +| podcasts.view | Can view all podcasts. | +| podcasts.create | Can create new podcasts. | +| podcasts.import | Can import podcasts. | +| fediverse.manage-blocks | Can block fediverse actors/domains from interacting with Castopod. | + + + +## 2. Per podcast roles and permissions + +### Per podcast roles + + + +| role | description | permissions | +| ------ | --------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Admin | Has complete control of podcast #{id}. | \* | +| Editor | Manages content and publications of podcast #{id}. | view, edit, manage-import, manage-persons, manage-platforms, manage-publications, manage-notifications, interact-as, episodes.view, episodes.create, episodes.edit, episodes.delete, episodes.manage-persons, episodes.manage-clips, episodes.manage-publications, episodes.manage-comments | +| Author | Manages content of podcast #{id} but cannot publish them. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips | +| Guest | General contributor of the podcast #{id}. | view, episodes.view | + + + +### Per podcast permissions + + + +| permission | description | +| ---------------------------- | ------------------------------------------------------------------------ | +| view | Can view dashboard and analytics of podcast #{id}. | +| edit | Can edit podcast #{id}. | +| delete | Can delete podcast #{id}. | +| manage-import | Can synchronize imported podcast #{id}. | +| manage-persons | Can manage subscriptions of podcast #{id}. | +| manage-subscriptions | Can manage subscriptions of podcast #{id}. | +| manage-contributors | Can manage contributors of podcast #{id}. | +| manage-platforms | Can set/remove platform links of podcast #{id}. | +| manage-publications | Can publish podcast #{id}. | +| manage-notifications | Can view and mark notifications as read for podcast #{id}. | +| interact-as | Can interact as the podcast #{id} to favourite, share or reply to posts. | +| episodes.view | Can view dashboard and analytics of podcast #{id}. | +| episodes.create | Can create episodes for podcast #{id}. | +| episodes.edit | Can edit podcast #{id}. | +| episodes.delete | Can delete podcast #{id}. | +| episodes.manage-persons | Can manage subscriptions of podcast #{id}. | +| episodes.manage-clips | Can manage video clips or soundbites of podcast #{id}. | +| episodes.manage-publications | Can publish podcast #{id}. | +| episodes.manage-comments | Can create/remove episode comments of podcast #{id}. | + + diff --git a/docs/src/kk/getting-started/docker.md b/docs/src/kk/getting-started/docker.md new file mode 100644 index 00000000..75158bd6 --- /dev/null +++ b/docs/src/kk/getting-started/docker.md @@ -0,0 +1,158 @@ +--- +title: Official Docker images +sidebarDepth: 3 +--- + +# Official Docker images + +Castopod pushes 3 Docker images to the Docker Hub during its automated build +process: + +- [**`castopod/castopod`**](https://hub.docker.com/r/castopod/castopod): an all + in one castopod image using nginx unit +- [**`castopod/app`**](https://hub.docker.com/r/castopod/app): the app bundle + with all of Castopod dependencies +- [**`castopod/web-server`**](https://hub.docker.com/r/castopod/web-server): an + Nginx configuration for Castopod + +Additionally, Castopod requires a MySQL-compatible database. A Redis database +can be added as a cache handler. + +## Supported tags + +- `develop` [unstable], latest development branch build +- `beta` [stable], latest beta version build +- `latest` [stable], latest version build +- `1.x.x` [stable], specific version build (since `1.0.0`) + +## Example usage + +1. Install [docker](https://docs.docker.com/get-docker/) and + [docker-compose](https://docs.docker.com/compose/install/) +2. Create a `docker-compose.yml` file with the following: + + ```yml + version: "3.7" + + services: + app: + image: castopod/castopod:latest + container_name: "castopod-app" + volumes: + - castopod-media:/var/www/castopod/public/media + environment: + MYSQL_DATABASE: castopod + MYSQL_USER: castopod + MYSQL_PASSWORD: changeme + CP_BASEURL: "https://castopod.example.com" + CP_ANALYTICS_SALT: changeme + CP_CACHE_HANDLER: redis + CP_REDIS_HOST: redis + networks: + - castopod-app + - castopod-db + ports: + - 8000:8000 + restart: unless-stopped + + mariadb: + image: mariadb:10.5 + container_name: "castopod-mariadb" + networks: + - castopod-db + volumes: + - castopod-db:/var/lib/mysql + environment: + MYSQL_ROOT_PASSWORD: changeme + MYSQL_DATABASE: castopod + MYSQL_USER: castopod + MYSQL_PASSWORD: changeme + restart: unless-stopped + + redis: + image: redis:7.0-alpine + container_name: "castopod-redis" + volumes: + - castopod-cache:/data + networks: + - castopod-app + + volumes: + castopod-media: + castopod-db: + castopod-cache: + + networks: + castopod-app: + castopod-db: + ``` + + You have to adapt some variables to your needs (e.g. `CP_BASEURL`, + `MYSQL_ROOT_PASSWORD`, `MYSQL_PASSWORD` and `CP_ANALYTICS_SALT`). + +3. Setup a reverse proxy for TLS (SSL/HTTPS) + + TLS is mandatory for ActivityPub to work. This job can easily be handled by + a reverse proxy, for example with [Caddy](https://caddyserver.com/): + + ``` + #castopod + castopod.example.com { + reverse_proxy localhost:8000 + } + ``` + +4. Run `docker-compose up -d`, wait for it to initialize and head on to + `https://castopod.example.com/cp-install` to finish setting up Castopod! + +5. You're all set, start podcasting! 🎙️🚀 + +## Environment Variables + +- **castopod/castopod** and **castopod/app** + + | Variable name | Type (`default`) | Default | + | ------------------------------------- | ----------------------- | ---------------- | + | **`CP_BASEURL`** | string | `undefined` | + | **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` | + | **`CP_ADMIN_GATEWAY`** | ?string | `"cp-admin"` | + | **`CP_AUTH_GATEWAY`** | ?string | `"cp-auth"` | + | **`CP_ANALYTICS_SALT`** | string | `undefined` | + | **`CP_DATABASE_HOSTNAME`** | ?string | `"mariadb"` | + | **`CP_DATABASE_NAME`** | ?string | `MYSQL_DATABASE` | + | **`CP_DATABASE_USERNAME`** | ?string | `MYSQL_USER` | + | **`CP_DATABASE_PASSWORD`** | ?string | `MYSQL_PASSWORD` | + | **`CP_DATABASE_PREFIX`** | ?string | `"cp_"` | + | **`CP_CACHE_HANDLER`** | [`"file"` or `"redis"`] | `"file"` | + | **`CP_REDIS_HOST`** | ?string | `"localhost"` | + | **`CP_REDIS_PASSWORD`** | ?string | `null` | + | **`CP_REDIS_PORT`** | ?number | `6379` | + | **`CP_REDIS_DATABASE`** | ?number | `0` | + | **`CP_EMAIL_SMTP_HOST`** | ?string | `undefined` | + | **`CP_EMAIL_FROM`** | ?string | `undefined` | + | **`CP_EMAIL_SMTP_USERNAME`** | ?string | `"localhost"` | + | **`CP_EMAIL_SMTP_PASSWORD`** | ?string | `null` | + | **`CP_EMAIL_SMTP_PORT`** | ?number | `25` | + | **`CP_EMAIL_SMTP_CRYPTO`** | [`"tls"` or `"ssl"`] | `"tls"` | + | **`CP_ENABLE_2FA`** | ?boolean | `undefined` | + | **`CP_MEDIA_FILE_MANAGER`** | ?string | `undefined` | + | **`CP_MEDIA_S3_ENDPOINT`** | ?string | `undefined` | + | **`CP_MEDIA_S3_KEY`** | ?string | `undefined` | + | **`CP_MEDIA_S3_SECRET`** | ?string | `undefined` | + | **`CP_MEDIA_S3_REGION`** | ?string | `undefined` | + | **`CP_MEDIA_S3_BUCKET`** | ?string | `undefined` | + | **`CP_MEDIA_S3_PROTOCOL`** | ?number | `undefined` | + | **`CP_MEDIA_S3_PATH_STYLE_ENDPOINT`** | ?boolean | `undefined` | + | **`CP_MEDIA_S3_KEY_PREFIX`** | ?string | `undefined` | + | **`CP_DISABLE_HTTPS`** | ?[`0` or `1`] | `undefined` | + | **`CP_MAX_BODY_SIZE`** | ?number (with suffix) | `512M` | + | **`CP_PHP_MEMORY_LIMIT`** | ?number (with suffix) | `512M` | + | **`CP_TIMEOUT`** | ?number | `900` | + +- **castopod/web-server** + + | Variable name | Type | Default | + | ---------------------- | --------------------- | ------- | + | **`CP_APP_HOSTNAME`** | ?string | `"app"` | + | **`CP_MAX_BODY_SIZE`** | ?number (with suffix) | `512M` | + | **`CP_TIMEOUT`** | ?number | `900` | diff --git a/docs/src/kk/getting-started/install.md b/docs/src/kk/getting-started/install.md new file mode 100644 index 00000000..cdea18ec --- /dev/null +++ b/docs/src/kk/getting-started/install.md @@ -0,0 +1,238 @@ +--- +title: Installation +sidebarDepth: 3 +--- + +# How to install Castopod? + +Castopod was thought-out to be easy to install. Whether using dedicated or +shared hosting, you can install it on most PHP-MySQL compatible web servers. + +::: tip Note + +We've released official Docker images for Castopod! + +If you prefer using Docker, you may skip this and go straight to the +[docker documentation](./docker.md) for Castopod. + +::: + +## Requirements + +- PHP v8.1 or higher +- MySQL version 5.7 or higher or MariaDB version 10.2 or higher +- HTTPS support +- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's + incoming requests + +### PHP v8.1 or higher + +PHP version 8.1 or higher is required, with the following extensions installed: + +- [intl](https://php.net/manual/en/intl.requirements.php) +- [libcurl](https://php.net/manual/en/curl.requirements.php) +- [mbstring](https://php.net/manual/en/mbstring.installation.php) +- [gd](https://www.php.net/manual/en/image.installation.php) with **JPEG**, + **PNG** and **WEBP** libraries. +- [exif](https://www.php.net/manual/en/exif.installation.php) + +Additionally, make sure that the following extensions are enabled in your PHP: + +- json (enabled by default - don't turn it off) +- xml (enabled by default - don't turn it off) +- [mysqlnd](https://php.net/manual/en/mysqlnd.install.php) + +### MySQL compatible database + +> We recommend using [MariaDB](https://mariadb.org). + +::: warning Warning + +Castopod only works with supported MySQL 5.7 or higher compatible databases. It +will break with the previous MySQL v5.6 for example as its end of life was on +February 5, 2021. + +::: + +You will need the server hostname, database name, username and password to +complete the installation process. If you do not have these, please contact your +server administrator. + +#### Privileges + +User must have at least these privileges on the database for Castopod to work: +`CREATE`, `ALTER`, `DELETE`, `EXECUTE`, `INDEX`, `INSERT`, `SELECT`, `UPDATE`, +`REFERENCES`, `CREATE VIEW`. + +### (Optional) FFmpeg v4.1.8 or higher for Video Clips + +[FFmpeg](https://www.ffmpeg.org/) version 4.1.8 or higher is required if you +want to generate Video Clips. The following extensions must be installed: + +- **FreeType 2** library for + [gd](https://www.php.net/manual/en/image.installation.php). + +### (Optional) Other recommendations + +- Redis for better cache performances. +- CDN for static files caching and better performances. +- e-mail gateway for lost passwords. + +## Install instructions + +### Pre-requisites + +0. Get a Web Server with [requirements](#requirements) installed +1. Create a MySQL database for Castopod with a user having access and + modification privileges (for more info, see + [MySQL compatible database](#mysql-compatible-database)). +2. Activate HTTPS on your domain with an _SSL certificate_. +3. Download and unzip the latest [Castopod Package](https://castopod.org/) onto + the web server if you haven’t already. + - ⚠️ Set the web server document root to the `public/` sub-folder within the + `castopod` folder. +4. Add **cron tasks** on your web server for various background processes + (replace the paths accordingly): + + ```bash + * * * * * /path/to/php /path/to/castopod/spark tasks:run >> /dev/null 2>&1 + ``` + + **Note** - If you do not add this cron task, the following Castopod features + will not work: + + - Importing a podcast from an existing RSS feed + - Broadcasting social activities to your followers in the fediverse + - Broadcasting episodes to open hubs using + [WebSub](https://en.wikipedia.org/wiki/WebSub) + - Generating video clips - + [requires FFmpeg](#optional-ffmpeg-v418-or-higher-for-video-clips) + +### (recommended) Install Wizard + +1. Run the Castopod install script by going to the install wizard page + (`https://your_domain_name.com/cp-install`) in your favorite web browser. +2. Follow the instructions on your screen. +3. Start podcasting! + +::: info Note + +The install script writes a `.env` file in the package root. If you cannot go +through the install wizard, you can create and edit the `.env` file manually +based on the `.env.example` file. + +::: + +### Using CLI + +1. Create a `.env` file in the package root based on the `.env.example` file. +2. Initialize the database using: + + ```sh + php spark install:init-database + ``` + +3. Create the superadmin user using: + + ```sh + php spark install:create-superadmin + ``` + +4. Head on to your admin gateway to start podcasting! + +### Email/SMTP setup + +Email configuration is required for some features to work properly (eg. +retrieving your forgotten password, sending instructions to premium subscribers, +…) + +You may add your email configuration in your instance's `.env` like so: + +```ini +# […] + +email.fromEmail="your_email_address" +email.SMTPHost="your_smtp_host" +email.SMTPUser="your_smtp_user" +email.SMTPPass="your_smtp_password" +``` + +#### Email config options + +| Variable name | Type | Default | +| ---------------- | -------------------- | ------------ | +| **`fromEmail`** | string | `undefined` | +| **`fromName`** | string | `"Castopod"` | +| **`SMTPHost`** | string | `undefined` | +| **`SMTPUser`** | string | `undefined` | +| **`SMTPPass`** | string | `undefined` | +| **`SMTPPort`** | number | `25` | +| **`SMTPCrypto`** | [`"tls"` or `"ssl"`] | `"tls"` | + +### Media storage + +By default, files are saved to the `public/media` folder using the file system. +If you need to relocate the `media` folder to a different location, you can +specify it in your `.env` file as shown below: + +```ini +# […] + +media.root="media" +media.storage="/mnt/storage" +``` + +In this example, the files will be saved to the /mnt/storage/media folder. Make +sure to also update your web server configuration to reflect this change. + +### S3 + +If you prefer storing your media files on an S3 compatible storage, you may +specify it in your `.env`: + +```ini +# […] + +media.fileManager="s3" +media.s3.endpoint="your_s3_host" +media.s3.key="your_s3_key" +media.s3.secret="your_s3_secret" +media.s3.region="your_s3_region" +``` + +#### S3 config options + +| Variable name | Type | Default | +| ----------------------- | ------- | ----------- | +| **`endpoint`** | string | `undefined` | +| **`key`** | string | `undefined` | +| **`secret`** | string | `undefined` | +| **`region`** | string | `undefined` | +| **`bucket`** | string | `castopod` | +| **`protocol`** | number | `undefined` | +| **`pathStyleEndpoint`** | boolean | `false` | +| **`keyPrefix`** | string | `undefined` | + +## Community packages + +If you don't want to bother with installing Castopod manually, you may use one +of the packages created and maintained by the open-source community. + +### Install with YunoHost + +[YunoHost](https://yunohost.org/) is a distribution based on Debian GNU/Linux +made up of free and open-source software packages. It manages the hardships of +self-hosting for you. + + diff --git a/docs/src/kk/getting-started/security.md b/docs/src/kk/getting-started/security.md new file mode 100644 index 00000000..e205698d --- /dev/null +++ b/docs/src/kk/getting-started/security.md @@ -0,0 +1,26 @@ +--- +title: Security +--- + +# Security concerns + +Castopod is built on top of [CodeIgniter4](https://codeigniter.com/), a PHP +framework that encourages +[good security practices](https://codeigniter.com/user_guide/concepts/security.html). + +To maximize your instance's safety and prevent any malicious attack, we +recommend you update all your Castopod files permissions after installation or +updates (to avoid any prior permission error): + +- `writable/` folder must be **readable** and **writable**. +- `public/media/` folder must be **readable** and **writable**. +- any other file must be set to **readonly**. + +For instance, if you are using Apache or NGINX with Ubuntu you may do the +following: + +```bash +sudo chown -R root:root /path/to/castopod +sudo chown -R www-data:www-data /path/to/castopod/writable +sudo chown -R www-data:www-data /path/to/castopod/public/media +``` diff --git a/docs/src/kk/getting-started/update.md b/docs/src/kk/getting-started/update.md new file mode 100644 index 00000000..98e019fb --- /dev/null +++ b/docs/src/kk/getting-started/update.md @@ -0,0 +1,109 @@ +--- +title: Update +sidebarDepth: 3 +--- + +# How to update Castopod? + +After installing Castopod, you may want to update your instance to the latest +version in order to enjoy the latest features ✨, bug fixes 🐛 and performance +improvements ⚡. + +## Update instructions + +0. ⚠️ Before any update, we highly recommend you backup your Castopod files and + database. + + - cf. + [Should I make a backup before updating?](#should-i-make-a-backup-before-updating) + +1. Go to the + [releases page](https://code.castopod.org/adaures/castopod/-/releases) and + see if your instance is up to date with the latest Castopod version + + - cf. + [Where can I find my Castopod version?](#where-can-i-find-my-castopod-version) + +2. Download the latest release package named `Castopod Package`, you may choose + between the `zip` or `tar.gz` archives + + - ⚠️ Make sure you download the Castopod Package and **NOT** the Source Code + - Note that you can also download the latest package from + [castopod.org](https://castopod.org/) + +3. On your server: + + - Remove all files except `.env` and `public/media` + - Copy the new files from the downloaded package into your server + + ::: info Note + + You may need to reset files permissions as during the install process. + Check [Security Concerns](./security.md). + + ::: + +4. Update your database schema from your `Castopod Admin` > `About` page or by + running: + + ```bash + php spark castopod:database-update + ``` + +5. Clear your cache from your `Castopod Admin` > `Settings` > `general` > + `Housekeeping` +6. ✨ Enjoy your fresh instance, you're all done! + +::: info Note + +Releases may come with additional update instructions (see +[releases page](https://code.castopod.org/adaures/castopod/-/releases)). + +- cf. + [I haven't updated my instance in a long time… What should I do?](#i-havent-updated-my-instance-in-a-long-time-what-should-i-do) + +::: + +## Fully Automated updates + +> Coming soon... 👀 + +## Frequently asked questions (FAQ) + +### Where can I find my Castopod version? + +Go to your Castopod admin panel, the version is displayed on the bottom left +corner. + +Alternatively, you can find the version in the `app > Config > Constants.php` +file. + +### I haven't updated my instance in a long time… What should I do? + +No problem! Just get the latest release as described above. Only, when going +through the release instructions (4), perform them sequentially, from the oldest +to the newest. + +> You may want to backup your instance depending on how long you haven't updated +> Castopod. + +For example, if you're on `v1.0.0-alpha.42` and would like to upgrade to +`v1.0.0-beta.1`: + +0. (highly recommended) Make a backup of your files and database. + +1. Download the latest release, overwrite your files whilst keeping `.env` and + `public/media`. + +2. Go through each release update instructions sequentially (from oldest to + newest) starting with `v1.0.0-alpha.43`, `v1.0.0-alpha.44`, + `v1.0.0-alpha.45`, …, `v1.0.0-beta.1`. + +3. ✨ Enjoy your fresh instance, you're all done! + +### Should I make a backup before updating? + +We advise you do, so you don't lose everything if anything goes wrong! + +More generally, we advise you make regular backups of your Castopod files and +database to prevent you from losing it all… diff --git a/docs/src/kk/index.md b/docs/src/kk/index.md new file mode 100644 index 00000000..42ec8ed0 --- /dev/null +++ b/docs/src/kk/index.md @@ -0,0 +1,299 @@ +--- +sidebarDepth: 2 +--- + +# Welcome 👋 + +[![release-badge]][release] [![license-badge]][license] [![contributions-badge]][contributions] [![semantic-release-badge]][semantic-release] [![crowdin-badge]][crowdin] [![discord-badge]][discord] [![stars-badge]][stars] + +Castopod is a free & open-source hosting platform made for podcasters who want +engage and interact with their audience. + +Castopod is easy to install and was built on top of +[CodeIgniter4](https://codeigniter.com/), a powerful PHP framework with a very +small footprint. + +
+ Install +
+ +## Features + +- 🌱  Free & open-source (AGPL v3 License) +- 🔐  Focused on data sovereignty: your content, audience, and analytics + belong to you, and you only +- 🪄  Podcasting 2.0 features: GUID, locked, transcripts, funding, + chapters, location, persons, soundbites, … +- 💬  Built-in social network: + - 🚀  Castopod is part of the Fediverse, a decentralized social network + - ❤️  Create posts, share, favourite, and comment on episodes +- 📈  Built-in analytics: + - ⚖️  GDPR / CCPA / LGPD compliant + - 🪙  Standard IABv2 audience measurement + - 🏡  On-premises analytics, no third party involved +- 📢  Built-in marketing tools: + - ✅  SEO ready (open-graph meta-tags, JSON-LD, …) + - 📱  PWA: install as a standalone app + - 🎨  Customizable theme colors + - 🎬  Generate ready-to-share Video clips from episodes + - 🔉  Generate soundbites + - ▶️  Embeddable player, embed your episodes on any website +- 💸  Monetization: + - 🔗  Funding links + - 📲  listen-to-click ads + - 🤝  value4value / WebMonetization + - 💎  Premium podcasts +- 📡  Publish your episodes everywhere with RSS: + - 📱  On all indexes and apps: Podcast Index, Apple Podcasts, Spotify, + Google Podcasts, Deezer, Podcast Addict, Podfriend, … + - ⚡  Broadcast your episodes instantly with WebSub +- 📥  Podcast import: move your existing podcast into Castopod +- 📤  Move your podcast out of Castopod +- 🔀  Multi-tenant: host as many podcasts as you want +- 👥  Multi-user: add contributors and set roles +- 🌎  i18n support: translated in English, French, Polish, German, + Brazilian Portuguese & Spanish… with + [more to come](https://translate.castopod.org)! + +## Motivation + +The podcasting ecosystem is decentralized by nature: you can create your podcast +as an RSS file, publish it on the web and have it shared everywhere online. + +It is in fact one of the only media to have stayed this way for a long time. + +As usages are evolving, more and more people are getting into podcasts: whether +it is creators finding new ways to share their ideas, or listeners in the search +for better content. + +With podcasting becoming more widely used, some companies are trying to shift it +towards a more controlled and centralized medium. + +Castopod was created in an effort to provide an open and sustainable alternative +to hosting your podcasts, promoting decentralization to ensure that podcasters +creativity can express itself. + +This project is pushed by the open-source community, and specifically by the +[Fediverse](https://fediverse.party/en/fediverse/) and +[Podcasting 2.0](https://podcastindex.org/) movements. + +## Comparison with other solutions + +We believe that a solution is not necessarily right for everyone, it highly +depends on your needs. So, here are comparisons with other tools to help you to +gauge whether Castopod is the right fit for you. + +### Castopod vs Wordpress + +Castopod is often referred to as "the Wordpress for podcasts" because of the +similarities between the two. In some ways this is true. And actually, Castopod +was greatly inspired by the Wordpress ecosystem, seeing the ease of adoption +from the community and the number of websites running it. + +Just like Wordpress, Castopod is free & open source, built using PHP with a +MySQL database and is packaged in a way that you can easily install on most web +servers. + +Wordpress is a great way to create your website and extend it with plugins to +get what you want. It is a full fledged CMS that helps you get any type of +website online. + +On the other hand, Castopod is meant to address the podcasters needs +specifically, focusing on podcasting, and nothing else. You don't need any +plugin to get you started on your podcasting journey. + +This allows optimizing the processes specific to podcasting: ranging from the +creation of your podcasts and the publication of new episodes all the way to +broadcasting, marketing and analytics. + +Finally, depending on your needs, Wordpress and Castopod can even live side by +side as they share the same requirements! + +### Castopod vs Funkwhale + +Funkwhale is a self-hosted, modern free and open-source music server. Just as +Castopod, Funkwhale is on the fediverse, a decentralized social network allowing +interoperability between the two. + +Funkwhale was initially built around music. And later on, as the project +evolved, the ability to host podcasts was introduced. + +Unlike Funkwhale, Castopod has been designed and built around podcasting +exclusively. This allows easier implementation for features related to the +podcasting ecosystem, such as the podcasting 2.0 features (transcripts, +chapters, locations, persons, …). + +So, you should probably use Funkwhale if you want to host your music, and use +Castopod if you want to host your podcasts. + +### Castopod vs other podcast hosts + +There are many solutions for you to host your podcasts, some of which are really +great and [a lot of them](https://podcastindex.org/apps) are jumping into the +Podcasting 2.0 wagon just like Castopod! + +Each of these solutions differ from one another, you may compare with the +[list of features](#features). + +That being said, there are two main differences with other podcasting solutions: + +- Castopod can be self-hosted and is the only solution that allows you to keep + full control over what you produce. Also, as it is open-source, you can even + customize it as you wish. + +- Castopod is the only solution that currently integrates both a decentralized + social network with ActivityPub as well as many of the podcasting 2.0 + features, hoping to bridge the gap between the two. + +## Contributing + +Love Castopod and would like to help? Take a look at the following documentation +to get you started. + +### Code of conduct + +Castopod has adopted a Code of Conduct that we expect project participants to +adhere to. Please read the +[CODE_OF_CONDUCT manual](https://code.castopod.org/adaures/castopod/-/blob/beta/CODE_OF_CONDUCT.md) +so that you can understand what actions will and will not be tolerated. + +### Contributing guide + +Read our [contributing guide](./contributing/guidelines.md) to learn about our +development process, how to propose bugfixes and improvements, and how to build +and test your changes to Castopod. + +## Contributors ✨ + +Thanks goes to these wonderful people +([emoji key](https://allcontributors.org/docs/en/emoji-key)): + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Yassine Doghri
Yassine Doghri

💻 🐛 📖 👀 🚧 🖋 🎨 ️️️️♿️ 🌍 💬 🧑‍🏫 🚇 🤔 📆 📝
Benjamin Bellamy
Benjamin Bellamy

💻 🐛 👀 🖋 🌍 💬 🚇 🤔 📝 📆 📢
Ola Hneini
Ola Hneini

💻 👀 📖 🚧 💬 🤔
Romain de Laage
Romain de Laage

💻 🚇 📖 🌍 🤔
Lyonel Bernard
Lyonel Bernard

🐛 💬 🔊 🤔
Christopher Lagonick-Weitzel
Christopher Lagonick-Weitzel

🐛 💬 🔊 🤔
Ernesto Acosta
Ernesto Acosta

🐛 🔊 🌍 💬 🤔
Bastien Luneteau
Bastien Luneteau

💻 🐛
Cécile Ricordeau
Cécile Ricordeau

🎨
Patryk Miś
Patryk Miś

🌍
Marcin Lewandowski
Marcin Lewandowski

🐛 🤔
Sebastian Janik
Sebastian Janik

💻
Patryk Karczmarczyk
Patryk Karczmarczyk

💻
denis d
denis d

🐛 🤔
Douglas Kastle
Douglas Kastle

🐛 🤔
cExplorer
cExplorer

🐛 🌍
ImaCrea
ImaCrea

🐛 🤔
Jonas S
Jonas S

💻
LEFEBVRE Yann
LEFEBVRE Yann

🐛
Sebastian Späth
Sebastian Späth

🐛 🤔
rocky III
rocky III

🐛
Hermann Josef Eckl
Hermann Josef Eckl

🐛
Delhaye Cyrille
Delhaye Cyrille

🐛 🤔
João Leandro
João Leandro

🌍 🤔
Angelos Chouvardas
Angelos Chouvardas

🌍
Eivind
Eivind

🌍
Ewen
Ewen

🌍 🤔
forght
forght

🌍
glottis0q
glottis0q

🌍
ButterflyOfFire
ButterflyOfFire

🌍
Lucian I. Last
Lucian I. Last

🌍
LuuzViir
LuuzViir

🌍
CTHTC
CTHTC

🌍
Russian Retro
Russian Retro

🌍
Marek L'ach
Marek L'ach

🌍
GunChleoc
GunChleoc

🌍
GabiSnow
GabiSnow

🌍
bendaha
bendaha

🌍
Samuel Roland
Samuel Roland

🌍
Dimitri Regnier
Dimitri Regnier

🤔
irithys
irithys

🌍
Sergi
Sergi

🌍
ghose (XoseM)
ghose (XoseM)

🌍
Andreas Olsson
Andreas Olsson

🌍
leonfrom
leonfrom

🌍
agentcobra
agentcobra

🌍
Alessandro
Alessandro

🌍
liimee
liimee

🌍
Ahmed Sabouni
Ahmed Sabouni

🌍
KrzysztofDomanczyk
KrzysztofDomanczyk

💻
+ + + + + + +This project follows the +[all-contributors](https://github.com/all-contributors/all-contributors) +specification. Contributions of any kind welcome! + +## Contact + +You may reach us for help or ask any question you have on: + +- [Discord](https://castopod.org/discord) (for direct interaction with + developers and the community) +- [Issue tracker](https://code.castopod.org/adaures/castopod/-/issues) (for + feature requests & bug reports) + +Alternatively, you can follow us on social media platforms to get news about +Castopod: + +- [podlibre.social](https://podlibre.social/@Castopod) (Mastodon instance) +- [Twitter](https://twitter.com/castopod) +- [LinkedIn](https://linkedin.com/company/castopod) +- [Facebook](https://www.facebook.com/castopod) + +## Sponsors + +The ongoing development of Castopod is made possible with the support of its +backers. If you'd like to help, please consider +[sponsoring Castopod's development](https://opencollective.com/castopod/contribute). + +
+ Ad Aures Logo + NLnet Logo +
+ +## License + +[GNU Affero General Public License v3.0](https://choosealicense.com/licenses/agpl-3.0/) + +Copyright © 2020-present, [Ad Aures](https://adaures.com/). +https://img.shields.io/gitlab/v/release/2?color=brightgreen&gitlab_url=https%3A%2F%2Fcode.castopod.org%2F&include_prereleases&label=release +https://img.shields.io/github/license/ad-aures/castopod?color=blue +https://img.shields.io/badge/contributions-welcome-brightgreen.svg +https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg +https://img.shields.io/github/stars/ad-aures/castopod?style=social + +[release]: https://code.castopod.org/adaures/castopod/-/releases +[license]: https://code.castopod.org/adaures/castopod/-/blob/beta/LICENSE.md +[contributions]: https://code.castopod.org/adaures/castopod/-/issues +[semantic-release]: https://github.com/semantic-release/semantic-release +[discord]: https://castopod.org/discord +[stars]: https://github.com/ad-aures/castopod/stargazers +[crowdin]: https://translate.castopod.org/project/castopod diff --git a/docs/src/ko/getting-started/install.md b/docs/src/ko/getting-started/install.md index af405daf..cdea18ec 100644 --- a/docs/src/ko/getting-started/install.md +++ b/docs/src/ko/getting-started/install.md @@ -19,15 +19,15 @@ If you prefer using Docker, you may skip this and go straight to the ## Requirements -- PHP v8.1 only +- PHP v8.1 or higher - MySQL version 5.7 or higher or MariaDB version 10.2 or higher - HTTPS support - An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's incoming requests -### PHP v8.1 only +### PHP v8.1 or higher -PHP version 8.1 is required, with the following extensions installed: +PHP version 8.1 or higher is required, with the following extensions installed: - [intl](https://php.net/manual/en/intl.requirements.php) - [libcurl](https://php.net/manual/en/curl.requirements.php) @@ -123,6 +123,23 @@ based on the `.env.example` file. ::: +### Using CLI + +1. Create a `.env` file in the package root based on the `.env.example` file. +2. Initialize the database using: + + ```sh + php spark install:init-database + ``` + +3. Create the superadmin user using: + + ```sh + php spark install:create-superadmin + ``` + +4. Head on to your admin gateway to start podcasting! + ### Email/SMTP setup Email configuration is required for some features to work properly (eg. diff --git a/docs/src/nl/getting-started/install.md b/docs/src/nl/getting-started/install.md index af405daf..cdea18ec 100644 --- a/docs/src/nl/getting-started/install.md +++ b/docs/src/nl/getting-started/install.md @@ -19,15 +19,15 @@ If you prefer using Docker, you may skip this and go straight to the ## Requirements -- PHP v8.1 only +- PHP v8.1 or higher - MySQL version 5.7 or higher or MariaDB version 10.2 or higher - HTTPS support - An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's incoming requests -### PHP v8.1 only +### PHP v8.1 or higher -PHP version 8.1 is required, with the following extensions installed: +PHP version 8.1 or higher is required, with the following extensions installed: - [intl](https://php.net/manual/en/intl.requirements.php) - [libcurl](https://php.net/manual/en/curl.requirements.php) @@ -123,6 +123,23 @@ based on the `.env.example` file. ::: +### Using CLI + +1. Create a `.env` file in the package root based on the `.env.example` file. +2. Initialize the database using: + + ```sh + php spark install:init-database + ``` + +3. Create the superadmin user using: + + ```sh + php spark install:create-superadmin + ``` + +4. Head on to your admin gateway to start podcasting! + ### Email/SMTP setup Email configuration is required for some features to work properly (eg. diff --git a/docs/src/nn-NO/getting-started/auth.md b/docs/src/nn-NO/getting-started/auth.md index ff5d59c0..7cd0073d 100644 --- a/docs/src/nn-NO/getting-started/auth.md +++ b/docs/src/nn-NO/getting-started/auth.md @@ -1,87 +1,87 @@ --- -title: Authentication & Authorization +title: Godkjenning & Autorisasjon sidebarDepth: 3 --- -# Authentication & Authorization +# Godkjenning & Autorisasjon -Castopod handles authentication and authorization using `codeigniter/shield` -coupled with custom rules. Roles and permissions are defined at two levels: +Castopod tek seg av godkjenning og autorisasjon med `codeigniter/shield` saman +med nokre eigne reglar. Roller og løyve er definerte på to nivå: -1. [instance wide](#1-instance-wide-roles-and-permissions) -2. [per podcast](#2-per-podcast-roles-and-permissions) +1. [for heile nettstaden](#1-instance-wide-roles-and-permissions) +2. [for kvar podkast](#2-per-podcast-roles-and-permissions) -## 1. Instance wide roles and permissions +## 1. Roller og løyve for heile nettstaden -### Instance roles +### Roller på nettstaden -| role | description | permissions | -| ----------- | ----------------------------------- | ------------------------------------------------------------------------------------------ | -| Super admin | Has complete control over Castopod. | admin.\*, podcasts.\*, users.manage, persons.manage, pages.manage, fediverse.manage-blocks | -| Manager | Manages Castopod's content. | podcasts.create, podcasts.import, persons.manage, pages.manage | -| Podcaster | General users of Castopod. | admin.access | +| rolle | skildring | løyve | +| ----------- | -------------------------------- | ------------------------------------------------------------------------------------------ | +| Superstyrar | Har full kontroll over Castopod. | admin.\*, podcasts.\*, users.manage, persons.manage, pages.manage, fediverse.manage-blocks | +| Leiar | Styrer innhaldet på Castopod. | podcasts.create, podcasts.import, persons.manage, pages.manage | +| Podkastar | Vanlege Castopod-brukarar. | admin.tilgang | -### Instance permissions +### Løyve på nettstaden -| permission | description | -| ----------------------- | ------------------------------------------------------------------ | -| admin.access | Can access the Castopod admin area. | -| admin.settings | Can access the Castopod settings. | -| users.manage | Can manage Castopod users. | -| persons.manage | Can manage persons. | -| pages.manage | Can manage pages. | -| podcasts.view | Can view all podcasts. | -| podcasts.create | Can create new podcasts. | -| podcasts.import | Can import podcasts. | -| fediverse.manage-blocks | Can block fediverse actors/domains from interacting with Castopod. | +| løyve | skildring | +| ----------------------- | ---------------------------------------------------------------------- | +| admin.access | Kan bruka styringspanelet for Castopod. | +| admin.settings | Kan få tilgang til innstillingane for Castopod. | +| users.manage | Kan handtera Castopod-brukarar. | +| persons.manage | Kan handtera folk. | +| pages.manage | Kan handtera sider. | +| podcasts.view | Kan sjå alle podkastane. | +| podcasts.create | Kan laga nye podkastar. | +| podcasts.import | Kan importera podkastar. | +| fediverse.manage-blocks | Kan blokkera folk og domene på allheimen frå å samhandla med Castopod. | -## 2. Per podcast roles and permissions +## 2. Roller og løyve pr. podkast -### Per podcast roles +### Roller pr. podkast -| role | description | permissions | -| ------ | --------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Admin | Has complete control of podcast #{id}. | \* | -| Editor | Manages content and publications of podcast #{id}. | view, edit, manage-import, manage-persons, manage-platforms, manage-publications, manage-notifications, interact-as, episodes.view, episodes.create, episodes.edit, episodes.delete, episodes.manage-persons, episodes.manage-clips, episodes.manage-publications, episodes.manage-comments | -| Author | Manages content of podcast #{id} but cannot publish them. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips | -| Guest | General contributor of the podcast #{id}. | view, episodes.view | +| rolle | skildring | løyve | +| ------------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Administrator | Har full kontroll over podkasten #{id}. | \* | +| Redaktør | Styrer innhald og publisering for podkasten #{id}. | view, edit, manage-import, manage-persons, manage-platforms, manage-publications, manage-notifications, interact-as, episodes.view, episodes.create, episodes.edit, episodes.delete, episodes.manage-persons, episodes.manage-clips, episodes.manage-publications, episodes.manage-comments | +| Skapar | Styrer innhald for podkasten #{id}, men kan ikkje publisera dei. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips | +| Gjest | Vanleg bidragsytar til podkasten #{id}. | view, episodes.view | -### Per podcast permissions +### Løyve pr. podkast -| permission | description | -| ---------------------------- | ------------------------------------------------------------------------ | -| view | Can view dashboard and analytics of podcast #{id}. | -| edit | Can edit podcast #{id}. | -| delete | Can delete podcast #{id}. | -| manage-import | Can synchronize imported podcast #{id}. | -| manage-persons | Can manage subscriptions of podcast #{id}. | -| manage-subscriptions | Can manage subscriptions of podcast #{id}. | -| manage-contributors | Can manage contributors of podcast #{id}. | -| manage-platforms | Can set/remove platform links of podcast #{id}. | -| manage-publications | Can publish podcast #{id}. | -| manage-notifications | Can view and mark notifications as read for podcast #{id}. | -| interact-as | Can interact as the podcast #{id} to favourite, share or reply to posts. | -| episodes.view | Can view dashboard and analytics of podcast #{id}. | -| episodes.create | Can create episodes for podcast #{id}. | -| episodes.edit | Can edit podcast #{id}. | -| episodes.delete | Can delete podcast #{id}. | -| episodes.manage-persons | Can manage subscriptions of podcast #{id}. | -| episodes.manage-clips | Can manage video clips or soundbites of podcast #{id}. | -| episodes.manage-publications | Can publish podcast #{id}. | -| episodes.manage-comments | Can create/remove episode comments of podcast #{id}. | +| løyve | description | +| ---------------------------- | ------------------------------------------------------------------ | +| view | Kan sjå styringspanelet og analysedata for podkasten #{id}. | +| edit | Kan redigera podkasten #{id}. | +| delete | Kan sletta podkasten #{id}. | +| manage-import | Kan synkronisera den importerte podkasten #{id}. | +| manage-persons | Kan handtera abonnement for podkasten #{id}. | +| manage-subscriptions | Kan handtera abonnement for podkasten #{id}. | +| manage-contributors | Kan handtera bidragsytarar for podkasten #{id}. | +| manage-platforms | Kan oppretta og fjerna plattformlenkjer for podkasten #{id}. | +| manage-publications | Kan publisera podkasten #{id}. | +| manage-notifications | Kan lesa og merka varsel som lesne for podkasten #{id}. | +| interact-as | Kan merka podkasten #{id} som favoritt, dela og svara på innlegg. | +| episodes.view | Kan sjå styringspanelet og analysedata for podkasten #{id}. | +| episodes.create | Kan laga epoisodar for podkasten #{id}. | +| episodes.edit | Kan redigera podkasten #{id}. | +| episodes.delete | Kan sletta podkasten #{id}. | +| episodes.manage-persons | Kan handtera abonnement for podkasten #{id}. | +| episodes.manage-clips | Kan handtera film- og lydklypp av podkasten #{id}. | +| episodes.manage-publications | Kan publisera podkasten #{id}. | +| episodes.manage-comments | Kan skriva og sletta kommentarar til episodane av podkasten #{id}. | diff --git a/docs/src/nn-NO/getting-started/docker.md b/docs/src/nn-NO/getting-started/docker.md index 102aab79..f23732e0 100644 --- a/docs/src/nn-NO/getting-started/docker.md +++ b/docs/src/nn-NO/getting-started/docker.md @@ -112,48 +112,48 @@ Redis-database for å handtera mellomlagring. - **castopod/castopod** og **castopod/app** - | Variabelnamn | Type (`standard`) | Standardval | - | ------------------------------------- | ----------------------- | ---------------- | - | **`CP_BASEURL`** | streng | `udefinert` | - | **`CP_MEDIA_BASEURL`** | ?streng | `CP_BASEURL` | - | **`CP_ADMIN_GATEWAY`** | ?streng | `"cp-admin"` | - | **`CP_AUTH_GATEWAY`** | ?string | `"cp-auth"` | - | **`CP_ANALYTICS_SALT`** | string | `undefined` | - | **`CP_DATABASE_HOSTNAME`** | ?string | `"mariadb"` | - | **`CP_DATABASE_NAME`** | ?string | `MYSQL_DATABASE` | - | **`CP_DATABASE_USERNAME`** | ?string | `MYSQL_USER` | - | **`CP_DATABASE_PASSWORD`** | ?string | `MYSQL_PASSWORD` | - | **`CP_DATABASE_PREFIX`** | ?string | `"cp_"` | - | **`CP_CACHE_HANDLER`** | [`"file"` or `"redis"`] | `"file"` | - | **`CP_REDIS_HOST`** | ?string | `"localhost"` | - | **`CP_REDIS_PASSWORD`** | ?string | `null` | - | **`CP_REDIS_PORT`** | ?number | `6379` | - | **`CP_REDIS_DATABASE`** | ?number | `0` | - | **`CP_EMAIL_SMTP_HOST`** | ?string | `undefined` | - | **`CP_EMAIL_FROM`** | ?string | `undefined` | - | **`CP_EMAIL_SMTP_USERNAME`** | ?string | `"localhost"` | - | **`CP_EMAIL_SMTP_PASSWORD`** | ?string | `null` | - | **`CP_EMAIL_SMTP_PORT`** | ?number | `25` | - | **`CP_EMAIL_SMTP_CRYPTO`** | [`"tls"` eller `"ssl"`] | `"tls"` | - | **`CP_ENABLE_2FA`** | ?boolsk | `udefinert` | - | **`CP_MEDIA_FILE_MANAGER`** | ?streng | `udefinert` | - | **`CP_MEDIA_S3_ENDPOINT`** | ?streng | `udefinert` | - | **`CP_MEDIA_S3_KEY`** | ?streng | `udefinert` | - | **`CP_MEDIA_S3_SECRET`** | ?streng | `udefinert` | - | **`CP_MEDIA_S3_REGION`** | ?streng | `udefinert` | - | **`CP_MEDIA_S3_BUCKET`** | ?streng | `udefinert` | - | **`CP_MEDIA_S3_PROTOCOL`** | ?tal | `udefinert` | - | **`CP_MEDIA_S3_PATH_STYLE_ENDPOINT`** | ?boolsk | `udefinert` | - | **`CP_MEDIA_S3_KEY_PREFIX`** | ?streng | `udefinert` | - | **`CP_DISABLE_HTTPS`** | ?[`0` eller `1`] | `udefinert` | - | **`CP_MAX_BODY_SIZE`** | ?tal (med suffiks) | `512M` | - | **`CP_PHP_MEMORY_LIMIT`** | ?tal (med suffiks) | `512M` | - | **`CP_TIMEOUT`** | ?tal | `900` | + | Variabelnamn | Type (`standard`) | Standardval | + | ------------------------------------- | -------------------------- | ---------------- | + | **`CP_BASEURL`** | streng | `udefinert` | + | **`CP_MEDIA_BASEURL`** | ?streng | `CP_BASEURL` | + | **`CP_ADMIN_GATEWAY`** | ?streng | `"cp-admin"` | + | **`CP_AUTH_GATEWAY`** | ?streng | `"cp-auth"` | + | **`CP_ANALYTICS_SALT`** | streng | `udefinert` | + | **`CP_DATABASE_HOSTNAME`** | ?streng | `"mariadb"` | + | **`CP_DATABASE_NAME`** | ?streng | `MYSQL_DATABASE` | + | **`CP_DATABASE_USERNAME`** | ?streng | `MYSQL_USER` | + | **`CP_DATABASE_PASSWORD`** | ?streng | `MYSQL_PASSORD` | + | **`CP_DATABASE_PREFIX`** | ?streng | `"cp_"` | + | **`CP_CACHE_HANDLER`** | [`"file"` eller `"redis"`] | `"file"` | + | **`CP_REDIS_HOST`** | ?streng | `"localhost"` | + | **`CP_REDIS_PASSORD`** | ?streng | `tom` | + | **`CP_REDIS_PORT`** | ?tal | `6379` | + | **`CP_REDIS_DATABASE`** | ?tal | `0` | + | **`CP_EMAIL_SMTP_HOST`** | ?streng | `udefinert` | + | **`CP_EMAIL_FROM`** | ?streng | `udefinert` | + | **`CP_EMAIL_SMTP_USERNAME`** | ?streng | `"localhost"` | + | **`CP_EMAIL_SMTP_PASSWORD`** | ?streng | `null` | + | **`CP_EMAIL_SMTP_PORT`** | ?tal | `25` | + | **`CP_EMAIL_SMTP_CRYPTO`** | [`"tls"` eller `"ssl"`] | `"tls"` | + | **`CP_ENABLE_2FA`** | ?boolsk | `udefinert` | + | **`CP_MEDIA_FILE_MANAGER`** | ?streng | `udefinert` | + | **`CP_MEDIA_S3_ENDPOINT`** | ?streng | `udefinert` | + | **`CP_MEDIA_S3_KEY`** | ?streng | `udefinert` | + | **`CP_MEDIA_S3_SECRET`** | ?streng | `udefinert` | + | **`CP_MEDIA_S3_REGION`** | ?streng | `udefinert` | + | **`CP_MEDIA_S3_BUCKET`** | ?streng | `udefinert` | + | **`CP_MEDIA_S3_PROTOCOL`** | ?tal | `udefinert` | + | **`CP_MEDIA_S3_PATH_STYLE_ENDPOINT`** | ?boolsk | `udefinert` | + | **`CP_MEDIA_S3_KEY_PREFIX`** | ?streng | `udefinert` | + | **`CP_DISABLE_HTTPS`** | ?[`0` eller `1`] | `udefinert` | + | **`CP_MAX_BODY_SIZE`** | ?tal (med suffiks) | `512M` | + | **`CP_PHP_MEMORY_LIMIT`** | ?tal (med suffiks) | `512M` | + | **`CP_TIMEOUT`** | ?tal | `900` | - **castopod/web-server** - | Variabelnamn | Type | Standardval | - | ---------------------- | --------------------- | ----------- | - | **`CP_APP_HOSTNAME`** | ?string | `"app"` | - | **`CP_MAX_BODY_SIZE`** | ?number (with suffix) | `512M` | - | **`CP_TIMEOUT`** | ?number | `900` | + | Variabelnamn | Type | Standardval | + | ---------------------- | ------------------ | ----------- | + | **`CP_APP_HOSTNAME`** | ?streng | `"app"` | + | **`CP_MAX_BODY_SIZE`** | ?tal (med suffiks) | `512M` | + | **`CP_TIMEOUT`** | ?tal | `900` | diff --git a/docs/src/nn-NO/getting-started/install.md b/docs/src/nn-NO/getting-started/install.md index ef0e79a5..0d3e99ca 100644 --- a/docs/src/nn-NO/getting-started/install.md +++ b/docs/src/nn-NO/getting-started/install.md @@ -20,15 +20,15 @@ Viss du helst vil bruka Docker, kan du hoppa over dette og gå rett til ## Krav -- Berre PHP v8.1 +- PHP v8.1 eller nyare - MySQL versjon 5.7 eller nyare, eller MariaDB versjon 10.2 eller nyare - Støtte for HTTPS - Ei [ntp-synkronisert klokke](https://wiki.debian.org/NTP) for å stadfesta innkomande førespurnader frå allheimen -### Berre PHP v8.1 +### PHP v8.1 eller nyare -PHP versjon 8.1 med desse utvidingane krevst: +Du treng PHP versjon 8.1 eller nyare, og mde desse tillegga: - [intl](https://php.net/manual/en/intl.requirements.php) - [libcurl](https://php.net/manual/en/curl.requirements.php) @@ -124,6 +124,23 @@ manuelt basert på `.env.example`-fila. ::: +### Using CLI + +1. Create a `.env` file in the package root based on the `.env.example` file. +2. Initialize the database using: + + ```sh + php spark install:init-database + ``` + +3. Create the superadmin user using: + + ```sh + php spark install:create-superadmin + ``` + +4. Head on to your admin gateway to start podcasting! + ### Epost/SMTP-oppsett Epostoppsett er naudsynt for at nokre av funksjonane skal verka skikkeleg (td. diff --git a/docs/src/nn-NO/index.md b/docs/src/nn-NO/index.md index 9b5fbbdb..51053794 100644 --- a/docs/src/nn-NO/index.md +++ b/docs/src/nn-NO/index.md @@ -182,67 +182,67 @@ Mange takk til dei flotte folka på Yassine Doghri
Yassine Doghri

💻 🐛 📖 👀 🚧 🖋 🎨 ️️️️♿️ 🌍 💬 🧑‍🏫 🚇 🤔 📆 📝 Benjamin Bellamy
Benjamin Bellamy

💻 🐛 👀 🖋 🌍 💬 🚇 🤔 📝 📆 📢 Ola Hneini
Ola Hneini

💻 👀 📖 🚧 💬 🤔 - Romain de Laage
Romain de Laage

💻 🚇 📖 🌍 🤔 - Lyonel Bernard
Lyonel Bernard

🐛 💬 🔊 🤔 - Christopher Lagonick-Weitzel
Christopher Lagonick-Weitzel

🐛 💬 🔊 🤔 - Ernesto Acosta
Ernesto Acosta

🐛 🔊 🌍 💬 🤔 + Romain de Laage
Romain de Laage

💻 🚇 📖 🌍 🤔 + Lyonel Bernard
Lyonel Bernard

🐛 💬 🔊 🤔 + Christopher Lagonick-Weitzel
Christopher Lagonick-Weitzel

🐛 💬 🔊 🤔 + Ernesto Acosta
Ernesto Acosta

🐛 🔊 🌍 💬 🤔 - Bastien Luneteau
Bastien Luneteau

💻 🐛 - Cécile Ricordeau
Cécile Ricordeau

🎨 - Patryk Miś
Patryk Miś

🌍 - Marcin Lewandowski
Marcin Lewandowski

🐛 🤔 - Sebastian Janik
Sebastian Janik

💻 - Patryk Karczmarczyk
Patryk Karczmarczyk

💻 - denis d
denis d

🐛 🤔 + Bastien Luneteau
Bastien Luneteau

💻 🐛 + Cécile Ricordeau
Cécile Ricordeau

🎨 + Patryk Miś
Patryk Miś

🌍 + Marcin Lewandowski
Marcin Lewandowski

🐛 🤔 + Sebastian Janik
Sebastian Janik

💻 + Patryk Karczmarczyk
Patryk Karczmarczyk

💻 + denis d
denis d

🐛 🤔 - Douglas Kastle
Douglas Kastle

🐛 🤔 - cExplorer
cExplorer

🐛 🌍 - ImaCrea
ImaCrea

🐛 🤔 - Jonas S
Jonas S

💻 - LEFEBVRE Yann
LEFEBVRE Yann

🐛 - Sebastian Späth
Sebastian Späth

🐛 🤔 - rocky III
rocky III

🐛 + Douglas Kastle
Douglas Kastle

🐛 🤔 + cExplorer
cExplorer

🐛 🌍 + ImaCrea
ImaCrea

🐛 🤔 + Jonas S
Jonas S

💻 + LEFEBVRE Yann
LEFEBVRE Yann

🐛 + Sebastian Späth
Sebastian Späth

🐛 🤔 + rocky III
rocky III

🐛 - Hermann Josef Eckl
Hermann Josef Eckl

🐛 - Delhaye Cyrille
Delhaye Cyrille

🐛 🤔 - João Leandro
João Leandro

🌍 🤔 - Angelos Chouvardas
Angelos Chouvardas

🌍 - Eivind
Eivind

🌍 - Ewen
Ewen

🌍 🤔 - forght
forght

🌍 + Hermann Josef Eckl
Hermann Josef Eckl

🐛 + Delhaye Cyrille
Delhaye Cyrille

🐛 🤔 + João Leandro
João Leandro

🌍 🤔 + Angelos Chouvardas
Angelos Chouvardas

🌍 + Eivind
Eivind

🌍 + Ewen
Ewen

🌍 🤔 + forght
forght

🌍 - glottis0q
glottis0q

🌍 - ButterflyOfFire
ButterflyOfFire

🌍 - Lucian I. Last
Lucian I. Last

🌍 - LuuzViir
LuuzViir

🌍 - CTHTC
CTHTC

🌍 - Russian Retro
Russian Retro

🌍 - Marek L'ach
Marek L'ach

🌍 + glottis0q
glottis0q

🌍 + ButterflyOfFire
ButterflyOfFire

🌍 + Lucian I. Last
Lucian I. Last

🌍 + LuuzViir
LuuzViir

🌍 + CTHTC
CTHTC

🌍 + Russian Retro
Russian Retro

🌍 + Marek L'ach
Marek L'ach

🌍 - GunChleoc
GunChleoc

🌍 - GabiSnow
GabiSnow

🌍 - bendaha
bendaha

🌍 - Samuel Roland
Samuel Roland

🌍 - Dimitri Regnier
Dimitri Regnier

🤔 - irithys
irithys

🌍 - Sergi
Sergi

🌍 + GunChleoc
GunChleoc

🌍 + GabiSnow
GabiSnow

🌍 + bendaha
bendaha

🌍 + Samuel Roland
Samuel Roland

🌍 + Dimitri Regnier
Dimitri Regnier

🤔 + irithys
irithys

🌍 + Sergi
Sergi

🌍 - ghose (XoseM)
ghose (XoseM)

🌍 - Andreas Olsson
Andreas Olsson

🌍 - leonfrom
leonfrom

🌍 - agentcobra
agentcobra

🌍 - Alessandro
Alessandro

🌍 - liimee
liimee

🌍 - Ahmed Sabouni
Ahmed Sabouni

🌍 + ghose (XoseM)
ghose (XoseM)

🌍 + Andreas Olsson
Andreas Olsson

🌍 + leonfrom
leonfrom

🌍 + agentcobra
agentcobra

🌍 + Alessandro
Alessandro

🌍 + liimee
liimee

🌍 + Ahmed Sabouni
Ahmed Sabouni

🌍 - KrzysztofDomanczyk
KrzysztofDomanczyk

💻 + KrzysztofDomanczyk
KrzysztofDomanczyk

💻 @@ -252,11 +252,11 @@ Mange takk til dei flotte folka på -This project follows the -[all-contributors](https://github.com/all-contributors/all-contributors) -specification. Contributions of any kind welcome! +Dette prosjektet fylgjer +[all-contributors](https://github.com/all-contributors/all-contributors)-spesifikasjonen. +Me er glade for alle slags bidrag! -## Contact +## Kontakt Du kan spørja om hjelp eller kva som helst andre spørsmål på: diff --git a/docs/src/oc/getting-started/install.md b/docs/src/oc/getting-started/install.md index af405daf..cdea18ec 100644 --- a/docs/src/oc/getting-started/install.md +++ b/docs/src/oc/getting-started/install.md @@ -19,15 +19,15 @@ If you prefer using Docker, you may skip this and go straight to the ## Requirements -- PHP v8.1 only +- PHP v8.1 or higher - MySQL version 5.7 or higher or MariaDB version 10.2 or higher - HTTPS support - An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's incoming requests -### PHP v8.1 only +### PHP v8.1 or higher -PHP version 8.1 is required, with the following extensions installed: +PHP version 8.1 or higher is required, with the following extensions installed: - [intl](https://php.net/manual/en/intl.requirements.php) - [libcurl](https://php.net/manual/en/curl.requirements.php) @@ -123,6 +123,23 @@ based on the `.env.example` file. ::: +### Using CLI + +1. Create a `.env` file in the package root based on the `.env.example` file. +2. Initialize the database using: + + ```sh + php spark install:init-database + ``` + +3. Create the superadmin user using: + + ```sh + php spark install:create-superadmin + ``` + +4. Head on to your admin gateway to start podcasting! + ### Email/SMTP setup Email configuration is required for some features to work properly (eg. diff --git a/docs/src/pl/getting-started/install.md b/docs/src/pl/getting-started/install.md index af405daf..cdea18ec 100644 --- a/docs/src/pl/getting-started/install.md +++ b/docs/src/pl/getting-started/install.md @@ -19,15 +19,15 @@ If you prefer using Docker, you may skip this and go straight to the ## Requirements -- PHP v8.1 only +- PHP v8.1 or higher - MySQL version 5.7 or higher or MariaDB version 10.2 or higher - HTTPS support - An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's incoming requests -### PHP v8.1 only +### PHP v8.1 or higher -PHP version 8.1 is required, with the following extensions installed: +PHP version 8.1 or higher is required, with the following extensions installed: - [intl](https://php.net/manual/en/intl.requirements.php) - [libcurl](https://php.net/manual/en/curl.requirements.php) @@ -123,6 +123,23 @@ based on the `.env.example` file. ::: +### Using CLI + +1. Create a `.env` file in the package root based on the `.env.example` file. +2. Initialize the database using: + + ```sh + php spark install:init-database + ``` + +3. Create the superadmin user using: + + ```sh + php spark install:create-superadmin + ``` + +4. Head on to your admin gateway to start podcasting! + ### Email/SMTP setup Email configuration is required for some features to work properly (eg. diff --git a/docs/src/pt-BR/getting-started/install.md b/docs/src/pt-BR/getting-started/install.md index c736872c..0cf1e1c0 100644 --- a/docs/src/pt-BR/getting-started/install.md +++ b/docs/src/pt-BR/getting-started/install.md @@ -20,15 +20,15 @@ Se você prefere usar o Docker, você pode pular isso e ir direto para a ## Requisitos -- Somente PHP v8.1 +- PHP v8.1 or higher - MySQL versão 5.7 ou superior ou MariaDB versão 10.2 ou superior - Suporte a HTTPS - An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's incoming requests -### Somento PHP v8.1 +### PHP v8.1 or higher -PHP version 8.1 is required, with the following extensions installed: +PHP version 8.1 or higher is required, with the following extensions installed: - [intl](https://php.net/manual/en/intl.requirements.php) - [libcurl](https://php.net/manual/en/curl.requirements.php) @@ -126,6 +126,23 @@ based on the `.env.example` file. ::: +### Using CLI + +1. Create a `.env` file in the package root based on the `.env.example` file. +2. Initialize the database using: + + ```sh + php spark install:init-database + ``` + +3. Create the superadmin user using: + + ```sh + php spark install:create-superadmin + ``` + +4. Head on to your admin gateway to start podcasting! + ### Email/SMTP setup Email configuration is required for some features to work properly (eg. diff --git a/docs/src/pt/getting-started/install.md b/docs/src/pt/getting-started/install.md index 3ce3cf7a..f47362af 100644 --- a/docs/src/pt/getting-started/install.md +++ b/docs/src/pt/getting-started/install.md @@ -19,15 +19,15 @@ If you prefer using Docker, you may skip this and go straight to the ## Requirements -- PHP v8.1 only +- PHP v8.1 or higher - MySQL version 5.7 or higher or MariaDB version 10.2 or higher - HTTPS support - An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's incoming requests -### PHP v8.1 only +### PHP v8.1 or higher -PHP version 8.1 is required, with the following extensions installed: +PHP version 8.1 or higher is required, with the following extensions installed: - [intl](https://php.net/manual/en/intl.requirements.php) - [libcurl](https://php.net/manual/en/curl.requirements.php) @@ -123,6 +123,23 @@ based on the `.env.example` file. ::: +### Using CLI + +1. Create a `.env` file in the package root based on the `.env.example` file. +2. Initialize the database using: + + ```sh + php spark install:init-database + ``` + +3. Create the superadmin user using: + + ```sh + php spark install:create-superadmin + ``` + +4. Head on to your admin gateway to start podcasting! + ### Email/SMTP setup Email configuration is required for some features to work properly (eg. diff --git a/docs/src/ro/getting-started/install.md b/docs/src/ro/getting-started/install.md index af405daf..cdea18ec 100644 --- a/docs/src/ro/getting-started/install.md +++ b/docs/src/ro/getting-started/install.md @@ -19,15 +19,15 @@ If you prefer using Docker, you may skip this and go straight to the ## Requirements -- PHP v8.1 only +- PHP v8.1 or higher - MySQL version 5.7 or higher or MariaDB version 10.2 or higher - HTTPS support - An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's incoming requests -### PHP v8.1 only +### PHP v8.1 or higher -PHP version 8.1 is required, with the following extensions installed: +PHP version 8.1 or higher is required, with the following extensions installed: - [intl](https://php.net/manual/en/intl.requirements.php) - [libcurl](https://php.net/manual/en/curl.requirements.php) @@ -123,6 +123,23 @@ based on the `.env.example` file. ::: +### Using CLI + +1. Create a `.env` file in the package root based on the `.env.example` file. +2. Initialize the database using: + + ```sh + php spark install:init-database + ``` + +3. Create the superadmin user using: + + ```sh + php spark install:create-superadmin + ``` + +4. Head on to your admin gateway to start podcasting! + ### Email/SMTP setup Email configuration is required for some features to work properly (eg. diff --git a/docs/src/ru/getting-started/install.md b/docs/src/ru/getting-started/install.md index 3ce3cf7a..f47362af 100644 --- a/docs/src/ru/getting-started/install.md +++ b/docs/src/ru/getting-started/install.md @@ -19,15 +19,15 @@ If you prefer using Docker, you may skip this and go straight to the ## Requirements -- PHP v8.1 only +- PHP v8.1 or higher - MySQL version 5.7 or higher or MariaDB version 10.2 or higher - HTTPS support - An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's incoming requests -### PHP v8.1 only +### PHP v8.1 or higher -PHP version 8.1 is required, with the following extensions installed: +PHP version 8.1 or higher is required, with the following extensions installed: - [intl](https://php.net/manual/en/intl.requirements.php) - [libcurl](https://php.net/manual/en/curl.requirements.php) @@ -123,6 +123,23 @@ based on the `.env.example` file. ::: +### Using CLI + +1. Create a `.env` file in the package root based on the `.env.example` file. +2. Initialize the database using: + + ```sh + php spark install:init-database + ``` + +3. Create the superadmin user using: + + ```sh + php spark install:create-superadmin + ``` + +4. Head on to your admin gateway to start podcasting! + ### Email/SMTP setup Email configuration is required for some features to work properly (eg. diff --git a/docs/src/sk/getting-started/install.md b/docs/src/sk/getting-started/install.md index af405daf..cdea18ec 100644 --- a/docs/src/sk/getting-started/install.md +++ b/docs/src/sk/getting-started/install.md @@ -19,15 +19,15 @@ If you prefer using Docker, you may skip this and go straight to the ## Requirements -- PHP v8.1 only +- PHP v8.1 or higher - MySQL version 5.7 or higher or MariaDB version 10.2 or higher - HTTPS support - An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's incoming requests -### PHP v8.1 only +### PHP v8.1 or higher -PHP version 8.1 is required, with the following extensions installed: +PHP version 8.1 or higher is required, with the following extensions installed: - [intl](https://php.net/manual/en/intl.requirements.php) - [libcurl](https://php.net/manual/en/curl.requirements.php) @@ -123,6 +123,23 @@ based on the `.env.example` file. ::: +### Using CLI + +1. Create a `.env` file in the package root based on the `.env.example` file. +2. Initialize the database using: + + ```sh + php spark install:init-database + ``` + +3. Create the superadmin user using: + + ```sh + php spark install:create-superadmin + ``` + +4. Head on to your admin gateway to start podcasting! + ### Email/SMTP setup Email configuration is required for some features to work properly (eg. diff --git a/docs/src/sr_Latn/getting-started/auth.md b/docs/src/sr_Latn/getting-started/auth.md index ff5d59c0..663557e1 100644 --- a/docs/src/sr_Latn/getting-started/auth.md +++ b/docs/src/sr_Latn/getting-started/auth.md @@ -1,87 +1,87 @@ --- -title: Authentication & Authorization +title: Verifikacija i Odobravanje sidebarDepth: 3 --- -# Authentication & Authorization +# Verifikacija i Odobravanje -Castopod handles authentication and authorization using `codeigniter/shield` -coupled with custom rules. Roles and permissions are defined at two levels: +Castopod upravlja verifikacijom i odobravanjem koristeći `codeigniter/shield` u +paru sa prilagođenim pravilima. Uloge i dozvole su definisane na dva nivoa: -1. [instance wide](#1-instance-wide-roles-and-permissions) -2. [per podcast](#2-per-podcast-roles-and-permissions) +1. [po nalogu](#1-instance-wide-roles-and-permissions) +2. [po podkastu](#2-per-podcast-roles-and-permissions) -## 1. Instance wide roles and permissions +## 1. Uloge i dozvole po nalogu -### Instance roles +### Uloge po nalogu -| role | description | permissions | -| ----------- | ----------------------------------- | ------------------------------------------------------------------------------------------ | -| Super admin | Has complete control over Castopod. | admin.\*, podcasts.\*, users.manage, persons.manage, pages.manage, fediverse.manage-blocks | -| Manager | Manages Castopod's content. | podcasts.create, podcasts.import, persons.manage, pages.manage | -| Podcaster | General users of Castopod. | admin.access | +| uloga | opis | dozvola | +| ------------------- | -------------------------------------------- | ------------------------------------------------------------------------------------------ | +| Super administrator | Ima kompletnu kontrolu nad Castopod nalogom. | admin.\*, podcasts.\*, users.manage, persons.manage, pages.manage, fediverse.manage-blocks | +| Menadžer | Upravlja sadržajem na Castopod-u. | podcasts.create, podcasts.import, persons.manage, pages.manage | +| Podkaster | Opšti korisnici Castopod-a. | admin.access | -### Instance permissions +### Dozvole po nalogu -| permission | description | -| ----------------------- | ------------------------------------------------------------------ | -| admin.access | Can access the Castopod admin area. | -| admin.settings | Can access the Castopod settings. | -| users.manage | Can manage Castopod users. | -| persons.manage | Can manage persons. | -| pages.manage | Can manage pages. | -| podcasts.view | Can view all podcasts. | -| podcasts.create | Can create new podcasts. | -| podcasts.import | Can import podcasts. | -| fediverse.manage-blocks | Can block fediverse actors/domains from interacting with Castopod. | +| dozvola | opis | +| ----------------------- | --------------------------------------------------------------- | +| admin.access | Može pristupiti administratorskom delu Castopod-a. | +| admin.settings | Može pristupiti podešavanjima Castopod-a. | +| users.manage | Može upravljati korisnicima Castopod-a. | +| persons.manage | Može upravljati osobama. | +| pages.manage | Može upravljati stranicama. | +| podcasts.view | Može videti sve podkaste. | +| podcasts.create | Može napraviti nove podkaste. | +| podcasts.import | Može uvesti nove podkaste. | +| fediverse.manage-blocks | Može blokirati interakciju Castopoda i fediverse naloga/domena. | -## 2. Per podcast roles and permissions +## 2. Uloge i dozvole po podkastu -### Per podcast roles +### Uloge po podkastu -| role | description | permissions | -| ------ | --------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Admin | Has complete control of podcast #{id}. | \* | -| Editor | Manages content and publications of podcast #{id}. | view, edit, manage-import, manage-persons, manage-platforms, manage-publications, manage-notifications, interact-as, episodes.view, episodes.create, episodes.edit, episodes.delete, episodes.manage-persons, episodes.manage-clips, episodes.manage-publications, episodes.manage-comments | -| Author | Manages content of podcast #{id} but cannot publish them. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips | -| Guest | General contributor of the podcast #{id}. | view, episodes.view | +| uloga | opis | dozvola | +| ------------- | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Administrator | Ima kompletnu kontrolu nad podkastom #{id}. | \* | +| Urednik | Upravlja sadržajem i objavama podkasta #{id}. | view, edit, manage-import, manage-persons, manage-platforms, manage-publications, manage-notifications, interact-as, episodes.view, episodes.create, episodes.edit, episodes.delete, episodes.manage-persons, episodes.manage-clips, episodes.manage-publications, episodes.manage-comments | +| Autor | Upravlja sadržajem podkasta #{id} ali ne može da ga objavi. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips | +| Gost | Saradnik na podkastu #{id}. | view, episodes.view | -### Per podcast permissions +### Dozvole po podkastu -| permission | description | -| ---------------------------- | ------------------------------------------------------------------------ | -| view | Can view dashboard and analytics of podcast #{id}. | -| edit | Can edit podcast #{id}. | -| delete | Can delete podcast #{id}. | -| manage-import | Can synchronize imported podcast #{id}. | -| manage-persons | Can manage subscriptions of podcast #{id}. | -| manage-subscriptions | Can manage subscriptions of podcast #{id}. | -| manage-contributors | Can manage contributors of podcast #{id}. | -| manage-platforms | Can set/remove platform links of podcast #{id}. | -| manage-publications | Can publish podcast #{id}. | -| manage-notifications | Can view and mark notifications as read for podcast #{id}. | -| interact-as | Can interact as the podcast #{id} to favourite, share or reply to posts. | -| episodes.view | Can view dashboard and analytics of podcast #{id}. | -| episodes.create | Can create episodes for podcast #{id}. | -| episodes.edit | Can edit podcast #{id}. | -| episodes.delete | Can delete podcast #{id}. | -| episodes.manage-persons | Can manage subscriptions of podcast #{id}. | -| episodes.manage-clips | Can manage video clips or soundbites of podcast #{id}. | -| episodes.manage-publications | Can publish podcast #{id}. | -| episodes.manage-comments | Can create/remove episode comments of podcast #{id}. | +| dozvola | opis | +| ---------------------------- | -------------------------------------------------------------------------------------- | +| view | Može videti upravljačku tablu i analitiku podkasta #{id}. | +| edit | Može uređivati podkast #{id}. | +| delete | Može obrisati podkast #{id}. | +| manage-import | Može upravljati uvozom podkasta #{id}. | +| manage-persons | Može upravljati osobama na podkastu #{id}. | +| manage-subscriptions | Može upravljati pretplatama na podkast #{id}. | +| manage-contributors | Može upravljati saradnicima na podkastu #{id}. | +| manage-platforms | Može ubaciti/izbaciti veze ka platformama podkasta #{id}. | +| manage-publications | Može objaviti podkast #{id}. | +| manage-notifications | Može videti obaveštenja i označiti ih kao pročitana za podkast #{id}. | +| interact-as | Može da komunicira kao podkast #{id} i deli, odgovara na i stavlja u omiljene postove. | +| episodes.view | Može videti upravljačku tablu i analitiku podkasta #{id}. | +| episodes.create | Može napraviti epizodu podkasta #{id}. | +| episodes.edit | Može uređivati epizodu podkasta #{id}. | +| episodes.delete | Može obrisati epizodu podkasta #{id}. | +| episodes.manage-persons | Može upravljati pretplatama na podkast #{id}. | +| episodes.manage-clips | Može upravljati video klipovima i zvučnim isečcima podkasta #{id}. | +| episodes.manage-publications | Može objaviti podkast #{id}. | +| episodes.manage-comments | Može dodati/obrisati komentar na epizodi podkasta #{id}. | diff --git a/docs/src/sr_Latn/getting-started/install.md b/docs/src/sr_Latn/getting-started/install.md index af405daf..a95643c2 100644 --- a/docs/src/sr_Latn/getting-started/install.md +++ b/docs/src/sr_Latn/getting-started/install.md @@ -1,56 +1,57 @@ --- -title: Installation +title: Instalacija sidebarDepth: 3 --- -# How to install Castopod? +# Kako Instalirati Castopod? -Castopod was thought-out to be easy to install. Whether using dedicated or -shared hosting, you can install it on most PHP-MySQL compatible web servers. +Zamišljeno je da Castopod bude jednostavan za instalaciju. Bilo da se koristi +namenski ili deljeni hosting, možete ga instalirati na većinu PHP-MySQL +kompatibilnih veb servera. -::: tip Note +::: savet Napomena -We've released official Docker images for Castopod! +Objavili smo zvanične Docker slike za Castopod! -If you prefer using Docker, you may skip this and go straight to the -[docker documentation](./docker.md) for Castopod. +Ako više volite da koristite Docker, možete ovo preskočiti i preći direktno na +[docker dokumentaciju](./docker.md) za Castopod. ::: -## Requirements +## Uslovi -- PHP v8.1 only -- MySQL version 5.7 or higher or MariaDB version 10.2 or higher -- HTTPS support -- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's - incoming requests +- PHP v8.1 ili novija verzija +- MySQL verzija 5.7 ili novija ili MariaDB verzija 10.2 ili novija +- HTTPS podrška +- [ntp-sinhronizovani sat](https://viki.debian.org/NTP) za potvrdu dolaznih + zahteva federacije -### PHP v8.1 only +### PHP v8.1 ili kasnija verzija -PHP version 8.1 is required, with the following extensions installed: +Potrebna je PHP verzija 8.1 ili novija, sa instaliranim sledećim ekstenzijama: - [intl](https://php.net/manual/en/intl.requirements.php) - [libcurl](https://php.net/manual/en/curl.requirements.php) - [mbstring](https://php.net/manual/en/mbstring.installation.php) -- [gd](https://www.php.net/manual/en/image.installation.php) with **JPEG**, - **PNG** and **WEBP** libraries. +- [gd](https://www.php.net/manual/en/image.installation.php) sa **JPEG**, + **PNG** i **WEBP** bibliotekama. - [exif](https://www.php.net/manual/en/exif.installation.php) -Additionally, make sure that the following extensions are enabled in your PHP: +Pored toga, uverite se da su sledeće ekstenzije omogućene u vašem PHP-u: -- json (enabled by default - don't turn it off) -- xml (enabled by default - don't turn it off) +- json (podrazumevano omogućeno - ne isključujte ga) +- xml (podrazumevano omogućeno - ne isključujte ga) - [mysqlnd](https://php.net/manual/en/mysqlnd.install.php) -### MySQL compatible database +### MySQL kompatibilne baze podataka -> We recommend using [MariaDB](https://mariadb.org). +> Preporučujemo korišćenje [MariaDB](https://mariadb.org). -::: warning Warning +::: upozorenje Upozorenje -Castopod only works with supported MySQL 5.7 or higher compatible databases. It -will break with the previous MySQL v5.6 for example as its end of life was on -February 5, 2021. +Castopod radi samo sa podržanim MySQL 5.7 ili novijim kompatibilnim bazama +podataka. Kvari se na MySQL v5.6 na primer, jer je njen životni vek istekao 5. +februara 2021. ::: @@ -123,6 +124,23 @@ based on the `.env.example` file. ::: +### Using CLI + +1. Create a `.env` file in the package root based on the `.env.example` file. +2. Initialize the database using: + + ```sh + php spark install:init-database + ``` + +3. Create the superadmin user using: + + ```sh + php spark install:create-superadmin + ``` + +4. Head on to your admin gateway to start podcasting! + ### Email/SMTP setup Email configuration is required for some features to work properly (eg. diff --git a/docs/src/sv/getting-started/install.md b/docs/src/sv/getting-started/install.md index 27aa903a..bef89df5 100644 --- a/docs/src/sv/getting-started/install.md +++ b/docs/src/sv/getting-started/install.md @@ -20,15 +20,15 @@ Om du föredrar att använda Docker, kan du hoppa över detta och gå direkt til ## Krav -- PHP v8.1 only +- PHP v8.1 or higher - MySQL version 5.7 eller högre eller MariaDB version 10.2 eller högre - Stöd för HTTPS - An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's incoming requests -### PHP v8.1 only +### PHP v8.1 or higher -PHP version 8.1 is required, with the following extensions installed: +PHP version 8.1 or higher is required, with the following extensions installed: - [intl](https://php.net/manual/en/intl.requirements.php) - [libcurl](https://php.net/manual/en/curl.requirements.php) @@ -124,6 +124,23 @@ installationsguiden kan du skapa och redigera `. nv` filen manuellt baserat på ::: +### Using CLI + +1. Create a `.env` file in the package root based on the `.env.example` file. +2. Initialize the database using: + + ```sh + php spark install:init-database + ``` + +3. Create the superadmin user using: + + ```sh + php spark install:create-superadmin + ``` + +4. Head on to your admin gateway to start podcasting! + ### Email/SMTP setup E-postkonfiguration krävs för att vissa funktioner ska fungera korrekt (t.ex. diff --git a/docs/src/uk/getting-started/install.md b/docs/src/uk/getting-started/install.md index af405daf..cdea18ec 100644 --- a/docs/src/uk/getting-started/install.md +++ b/docs/src/uk/getting-started/install.md @@ -19,15 +19,15 @@ If you prefer using Docker, you may skip this and go straight to the ## Requirements -- PHP v8.1 only +- PHP v8.1 or higher - MySQL version 5.7 or higher or MariaDB version 10.2 or higher - HTTPS support - An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's incoming requests -### PHP v8.1 only +### PHP v8.1 or higher -PHP version 8.1 is required, with the following extensions installed: +PHP version 8.1 or higher is required, with the following extensions installed: - [intl](https://php.net/manual/en/intl.requirements.php) - [libcurl](https://php.net/manual/en/curl.requirements.php) @@ -123,6 +123,23 @@ based on the `.env.example` file. ::: +### Using CLI + +1. Create a `.env` file in the package root based on the `.env.example` file. +2. Initialize the database using: + + ```sh + php spark install:init-database + ``` + +3. Create the superadmin user using: + + ```sh + php spark install:create-superadmin + ``` + +4. Head on to your admin gateway to start podcasting! + ### Email/SMTP setup Email configuration is required for some features to work properly (eg. diff --git a/docs/src/zh-Hans/getting-started/install.md b/docs/src/zh-Hans/getting-started/install.md index aa9938eb..1d5e4ca0 100644 --- a/docs/src/zh-Hans/getting-started/install.md +++ b/docs/src/zh-Hans/getting-started/install.md @@ -19,14 +19,14 @@ Castopod 的安装非常简单。 你能在大多数兼容的 PHP-MySQL 的服 ## 要求 -- 仅 PHP v8.1 +- PHP v8.1 or higher - MySQL 5.7 或更高版本与 MariaDB 10.2 或更高版本 - HTTPS 支持 - 用于验证的 [NTP 同步时钟](https://wiki.debian.org/NTP) 传入请求 -### 仅 PHP v8.1 +### PHP v8.1 or higher -需要 PHP 8.1,并安装以下扩展: +PHP version 8.1 or higher is required, with the following extensions installed: - [intl](https://php.net/manual/en/intl.requirements.php) - [libcurl](https://php.net/manual/en/curl.requirements.php) @@ -113,6 +113,23 @@ Castopod 仅适用于受支持的 MySQL 5.7 或更高版本的兼容数据库。 ::: +### Using CLI + +1. Create a `.env` file in the package root based on the `.env.example` file. +2. Initialize the database using: + + ```sh + php spark install:init-database + ``` + +3. Create the superadmin user using: + + ```sh + php spark install:create-superadmin + ``` + +4. Head on to your admin gateway to start podcasting! + ### 邮箱/SMTP 设置 某些功能需要电子邮件配置才能正常工作(例如: 找回密码,向高级订阅者发送说明, …) diff --git a/modules/Admin/Language/ar/Breadcrumb.php b/modules/Admin/Language/ar/Breadcrumb.php index f65f731a..887dd362 100644 --- a/modules/Admin/Language/ar/Breadcrumb.php +++ b/modules/Admin/Language/ar/Breadcrumb.php @@ -39,9 +39,11 @@ return [ 'my-account' => 'حسابي', 'change-password' => 'تغيير الكلمة السرية', 'imports' => 'imports', + 'sync-feeds' => 'synchronize feeds', 'platforms' => 'منصات', 'social' => 'شبكات التواصل الاجتماعي', 'funding' => 'funding', + 'monetization-other' => 'other monetization', 'analytics' => 'analytics', 'locations' => 'locations', 'webpages' => 'صفحات ويب', diff --git a/modules/Admin/Language/ar/Common.php b/modules/Admin/Language/ar/Common.php index 9dff13c6..fc39a83b 100644 --- a/modules/Admin/Language/ar/Common.php +++ b/modules/Admin/Language/ar/Common.php @@ -40,6 +40,7 @@ return [ ], 'upload_file' => 'إرسال ملف', 'remote_url' => 'Remote URL', + 'save' => 'Save', ], 'play_episode_button' => [ 'play' => 'تشغيل', diff --git a/modules/Admin/Language/ar/Episode.php b/modules/Admin/Language/ar/Episode.php index cac3ebd3..0e5de94c 100644 --- a/modules/Admin/Language/ar/Episode.php +++ b/modules/Admin/Language/ar/Episode.php @@ -22,6 +22,7 @@ return [ 'all_podcast_episodes' => 'كافة حلقات البودكاست', 'back_to_podcast' => 'العودة إلى البودكاست', 'edit' => 'تعديل', + 'preview' => 'Preview', 'publish' => 'نشر', 'publish_edit' => 'تعديل المنشور', 'publish_date_edit' => 'Edit publication date', @@ -86,7 +87,7 @@ return [ image {cover} audio {audio} other {media} - } file {file_path}. You may manually remove it from your disk.', + } file {file_key}. You may manually remove it from your disk.', 'sameSlugError' => 'An episode with the chosen slug already exists.', ], 'form' => [ @@ -211,4 +212,14 @@ return [ 'light' => 'Light', 'light-transparent' => 'Light transparent', ], + 'publication_status_banner' => [ + 'draft_mode' => 'draft mode', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'preview' => 'Preview', + ], ]; diff --git a/modules/Admin/Language/ar/Platforms.php b/modules/Admin/Language/ar/Platforms.php index 5b17c098..7c01243d 100644 --- a/modules/Admin/Language/ar/Platforms.php +++ b/modules/Admin/Language/ar/Platforms.php @@ -9,9 +9,22 @@ declare(strict_types=1); */ return [ - 'title' => 'المنصات', + 'title' => [ + 'podcasting' => 'Podcasting platforms', + 'social' => 'Social networks', + 'funding' => 'Funding links', + ], + 'website' => 'Website', 'home_url' => 'Go to {platformName} website', + 'register' => 'Register', 'submit_url' => 'Submit your podcast on {platformName}', + 'your_link' => 'Your link', + 'your_id' => [ + 'podcasting' => 'Your ID', + 'social' => 'Your ID', + 'funding' => 'Your CTA', + ], + 'your_cta' => 'Your call to action', 'visible' => 'Display in podcast homepage?', 'on_embed' => 'Display on embeddable player?', 'remove' => 'Remove {platformName}', diff --git a/modules/Admin/Language/ar/Podcast.php b/modules/Admin/Language/ar/Podcast.php index 1404cc1a..230edb81 100644 --- a/modules/Admin/Language/ar/Podcast.php +++ b/modules/Admin/Language/ar/Podcast.php @@ -22,6 +22,7 @@ return [ 'delete' => 'Delete podcast', 'see_episodes' => 'See episodes', 'see_contributors' => 'See contributors', + 'monetization_other' => 'Other monetization', 'go_to_page' => 'الانتقال إلى الصفحة', 'latest_episodes' => 'أحدث الحلقات', 'see_all_episodes' => 'See all episodes', @@ -57,6 +58,8 @@ return [ 'form' => [ 'identity_section_title' => 'Podcast identity', 'identity_section_subtitle' => 'These fields allow you to get noticed.', + 'fediverse_section_title' => 'Fediverse identity', + 'cover' => 'Podcast cover', 'cover_size_hint' => 'Cover must be squared and at least 1400px wide and tall.', 'banner' => 'Podcast banner', @@ -132,7 +135,6 @@ return [ 'partner_id_hint' => 'Your own partner ID', 'partner_link_url_hint' => 'The generic partner link address', 'partner_image_url_hint' => 'The generic partner image address', - 'status_section_title' => 'Status', 'block' => 'Podcast should be hidden from public catalogues', 'block_hint' => 'The podcast show or hide status: toggling this on prevents the entire podcast from appearing in Apple Podcasts, Google Podcasts, and any third party apps that pull shows from these directories. (Not guaranteed)', diff --git a/modules/Admin/Language/ar/PodcastNavigation.php b/modules/Admin/Language/ar/PodcastNavigation.php index dc39cf23..b82f78d9 100644 --- a/modules/Admin/Language/ar/PodcastNavigation.php +++ b/modules/Admin/Language/ar/PodcastNavigation.php @@ -10,11 +10,13 @@ declare(strict_types=1); return [ 'go_to_page' => 'انتقل إلى صفحة البودكاست', + 'rss_feed' => 'RSS feed', 'dashboard' => 'Podcast dashboard', 'podcast-view' => 'الرئيسية', 'podcast-edit' => 'Edit podcast', 'podcast-persons-manage' => 'Manage persons', 'podcast-imports' => 'Podcast imports', + 'podcast-imports-sync' => 'Sync feeds', 'episodes' => 'الحلقات', 'episode-list' => 'جميع الحلقات', 'episode-create' => 'حلقة جديدة', @@ -26,14 +28,15 @@ return [ 'podcast-analytics-players' => 'Players', 'podcast-analytics-listening-time' => 'Listening time', 'podcast-analytics-time-periods' => 'Time periods', - 'premium' => 'Premium', + 'monetization' => 'Monetization', 'subscription-list' => 'All subscriptions', 'subscription-create' => 'Add subscription', 'contributors' => 'المساهمون', 'contributor-list' => 'كل المساهمين', 'contributor-add' => 'إضافة مساهم', - 'platforms' => 'External platforms', - 'platforms-podcasting' => 'Podcasting', + 'broadcast' => 'Broadcast', + 'platforms-podcasting' => 'Podcasting apps', 'platforms-social' => 'Social networks', - 'platforms-funding' => 'Funding', + 'platforms-funding' => 'Funding links', + 'podcast-monetization-other' => 'Other', ]; diff --git a/modules/Admin/Language/br/Breadcrumb.php b/modules/Admin/Language/br/Breadcrumb.php index 2807e934..f22aaef1 100644 --- a/modules/Admin/Language/br/Breadcrumb.php +++ b/modules/Admin/Language/br/Breadcrumb.php @@ -39,9 +39,11 @@ return [ 'my-account' => 'ma c\'hont', 'change-password' => 'kemmañ ar ger-tremen', 'imports' => 'imports', + 'sync-feeds' => 'synchronize feeds', 'platforms' => 'savennoù', 'social' => 'rouedadoù sokial', 'funding' => 'arc\'hantaouiñ', + 'monetization-other' => 'other monetization', 'analytics' => 'muzulioù heklev', 'locations' => 'lec\'hioù', 'webpages' => 'pajennoù web', diff --git a/modules/Admin/Language/br/Common.php b/modules/Admin/Language/br/Common.php index 1cb6c3b2..6c2792b7 100644 --- a/modules/Admin/Language/br/Common.php +++ b/modules/Admin/Language/br/Common.php @@ -40,6 +40,7 @@ return [ ], 'upload_file' => 'Uskargit ur restr', 'remote_url' => 'URL a-bell', + 'save' => 'Save', ], 'play_episode_button' => [ 'play' => 'Lenn', diff --git a/modules/Admin/Language/br/Episode.php b/modules/Admin/Language/br/Episode.php index cea956c5..ce731f01 100644 --- a/modules/Admin/Language/br/Episode.php +++ b/modules/Admin/Language/br/Episode.php @@ -23,6 +23,7 @@ return [ 'all_podcast_episodes' => 'Holl rannoù ar podkast', 'back_to_podcast' => 'Mont d\'ar podkast en-dro', 'edit' => 'Kemmañ', + 'preview' => 'Preview', 'publish' => 'Embann', 'publish_edit' => 'Kemmañ an embannadur', 'publish_date_edit' => 'Edit publication date', @@ -82,13 +83,13 @@ return [ audio {aodio} other {media} } ar rann.', - 'deleteFileError' => 'C\'hwitadenn war dilemel restr {type, select, - transcript {an treuzskrivadur} - chapters {ar chabistroù} - image {ar golo} - audio {an aodio} - other {ar media} - } ({file_path}). Gallout a rit lemel kuit ar restr-mañ diouzh ar gantenn dre zorn.', + 'deleteFileError' => 'Failed to delete {type, select, + transcript {transcript} + chapters {chapters} + image {cover} + audio {audio} + other {media} + } file {file_key}. You may manually remove it from your disk.', 'sameSlugError' => 'Bez ez eus eus ur rann gant ar berradur-mañ (slug) dija.', ], 'form' => [ @@ -213,4 +214,14 @@ return [ 'light' => 'Sklaer', 'light-transparent' => 'Sklaer treuzwelus', ], + 'publication_status_banner' => [ + 'draft_mode' => 'draft mode', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'preview' => 'Preview', + ], ]; diff --git a/modules/Admin/Language/br/Platforms.php b/modules/Admin/Language/br/Platforms.php index 71d04168..ccec98c5 100644 --- a/modules/Admin/Language/br/Platforms.php +++ b/modules/Admin/Language/br/Platforms.php @@ -9,9 +9,22 @@ declare(strict_types=1); */ return [ - 'title' => 'Savennoù', + 'title' => [ + 'podcasting' => 'Podcasting platforms', + 'social' => 'Social networks', + 'funding' => 'Funding links', + ], + 'website' => 'Website', 'home_url' => 'Mont da lec\'hienn {platformName}', + 'register' => 'Register', 'submit_url' => 'Kasit ho podkast war {platformName}', + 'your_link' => 'Your link', + 'your_id' => [ + 'podcasting' => 'Your ID', + 'social' => 'Your ID', + 'funding' => 'Your CTA', + ], + 'your_cta' => 'Your call to action', 'visible' => 'Diskouez e pajenn ar podkast?', 'on_embed' => 'Diskouez el lenner enkorfet?', 'remove' => 'Dilemel {platformName}', diff --git a/modules/Admin/Language/br/Podcast.php b/modules/Admin/Language/br/Podcast.php index cf39ee7a..6933da22 100644 --- a/modules/Admin/Language/br/Podcast.php +++ b/modules/Admin/Language/br/Podcast.php @@ -22,6 +22,7 @@ return [ 'delete' => 'Dilemel ar podkast', 'see_episodes' => 'Gwelet ar rannoù', 'see_contributors' => 'Gwelet ar berzhidi, ar perzhiadezed', + 'monetization_other' => 'Other monetization', 'go_to_page' => 'Gwelet ar bajenn', 'latest_episodes' => 'Rannoù diwezhañ', 'see_all_episodes' => 'Gwelet an holl rannoù', @@ -60,6 +61,8 @@ return [ 'form' => [ 'identity_section_title' => 'Titouroù diwar-benn ar podkast', 'identity_section_subtitle' => 'Ar maeziennoù a laka ac\'hanoc\'h da vezañ remerket.', + 'fediverse_section_title' => 'Fediverse identity', + 'cover' => 'Golo ar podkast', 'cover_size_hint' => 'Ar golo a rankfe bezañ ur c\'harrez ha 1400px e vent da nebeutañ.', 'banner' => 'Giton ar podkast', @@ -135,7 +138,6 @@ return [ 'partner_id_hint' => 'Hoc’h ID deoc\'h-c\'hwi e ti ar c\'heveler', 'partner_link_url_hint' => 'Chomlec\'h generek an ereoù gant ar c\'heveler', 'partner_image_url_hint' => 'Chomlec\'h generek ar skeudennoù gant ar c\'heveler', - 'status_section_title' => 'Statud', 'block' => 'Ar podkast a rankfe bezañ kuzhet diouzh ar rolladoù publik', 'block_hint' => 'Diskouez pe kuzhat ar podkast: trec\'haoliñ an afell-mañ a viro ar podkast a-bezh ouzh bezañ diskouezet war Apple Podcasts, Google Podcasts pe savennoù all hag a implij ar renabloù-se. (N\'eus gwarant ebet)', diff --git a/modules/Admin/Language/br/PodcastNavigation.php b/modules/Admin/Language/br/PodcastNavigation.php index 9590aea0..e21fe4cc 100644 --- a/modules/Admin/Language/br/PodcastNavigation.php +++ b/modules/Admin/Language/br/PodcastNavigation.php @@ -10,11 +10,13 @@ declare(strict_types=1); return [ 'go_to_page' => 'Mont da pajenn ar podkast', + 'rss_feed' => 'RSS feed', 'dashboard' => 'Taolenn-stur ar podkast', 'podcast-view' => 'Degemer', 'podcast-edit' => 'Kemmañ ar podkast', 'podcast-persons-manage' => 'Merañ an emellerien·ezed', 'podcast-imports' => 'Podcast imports', + 'podcast-imports-sync' => 'Sync feeds', 'episodes' => 'Rannoù', 'episode-list' => 'An holl rannoù', 'episode-create' => 'Rann nevez', @@ -26,14 +28,15 @@ return [ 'podcast-analytics-players' => 'Lennerioù', 'podcast-analytics-listening-time' => 'Padelezh ar selaou', 'podcast-analytics-time-periods' => 'Mareoù ar selaou', - 'premium' => 'Premium', + 'monetization' => 'Monetization', 'subscription-list' => 'All subscriptions', 'subscription-create' => 'Add subscription', 'contributors' => 'Perzhidi, perzhiadezed', 'contributor-list' => 'An holl berzhidi ha perzhiadezed', 'contributor-add' => 'Ouzhpennañ ur perzhiad pe ur berzhiadez', - 'platforms' => 'Savennoù diavaez', - 'platforms-podcasting' => 'Podkast', + 'broadcast' => 'Broadcast', + 'platforms-podcasting' => 'Podcasting apps', 'platforms-social' => 'Rouedadoù sokial', - 'platforms-funding' => 'Arc\'hantaouiñ', + 'platforms-funding' => 'Funding links', + 'podcast-monetization-other' => 'Other', ]; diff --git a/modules/Admin/Language/ca/Breadcrumb.php b/modules/Admin/Language/ca/Breadcrumb.php index 4ccba18f..75141943 100644 --- a/modules/Admin/Language/ca/Breadcrumb.php +++ b/modules/Admin/Language/ca/Breadcrumb.php @@ -39,9 +39,11 @@ return [ 'my-account' => 'el meu compte', 'change-password' => 'canviar la contrasenya', 'imports' => 'imports', + 'sync-feeds' => 'synchronize feeds', 'platforms' => 'plataformes', 'social' => 'xarxes socials', 'funding' => 'financiació', + 'monetization-other' => 'other monetization', 'analytics' => 'estadístiques', 'locations' => 'ubicacions', 'webpages' => 'pàgines web', diff --git a/modules/Admin/Language/ca/Common.php b/modules/Admin/Language/ca/Common.php index c178db60..8ce267d5 100644 --- a/modules/Admin/Language/ca/Common.php +++ b/modules/Admin/Language/ca/Common.php @@ -40,6 +40,7 @@ return [ ], 'upload_file' => 'Pujar un fitxer', 'remote_url' => 'URL remota', + 'save' => 'Save', ], 'play_episode_button' => [ 'play' => 'Reproduir', diff --git a/modules/Admin/Language/ca/Episode.php b/modules/Admin/Language/ca/Episode.php index c80dc1d5..bd279837 100644 --- a/modules/Admin/Language/ca/Episode.php +++ b/modules/Admin/Language/ca/Episode.php @@ -22,6 +22,7 @@ return [ 'all_podcast_episodes' => 'Tots els episodis del podcast', 'back_to_podcast' => 'Tornar al podcast', 'edit' => 'Editar', + 'preview' => 'Preview', 'publish' => 'Publicar', 'publish_edit' => 'Editar la publicació', 'publish_date_edit' => 'Edita la data de publicació', @@ -80,13 +81,13 @@ return [ audio {l\'àudio} other {el material} } de l\'episodi.', - 'deleteFileError' => 'No s\'ha pogut esborrar el fitxer {file_path} {type, select, - transcript {de la transcripció} - chapters {dels episodis} - image {de la portada} - audio {de l\'àudio} - other {del material} - }. Podeu esborrar-los manualment del disc.', + 'deleteFileError' => 'Failed to delete {type, select, + transcript {transcript} + chapters {chapters} + image {cover} + audio {audio} + other {media} + } file {file_key}. You may manually remove it from your disk.', 'sameSlugError' => 'Ja existeix un episodi amb aquest àlies.', ], 'form' => [ @@ -211,4 +212,14 @@ return [ 'light' => 'Clar', 'light-transparent' => 'Clar i transparent', ], + 'publication_status_banner' => [ + 'draft_mode' => 'draft mode', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'preview' => 'Preview', + ], ]; diff --git a/modules/Admin/Language/ca/Platforms.php b/modules/Admin/Language/ca/Platforms.php index cb1abfff..cfa50efb 100644 --- a/modules/Admin/Language/ca/Platforms.php +++ b/modules/Admin/Language/ca/Platforms.php @@ -9,9 +9,22 @@ declare(strict_types=1); */ return [ - 'title' => 'Plataformes', + 'title' => [ + 'podcasting' => 'Podcasting platforms', + 'social' => 'Social networks', + 'funding' => 'Funding links', + ], + 'website' => 'Website', 'home_url' => 'Visitar el lloc web de {platformName}', + 'register' => 'Register', 'submit_url' => 'Enviar el vostre podcast a {platformName}', + 'your_link' => 'Your link', + 'your_id' => [ + 'podcasting' => 'Your ID', + 'social' => 'Your ID', + 'funding' => 'Your CTA', + ], + 'your_cta' => 'Your call to action', 'visible' => 'Mostrar a la pàgina d\'inici del podcast?', 'on_embed' => 'Mostrar al reproductor incrustable?', 'remove' => 'Suprimir {platformName}', diff --git a/modules/Admin/Language/ca/Podcast.php b/modules/Admin/Language/ca/Podcast.php index c31998b2..a12efb3c 100644 --- a/modules/Admin/Language/ca/Podcast.php +++ b/modules/Admin/Language/ca/Podcast.php @@ -22,6 +22,7 @@ return [ 'delete' => 'Suprimir el podcast', 'see_episodes' => 'Veure els episodis', 'see_contributors' => 'Veure els col·laboradors', + 'monetization_other' => 'Other monetization', 'go_to_page' => 'Anar a la pàgina ', 'latest_episodes' => 'Darrers episodis', 'see_all_episodes' => 'Veure tots els episodis', @@ -57,6 +58,8 @@ return [ 'form' => [ 'identity_section_title' => 'Identitat del podcast', 'identity_section_subtitle' => 'Aquests camps permeten fer-se notar.', + 'fediverse_section_title' => 'Fediverse identity', + 'cover' => 'Portada del podcast', 'cover_size_hint' => 'La portada ha de ser quadrada i com a mínim de 1400 px d\'amplada i alçada.', 'banner' => 'Bàner del podcast', @@ -132,7 +135,6 @@ return [ 'partner_id_hint' => 'El vostre propi ID de soci', 'partner_link_url_hint' => 'L\'adreça genèrica de l\'enllaç del soci', 'partner_image_url_hint' => 'L\'adreça genèrica de la imatge del soci', - 'status_section_title' => 'Estat', 'block' => 'El podcast s\'ha d\'amagar als catàlegs públics', 'block_hint' => 'L\'estat de visibilitat del podcast: activar aquesta opció evita que el podcast aparegui a Apple Podcasts, Google Podcasts i qualsevol aplicació de tercers que extreu programes d\'aquests directoris. (No garantit)', diff --git a/modules/Admin/Language/ca/PodcastNavigation.php b/modules/Admin/Language/ca/PodcastNavigation.php index a30d12c7..5ce86ed8 100644 --- a/modules/Admin/Language/ca/PodcastNavigation.php +++ b/modules/Admin/Language/ca/PodcastNavigation.php @@ -10,11 +10,13 @@ declare(strict_types=1); return [ 'go_to_page' => 'Anar a la pàgina del podcast', + 'rss_feed' => 'RSS feed', 'dashboard' => 'Panell de control del podcast', 'podcast-view' => 'Inici', 'podcast-edit' => 'Editar el podcast', 'podcast-persons-manage' => 'Administrar persones', 'podcast-imports' => 'Podcast imports', + 'podcast-imports-sync' => 'Sync feeds', 'episodes' => 'Episodis', 'episode-list' => 'Tots els episodis', 'episode-create' => 'Nou episodi', @@ -26,14 +28,15 @@ return [ 'podcast-analytics-players' => 'Reproductors', 'podcast-analytics-listening-time' => 'Temps d\'escolta', 'podcast-analytics-time-periods' => 'Períodes de temps', - 'premium' => 'Prèmium', + 'monetization' => 'Monetization', 'subscription-list' => 'Totes les subscripcions', 'subscription-create' => 'Afegiu una subscripció', 'contributors' => 'Col·laboradors', 'contributor-list' => 'Tots els col·laboradors', 'contributor-add' => 'Afegir un col·laborador', - 'platforms' => 'Plataformes de tercers', - 'platforms-podcasting' => 'Podcasts', + 'broadcast' => 'Broadcast', + 'platforms-podcasting' => 'Podcasting apps', 'platforms-social' => 'Xarxes socials', - 'platforms-funding' => 'Financiació', + 'platforms-funding' => 'Funding links', + 'podcast-monetization-other' => 'Other', ]; diff --git a/modules/Admin/Language/da/Breadcrumb.php b/modules/Admin/Language/da/Breadcrumb.php index fcf3d567..0adb76ba 100644 --- a/modules/Admin/Language/da/Breadcrumb.php +++ b/modules/Admin/Language/da/Breadcrumb.php @@ -39,9 +39,11 @@ return [ 'my-account' => 'min konto', 'change-password' => 'skift adgangskode', 'imports' => 'importer', + 'sync-feeds' => 'synchronize feeds', 'platforms' => 'platforme', 'social' => 'sociale netværk', 'funding' => 'finansiering', + 'monetization-other' => 'other monetization', 'analytics' => 'analyse', 'locations' => 'lokationer', 'webpages' => 'websider', diff --git a/modules/Admin/Language/da/Common.php b/modules/Admin/Language/da/Common.php index e788799f..b53eff26 100644 --- a/modules/Admin/Language/da/Common.php +++ b/modules/Admin/Language/da/Common.php @@ -40,6 +40,7 @@ return [ ], 'upload_file' => 'Upload a file', 'remote_url' => 'Remote URL', + 'save' => 'Save', ], 'play_episode_button' => [ 'play' => 'Play', diff --git a/modules/Admin/Language/da/Episode.php b/modules/Admin/Language/da/Episode.php index a099a944..8a39dd6d 100644 --- a/modules/Admin/Language/da/Episode.php +++ b/modules/Admin/Language/da/Episode.php @@ -22,6 +22,7 @@ return [ 'all_podcast_episodes' => 'All podcast episodes', 'back_to_podcast' => 'Go back to podcast', 'edit' => 'Edit', + 'preview' => 'Preview', 'publish' => 'Publish', 'publish_edit' => 'Edit publication', 'publish_date_edit' => 'Edit publication date', @@ -86,7 +87,7 @@ return [ image {cover} audio {audio} other {media} - } file {file_path}. You may manually remove it from your disk.', + } file {file_key}. You may manually remove it from your disk.', 'sameSlugError' => 'An episode with the chosen slug already exists.', ], 'form' => [ @@ -211,4 +212,14 @@ return [ 'light' => 'Light', 'light-transparent' => 'Light transparent', ], + 'publication_status_banner' => [ + 'draft_mode' => 'draft mode', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'preview' => 'Preview', + ], ]; diff --git a/modules/Admin/Language/da/Platforms.php b/modules/Admin/Language/da/Platforms.php index ab17d599..e161181c 100644 --- a/modules/Admin/Language/da/Platforms.php +++ b/modules/Admin/Language/da/Platforms.php @@ -9,9 +9,22 @@ declare(strict_types=1); */ return [ - 'title' => 'Platforms', + 'title' => [ + 'podcasting' => 'Podcasting platforms', + 'social' => 'Social networks', + 'funding' => 'Funding links', + ], + 'website' => 'Website', 'home_url' => 'Go to {platformName} website', + 'register' => 'Register', 'submit_url' => 'Submit your podcast on {platformName}', + 'your_link' => 'Your link', + 'your_id' => [ + 'podcasting' => 'Your ID', + 'social' => 'Your ID', + 'funding' => 'Your CTA', + ], + 'your_cta' => 'Your call to action', 'visible' => 'Display in podcast homepage?', 'on_embed' => 'Display on embeddable player?', 'remove' => 'Remove {platformName}', diff --git a/modules/Admin/Language/da/Podcast.php b/modules/Admin/Language/da/Podcast.php index ab84e4ff..d9359e9b 100644 --- a/modules/Admin/Language/da/Podcast.php +++ b/modules/Admin/Language/da/Podcast.php @@ -22,6 +22,7 @@ return [ 'delete' => 'Delete podcast', 'see_episodes' => 'See episodes', 'see_contributors' => 'See contributors', + 'monetization_other' => 'Other monetization', 'go_to_page' => 'Go to page', 'latest_episodes' => 'Latest episodes', 'see_all_episodes' => 'See all episodes', @@ -57,6 +58,8 @@ return [ 'form' => [ 'identity_section_title' => 'Podcast identity', 'identity_section_subtitle' => 'These fields allow you to get noticed.', + 'fediverse_section_title' => 'Fediverse identity', + 'cover' => 'Podcast cover', 'cover_size_hint' => 'Cover must be squared and at least 1400px wide and tall.', 'banner' => 'Podcast banner', @@ -132,7 +135,6 @@ return [ 'partner_id_hint' => 'Your own partner ID', 'partner_link_url_hint' => 'The generic partner link address', 'partner_image_url_hint' => 'The generic partner image address', - 'status_section_title' => 'Status', 'block' => 'Podcast should be hidden from public catalogues', 'block_hint' => 'The podcast show or hide status: toggling this on prevents the entire podcast from appearing in Apple Podcasts, Google Podcasts, and any third party apps that pull shows from these directories. (Not guaranteed)', diff --git a/modules/Admin/Language/da/PodcastNavigation.php b/modules/Admin/Language/da/PodcastNavigation.php index efc00e5b..bb777707 100644 --- a/modules/Admin/Language/da/PodcastNavigation.php +++ b/modules/Admin/Language/da/PodcastNavigation.php @@ -10,11 +10,13 @@ declare(strict_types=1); return [ 'go_to_page' => 'Go to podcast page', + 'rss_feed' => 'RSS feed', 'dashboard' => 'Podcast dashboard', 'podcast-view' => 'Home', 'podcast-edit' => 'Edit podcast', 'podcast-persons-manage' => 'Manage persons', 'podcast-imports' => 'Podcast imports', + 'podcast-imports-sync' => 'Sync feeds', 'episodes' => 'Episodes', 'episode-list' => 'All episodes', 'episode-create' => 'New episode', @@ -26,14 +28,15 @@ return [ 'podcast-analytics-players' => 'Players', 'podcast-analytics-listening-time' => 'Listening time', 'podcast-analytics-time-periods' => 'Time periods', - 'premium' => 'Premium', + 'monetization' => 'Monetization', 'subscription-list' => 'All subscriptions', 'subscription-create' => 'Add subscription', 'contributors' => 'Contributors', 'contributor-list' => 'All contributors', 'contributor-add' => 'Add contributor', - 'platforms' => 'External platforms', - 'platforms-podcasting' => 'Podcasting', + 'broadcast' => 'Broadcast', + 'platforms-podcasting' => 'Podcasting apps', 'platforms-social' => 'Social networks', - 'platforms-funding' => 'Funding', + 'platforms-funding' => 'Funding links', + 'podcast-monetization-other' => 'Other', ]; diff --git a/modules/Admin/Language/de/Breadcrumb.php b/modules/Admin/Language/de/Breadcrumb.php index aa060fda..c271fd31 100644 --- a/modules/Admin/Language/de/Breadcrumb.php +++ b/modules/Admin/Language/de/Breadcrumb.php @@ -38,10 +38,12 @@ return [ 'users' => 'Benutzer', 'my-account' => 'Mein Konto', 'change-password' => 'Passwort ändern', - 'imports' => 'imports', + 'imports' => 'Importe', + 'sync-feeds' => 'synchronize feeds', 'platforms' => 'Plattformen', 'social' => 'soziale Netzwerke', 'funding' => 'Finanzierung', + 'monetization-other' => 'other monetization', 'analytics' => 'Statistiken', 'locations' => 'Orte', 'webpages' => 'Webseiten', diff --git a/modules/Admin/Language/de/Common.php b/modules/Admin/Language/de/Common.php index 0cc58599..c4ff79bf 100644 --- a/modules/Admin/Language/de/Common.php +++ b/modules/Admin/Language/de/Common.php @@ -40,6 +40,7 @@ return [ ], 'upload_file' => 'Eine Datei hochladen', 'remote_url' => 'Externe URL', + 'save' => 'Save', ], 'play_episode_button' => [ 'play' => 'Abspielen', diff --git a/modules/Admin/Language/de/Episode.php b/modules/Admin/Language/de/Episode.php index ce77a865..8b7c6709 100644 --- a/modules/Admin/Language/de/Episode.php +++ b/modules/Admin/Language/de/Episode.php @@ -22,6 +22,7 @@ return [ 'all_podcast_episodes' => 'Alle Podcast-Episoden', 'back_to_podcast' => 'Zurück zum Podcast', 'edit' => 'Bearbeiten', + 'preview' => 'Vorschau', 'publish' => 'Veröffentllichen', 'publish_edit' => 'Veröffentlichung bearbeiten', 'publish_date_edit' => 'Veröffentlichungsdatum bearbeiten', @@ -86,7 +87,7 @@ return [ image {Cover} audio {Audio} other {Medien} - }-Datei {file_path}. Sie können es manuell von der Festplatte entfernen.', + }-Datei {file_key}. Sie können es manuell von der Festplatte entfernen.', 'sameSlugError' => 'Eine Folge mit dem ausgewählten Slug existiert bereits.', ], 'form' => [ @@ -211,4 +212,14 @@ return [ 'light' => 'Hell', 'light-transparent' => 'Hell (transparent)', ], + 'publication_status_banner' => [ + 'draft_mode' => 'Entwurfsmodus', + 'text' => '{publication_status, select, + published {Diese Episode ist noch nicht veröffentlicht.} + scheduled {Diese Episode ist für die Veröffentlichung geplant am {publication_date}.} + with_podcast {Diese Episode wird zur gleichen Zeit wie der Podcast veröffentlicht.} + other {Diese Episode ist noch nicht veröffentlicht.} + }', + 'preview' => 'Vorschau', + ], ]; diff --git a/modules/Admin/Language/de/Navigation.php b/modules/Admin/Language/de/Navigation.php index 943c27f2..d8c3010b 100644 --- a/modules/Admin/Language/de/Navigation.php +++ b/modules/Admin/Language/de/Navigation.php @@ -17,8 +17,8 @@ return [ 'podcasts' => 'Podcasts', 'podcast-list' => 'Alle Podcasts', 'podcast-create' => 'Neuer Podcast', - 'all-podcast-imports' => 'All Podcast imports', - 'podcast-imports-add' => 'Import a podcast', + 'all-podcast-imports' => 'Alle Podcast-Importe', + 'podcast-imports-add' => 'Podcast importieren', 'persons' => 'Mitwirkende', 'person-list' => 'Alle Mitwirkenden', 'person-create' => 'Neuer Mitwirkender', diff --git a/modules/Admin/Language/de/Platforms.php b/modules/Admin/Language/de/Platforms.php index 5e55a2a3..48b5c747 100644 --- a/modules/Admin/Language/de/Platforms.php +++ b/modules/Admin/Language/de/Platforms.php @@ -9,9 +9,22 @@ declare(strict_types=1); */ return [ - 'title' => 'Plattformen', + 'title' => [ + 'podcasting' => 'Podcasting platforms', + 'social' => 'Social networks', + 'funding' => 'Funding links', + ], + 'website' => 'Website', 'home_url' => 'Gehe zu {platformName} Webseite', + 'register' => 'Register', 'submit_url' => 'Sende deinen Podcast an {platformName}', + 'your_link' => 'Your link', + 'your_id' => [ + 'podcasting' => 'Your ID', + 'social' => 'Your ID', + 'funding' => 'Your CTA', + ], + 'your_cta' => 'Your call to action', 'visible' => 'Auf Podcast-Homepage anzeigen?', 'on_embed' => 'Auf einbettbarem Player anzeigen?', 'remove' => 'Entferne {platformName}', diff --git a/modules/Admin/Language/de/Podcast.php b/modules/Admin/Language/de/Podcast.php index 7fc92d32..dc66c033 100644 --- a/modules/Admin/Language/de/Podcast.php +++ b/modules/Admin/Language/de/Podcast.php @@ -13,7 +13,7 @@ return [ 'no_podcast' => 'Kein Podcast gefunden!', 'create' => 'Podcast erstellen', 'import' => 'Podcast importieren', - 'all_imports' => 'Podcast imports', + 'all_imports' => 'Podcast-Importe', 'new_episode' => 'Neue Folge', 'view' => 'Podcast ansehen', 'edit' => 'Podcast bearbeiten', @@ -22,6 +22,7 @@ return [ 'delete' => 'Podcast löschen', 'see_episodes' => 'Episoden ansehen', 'see_contributors' => 'Mitwirkende anzeigen', + 'monetization_other' => 'Other monetization', 'go_to_page' => 'Gehe zur Seite', 'latest_episodes' => 'Neueste Folgen', 'see_all_episodes' => 'Alle Folgen anzeigen', @@ -57,6 +58,8 @@ return [ 'form' => [ 'identity_section_title' => 'Podcast-Identität', 'identity_section_subtitle' => 'Diese Felder erlauben es dir, Aufmerksamkeit zu bekommen.', + 'fediverse_section_title' => 'Fediverse identity', + 'cover' => 'Podcast-Cover', 'cover_size_hint' => 'Das Cover muss quadratisch und mindestens 1400px breit und hoch sein.', 'banner' => 'Podcast-Banner', @@ -132,7 +135,6 @@ return [ 'partner_id_hint' => 'Ihre eigene Partner-ID', 'partner_link_url_hint' => 'Die generische Partnerlink-Adresse', 'partner_image_url_hint' => 'Die generische Partnerbild-Adresse', - 'status_section_title' => 'Status', 'block' => 'Podcast soll vor öffentlichen Katalogen versteckt werden', 'block_hint' => 'Der Podcast zeigt oder versteckt den Status: Beim Einschalten dieser Option wird verhindert, dass der Podcast in Apple Podcasts, Google Podcasts und alle Apps von Drittanbietern, die Inhalte aus diesen Verzeichnissen ziehen, erscheint. (Ohne Garantie!)', diff --git a/modules/Admin/Language/de/PodcastNavigation.php b/modules/Admin/Language/de/PodcastNavigation.php index 0ddccc4a..480d3419 100644 --- a/modules/Admin/Language/de/PodcastNavigation.php +++ b/modules/Admin/Language/de/PodcastNavigation.php @@ -10,11 +10,13 @@ declare(strict_types=1); return [ 'go_to_page' => 'Zur Podcast-Seite gehen', + 'rss_feed' => 'RSS feed', 'dashboard' => 'Podcast-Dashboard', 'podcast-view' => 'Startseite', 'podcast-edit' => 'Podcast bearbeiten', 'podcast-persons-manage' => 'Mitwirkende verwalten', - 'podcast-imports' => 'Podcast imports', + 'podcast-imports' => 'Podcast-Importe', + 'podcast-imports-sync' => 'Sync feeds', 'episodes' => 'Folgen', 'episode-list' => 'Alle Episoden', 'episode-create' => 'Neue Episoden', @@ -26,14 +28,15 @@ return [ 'podcast-analytics-players' => 'Podcast-Player', 'podcast-analytics-listening-time' => 'Hörzeit', 'podcast-analytics-time-periods' => 'Zeiträume', - 'premium' => 'Premium', + 'monetization' => 'Monetization', 'subscription-list' => 'Alle Abonnements', 'subscription-create' => 'Abonnement hinzufügen', 'contributors' => 'Mitwirkende', 'contributor-list' => 'Alle Unterstützer', 'contributor-add' => 'Mitwirkenden hinzufügen', - 'platforms' => 'Externe Plattformen', - 'platforms-podcasting' => 'Podcasting', + 'broadcast' => 'Broadcast', + 'platforms-podcasting' => 'Podcasting apps', 'platforms-social' => 'Soziale Netzwerke', - 'platforms-funding' => 'Finanzierung', + 'platforms-funding' => 'Funding links', + 'podcast-monetization-other' => 'Other', ]; diff --git a/modules/Admin/Language/el/Breadcrumb.php b/modules/Admin/Language/el/Breadcrumb.php index e642116c..d08f66f7 100644 --- a/modules/Admin/Language/el/Breadcrumb.php +++ b/modules/Admin/Language/el/Breadcrumb.php @@ -39,9 +39,11 @@ return [ 'my-account' => 'ο λογαριασμός μου', 'change-password' => 'αλλαγή κωδικού πρόσβασης', 'imports' => 'imports', + 'sync-feeds' => 'synchronize feeds', 'platforms' => 'πλατφόρμες', 'social' => 'κοινωνικά δίκτυα', 'funding' => 'χρηματοδότηση', + 'monetization-other' => 'other monetization', 'analytics' => 'αναλυτικά στοιχεία', 'locations' => 'τοποθεσίες', 'webpages' => 'ιστοσελίδες', diff --git a/modules/Admin/Language/el/Common.php b/modules/Admin/Language/el/Common.php index 4652e2a3..7bf5bbec 100644 --- a/modules/Admin/Language/el/Common.php +++ b/modules/Admin/Language/el/Common.php @@ -40,6 +40,7 @@ return [ ], 'upload_file' => 'Μεταφορτώστε ένα αρχείο', 'remote_url' => 'Απομακρυσμένη διεύθυνση URL', + 'save' => 'Save', ], 'play_episode_button' => [ 'play' => 'Αναπαραγωγή', diff --git a/modules/Admin/Language/el/Episode.php b/modules/Admin/Language/el/Episode.php index 2eeec1c3..35df7992 100644 --- a/modules/Admin/Language/el/Episode.php +++ b/modules/Admin/Language/el/Episode.php @@ -22,6 +22,7 @@ return [ 'all_podcast_episodes' => 'Όλα τα επεισόδια του podcast', 'back_to_podcast' => 'Μετάβαση πίσω στο podcast', 'edit' => 'Επεξεργασία', + 'preview' => 'Preview', 'publish' => 'Δημοσίευση', 'publish_edit' => 'Επεξεργασία δημοσίευσης', 'publish_date_edit' => 'Επεξεργασία ημερομηνίας δημοσίευσης', @@ -80,13 +81,13 @@ return [ audio {ήχος} other {πολυμέσα} }.', - 'deleteFileError' => 'Αποτυχία διαγραφής {type, select, + 'deleteFileError' => 'Failed to delete {type, select, transcript {transcript} - chapters {κεφάλαια} - image {καλύψτε} - audio {ήχος} - other {πολυμέσα} - } αρχείο {file_path}. Μπορείτε να το αφαιρέσετε χειροκίνητα από το δίσκο σας.', + chapters {chapters} + image {cover} + audio {audio} + other {media} + } file {file_key}. You may manually remove it from your disk.', 'sameSlugError' => 'Ένα επεισόδιο με το επιλεγμένο slug υπάρχει ήδη.', ], 'form' => [ @@ -211,4 +212,14 @@ return [ 'light' => 'Ανοιχτόχρωμο', 'light-transparent' => 'Ανοιχτό διαφανές', ], + 'publication_status_banner' => [ + 'draft_mode' => 'draft mode', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'preview' => 'Preview', + ], ]; diff --git a/modules/Admin/Language/el/Platforms.php b/modules/Admin/Language/el/Platforms.php index 4b5f2fb5..2c5a10ec 100644 --- a/modules/Admin/Language/el/Platforms.php +++ b/modules/Admin/Language/el/Platforms.php @@ -9,9 +9,22 @@ declare(strict_types=1); */ return [ - 'title' => 'Πλατφόρμες', + 'title' => [ + 'podcasting' => 'Podcasting platforms', + 'social' => 'Social networks', + 'funding' => 'Funding links', + ], + 'website' => 'Website', 'home_url' => 'Μεταβείτε στην ιστοσελίδα {platformName}', + 'register' => 'Register', 'submit_url' => 'Υποβάλετε το podcast σας στην πλατφόρμα {platformName}', + 'your_link' => 'Your link', + 'your_id' => [ + 'podcasting' => 'Your ID', + 'social' => 'Your ID', + 'funding' => 'Your CTA', + ], + 'your_cta' => 'Your call to action', 'visible' => 'Εμφάνιση στην αρχική σελίδα του podcast;', 'on_embed' => 'Εμφάνιση σε ενσωματωμένο player;', 'remove' => 'Κατάργηση {platformName}', diff --git a/modules/Admin/Language/el/Podcast.php b/modules/Admin/Language/el/Podcast.php index a04effe4..65fcc8c8 100644 --- a/modules/Admin/Language/el/Podcast.php +++ b/modules/Admin/Language/el/Podcast.php @@ -22,6 +22,7 @@ return [ 'delete' => 'Διαγραφή podcast', 'see_episodes' => 'Δείτε επεισόδια', 'see_contributors' => 'Βλέπε συντελεστές', + 'monetization_other' => 'Other monetization', 'go_to_page' => 'Μετάβαση στη σελίδα', 'latest_episodes' => 'Τελευταία επεισόδια', 'see_all_episodes' => 'Δείτε όλα τα επεισόδια', @@ -57,6 +58,8 @@ return [ 'form' => [ 'identity_section_title' => 'Αναγνωριστικό Podcast', 'identity_section_subtitle' => 'Αυτά τα πεδία σας επιτρέπουν να ξεχωρίσει το podcast σας.', + 'fediverse_section_title' => 'Fediverse identity', + 'cover' => 'Εξώφυλο podcast', 'cover_size_hint' => 'Το εξώφυλλο πρέπει να είναι τουλάχιστον 1400px πλάτος και ύψος.', 'banner' => 'Banner podcast', @@ -132,7 +135,6 @@ return [ 'partner_id_hint' => 'Your own partner ID', 'partner_link_url_hint' => 'The generic partner link address', 'partner_image_url_hint' => 'The generic partner image address', - 'status_section_title' => 'Status', 'block' => 'Podcast should be hidden from public catalogues', 'block_hint' => 'The podcast show or hide status: toggling this on prevents the entire podcast from appearing in Apple Podcasts, Google Podcasts, and any third party apps that pull shows from these directories. (Not guaranteed)', diff --git a/modules/Admin/Language/el/PodcastNavigation.php b/modules/Admin/Language/el/PodcastNavigation.php index 3e97a3a3..830fdfaa 100644 --- a/modules/Admin/Language/el/PodcastNavigation.php +++ b/modules/Admin/Language/el/PodcastNavigation.php @@ -10,11 +10,13 @@ declare(strict_types=1); return [ 'go_to_page' => 'Μετάβαση στη σελίδα podcast', + 'rss_feed' => 'RSS feed', 'dashboard' => 'Πίνακας ελέγχου Podcast', 'podcast-view' => 'Αρχική σελίδα', 'podcast-edit' => 'Επεξεργασία podcast', 'podcast-persons-manage' => 'Διαχείριση ατόμων', 'podcast-imports' => 'Podcast imports', + 'podcast-imports-sync' => 'Sync feeds', 'episodes' => 'Επεισόδια', 'episode-list' => 'Όλα τα επεισόδια', 'episode-create' => 'Νέο Επεισόδιο', @@ -26,14 +28,15 @@ return [ 'podcast-analytics-players' => 'Αναπαραγωγές', 'podcast-analytics-listening-time' => 'Χρόνος ακρόασης', 'podcast-analytics-time-periods' => 'Χρονικές περίοδοι', - 'premium' => 'Premium', + 'monetization' => 'Monetization', 'subscription-list' => 'Όλες οι συνδρομές', 'subscription-create' => 'Προσθέστε συνδρομή', 'contributors' => 'Συντελεστές', 'contributor-list' => 'Όλοι οι συντελεστές', 'contributor-add' => 'Προσθήκη συντελεστή', - 'platforms' => 'Εξωτερικές πλατφόρμες', - 'platforms-podcasting' => 'Podcasting', + 'broadcast' => 'Broadcast', + 'platforms-podcasting' => 'Podcasting apps', 'platforms-social' => 'Κοινωνικά δίκτυα', - 'platforms-funding' => 'Χρηματοδότηση', + 'platforms-funding' => 'Funding links', + 'podcast-monetization-other' => 'Other', ]; diff --git a/modules/Admin/Language/es/Breadcrumb.php b/modules/Admin/Language/es/Breadcrumb.php index cace2713..41de91c1 100644 --- a/modules/Admin/Language/es/Breadcrumb.php +++ b/modules/Admin/Language/es/Breadcrumb.php @@ -39,9 +39,11 @@ return [ 'my-account' => 'mi cuenta', 'change-password' => 'cambiar contraseña', 'imports' => 'imports', + 'sync-feeds' => 'synchronize feeds', 'platforms' => 'plataformas', 'social' => 'redes sociales', 'funding' => 'financiación | fondos', + 'monetization-other' => 'other monetization', 'analytics' => 'estadísticas', 'locations' => 'ubicaciones', 'webpages' => 'páginas web', diff --git a/modules/Admin/Language/es/Common.php b/modules/Admin/Language/es/Common.php index b64ee73d..ff3987cc 100644 --- a/modules/Admin/Language/es/Common.php +++ b/modules/Admin/Language/es/Common.php @@ -40,6 +40,7 @@ return [ ], 'upload_file' => 'Subir un archivo', 'remote_url' => 'URL remoto', + 'save' => 'Save', ], 'play_episode_button' => [ 'play' => 'Reproducir', diff --git a/modules/Admin/Language/es/Episode.php b/modules/Admin/Language/es/Episode.php index 6dcde24f..8f4c8644 100644 --- a/modules/Admin/Language/es/Episode.php +++ b/modules/Admin/Language/es/Episode.php @@ -22,6 +22,7 @@ return [ 'all_podcast_episodes' => 'Todos los episodios del podcast', 'back_to_podcast' => 'Regresar al podcast', 'edit' => 'Editar', + 'preview' => 'Preview', 'publish' => 'Publicar', 'publish_edit' => 'Editar publicación', 'publish_date_edit' => 'Editar fecha de publicación', @@ -80,13 +81,13 @@ return [ audio {audio} other {media} }.', - 'deleteFileError' => 'Hubo un problema al tratar de eliminar el archivo {file_path} {type, select, - transcript {de la transcripción} - chapters {de los episodios} - image {de la portada} - audio {del audio} - other {} - }. Puedes eliminarlo manualmente de tu disco.', + 'deleteFileError' => 'Failed to delete {type, select, + transcript {transcript} + chapters {chapters} + image {cover} + audio {audio} + other {media} + } file {file_key}. You may manually remove it from your disk.', 'sameSlugError' => 'Ya existe un episodio con el slug elegido.', ], 'form' => [ @@ -211,4 +212,14 @@ return [ 'light' => 'Claro', 'light-transparent' => 'Transparente claro', ], + 'publication_status_banner' => [ + 'draft_mode' => 'draft mode', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'preview' => 'Preview', + ], ]; diff --git a/modules/Admin/Language/es/Platforms.php b/modules/Admin/Language/es/Platforms.php index 48effd90..f045e36c 100644 --- a/modules/Admin/Language/es/Platforms.php +++ b/modules/Admin/Language/es/Platforms.php @@ -9,9 +9,22 @@ declare(strict_types=1); */ return [ - 'title' => 'Plataformas', + 'title' => [ + 'podcasting' => 'Podcasting platforms', + 'social' => 'Social networks', + 'funding' => 'Funding links', + ], + 'website' => 'Website', 'home_url' => 'Ir al sitio web de {platformName}', + 'register' => 'Register', 'submit_url' => 'Envía tu podcast en {platformName}', + 'your_link' => 'Your link', + 'your_id' => [ + 'podcasting' => 'Your ID', + 'social' => 'Your ID', + 'funding' => 'Your CTA', + ], + 'your_cta' => 'Your call to action', 'visible' => '¿Mostrar en la página de inicio del podcast?', 'on_embed' => '¿Mostrar en el reproductor incrustable?', 'remove' => 'Eliminar {platformName}', diff --git a/modules/Admin/Language/es/Podcast.php b/modules/Admin/Language/es/Podcast.php index 2fc372f4..8e9fe838 100644 --- a/modules/Admin/Language/es/Podcast.php +++ b/modules/Admin/Language/es/Podcast.php @@ -22,6 +22,7 @@ return [ 'delete' => 'Eliminar podcast', 'see_episodes' => 'Ver episodios', 'see_contributors' => 'Ver colaboradores', + 'monetization_other' => 'Other monetization', 'go_to_page' => 'Ir a la página', 'latest_episodes' => 'Últimos Episodios', 'see_all_episodes' => 'Mostrar todos los episodios', @@ -57,6 +58,8 @@ return [ 'form' => [ 'identity_section_title' => 'Identidad de Podcast', 'identity_section_subtitle' => 'Estos campos le permiten recibir un aviso.', + 'fediverse_section_title' => 'Fediverse identity', + 'cover' => 'Portada de Podcast', 'cover_size_hint' => 'La portada debe ser cuadrada y con al menos 1400 px de ancho y alto.', 'banner' => 'Cartel del Podcast', @@ -132,7 +135,6 @@ return [ 'partner_id_hint' => 'Su propio ID de socio', 'partner_link_url_hint' => 'La dirección genérica de enlace de socio', 'partner_image_url_hint' => 'La dirección de imagen genérica del socio', - 'status_section_title' => 'Estado', 'block' => 'El podcast debe ocultarse a los catálogos públicos', 'block_hint' => 'El estado de visibilidad del podcast: al activar esto se impide que este podcast al completo aparezca en Apple Podcasts, Google Podcasts y cualquier aplicación de terceros que extraiga episodios de estos directorios. (no está garantizado al 100%)', diff --git a/modules/Admin/Language/es/PodcastNavigation.php b/modules/Admin/Language/es/PodcastNavigation.php index 8f9ee8d1..0a299f97 100644 --- a/modules/Admin/Language/es/PodcastNavigation.php +++ b/modules/Admin/Language/es/PodcastNavigation.php @@ -10,11 +10,13 @@ declare(strict_types=1); return [ 'go_to_page' => 'Ir a la página del podcast', + 'rss_feed' => 'RSS feed', 'dashboard' => 'Panel de Podcast', 'podcast-view' => 'Inicio', 'podcast-edit' => 'Editar podcast', 'podcast-persons-manage' => 'Administrar personas', 'podcast-imports' => 'Podcast imports', + 'podcast-imports-sync' => 'Sync feeds', 'episodes' => 'Episodios', 'episode-list' => 'Todos los episodios', 'episode-create' => 'Nuevo episodio', @@ -26,14 +28,15 @@ return [ 'podcast-analytics-players' => 'Reproductores', 'podcast-analytics-listening-time' => 'Tiempo de escucha', 'podcast-analytics-time-periods' => 'Periodos de tiempo', - 'premium' => 'Premium', + 'monetization' => 'Monetization', 'subscription-list' => 'Todas las suscripciones', 'subscription-create' => 'Añadir suscripción', 'contributors' => 'Colaboradores', 'contributor-list' => 'Todos los colaboradores', 'contributor-add' => 'Añadir colaborador', - 'platforms' => 'Plataformas externas', - 'platforms-podcasting' => 'Podcasting', + 'broadcast' => 'Broadcast', + 'platforms-podcasting' => 'Podcasting apps', 'platforms-social' => 'Redes sociales', - 'platforms-funding' => 'Financiamiento', + 'platforms-funding' => 'Funding links', + 'podcast-monetization-other' => 'Other', ]; diff --git a/modules/Admin/Language/fa/Breadcrumb.php b/modules/Admin/Language/fa/Breadcrumb.php index 593322e6..6a678d4e 100644 --- a/modules/Admin/Language/fa/Breadcrumb.php +++ b/modules/Admin/Language/fa/Breadcrumb.php @@ -39,9 +39,11 @@ return [ 'my-account' => 'my account', 'change-password' => 'change password', 'imports' => 'imports', + 'sync-feeds' => 'synchronize feeds', 'platforms' => 'platforms', 'social' => 'social networks', 'funding' => 'funding', + 'monetization-other' => 'other monetization', 'analytics' => 'analytics', 'locations' => 'locations', 'webpages' => 'web pages', diff --git a/modules/Admin/Language/fa/Common.php b/modules/Admin/Language/fa/Common.php index 596c8bcd..74addcf2 100644 --- a/modules/Admin/Language/fa/Common.php +++ b/modules/Admin/Language/fa/Common.php @@ -40,6 +40,7 @@ return [ ], 'upload_file' => 'Upload a file', 'remote_url' => 'Remote URL', + 'save' => 'Save', ], 'play_episode_button' => [ 'play' => 'Play', diff --git a/modules/Admin/Language/fa/Episode.php b/modules/Admin/Language/fa/Episode.php index 98498bee..1a5e57a4 100644 --- a/modules/Admin/Language/fa/Episode.php +++ b/modules/Admin/Language/fa/Episode.php @@ -22,6 +22,7 @@ return [ 'all_podcast_episodes' => 'All podcast episodes', 'back_to_podcast' => 'Go back to podcast', 'edit' => 'Edit', + 'preview' => 'Preview', 'publish' => 'Publish', 'publish_edit' => 'Edit publication', 'publish_date_edit' => 'Edit publication date', @@ -86,7 +87,7 @@ return [ image {cover} audio {audio} other {media} - } file {file_path}. You may manually remove it from your disk.', + } file {file_key}. You may manually remove it from your disk.', 'sameSlugError' => 'An episode with the chosen slug already exists.', ], 'form' => [ @@ -211,4 +212,14 @@ return [ 'light' => 'Light', 'light-transparent' => 'Light transparent', ], + 'publication_status_banner' => [ + 'draft_mode' => 'draft mode', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'preview' => 'Preview', + ], ]; diff --git a/modules/Admin/Language/fa/Platforms.php b/modules/Admin/Language/fa/Platforms.php index 6bdfb6ed..7dc10de7 100644 --- a/modules/Admin/Language/fa/Platforms.php +++ b/modules/Admin/Language/fa/Platforms.php @@ -9,9 +9,22 @@ declare(strict_types=1); */ return [ - 'title' => 'بن‌سازه‌ها', + 'title' => [ + 'podcasting' => 'Podcasting platforms', + 'social' => 'Social networks', + 'funding' => 'Funding links', + ], + 'website' => 'Website', 'home_url' => 'رفتن به پایگاه وب {platformName}', + 'register' => 'Register', 'submit_url' => 'ثبت پادکستتان روی {platformName}', + 'your_link' => 'Your link', + 'your_id' => [ + 'podcasting' => 'Your ID', + 'social' => 'Your ID', + 'funding' => 'Your CTA', + ], + 'your_cta' => 'Your call to action', 'visible' => 'نمایش در صفحهٔ خانگی پادکست؟', 'on_embed' => 'نمایش در پخش‌کنندهٔ تعبیه شده؟', 'remove' => 'برداشتن {platformName}', diff --git a/modules/Admin/Language/fa/Podcast.php b/modules/Admin/Language/fa/Podcast.php index 10271de5..5296151c 100644 --- a/modules/Admin/Language/fa/Podcast.php +++ b/modules/Admin/Language/fa/Podcast.php @@ -22,12 +22,11 @@ return [ 'delete' => 'حذف پادکست', 'see_episodes' => 'دیدن قسمت‌ّا', 'see_contributors' => 'دیدن مشارکت‌کنندگان', + 'monetization_other' => 'Other monetization', 'go_to_page' => 'رفتن به صفحه', 'latest_episodes' => 'جدیدترین قسمت‌ها', 'see_all_episodes' => 'دیدن تمامی قسمت‌ها', 'draft' => 'پیش‌نویس', - 'sync_feed' => 'خوراک هم‌گام شده', - 'sync_feed_hint' => 'Import this podcast\'s latest episodes', 'messages' => [ 'createSuccess' => 'Podcast successfully created!', 'editSuccess' => 'Podcast has been successfully updated!', @@ -59,6 +58,8 @@ return [ 'form' => [ 'identity_section_title' => 'هویت پادکست', 'identity_section_subtitle' => 'These fields allow you to get noticed.', + 'fediverse_section_title' => 'Fediverse identity', + 'cover' => 'جلد پادکست', 'cover_size_hint' => 'جلد باید مربّعی بوده و کمینه ۱۴۰۰ پیکسل پنها و بلندا داشته باشد.', 'banner' => 'بیرق پادکست', @@ -134,7 +135,6 @@ return [ 'partner_id_hint' => 'Your own partner ID', 'partner_link_url_hint' => 'The generic partner link address', 'partner_image_url_hint' => 'The generic partner image address', - 'status_section_title' => 'Status', 'block' => 'Podcast should be hidden from public catalogues', 'block_hint' => 'The podcast show or hide status: toggling this on prevents the entire podcast from appearing in Apple Podcasts, Google Podcasts, and any third party apps that pull shows from these directories. (Not guaranteed)', diff --git a/modules/Admin/Language/fa/PodcastNavigation.php b/modules/Admin/Language/fa/PodcastNavigation.php index efc00e5b..bb777707 100644 --- a/modules/Admin/Language/fa/PodcastNavigation.php +++ b/modules/Admin/Language/fa/PodcastNavigation.php @@ -10,11 +10,13 @@ declare(strict_types=1); return [ 'go_to_page' => 'Go to podcast page', + 'rss_feed' => 'RSS feed', 'dashboard' => 'Podcast dashboard', 'podcast-view' => 'Home', 'podcast-edit' => 'Edit podcast', 'podcast-persons-manage' => 'Manage persons', 'podcast-imports' => 'Podcast imports', + 'podcast-imports-sync' => 'Sync feeds', 'episodes' => 'Episodes', 'episode-list' => 'All episodes', 'episode-create' => 'New episode', @@ -26,14 +28,15 @@ return [ 'podcast-analytics-players' => 'Players', 'podcast-analytics-listening-time' => 'Listening time', 'podcast-analytics-time-periods' => 'Time periods', - 'premium' => 'Premium', + 'monetization' => 'Monetization', 'subscription-list' => 'All subscriptions', 'subscription-create' => 'Add subscription', 'contributors' => 'Contributors', 'contributor-list' => 'All contributors', 'contributor-add' => 'Add contributor', - 'platforms' => 'External platforms', - 'platforms-podcasting' => 'Podcasting', + 'broadcast' => 'Broadcast', + 'platforms-podcasting' => 'Podcasting apps', 'platforms-social' => 'Social networks', - 'platforms-funding' => 'Funding', + 'platforms-funding' => 'Funding links', + 'podcast-monetization-other' => 'Other', ]; diff --git a/modules/Admin/Language/fr/Breadcrumb.php b/modules/Admin/Language/fr/Breadcrumb.php index a25e678e..5c855914 100644 --- a/modules/Admin/Language/fr/Breadcrumb.php +++ b/modules/Admin/Language/fr/Breadcrumb.php @@ -39,9 +39,11 @@ return [ 'my-account' => 'mon compte', 'change-password' => 'changer le mot de passe', 'imports' => 'imports', + 'sync-feeds' => 'synchronize feeds', 'platforms' => 'plateformes', 'social' => 'réseaux sociaux', 'funding' => 'financement', + 'monetization-other' => 'other monetization', 'analytics' => 'mesures d’audience', 'locations' => 'localisations', 'webpages' => 'pages web', diff --git a/modules/Admin/Language/fr/Common.php b/modules/Admin/Language/fr/Common.php index 0a12d861..3b7dcad9 100644 --- a/modules/Admin/Language/fr/Common.php +++ b/modules/Admin/Language/fr/Common.php @@ -40,6 +40,7 @@ return [ ], 'upload_file' => 'Téléversez un fichier', 'remote_url' => 'URL distante', + 'save' => 'Save', ], 'play_episode_button' => [ 'play' => 'Lire', diff --git a/modules/Admin/Language/fr/Episode.php b/modules/Admin/Language/fr/Episode.php index 4ef980f1..39d94863 100644 --- a/modules/Admin/Language/fr/Episode.php +++ b/modules/Admin/Language/fr/Episode.php @@ -22,6 +22,7 @@ return [ 'all_podcast_episodes' => 'Tous les épisodes du podcast', 'back_to_podcast' => 'Revenir au podcast', 'edit' => 'Modifier', + 'preview' => 'Preview', 'publish' => 'Publier', 'publish_edit' => 'Modifier la publication', 'publish_date_edit' => 'Définir la date de publication', @@ -80,13 +81,13 @@ return [ audio {audio} other {média} }.', - 'deleteFileError' => 'Impossible de supprimer {type, select, - transcript {transcription} - chapters {chapitres} - image {couverture} + 'deleteFileError' => 'Failed to delete {type, select, + transcript {transcript} + chapters {chapters} + image {cover} audio {audio} - other {média} - } fichier {file_path}. Vous pouvez le supprimer manuellement de votre disque.', + other {media} + } file {file_key}. You may manually remove it from your disk.', 'sameSlugError' => 'Il existe déjà un épisode avec le slug choisi.', ], 'form' => [ @@ -211,4 +212,14 @@ return [ 'light' => 'Clair', 'light-transparent' => 'Clair transparent', ], + 'publication_status_banner' => [ + 'draft_mode' => 'draft mode', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'preview' => 'Preview', + ], ]; diff --git a/modules/Admin/Language/fr/Platforms.php b/modules/Admin/Language/fr/Platforms.php index e6605532..b72147cc 100644 --- a/modules/Admin/Language/fr/Platforms.php +++ b/modules/Admin/Language/fr/Platforms.php @@ -9,9 +9,22 @@ declare(strict_types=1); */ return [ - 'title' => 'Plateformes', + 'title' => [ + 'podcasting' => 'Podcasting platforms', + 'social' => 'Social networks', + 'funding' => 'Funding links', + ], + 'website' => 'Website', 'home_url' => 'Aller au site {platformName}', + 'register' => 'Register', 'submit_url' => 'Soumettez votre podcast sur {platformName}', + 'your_link' => 'Your link', + 'your_id' => [ + 'podcasting' => 'Your ID', + 'social' => 'Your ID', + 'funding' => 'Your CTA', + ], + 'your_cta' => 'Your call to action', 'visible' => 'Afficher sur la page d’accueil du podcast ?', 'on_embed' => 'Afficher sur le lecteur intégré ?', 'remove' => 'Supprimer {platformName}', diff --git a/modules/Admin/Language/fr/Podcast.php b/modules/Admin/Language/fr/Podcast.php index 2a3c5e4c..4d9979a9 100644 --- a/modules/Admin/Language/fr/Podcast.php +++ b/modules/Admin/Language/fr/Podcast.php @@ -22,6 +22,7 @@ return [ 'delete' => 'Supprimer le podcast', 'see_episodes' => 'Voir les épisodes', 'see_contributors' => 'Voir les contributeurs', + 'monetization_other' => 'Other monetization', 'go_to_page' => 'Aller à la page', 'latest_episodes' => 'Derniers épisodes', 'see_all_episodes' => 'Voir tous les épisodes', @@ -57,6 +58,8 @@ return [ 'form' => [ 'identity_section_title' => 'Informations sur le Podcast', 'identity_section_subtitle' => 'Ces champs vous permettent de vous faire remarquer.', + 'fediverse_section_title' => 'Fediverse identity', + 'cover' => 'Couverture du podcast', 'cover_size_hint' => 'La couverture du podcast doit être carrée, avec au minimum 1400px de largeur et de hauteur.', 'banner' => 'Bannière du podcast', @@ -132,7 +135,6 @@ return [ 'partner_id_hint' => 'Votre identifiant personnel partenaire', 'partner_link_url_hint' => 'L’adresse générique des liens partenaire', 'partner_image_url_hint' => 'L’adresse générique des images partenaire', - 'status_section_title' => 'Statut', 'block' => 'L\'épisode doit être masqué dans les catalogues publics', 'block_hint' => 'Le statut d\'affichage ou de masquage du podcast : activer cette option empêche l\'intégralité du podcast d\'apparaître dans les podcasts Apple, Google Podcasts et toutes les applications tierces qui extraient des émissions de ces répertoires. (Pas garantie)', diff --git a/modules/Admin/Language/fr/PodcastNavigation.php b/modules/Admin/Language/fr/PodcastNavigation.php index 8043fc9d..f18cb92c 100644 --- a/modules/Admin/Language/fr/PodcastNavigation.php +++ b/modules/Admin/Language/fr/PodcastNavigation.php @@ -10,11 +10,13 @@ declare(strict_types=1); return [ 'go_to_page' => 'Aller à la page du podcast', + 'rss_feed' => 'RSS feed', 'dashboard' => 'Tableau de bord du podcast', 'podcast-view' => 'Accueil', 'podcast-edit' => 'Modifier le podcast', 'podcast-persons-manage' => 'Gestion des intervenants', 'podcast-imports' => 'Podcast imports', + 'podcast-imports-sync' => 'Sync feeds', 'episodes' => 'Épisodes', 'episode-list' => 'Tous les épisodes', 'episode-create' => 'Créer un épisode', @@ -26,14 +28,15 @@ return [ 'podcast-analytics-players' => 'Lecteurs', 'podcast-analytics-listening-time' => 'Durée d’écoute', 'podcast-analytics-time-periods' => 'Périodes', - 'premium' => 'Premium', + 'monetization' => 'Monetization', 'subscription-list' => 'Tous les abonnements', 'subscription-create' => 'Ajouter un abonnement', 'contributors' => 'Contributeurs', 'contributor-list' => 'Tous les contributeurs', 'contributor-add' => 'Ajouter un contributeur', - 'platforms' => 'Plate-formes externes', - 'platforms-podcasting' => 'Podcasts', + 'broadcast' => 'Broadcast', + 'platforms-podcasting' => 'Podcasting apps', 'platforms-social' => 'Réseaux sociaux', - 'platforms-funding' => 'Financement', + 'platforms-funding' => 'Funding links', + 'podcast-monetization-other' => 'Other', ]; diff --git a/modules/Admin/Language/fr2/Breadcrumb.php b/modules/Admin/Language/fr2/Breadcrumb.php index 5588f808..13b077df 100644 --- a/modules/Admin/Language/fr2/Breadcrumb.php +++ b/modules/Admin/Language/fr2/Breadcrumb.php @@ -39,9 +39,11 @@ return [ 'my-account' => 'mon compte', 'change-password' => 'changer le mot de passe', 'imports' => 'imports', + 'sync-feeds' => 'synchronize feeds', 'platforms' => 'plateformes', 'social' => 'réseaux sociaux', 'funding' => 'financement', + 'monetization-other' => 'other monetization', 'analytics' => 'mesure d’audience', 'locations' => 'localisation', 'webpages' => 'pages web', diff --git a/modules/Admin/Language/fr2/Common.php b/modules/Admin/Language/fr2/Common.php index 1d92e048..73daacf7 100644 --- a/modules/Admin/Language/fr2/Common.php +++ b/modules/Admin/Language/fr2/Common.php @@ -40,6 +40,7 @@ return [ ], 'upload_file' => 'Téléverser un fichier', 'remote_url' => 'URL distante', + 'save' => 'Save', ], 'play_episode_button' => [ 'play' => 'Lire', diff --git a/modules/Admin/Language/fr2/Episode.php b/modules/Admin/Language/fr2/Episode.php index 81a102fe..52ab28fd 100644 --- a/modules/Admin/Language/fr2/Episode.php +++ b/modules/Admin/Language/fr2/Episode.php @@ -22,6 +22,7 @@ return [ 'all_podcast_episodes' => 'Tous les épisodes du podcast', 'back_to_podcast' => 'Revenir au podcast', 'edit' => 'Modifier', + 'preview' => 'Preview', 'publish' => 'Publier', 'publish_edit' => 'Modifier la publication', 'publish_date_edit' => 'Modifier la date de publication', @@ -80,13 +81,13 @@ return [ audio {l\'audio} other {le média} } de l\'épisode.', - 'deleteFileError' => 'Impossible de supprimer {type, select, - transcript {la transcription} - chapters {les chapitres} - image {la couverture} - audio {l\'audio} - other {le média} - } du fichier {file_path}. Vous pouvez le supprimer manuellement de votre disque.', + 'deleteFileError' => 'Failed to delete {type, select, + transcript {transcript} + chapters {chapters} + image {cover} + audio {audio} + other {media} + } file {file_key}. You may manually remove it from your disk.', 'sameSlugError' => 'Il existe déjà un épisode avec le slug choisi.', ], 'form' => [ @@ -211,4 +212,14 @@ return [ 'light' => 'Clair', 'light-transparent' => 'Clair transparent', ], + 'publication_status_banner' => [ + 'draft_mode' => 'draft mode', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'preview' => 'Preview', + ], ]; diff --git a/modules/Admin/Language/fr2/Platforms.php b/modules/Admin/Language/fr2/Platforms.php index ab17d599..e161181c 100644 --- a/modules/Admin/Language/fr2/Platforms.php +++ b/modules/Admin/Language/fr2/Platforms.php @@ -9,9 +9,22 @@ declare(strict_types=1); */ return [ - 'title' => 'Platforms', + 'title' => [ + 'podcasting' => 'Podcasting platforms', + 'social' => 'Social networks', + 'funding' => 'Funding links', + ], + 'website' => 'Website', 'home_url' => 'Go to {platformName} website', + 'register' => 'Register', 'submit_url' => 'Submit your podcast on {platformName}', + 'your_link' => 'Your link', + 'your_id' => [ + 'podcasting' => 'Your ID', + 'social' => 'Your ID', + 'funding' => 'Your CTA', + ], + 'your_cta' => 'Your call to action', 'visible' => 'Display in podcast homepage?', 'on_embed' => 'Display on embeddable player?', 'remove' => 'Remove {platformName}', diff --git a/modules/Admin/Language/fr2/Podcast.php b/modules/Admin/Language/fr2/Podcast.php index ab84e4ff..d9359e9b 100644 --- a/modules/Admin/Language/fr2/Podcast.php +++ b/modules/Admin/Language/fr2/Podcast.php @@ -22,6 +22,7 @@ return [ 'delete' => 'Delete podcast', 'see_episodes' => 'See episodes', 'see_contributors' => 'See contributors', + 'monetization_other' => 'Other monetization', 'go_to_page' => 'Go to page', 'latest_episodes' => 'Latest episodes', 'see_all_episodes' => 'See all episodes', @@ -57,6 +58,8 @@ return [ 'form' => [ 'identity_section_title' => 'Podcast identity', 'identity_section_subtitle' => 'These fields allow you to get noticed.', + 'fediverse_section_title' => 'Fediverse identity', + 'cover' => 'Podcast cover', 'cover_size_hint' => 'Cover must be squared and at least 1400px wide and tall.', 'banner' => 'Podcast banner', @@ -132,7 +135,6 @@ return [ 'partner_id_hint' => 'Your own partner ID', 'partner_link_url_hint' => 'The generic partner link address', 'partner_image_url_hint' => 'The generic partner image address', - 'status_section_title' => 'Status', 'block' => 'Podcast should be hidden from public catalogues', 'block_hint' => 'The podcast show or hide status: toggling this on prevents the entire podcast from appearing in Apple Podcasts, Google Podcasts, and any third party apps that pull shows from these directories. (Not guaranteed)', diff --git a/modules/Admin/Language/fr2/PodcastNavigation.php b/modules/Admin/Language/fr2/PodcastNavigation.php index efc00e5b..bb777707 100644 --- a/modules/Admin/Language/fr2/PodcastNavigation.php +++ b/modules/Admin/Language/fr2/PodcastNavigation.php @@ -10,11 +10,13 @@ declare(strict_types=1); return [ 'go_to_page' => 'Go to podcast page', + 'rss_feed' => 'RSS feed', 'dashboard' => 'Podcast dashboard', 'podcast-view' => 'Home', 'podcast-edit' => 'Edit podcast', 'podcast-persons-manage' => 'Manage persons', 'podcast-imports' => 'Podcast imports', + 'podcast-imports-sync' => 'Sync feeds', 'episodes' => 'Episodes', 'episode-list' => 'All episodes', 'episode-create' => 'New episode', @@ -26,14 +28,15 @@ return [ 'podcast-analytics-players' => 'Players', 'podcast-analytics-listening-time' => 'Listening time', 'podcast-analytics-time-periods' => 'Time periods', - 'premium' => 'Premium', + 'monetization' => 'Monetization', 'subscription-list' => 'All subscriptions', 'subscription-create' => 'Add subscription', 'contributors' => 'Contributors', 'contributor-list' => 'All contributors', 'contributor-add' => 'Add contributor', - 'platforms' => 'External platforms', - 'platforms-podcasting' => 'Podcasting', + 'broadcast' => 'Broadcast', + 'platforms-podcasting' => 'Podcasting apps', 'platforms-social' => 'Social networks', - 'platforms-funding' => 'Funding', + 'platforms-funding' => 'Funding links', + 'podcast-monetization-other' => 'Other', ]; diff --git a/modules/Admin/Language/fr_CA/Breadcrumb.php b/modules/Admin/Language/fr_CA/Breadcrumb.php index 593322e6..6a678d4e 100644 --- a/modules/Admin/Language/fr_CA/Breadcrumb.php +++ b/modules/Admin/Language/fr_CA/Breadcrumb.php @@ -39,9 +39,11 @@ return [ 'my-account' => 'my account', 'change-password' => 'change password', 'imports' => 'imports', + 'sync-feeds' => 'synchronize feeds', 'platforms' => 'platforms', 'social' => 'social networks', 'funding' => 'funding', + 'monetization-other' => 'other monetization', 'analytics' => 'analytics', 'locations' => 'locations', 'webpages' => 'web pages', diff --git a/modules/Admin/Language/fr_CA/Common.php b/modules/Admin/Language/fr_CA/Common.php index 596c8bcd..74addcf2 100644 --- a/modules/Admin/Language/fr_CA/Common.php +++ b/modules/Admin/Language/fr_CA/Common.php @@ -40,6 +40,7 @@ return [ ], 'upload_file' => 'Upload a file', 'remote_url' => 'Remote URL', + 'save' => 'Save', ], 'play_episode_button' => [ 'play' => 'Play', diff --git a/modules/Admin/Language/fr_CA/Episode.php b/modules/Admin/Language/fr_CA/Episode.php index 98498bee..1a5e57a4 100644 --- a/modules/Admin/Language/fr_CA/Episode.php +++ b/modules/Admin/Language/fr_CA/Episode.php @@ -22,6 +22,7 @@ return [ 'all_podcast_episodes' => 'All podcast episodes', 'back_to_podcast' => 'Go back to podcast', 'edit' => 'Edit', + 'preview' => 'Preview', 'publish' => 'Publish', 'publish_edit' => 'Edit publication', 'publish_date_edit' => 'Edit publication date', @@ -86,7 +87,7 @@ return [ image {cover} audio {audio} other {media} - } file {file_path}. You may manually remove it from your disk.', + } file {file_key}. You may manually remove it from your disk.', 'sameSlugError' => 'An episode with the chosen slug already exists.', ], 'form' => [ @@ -211,4 +212,14 @@ return [ 'light' => 'Light', 'light-transparent' => 'Light transparent', ], + 'publication_status_banner' => [ + 'draft_mode' => 'draft mode', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'preview' => 'Preview', + ], ]; diff --git a/modules/Admin/Language/fr_CA/Platforms.php b/modules/Admin/Language/fr_CA/Platforms.php index ab17d599..e161181c 100644 --- a/modules/Admin/Language/fr_CA/Platforms.php +++ b/modules/Admin/Language/fr_CA/Platforms.php @@ -9,9 +9,22 @@ declare(strict_types=1); */ return [ - 'title' => 'Platforms', + 'title' => [ + 'podcasting' => 'Podcasting platforms', + 'social' => 'Social networks', + 'funding' => 'Funding links', + ], + 'website' => 'Website', 'home_url' => 'Go to {platformName} website', + 'register' => 'Register', 'submit_url' => 'Submit your podcast on {platformName}', + 'your_link' => 'Your link', + 'your_id' => [ + 'podcasting' => 'Your ID', + 'social' => 'Your ID', + 'funding' => 'Your CTA', + ], + 'your_cta' => 'Your call to action', 'visible' => 'Display in podcast homepage?', 'on_embed' => 'Display on embeddable player?', 'remove' => 'Remove {platformName}', diff --git a/modules/Admin/Language/fr_CA/Podcast.php b/modules/Admin/Language/fr_CA/Podcast.php index ab84e4ff..d9359e9b 100644 --- a/modules/Admin/Language/fr_CA/Podcast.php +++ b/modules/Admin/Language/fr_CA/Podcast.php @@ -22,6 +22,7 @@ return [ 'delete' => 'Delete podcast', 'see_episodes' => 'See episodes', 'see_contributors' => 'See contributors', + 'monetization_other' => 'Other monetization', 'go_to_page' => 'Go to page', 'latest_episodes' => 'Latest episodes', 'see_all_episodes' => 'See all episodes', @@ -57,6 +58,8 @@ return [ 'form' => [ 'identity_section_title' => 'Podcast identity', 'identity_section_subtitle' => 'These fields allow you to get noticed.', + 'fediverse_section_title' => 'Fediverse identity', + 'cover' => 'Podcast cover', 'cover_size_hint' => 'Cover must be squared and at least 1400px wide and tall.', 'banner' => 'Podcast banner', @@ -132,7 +135,6 @@ return [ 'partner_id_hint' => 'Your own partner ID', 'partner_link_url_hint' => 'The generic partner link address', 'partner_image_url_hint' => 'The generic partner image address', - 'status_section_title' => 'Status', 'block' => 'Podcast should be hidden from public catalogues', 'block_hint' => 'The podcast show or hide status: toggling this on prevents the entire podcast from appearing in Apple Podcasts, Google Podcasts, and any third party apps that pull shows from these directories. (Not guaranteed)', diff --git a/modules/Admin/Language/fr_CA/PodcastNavigation.php b/modules/Admin/Language/fr_CA/PodcastNavigation.php index efc00e5b..bb777707 100644 --- a/modules/Admin/Language/fr_CA/PodcastNavigation.php +++ b/modules/Admin/Language/fr_CA/PodcastNavigation.php @@ -10,11 +10,13 @@ declare(strict_types=1); return [ 'go_to_page' => 'Go to podcast page', + 'rss_feed' => 'RSS feed', 'dashboard' => 'Podcast dashboard', 'podcast-view' => 'Home', 'podcast-edit' => 'Edit podcast', 'podcast-persons-manage' => 'Manage persons', 'podcast-imports' => 'Podcast imports', + 'podcast-imports-sync' => 'Sync feeds', 'episodes' => 'Episodes', 'episode-list' => 'All episodes', 'episode-create' => 'New episode', @@ -26,14 +28,15 @@ return [ 'podcast-analytics-players' => 'Players', 'podcast-analytics-listening-time' => 'Listening time', 'podcast-analytics-time-periods' => 'Time periods', - 'premium' => 'Premium', + 'monetization' => 'Monetization', 'subscription-list' => 'All subscriptions', 'subscription-create' => 'Add subscription', 'contributors' => 'Contributors', 'contributor-list' => 'All contributors', 'contributor-add' => 'Add contributor', - 'platforms' => 'External platforms', - 'platforms-podcasting' => 'Podcasting', + 'broadcast' => 'Broadcast', + 'platforms-podcasting' => 'Podcasting apps', 'platforms-social' => 'Social networks', - 'platforms-funding' => 'Funding', + 'platforms-funding' => 'Funding links', + 'podcast-monetization-other' => 'Other', ]; diff --git a/modules/Admin/Language/gd/Breadcrumb.php b/modules/Admin/Language/gd/Breadcrumb.php index 593322e6..6a678d4e 100644 --- a/modules/Admin/Language/gd/Breadcrumb.php +++ b/modules/Admin/Language/gd/Breadcrumb.php @@ -39,9 +39,11 @@ return [ 'my-account' => 'my account', 'change-password' => 'change password', 'imports' => 'imports', + 'sync-feeds' => 'synchronize feeds', 'platforms' => 'platforms', 'social' => 'social networks', 'funding' => 'funding', + 'monetization-other' => 'other monetization', 'analytics' => 'analytics', 'locations' => 'locations', 'webpages' => 'web pages', diff --git a/modules/Admin/Language/gd/Common.php b/modules/Admin/Language/gd/Common.php index 596c8bcd..74addcf2 100644 --- a/modules/Admin/Language/gd/Common.php +++ b/modules/Admin/Language/gd/Common.php @@ -40,6 +40,7 @@ return [ ], 'upload_file' => 'Upload a file', 'remote_url' => 'Remote URL', + 'save' => 'Save', ], 'play_episode_button' => [ 'play' => 'Play', diff --git a/modules/Admin/Language/gd/Episode.php b/modules/Admin/Language/gd/Episode.php index 98498bee..1a5e57a4 100644 --- a/modules/Admin/Language/gd/Episode.php +++ b/modules/Admin/Language/gd/Episode.php @@ -22,6 +22,7 @@ return [ 'all_podcast_episodes' => 'All podcast episodes', 'back_to_podcast' => 'Go back to podcast', 'edit' => 'Edit', + 'preview' => 'Preview', 'publish' => 'Publish', 'publish_edit' => 'Edit publication', 'publish_date_edit' => 'Edit publication date', @@ -86,7 +87,7 @@ return [ image {cover} audio {audio} other {media} - } file {file_path}. You may manually remove it from your disk.', + } file {file_key}. You may manually remove it from your disk.', 'sameSlugError' => 'An episode with the chosen slug already exists.', ], 'form' => [ @@ -211,4 +212,14 @@ return [ 'light' => 'Light', 'light-transparent' => 'Light transparent', ], + 'publication_status_banner' => [ + 'draft_mode' => 'draft mode', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'preview' => 'Preview', + ], ]; diff --git a/modules/Admin/Language/gd/Platforms.php b/modules/Admin/Language/gd/Platforms.php index ab17d599..e161181c 100644 --- a/modules/Admin/Language/gd/Platforms.php +++ b/modules/Admin/Language/gd/Platforms.php @@ -9,9 +9,22 @@ declare(strict_types=1); */ return [ - 'title' => 'Platforms', + 'title' => [ + 'podcasting' => 'Podcasting platforms', + 'social' => 'Social networks', + 'funding' => 'Funding links', + ], + 'website' => 'Website', 'home_url' => 'Go to {platformName} website', + 'register' => 'Register', 'submit_url' => 'Submit your podcast on {platformName}', + 'your_link' => 'Your link', + 'your_id' => [ + 'podcasting' => 'Your ID', + 'social' => 'Your ID', + 'funding' => 'Your CTA', + ], + 'your_cta' => 'Your call to action', 'visible' => 'Display in podcast homepage?', 'on_embed' => 'Display on embeddable player?', 'remove' => 'Remove {platformName}', diff --git a/modules/Admin/Language/gd/Podcast.php b/modules/Admin/Language/gd/Podcast.php index ab84e4ff..d9359e9b 100644 --- a/modules/Admin/Language/gd/Podcast.php +++ b/modules/Admin/Language/gd/Podcast.php @@ -22,6 +22,7 @@ return [ 'delete' => 'Delete podcast', 'see_episodes' => 'See episodes', 'see_contributors' => 'See contributors', + 'monetization_other' => 'Other monetization', 'go_to_page' => 'Go to page', 'latest_episodes' => 'Latest episodes', 'see_all_episodes' => 'See all episodes', @@ -57,6 +58,8 @@ return [ 'form' => [ 'identity_section_title' => 'Podcast identity', 'identity_section_subtitle' => 'These fields allow you to get noticed.', + 'fediverse_section_title' => 'Fediverse identity', + 'cover' => 'Podcast cover', 'cover_size_hint' => 'Cover must be squared and at least 1400px wide and tall.', 'banner' => 'Podcast banner', @@ -132,7 +135,6 @@ return [ 'partner_id_hint' => 'Your own partner ID', 'partner_link_url_hint' => 'The generic partner link address', 'partner_image_url_hint' => 'The generic partner image address', - 'status_section_title' => 'Status', 'block' => 'Podcast should be hidden from public catalogues', 'block_hint' => 'The podcast show or hide status: toggling this on prevents the entire podcast from appearing in Apple Podcasts, Google Podcasts, and any third party apps that pull shows from these directories. (Not guaranteed)', diff --git a/modules/Admin/Language/gd/PodcastNavigation.php b/modules/Admin/Language/gd/PodcastNavigation.php index efc00e5b..bb777707 100644 --- a/modules/Admin/Language/gd/PodcastNavigation.php +++ b/modules/Admin/Language/gd/PodcastNavigation.php @@ -10,11 +10,13 @@ declare(strict_types=1); return [ 'go_to_page' => 'Go to podcast page', + 'rss_feed' => 'RSS feed', 'dashboard' => 'Podcast dashboard', 'podcast-view' => 'Home', 'podcast-edit' => 'Edit podcast', 'podcast-persons-manage' => 'Manage persons', 'podcast-imports' => 'Podcast imports', + 'podcast-imports-sync' => 'Sync feeds', 'episodes' => 'Episodes', 'episode-list' => 'All episodes', 'episode-create' => 'New episode', @@ -26,14 +28,15 @@ return [ 'podcast-analytics-players' => 'Players', 'podcast-analytics-listening-time' => 'Listening time', 'podcast-analytics-time-periods' => 'Time periods', - 'premium' => 'Premium', + 'monetization' => 'Monetization', 'subscription-list' => 'All subscriptions', 'subscription-create' => 'Add subscription', 'contributors' => 'Contributors', 'contributor-list' => 'All contributors', 'contributor-add' => 'Add contributor', - 'platforms' => 'External platforms', - 'platforms-podcasting' => 'Podcasting', + 'broadcast' => 'Broadcast', + 'platforms-podcasting' => 'Podcasting apps', 'platforms-social' => 'Social networks', - 'platforms-funding' => 'Funding', + 'platforms-funding' => 'Funding links', + 'podcast-monetization-other' => 'Other', ]; diff --git a/modules/Admin/Language/gl/Breadcrumb.php b/modules/Admin/Language/gl/Breadcrumb.php index 15c54937..c6236fe0 100644 --- a/modules/Admin/Language/gl/Breadcrumb.php +++ b/modules/Admin/Language/gl/Breadcrumb.php @@ -39,9 +39,11 @@ return [ 'my-account' => 'a miña conta', 'change-password' => 'cambiar contrasinal', 'imports' => 'importacións', + 'sync-feeds' => 'synchronize feeds', 'platforms' => 'plataformas', 'social' => 'redes sociais', 'funding' => 'financiamento', + 'monetization-other' => 'other monetization', 'analytics' => 'análise', 'locations' => 'localizacións', 'webpages' => 'páxinas web', diff --git a/modules/Admin/Language/gl/Common.php b/modules/Admin/Language/gl/Common.php index 66a6f8d2..bdccefcf 100644 --- a/modules/Admin/Language/gl/Common.php +++ b/modules/Admin/Language/gl/Common.php @@ -40,6 +40,7 @@ return [ ], 'upload_file' => 'Subir un ficheiro', 'remote_url' => 'URL remoto', + 'save' => 'Save', ], 'play_episode_button' => [ 'play' => 'Reproducir', diff --git a/modules/Admin/Language/gl/Episode.php b/modules/Admin/Language/gl/Episode.php index 428610bc..a38dd8ba 100644 --- a/modules/Admin/Language/gl/Episode.php +++ b/modules/Admin/Language/gl/Episode.php @@ -22,6 +22,7 @@ return [ 'all_podcast_episodes' => 'Tódolos episodios do podcast', 'back_to_podcast' => 'Volver ao podcast', 'edit' => 'Editar', + 'preview' => 'Vista previa', 'publish' => 'Publicar', 'publish_edit' => 'Editar publicación', 'publish_date_edit' => 'Editar data de publicación', @@ -55,7 +56,7 @@ return [ }', 'episode' => 'Episodio', 'visibility' => 'Visibilidade', - 'downloads' => 'Downloads', + 'downloads' => 'Descargas', 'comments' => 'Comentarios', 'actions' => 'Accións', ], @@ -81,12 +82,12 @@ return [ other {do multimedia} } do episodio.', 'deleteFileError' => 'Fallou a eliminación do ficheiro {type, select, - transcript {da transcrición} - chapters {dos capítulos} - image {da imaxe} - audio {do audio} - other {do multimedia} - } {file_path}. Deberías eliminala manualmente do disco.', + transcript {transcript} + chapters {chapters} + image {cover} + audio {audio} + other {media} + } {file_key}. Deberías eliminalo a man do disco.', 'sameSlugError' => 'Xa existe un episodio co id de url elexido.', ], 'form' => [ @@ -211,4 +212,14 @@ return [ 'light' => 'Claro', 'light-transparent' => 'Claro transparente', ], + 'publication_status_banner' => [ + 'draft_mode' => 'modo borrador', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'preview' => 'Vista previa', + ], ]; diff --git a/modules/Admin/Language/gl/Platforms.php b/modules/Admin/Language/gl/Platforms.php index aa2eb173..d9c98818 100644 --- a/modules/Admin/Language/gl/Platforms.php +++ b/modules/Admin/Language/gl/Platforms.php @@ -9,9 +9,22 @@ declare(strict_types=1); */ return [ - 'title' => 'Plataformas', + 'title' => [ + 'podcasting' => 'Podcasting platforms', + 'social' => 'Social networks', + 'funding' => 'Funding links', + ], + 'website' => 'Website', 'home_url' => 'Ir á web de {platformName}', + 'register' => 'Register', 'submit_url' => 'Envía o teu podcast en {platformName}', + 'your_link' => 'Your link', + 'your_id' => [ + 'podcasting' => 'Your ID', + 'social' => 'Your ID', + 'funding' => 'Your CTA', + ], + 'your_cta' => 'Your call to action', 'visible' => 'Mostrar na páxina de inicio do podcast?', 'on_embed' => 'Mostrar no navegador incrustable?', 'remove' => 'Eliminar {platformName}', diff --git a/modules/Admin/Language/gl/Podcast.php b/modules/Admin/Language/gl/Podcast.php index 6abc8e1d..b16aade1 100644 --- a/modules/Admin/Language/gl/Podcast.php +++ b/modules/Admin/Language/gl/Podcast.php @@ -22,6 +22,7 @@ return [ 'delete' => 'Eliminar podcast', 'see_episodes' => 'Ver episodios', 'see_contributors' => 'Ver colaboradoras', + 'monetization_other' => 'Other monetization', 'go_to_page' => 'Ir á páxina', 'latest_episodes' => 'Últimos episodios', 'see_all_episodes' => 'Ver tódolos episodios', @@ -57,6 +58,8 @@ return [ 'form' => [ 'identity_section_title' => 'Identidade do podcast', 'identity_section_subtitle' => 'Estes campos permítenche recibir notificacións.', + 'fediverse_section_title' => 'Fediverse identity', + 'cover' => 'Portada do podcast', 'cover_size_hint' => 'A portada ten que ser cadrada e como mínimo de 1400px de alto e ancho.', 'banner' => 'Cabeceira do podcast', @@ -132,7 +135,6 @@ return [ 'partner_id_hint' => 'Your own partner ID', 'partner_link_url_hint' => 'The generic partner link address', 'partner_image_url_hint' => 'The generic partner image address', - 'status_section_title' => 'Status', 'block' => 'Podcast should be hidden from public catalogues', 'block_hint' => 'The podcast show or hide status: toggling this on prevents the entire podcast from appearing in Apple Podcasts, Google Podcasts, and any third party apps that pull shows from these directories. (Not guaranteed)', diff --git a/modules/Admin/Language/gl/PodcastNavigation.php b/modules/Admin/Language/gl/PodcastNavigation.php index 4be04cdf..cb191d10 100644 --- a/modules/Admin/Language/gl/PodcastNavigation.php +++ b/modules/Admin/Language/gl/PodcastNavigation.php @@ -10,11 +10,13 @@ declare(strict_types=1); return [ 'go_to_page' => 'Ir á páxina do podcast', + 'rss_feed' => 'RSS feed', 'dashboard' => 'Taboleiro do podcast', 'podcast-view' => 'Inicio', 'podcast-edit' => 'Editar podcast', 'podcast-persons-manage' => 'Xestionar persoas', 'podcast-imports' => 'Importacións de podcasts', + 'podcast-imports-sync' => 'Sync feeds', 'episodes' => 'Episodios', 'episode-list' => 'Todos os episodios', 'episode-create' => 'Novo episodio', @@ -26,14 +28,15 @@ return [ 'podcast-analytics-players' => 'Reprodutores', 'podcast-analytics-listening-time' => 'Tempo de escoita', 'podcast-analytics-time-periods' => 'Período de tempo', - 'premium' => 'Premium', + 'monetization' => 'Monetization', 'subscription-list' => 'Todas as subscricións', 'subscription-create' => 'Engadir unha subscrición', 'contributors' => 'Contribúen', 'contributor-list' => 'Todas as contribucións', 'contributor-add' => 'Engadir colaboración', - 'platforms' => 'Plataformas externas', - 'platforms-podcasting' => 'Podcasts', + 'broadcast' => 'Broadcast', + 'platforms-podcasting' => 'Podcasting apps', 'platforms-social' => 'Redes sociais', - 'platforms-funding' => 'Financiamento', + 'platforms-funding' => 'Funding links', + 'podcast-monetization-other' => 'Other', ]; diff --git a/modules/Admin/Language/id/Breadcrumb.php b/modules/Admin/Language/id/Breadcrumb.php index 38927596..290483af 100644 --- a/modules/Admin/Language/id/Breadcrumb.php +++ b/modules/Admin/Language/id/Breadcrumb.php @@ -39,9 +39,11 @@ return [ 'my-account' => 'akun saya', 'change-password' => 'ubah kata sandi', 'imports' => 'imports', + 'sync-feeds' => 'synchronize feeds', 'platforms' => 'platforms', 'social' => 'social networks', 'funding' => 'funding', + 'monetization-other' => 'other monetization', 'analytics' => 'analitik', 'locations' => 'locations', 'webpages' => 'web pages', diff --git a/modules/Admin/Language/id/Common.php b/modules/Admin/Language/id/Common.php index 596c8bcd..74addcf2 100644 --- a/modules/Admin/Language/id/Common.php +++ b/modules/Admin/Language/id/Common.php @@ -40,6 +40,7 @@ return [ ], 'upload_file' => 'Upload a file', 'remote_url' => 'Remote URL', + 'save' => 'Save', ], 'play_episode_button' => [ 'play' => 'Play', diff --git a/modules/Admin/Language/id/Episode.php b/modules/Admin/Language/id/Episode.php index 98498bee..1a5e57a4 100644 --- a/modules/Admin/Language/id/Episode.php +++ b/modules/Admin/Language/id/Episode.php @@ -22,6 +22,7 @@ return [ 'all_podcast_episodes' => 'All podcast episodes', 'back_to_podcast' => 'Go back to podcast', 'edit' => 'Edit', + 'preview' => 'Preview', 'publish' => 'Publish', 'publish_edit' => 'Edit publication', 'publish_date_edit' => 'Edit publication date', @@ -86,7 +87,7 @@ return [ image {cover} audio {audio} other {media} - } file {file_path}. You may manually remove it from your disk.', + } file {file_key}. You may manually remove it from your disk.', 'sameSlugError' => 'An episode with the chosen slug already exists.', ], 'form' => [ @@ -211,4 +212,14 @@ return [ 'light' => 'Light', 'light-transparent' => 'Light transparent', ], + 'publication_status_banner' => [ + 'draft_mode' => 'draft mode', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'preview' => 'Preview', + ], ]; diff --git a/modules/Admin/Language/id/Platforms.php b/modules/Admin/Language/id/Platforms.php index ab17d599..e161181c 100644 --- a/modules/Admin/Language/id/Platforms.php +++ b/modules/Admin/Language/id/Platforms.php @@ -9,9 +9,22 @@ declare(strict_types=1); */ return [ - 'title' => 'Platforms', + 'title' => [ + 'podcasting' => 'Podcasting platforms', + 'social' => 'Social networks', + 'funding' => 'Funding links', + ], + 'website' => 'Website', 'home_url' => 'Go to {platformName} website', + 'register' => 'Register', 'submit_url' => 'Submit your podcast on {platformName}', + 'your_link' => 'Your link', + 'your_id' => [ + 'podcasting' => 'Your ID', + 'social' => 'Your ID', + 'funding' => 'Your CTA', + ], + 'your_cta' => 'Your call to action', 'visible' => 'Display in podcast homepage?', 'on_embed' => 'Display on embeddable player?', 'remove' => 'Remove {platformName}', diff --git a/modules/Admin/Language/id/Podcast.php b/modules/Admin/Language/id/Podcast.php index ab84e4ff..d9359e9b 100644 --- a/modules/Admin/Language/id/Podcast.php +++ b/modules/Admin/Language/id/Podcast.php @@ -22,6 +22,7 @@ return [ 'delete' => 'Delete podcast', 'see_episodes' => 'See episodes', 'see_contributors' => 'See contributors', + 'monetization_other' => 'Other monetization', 'go_to_page' => 'Go to page', 'latest_episodes' => 'Latest episodes', 'see_all_episodes' => 'See all episodes', @@ -57,6 +58,8 @@ return [ 'form' => [ 'identity_section_title' => 'Podcast identity', 'identity_section_subtitle' => 'These fields allow you to get noticed.', + 'fediverse_section_title' => 'Fediverse identity', + 'cover' => 'Podcast cover', 'cover_size_hint' => 'Cover must be squared and at least 1400px wide and tall.', 'banner' => 'Podcast banner', @@ -132,7 +135,6 @@ return [ 'partner_id_hint' => 'Your own partner ID', 'partner_link_url_hint' => 'The generic partner link address', 'partner_image_url_hint' => 'The generic partner image address', - 'status_section_title' => 'Status', 'block' => 'Podcast should be hidden from public catalogues', 'block_hint' => 'The podcast show or hide status: toggling this on prevents the entire podcast from appearing in Apple Podcasts, Google Podcasts, and any third party apps that pull shows from these directories. (Not guaranteed)', diff --git a/modules/Admin/Language/id/PodcastNavigation.php b/modules/Admin/Language/id/PodcastNavigation.php index efc00e5b..bb777707 100644 --- a/modules/Admin/Language/id/PodcastNavigation.php +++ b/modules/Admin/Language/id/PodcastNavigation.php @@ -10,11 +10,13 @@ declare(strict_types=1); return [ 'go_to_page' => 'Go to podcast page', + 'rss_feed' => 'RSS feed', 'dashboard' => 'Podcast dashboard', 'podcast-view' => 'Home', 'podcast-edit' => 'Edit podcast', 'podcast-persons-manage' => 'Manage persons', 'podcast-imports' => 'Podcast imports', + 'podcast-imports-sync' => 'Sync feeds', 'episodes' => 'Episodes', 'episode-list' => 'All episodes', 'episode-create' => 'New episode', @@ -26,14 +28,15 @@ return [ 'podcast-analytics-players' => 'Players', 'podcast-analytics-listening-time' => 'Listening time', 'podcast-analytics-time-periods' => 'Time periods', - 'premium' => 'Premium', + 'monetization' => 'Monetization', 'subscription-list' => 'All subscriptions', 'subscription-create' => 'Add subscription', 'contributors' => 'Contributors', 'contributor-list' => 'All contributors', 'contributor-add' => 'Add contributor', - 'platforms' => 'External platforms', - 'platforms-podcasting' => 'Podcasting', + 'broadcast' => 'Broadcast', + 'platforms-podcasting' => 'Podcasting apps', 'platforms-social' => 'Social networks', - 'platforms-funding' => 'Funding', + 'platforms-funding' => 'Funding links', + 'podcast-monetization-other' => 'Other', ]; diff --git a/modules/Admin/Language/it/Breadcrumb.php b/modules/Admin/Language/it/Breadcrumb.php index 21988dad..fa31a5fe 100644 --- a/modules/Admin/Language/it/Breadcrumb.php +++ b/modules/Admin/Language/it/Breadcrumb.php @@ -39,9 +39,11 @@ return [ 'my-account' => 'il mio profilo', 'change-password' => 'cambia la password', 'imports' => 'imports', + 'sync-feeds' => 'synchronize feeds', 'platforms' => 'piattaforme', 'social' => 'social networks', 'funding' => 'finanziamento', + 'monetization-other' => 'other monetization', 'analytics' => 'analytics', 'locations' => 'posizioni', 'webpages' => 'pagine web', diff --git a/modules/Admin/Language/it/Common.php b/modules/Admin/Language/it/Common.php index bff79dff..82ad7a8c 100644 --- a/modules/Admin/Language/it/Common.php +++ b/modules/Admin/Language/it/Common.php @@ -40,6 +40,7 @@ return [ ], 'upload_file' => 'Carica un file', 'remote_url' => 'URL remoto', + 'save' => 'Save', ], 'play_episode_button' => [ 'play' => 'Riproduci', diff --git a/modules/Admin/Language/it/Episode.php b/modules/Admin/Language/it/Episode.php index 56151df7..28a890d0 100644 --- a/modules/Admin/Language/it/Episode.php +++ b/modules/Admin/Language/it/Episode.php @@ -22,6 +22,7 @@ return [ 'all_podcast_episodes' => 'Tutti gli episodi del podcast', 'back_to_podcast' => 'Torna a podcast', 'edit' => 'Modifica', + 'preview' => 'Preview', 'publish' => 'Pubblica', 'publish_edit' => 'Modifica pubblicazione', 'publish_date_edit' => 'Edit publication date', @@ -86,7 +87,7 @@ return [ image {cover} audio {audio} other {media} - } file {file_path}. You may manually remove it from your disk.', + } file {file_key}. You may manually remove it from your disk.', 'sameSlugError' => 'An episode with the chosen slug already exists.', ], 'form' => [ @@ -211,4 +212,14 @@ return [ 'light' => 'Light', 'light-transparent' => 'Light transparent', ], + 'publication_status_banner' => [ + 'draft_mode' => 'draft mode', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'preview' => 'Preview', + ], ]; diff --git a/modules/Admin/Language/it/Platforms.php b/modules/Admin/Language/it/Platforms.php index ab17d599..e161181c 100644 --- a/modules/Admin/Language/it/Platforms.php +++ b/modules/Admin/Language/it/Platforms.php @@ -9,9 +9,22 @@ declare(strict_types=1); */ return [ - 'title' => 'Platforms', + 'title' => [ + 'podcasting' => 'Podcasting platforms', + 'social' => 'Social networks', + 'funding' => 'Funding links', + ], + 'website' => 'Website', 'home_url' => 'Go to {platformName} website', + 'register' => 'Register', 'submit_url' => 'Submit your podcast on {platformName}', + 'your_link' => 'Your link', + 'your_id' => [ + 'podcasting' => 'Your ID', + 'social' => 'Your ID', + 'funding' => 'Your CTA', + ], + 'your_cta' => 'Your call to action', 'visible' => 'Display in podcast homepage?', 'on_embed' => 'Display on embeddable player?', 'remove' => 'Remove {platformName}', diff --git a/modules/Admin/Language/it/Podcast.php b/modules/Admin/Language/it/Podcast.php index ab84e4ff..d9359e9b 100644 --- a/modules/Admin/Language/it/Podcast.php +++ b/modules/Admin/Language/it/Podcast.php @@ -22,6 +22,7 @@ return [ 'delete' => 'Delete podcast', 'see_episodes' => 'See episodes', 'see_contributors' => 'See contributors', + 'monetization_other' => 'Other monetization', 'go_to_page' => 'Go to page', 'latest_episodes' => 'Latest episodes', 'see_all_episodes' => 'See all episodes', @@ -57,6 +58,8 @@ return [ 'form' => [ 'identity_section_title' => 'Podcast identity', 'identity_section_subtitle' => 'These fields allow you to get noticed.', + 'fediverse_section_title' => 'Fediverse identity', + 'cover' => 'Podcast cover', 'cover_size_hint' => 'Cover must be squared and at least 1400px wide and tall.', 'banner' => 'Podcast banner', @@ -132,7 +135,6 @@ return [ 'partner_id_hint' => 'Your own partner ID', 'partner_link_url_hint' => 'The generic partner link address', 'partner_image_url_hint' => 'The generic partner image address', - 'status_section_title' => 'Status', 'block' => 'Podcast should be hidden from public catalogues', 'block_hint' => 'The podcast show or hide status: toggling this on prevents the entire podcast from appearing in Apple Podcasts, Google Podcasts, and any third party apps that pull shows from these directories. (Not guaranteed)', diff --git a/modules/Admin/Language/it/PodcastNavigation.php b/modules/Admin/Language/it/PodcastNavigation.php index efc00e5b..bb777707 100644 --- a/modules/Admin/Language/it/PodcastNavigation.php +++ b/modules/Admin/Language/it/PodcastNavigation.php @@ -10,11 +10,13 @@ declare(strict_types=1); return [ 'go_to_page' => 'Go to podcast page', + 'rss_feed' => 'RSS feed', 'dashboard' => 'Podcast dashboard', 'podcast-view' => 'Home', 'podcast-edit' => 'Edit podcast', 'podcast-persons-manage' => 'Manage persons', 'podcast-imports' => 'Podcast imports', + 'podcast-imports-sync' => 'Sync feeds', 'episodes' => 'Episodes', 'episode-list' => 'All episodes', 'episode-create' => 'New episode', @@ -26,14 +28,15 @@ return [ 'podcast-analytics-players' => 'Players', 'podcast-analytics-listening-time' => 'Listening time', 'podcast-analytics-time-periods' => 'Time periods', - 'premium' => 'Premium', + 'monetization' => 'Monetization', 'subscription-list' => 'All subscriptions', 'subscription-create' => 'Add subscription', 'contributors' => 'Contributors', 'contributor-list' => 'All contributors', 'contributor-add' => 'Add contributor', - 'platforms' => 'External platforms', - 'platforms-podcasting' => 'Podcasting', + 'broadcast' => 'Broadcast', + 'platforms-podcasting' => 'Podcasting apps', 'platforms-social' => 'Social networks', - 'platforms-funding' => 'Funding', + 'platforms-funding' => 'Funding links', + 'podcast-monetization-other' => 'Other', ]; diff --git a/modules/Admin/Language/ja/Breadcrumb.php b/modules/Admin/Language/ja/Breadcrumb.php index 593322e6..6a678d4e 100644 --- a/modules/Admin/Language/ja/Breadcrumb.php +++ b/modules/Admin/Language/ja/Breadcrumb.php @@ -39,9 +39,11 @@ return [ 'my-account' => 'my account', 'change-password' => 'change password', 'imports' => 'imports', + 'sync-feeds' => 'synchronize feeds', 'platforms' => 'platforms', 'social' => 'social networks', 'funding' => 'funding', + 'monetization-other' => 'other monetization', 'analytics' => 'analytics', 'locations' => 'locations', 'webpages' => 'web pages', diff --git a/modules/Admin/Language/ja/Common.php b/modules/Admin/Language/ja/Common.php index 596c8bcd..74addcf2 100644 --- a/modules/Admin/Language/ja/Common.php +++ b/modules/Admin/Language/ja/Common.php @@ -40,6 +40,7 @@ return [ ], 'upload_file' => 'Upload a file', 'remote_url' => 'Remote URL', + 'save' => 'Save', ], 'play_episode_button' => [ 'play' => 'Play', diff --git a/modules/Admin/Language/ja/Episode.php b/modules/Admin/Language/ja/Episode.php index 98498bee..1a5e57a4 100644 --- a/modules/Admin/Language/ja/Episode.php +++ b/modules/Admin/Language/ja/Episode.php @@ -22,6 +22,7 @@ return [ 'all_podcast_episodes' => 'All podcast episodes', 'back_to_podcast' => 'Go back to podcast', 'edit' => 'Edit', + 'preview' => 'Preview', 'publish' => 'Publish', 'publish_edit' => 'Edit publication', 'publish_date_edit' => 'Edit publication date', @@ -86,7 +87,7 @@ return [ image {cover} audio {audio} other {media} - } file {file_path}. You may manually remove it from your disk.', + } file {file_key}. You may manually remove it from your disk.', 'sameSlugError' => 'An episode with the chosen slug already exists.', ], 'form' => [ @@ -211,4 +212,14 @@ return [ 'light' => 'Light', 'light-transparent' => 'Light transparent', ], + 'publication_status_banner' => [ + 'draft_mode' => 'draft mode', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'preview' => 'Preview', + ], ]; diff --git a/modules/Admin/Language/ja/Platforms.php b/modules/Admin/Language/ja/Platforms.php index ab17d599..e161181c 100644 --- a/modules/Admin/Language/ja/Platforms.php +++ b/modules/Admin/Language/ja/Platforms.php @@ -9,9 +9,22 @@ declare(strict_types=1); */ return [ - 'title' => 'Platforms', + 'title' => [ + 'podcasting' => 'Podcasting platforms', + 'social' => 'Social networks', + 'funding' => 'Funding links', + ], + 'website' => 'Website', 'home_url' => 'Go to {platformName} website', + 'register' => 'Register', 'submit_url' => 'Submit your podcast on {platformName}', + 'your_link' => 'Your link', + 'your_id' => [ + 'podcasting' => 'Your ID', + 'social' => 'Your ID', + 'funding' => 'Your CTA', + ], + 'your_cta' => 'Your call to action', 'visible' => 'Display in podcast homepage?', 'on_embed' => 'Display on embeddable player?', 'remove' => 'Remove {platformName}', diff --git a/modules/Admin/Language/ja/Podcast.php b/modules/Admin/Language/ja/Podcast.php index ab84e4ff..d9359e9b 100644 --- a/modules/Admin/Language/ja/Podcast.php +++ b/modules/Admin/Language/ja/Podcast.php @@ -22,6 +22,7 @@ return [ 'delete' => 'Delete podcast', 'see_episodes' => 'See episodes', 'see_contributors' => 'See contributors', + 'monetization_other' => 'Other monetization', 'go_to_page' => 'Go to page', 'latest_episodes' => 'Latest episodes', 'see_all_episodes' => 'See all episodes', @@ -57,6 +58,8 @@ return [ 'form' => [ 'identity_section_title' => 'Podcast identity', 'identity_section_subtitle' => 'These fields allow you to get noticed.', + 'fediverse_section_title' => 'Fediverse identity', + 'cover' => 'Podcast cover', 'cover_size_hint' => 'Cover must be squared and at least 1400px wide and tall.', 'banner' => 'Podcast banner', @@ -132,7 +135,6 @@ return [ 'partner_id_hint' => 'Your own partner ID', 'partner_link_url_hint' => 'The generic partner link address', 'partner_image_url_hint' => 'The generic partner image address', - 'status_section_title' => 'Status', 'block' => 'Podcast should be hidden from public catalogues', 'block_hint' => 'The podcast show or hide status: toggling this on prevents the entire podcast from appearing in Apple Podcasts, Google Podcasts, and any third party apps that pull shows from these directories. (Not guaranteed)', diff --git a/modules/Admin/Language/ja/PodcastNavigation.php b/modules/Admin/Language/ja/PodcastNavigation.php index efc00e5b..bb777707 100644 --- a/modules/Admin/Language/ja/PodcastNavigation.php +++ b/modules/Admin/Language/ja/PodcastNavigation.php @@ -10,11 +10,13 @@ declare(strict_types=1); return [ 'go_to_page' => 'Go to podcast page', + 'rss_feed' => 'RSS feed', 'dashboard' => 'Podcast dashboard', 'podcast-view' => 'Home', 'podcast-edit' => 'Edit podcast', 'podcast-persons-manage' => 'Manage persons', 'podcast-imports' => 'Podcast imports', + 'podcast-imports-sync' => 'Sync feeds', 'episodes' => 'Episodes', 'episode-list' => 'All episodes', 'episode-create' => 'New episode', @@ -26,14 +28,15 @@ return [ 'podcast-analytics-players' => 'Players', 'podcast-analytics-listening-time' => 'Listening time', 'podcast-analytics-time-periods' => 'Time periods', - 'premium' => 'Premium', + 'monetization' => 'Monetization', 'subscription-list' => 'All subscriptions', 'subscription-create' => 'Add subscription', 'contributors' => 'Contributors', 'contributor-list' => 'All contributors', 'contributor-add' => 'Add contributor', - 'platforms' => 'External platforms', - 'platforms-podcasting' => 'Podcasting', + 'broadcast' => 'Broadcast', + 'platforms-podcasting' => 'Podcasting apps', 'platforms-social' => 'Social networks', - 'platforms-funding' => 'Funding', + 'platforms-funding' => 'Funding links', + 'podcast-monetization-other' => 'Other', ]; diff --git a/modules/Admin/Language/kk/AboutCastopod.php b/modules/Admin/Language/kk/AboutCastopod.php new file mode 100644 index 00000000..3fb62aff --- /dev/null +++ b/modules/Admin/Language/kk/AboutCastopod.php @@ -0,0 +1,22 @@ + 'About Castopod', + 'host_name' => 'Host name', + 'version' => 'Castopod version', + 'php_version' => 'PHP version', + 'os' => 'Operating System', + 'languages' => 'Languages', + 'update_database' => 'Update database', + 'messages' => [ + 'databaseUpdateSuccess' => 'Database is up to date!', + ], +]; diff --git a/modules/Admin/Language/kk/Breadcrumb.php b/modules/Admin/Language/kk/Breadcrumb.php new file mode 100644 index 00000000..6a678d4e --- /dev/null +++ b/modules/Admin/Language/kk/Breadcrumb.php @@ -0,0 +1,59 @@ + 'breadcrumb', + config(Admin::class) + ->gateway => 'Home', + 'podcasts' => 'podcasts', + 'episodes' => 'episodes', + 'subscriptions' => 'subscriptions', + 'contributors' => 'contributors', + 'pages' => 'pages', + 'settings' => 'settings', + 'theme' => 'theme', + 'about' => 'about', + 'add' => 'add', + 'new' => 'new', + 'edit' => 'edit', + 'persons' => 'persons', + 'publish' => 'publish', + 'publish-edit' => 'edit publication', + 'publish-date-edit' => 'edit publication date', + 'unpublish' => 'unpublish', + 'delete' => 'delete', + 'remove' => 'remove', + 'fediverse' => 'fediverse', + 'blocked-actors' => 'blocked actors', + 'blocked-domains' => 'blocked domains', + 'users' => 'users', + 'my-account' => 'my account', + 'change-password' => 'change password', + 'imports' => 'imports', + 'sync-feeds' => 'synchronize feeds', + 'platforms' => 'platforms', + 'social' => 'social networks', + 'funding' => 'funding', + 'monetization-other' => 'other monetization', + 'analytics' => 'analytics', + 'locations' => 'locations', + 'webpages' => 'web pages', + 'unique-listeners' => 'unique listeners', + 'players' => 'players', + 'listening-time' => 'listening time', + 'time-periods' => 'time periods', + 'soundbites' => 'soundbites', + 'video-clips' => 'video clips', + 'embed' => 'embeddable player', + 'notifications' => 'notifications', + 'suspend' => 'suspend', +]; diff --git a/modules/Admin/Language/kk/Charts.php b/modules/Admin/Language/kk/Charts.php new file mode 100644 index 00000000..6ede2510 --- /dev/null +++ b/modules/Admin/Language/kk/Charts.php @@ -0,0 +1,41 @@ + 'Episode downloads by service (for the past week)', + 'by_player_weekly' => 'Episode downloads by player (for the past week)', + 'by_player_yearly' => 'Episode downloads by player (for the past year)', + 'by_device_weekly' => 'Episode downloads by device (for the past week)', + 'by_os_weekly' => 'Episode downloads by O.S. (for the past week)', + 'podcast_by_region' => 'Episode downloads by region (for the past week)', + 'unique_daily_listeners' => 'Daily unique listeners', + 'unique_monthly_listeners' => 'Monthly unique listeners', + 'by_browser' => 'Web pages usage by browser (for the past week)', + 'podcast_by_day' => 'Episode daily downloads', + 'podcast_by_month' => 'Episode monthly downloads', + 'episode_by_day' => 'Episode daily downloads (first 60 days)', + 'episode_by_month' => 'Episode monthly downloads', + 'episodes_by_day' => + '5 latest episodes downloads (during their first 60 days)', + 'by_country_weekly' => 'Episode downloads by country (for the past week)', + 'by_country_yearly' => 'Episode downloads by country (for the past year)', + 'by_domain_weekly' => 'Web pages visits by source (for the past week)', + 'by_domain_yearly' => 'Web pages visits by source (for the past year)', + 'by_entry_page' => 'Web pages visits by landing page (for the past week)', + 'podcast_bots' => 'Bots (crawlers)', + 'daily_listening_time' => 'Daily cumulative listening time', + 'monthly_listening_time' => 'Monthly cumulative listening time', + 'by_weekday' => 'By week day (for the past 60 days)', + 'by_hour' => 'By time of day (for the past 60 days)', + 'podcast_by_bandwidth' => 'Daily used bandwidth (in MB)', + 'total_storage_by_month' => 'Monthly storage (in MB)', + 'total_bandwidth_by_month' => 'Monthly used bandwidth (in MB)', + 'total_bandwidth_by_month_limit' => 'Limited to {totalBandwidth} per month', +]; diff --git a/modules/Admin/Language/kk/Common.php b/modules/Admin/Language/kk/Common.php new file mode 100644 index 00000000..74addcf2 --- /dev/null +++ b/modules/Admin/Language/kk/Common.php @@ -0,0 +1,52 @@ + 'Yes', + 'no' => 'No', + 'cancel' => 'Cancel', + 'optional' => 'Optional', + 'more' => 'More', + 'no_data' => 'No data found!', + 'close' => 'Close', + 'edit' => 'Edit', + 'copy' => 'Copy', + 'copied' => 'Copied!', + 'home' => 'Home', + 'explicit' => 'Explicit', + 'powered_by' => 'Powered by {castopod}', + 'actions' => 'Actions', + 'pageInfo' => 'Page {currentPage} out of {pageCount}', + 'go_back' => 'Go back', + 'forms' => [ + 'editor' => [ + 'write' => 'Write', + 'preview' => 'Preview', + 'help' => 'Powered by markdown', + ], + 'multiSelect' => [ + 'selectText' => 'Press to select', + 'loadingText' => 'Loading…', + 'noResultsText' => 'No results found', + 'noChoicesText' => 'No choices to choose from', + 'maxItemText' => 'Cannot add more items', + ], + 'upload_file' => 'Upload a file', + 'remote_url' => 'Remote URL', + 'save' => 'Save', + ], + 'play_episode_button' => [ + 'play' => 'Play', + 'playing' => 'Playing', + ], + 'size_limit' => 'Size limit: {0}.', + 'choose_interact' => 'Choose how to interact', + 'view' => 'View', +]; diff --git a/modules/Admin/Language/kk/Countries.php b/modules/Admin/Language/kk/Countries.php new file mode 100644 index 00000000..4cd5d9c8 --- /dev/null +++ b/modules/Admin/Language/kk/Countries.php @@ -0,0 +1,264 @@ + 'Andorra', + 'AE' => 'United Arab Emirates', + 'AF' => 'Afghanistan', + 'AG' => 'Antigua and Barbuda', + 'AI' => 'Anguilla', + 'AL' => 'Albania', + 'AM' => 'Armenia', + 'AO' => 'Angola', + 'AQ' => 'Antarctica', + 'AR' => 'Argentina', + 'AS' => 'American Samoa', + 'AT' => 'Austria', + 'AU' => 'Australia', + 'AW' => 'Aruba', + 'AX' => 'Åland Islands', + 'AZ' => 'Azerbaijan', + 'BA' => 'Bosnia and Herzegovina', + 'BB' => 'Barbados', + 'BD' => 'Bangladesh', + 'BE' => 'Belgium', + 'BF' => 'Burkina Faso', + 'BG' => 'Bulgaria', + 'BH' => 'Bahrain', + 'BI' => 'Burundi', + 'BJ' => 'Benin', + 'BL' => 'Saint Barthélemy', + 'BM' => 'Bermuda', + 'BN' => 'Brunei Darussalam', + 'BO' => 'Bolivia, Plurinational State of', + 'BQ' => 'Bonaire, Sint Eustatius and Saba', + 'BR' => 'Brazil', + 'BS' => 'Bahamas', + 'BT' => 'Bhutan', + 'BV' => 'Bouvet Island', + 'BW' => 'Botswana', + 'BY' => 'Belarus', + 'BZ' => 'Belize', + 'CA' => 'Canada', + 'CC' => 'Cocos (Keeling) Islands', + 'CD' => 'Congo, the Democratic Republic of the', + 'CF' => 'Central African Republic', + 'CG' => 'Congo', + 'CH' => 'Switzerland', + 'CI' => "Côte d'Ivoire", + 'CK' => 'Cook Islands', + 'CL' => 'Chile', + 'CM' => 'Cameroon', + 'CN' => 'China', + 'CO' => 'Colombia', + 'CR' => 'Costa Rica', + 'CU' => 'Cuba', + 'CV' => 'Cape Verde', + 'CW' => 'Curaçao', + 'CX' => 'Christmas Island', + 'CY' => 'Cyprus', + 'CZ' => 'Czech Republic', + 'DE' => 'Germany', + 'DJ' => 'Djibouti', + 'DK' => 'Denmark', + 'DM' => 'Dominica', + 'DO' => 'Dominican Republic', + 'DZ' => 'Algeria', + 'EC' => 'Ecuador', + 'EE' => 'Estonia', + 'EG' => 'Egypt', + 'EH' => 'Western Sahara', + 'ER' => 'Eritrea', + 'ES' => 'Spain', + 'ET' => 'Ethiopia', + 'FI' => 'Finland', + 'FJ' => 'Fiji', + 'FK' => 'Falkland Islands (Malvinas)', + 'FM' => 'Micronesia, Federated States of', + 'FO' => 'Faroe Islands', + 'FR' => 'France', + 'GA' => 'Gabon', + 'GB' => 'United Kingdom', + 'GD' => 'Grenada', + 'GE' => 'Georgia', + 'GF' => 'French Guiana', + 'GG' => 'Guernsey', + 'GH' => 'Ghana', + 'GI' => 'Gibraltar', + 'GL' => 'Greenland', + 'GM' => 'Gambia', + 'GN' => 'Guinea', + 'GP' => 'Guadeloupe', + 'GQ' => 'Equatorial Guinea', + 'GR' => 'Greece', + 'GS' => 'South Georgia and the South Sandwich Islands', + 'GT' => 'Guatemala', + 'GU' => 'Guam', + 'GW' => 'Guinea-Bissau', + 'GY' => 'Guyana', + 'HK' => 'Hong Kong', + 'HM' => 'Heard Island and McDonald Islands', + 'HN' => 'Honduras', + 'HR' => 'Croatia', + 'HT' => 'Haiti', + 'HU' => 'Hungary', + 'ID' => 'Indonesia', + 'IE' => 'Ireland', + 'IL' => 'Israel', + 'IM' => 'Isle of Man', + 'IN' => 'India', + 'IO' => 'British Indian Ocean Territory', + 'IQ' => 'Iraq', + 'IR' => 'Iran, Islamic Republic of', + 'IS' => 'Iceland', + 'IT' => 'Italy', + 'JE' => 'Jersey', + 'JM' => 'Jamaica', + 'JO' => 'Jordan', + 'JP' => 'Japan', + 'KE' => 'Kenya', + 'KG' => 'Kyrgyzstan', + 'KH' => 'Cambodia', + 'KI' => 'Kiribati', + 'KM' => 'Comoros', + 'KN' => 'Saint Kitts and Nevis', + 'KP' => "Korea, Democratic People's Republic of", + 'KR' => 'Korea, Republic of', + 'KW' => 'Kuwait', + 'KY' => 'Cayman Islands', + 'KZ' => 'Kazakhstan', + 'LA' => "Lao People's Democratic Republic", + 'LB' => 'Lebanon', + 'LC' => 'Saint Lucia', + 'LI' => 'Liechtenstein', + 'LK' => 'Sri Lanka', + 'LR' => 'Liberia', + 'LS' => 'Lesotho', + 'LT' => 'Lithuania', + 'LU' => 'Luxembourg', + 'LV' => 'Latvia', + 'LY' => 'Libya', + 'MA' => 'Morocco', + 'MC' => 'Monaco', + 'MD' => 'Moldova, Republic of', + 'ME' => 'Montenegro', + 'MF' => 'Saint Martin (French part)', + 'MG' => 'Madagascar', + 'MH' => 'Marshall Islands', + 'MK' => 'Macedonia, the Former Yugoslav Republic of', + 'ML' => 'Mali', + 'MM' => 'Myanmar', + 'MN' => 'Mongolia', + 'MO' => 'Macao', + 'MP' => 'Northern Mariana Islands', + 'MQ' => 'Martinique', + 'MR' => 'Mauritania', + 'MS' => 'Montserrat', + 'MT' => 'Malta', + 'MU' => 'Mauritius', + 'MV' => 'Maldives', + 'MW' => 'Malawi', + 'MX' => 'Mexico', + 'MY' => 'Malaysia', + 'MZ' => 'Mozambique', + 'N/A' => 'Not Applicable (local IP…)', + 'NA' => 'Namibia', + 'NC' => 'New Caledonia', + 'NE' => 'Niger', + 'NF' => 'Norfolk Island', + 'NG' => 'Nigeria', + 'NI' => 'Nicaragua', + 'NL' => 'Netherlands', + 'NO' => 'Norway', + 'NP' => 'Nepal', + 'NR' => 'Nauru', + 'NU' => 'Niue', + 'NZ' => 'New Zealand', + 'OM' => 'Oman', + 'PA' => 'Panama', + 'PE' => 'Peru', + 'PF' => 'French Polynesia', + 'PG' => 'Papua New Guinea', + 'PH' => 'Philippines', + 'PK' => 'Pakistan', + 'PL' => 'Poland', + 'PM' => 'Saint Pierre and Miquelon', + 'PN' => 'Pitcairn', + 'PR' => 'Puerto Rico', + 'PS' => 'Palestine, State of', + 'PT' => 'Portugal', + 'PW' => 'Palau', + 'PY' => 'Paraguay', + 'QA' => 'Qatar', + 'RE' => 'Réunion', + 'RO' => 'Romania', + 'RS' => 'Serbia', + 'RU' => 'Russian Federation', + 'RW' => 'Rwanda', + 'SA' => 'Saudi Arabia', + 'SB' => 'Solomon Islands', + 'SC' => 'Seychelles', + 'SD' => 'Sudan', + 'SE' => 'Sweden', + 'SG' => 'Singapore', + 'SH' => 'Saint Helena, Ascension and Tristan da Cunha', + 'SI' => 'Slovenia', + 'SJ' => 'Svalbard and Jan Mayen', + 'SK' => 'Slovakia', + 'SL' => 'Sierra Leone', + 'SM' => 'San Marino', + 'SN' => 'Senegal', + 'SO' => 'Somalia', + 'SR' => 'Suriname', + 'SS' => 'South Sudan', + 'ST' => 'Sao Tome and Principe', + 'SV' => 'El Salvador', + 'SX' => 'Sint Maarten (Dutch part)', + 'SY' => 'Syrian Arab Republic', + 'SZ' => 'Swaziland', + 'TC' => 'Turks and Caicos Islands', + 'TD' => 'Chad', + 'TF' => 'French Southern Territories', + 'TG' => 'Togo', + 'TH' => 'Thailand', + 'TJ' => 'Tajikistan', + 'TK' => 'Tokelau', + 'TL' => 'Timor-Leste', + 'TM' => 'Turkmenistan', + 'TN' => 'Tunisia', + 'TO' => 'Tonga', + 'TR' => 'Turkey', + 'TT' => 'Trinidad and Tobago', + 'TV' => 'Tuvalu', + 'TW' => 'Taiwan, Province of China', + 'TZ' => 'Tanzania, United Republic of', + 'UA' => 'Ukraine', + 'UG' => 'Uganda', + 'UM' => 'United States Minor Outlying Islands', + 'US' => 'United States', + 'UY' => 'Uruguay', + 'UZ' => 'Uzbekistan', + 'VA' => 'Holy See (Vatican City State)', + 'VC' => 'Saint Vincent and the Grenadines', + 'VE' => 'Venezuela, Bolivarian Republic of', + 'VG' => 'Virgin Islands, British', + 'VI' => 'Virgin Islands, U.S.', + 'VN' => 'Viet Nam', + 'VU' => 'Vanuatu', + 'WF' => 'Wallis and Futuna', + 'WS' => 'Samoa', + 'YE' => 'Yemen', + 'YT' => 'Mayotte', + 'ZA' => 'South Africa', + 'ZM' => 'Zambia', + 'ZW' => 'Zimbabwe', +]; diff --git a/modules/Admin/Language/kk/Dashboard.php b/modules/Admin/Language/kk/Dashboard.php new file mode 100644 index 00000000..881073fd --- /dev/null +++ b/modules/Admin/Language/kk/Dashboard.php @@ -0,0 +1,28 @@ + 'Admin dashboard', + 'welcome_message' => 'Welcome to the admin area!', + 'podcasts' => [ + 'title' => 'Podcasts', + 'not_found' => 'No published podcast', + 'last_published' => 'Last published on {lastPublicationDate}', + ], + 'episodes' => [ + 'title' => 'Episodes', + 'not_found' => 'No published episode', + 'last_published' => 'Last published on {lastPublicationDate}', + ], + 'storage' => [ + 'title' => 'Storage', + 'subtitle' => '{totalUploaded} out of {totalStorage}', + ], +]; diff --git a/modules/Admin/Language/kk/Episode.php b/modules/Admin/Language/kk/Episode.php new file mode 100644 index 00000000..1a5e57a4 --- /dev/null +++ b/modules/Admin/Language/kk/Episode.php @@ -0,0 +1,225 @@ + 'Season {seasonNumber}', + 'season_abbr' => 'S{seasonNumber}', + 'number' => 'Episode {episodeNumber}', + 'number_abbr' => 'Ep. {episodeNumber}', + 'season_episode' => 'Season {seasonNumber} episode {episodeNumber}', + 'season_episode_abbr' => 'S{seasonNumber}E{episodeNumber}', + 'number_of_comments' => '{numberOfComments, plural, + one {# comment} + other {# comments} + }', + 'all_podcast_episodes' => 'All podcast episodes', + 'back_to_podcast' => 'Go back to podcast', + 'edit' => 'Edit', + 'preview' => 'Preview', + 'publish' => 'Publish', + 'publish_edit' => 'Edit publication', + 'publish_date_edit' => 'Edit publication date', + 'unpublish' => 'Unpublish', + 'publish_error' => 'Episode is already published.', + 'publish_edit_error' => 'Episode is already published.', + 'publish_cancel_error' => 'Episode is already published.', + 'publish_date_edit_error' => 'Episode has not been published yet, you cannot edit its publication date.', + 'publish_date_edit_future_error' => 'Episode\'s publication date can only be set to a past date! If you would like to reschedule it, unpublish it first.', + 'publish_date_edit_success' => 'Episode\'s publication date has been updated successfully!', + 'unpublish_error' => 'Episode is not published.', + 'delete' => 'Delete', + 'go_to_page' => 'Go to page', + 'create' => 'Add an episode', + 'publication_status' => [ + 'published' => 'Published', + 'with_podcast' => 'Published', + 'scheduled' => 'Scheduled', + 'not_published' => 'Not published', + ], + 'with_podcast_hint' => 'To be published at the same time as the podcast', + 'list' => [ + 'search' => [ + 'placeholder' => 'Search for an episode', + 'clear' => 'Clear search', + 'submit' => 'Search', + ], + 'number_of_episodes' => '{numberOfEpisodes, plural, + one {# episode} + other {# episodes} + }', + 'episode' => 'Episode', + 'visibility' => 'Visibility', + 'downloads' => 'Downloads', + 'comments' => 'Comments', + 'actions' => 'Actions', + ], + 'messages' => [ + 'createSuccess' => 'Episode has been successfully created!', + 'editSuccess' => 'Episode has been successfully updated!', + 'publishSuccess' => '{publication_status, select, + published {Episode successfully published!} + scheduled {Episode publication successfully scheduled!} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not published.} + }', + 'publishCancelSuccess' => 'Episode publication successfully cancelled!', + 'unpublishBeforeDeleteTip' => 'You must unpublish the episode before deleting it.', + 'scheduleDateError' => 'Schedule date must be set!', + 'deletePublishedEpisodeError' => 'Please unpublish the episode before deleting it.', + 'deleteSuccess' => 'Episode successfully deleted!', + 'deleteError' => 'Failed to delete episode {type, select, + transcript {transcript} + chapters {chapters} + image {cover} + audio {audio} + other {media} + }.', + 'deleteFileError' => 'Failed to delete {type, select, + transcript {transcript} + chapters {chapters} + image {cover} + audio {audio} + other {media} + } file {file_key}. You may manually remove it from your disk.', + 'sameSlugError' => 'An episode with the chosen slug already exists.', + ], + 'form' => [ + 'file_size_error' => + 'Your file size is too big! Max size is {0}. Increase the `memory_limit`, `upload_max_filesize` and `post_max_size` values in your php configuration file then restart your web server to upload your file.', + 'audio_file' => 'Audio file', + 'audio_file_hint' => 'Choose an .mp3 or .m4a audio file.', + 'info_section_title' => 'Episode info', + 'cover' => 'Episode cover', + 'cover_hint' => + 'If you do not set a cover, the podcast cover will be used instead.', + 'cover_size_hint' => 'Cover must be squared and at least 1400px wide and tall.', + 'title' => 'Title', + 'title_hint' => + 'Should contain a clear and concise episode name. Do not specify the episode or season numbers here.', + 'permalink' => 'Permalink', + 'season_number' => 'Season', + 'episode_number' => 'Episode', + 'type' => [ + 'label' => 'Type', + 'full' => 'Full', + 'full_hint' => 'Complete content (the episode)', + 'trailer' => 'Trailer', + 'trailer_hint' => 'Short, promotional piece of content that represents a preview of the current show', + 'bonus' => 'Bonus', + 'bonus_hint' => 'Extra content for the show (for example, behind the scenes info or interviews with the cast) or cross-promotional content for another show', + ], + 'premium_title' => 'Premium', + 'premium' => 'Episode must be accessible to premium subscribers only', + 'parental_advisory' => [ + 'label' => 'Parental advisory', + 'hint' => 'Does the episode contain explicit content?', + 'undefined' => 'undefined', + 'clean' => 'Clean', + 'explicit' => 'Explicit', + ], + 'show_notes_section_title' => 'Show notes', + 'show_notes_section_subtitle' => + 'Up to 4000 characters, be clear and concise. Show notes help potential listeners in finding the episode.', + 'description' => 'Description', + 'description_footer' => 'Description footer', + 'description_footer_hint' => + 'This text is added at the end of each episode description, it is a good place to input your social links for example.', + 'additional_files_section_title' => 'Additional files', + 'additional_files_section_subtitle' => + 'These files may be used by other platforms to provide better experience to your audience. See the {podcastNamespaceLink} for more information.', + 'location_section_title' => 'Location', + 'location_section_subtitle' => 'What place is this episode about?', + 'location_name' => 'Location name or address', + 'location_name_hint' => 'This can be a real or fictional location', + 'transcript' => 'Transcript (subtitles / closed captions)', + 'transcript_hint' => 'Only .srt are allowed.', + 'transcript_download' => 'Download transcript', + 'transcript_file' => 'Transcript file (.srt)', + 'transcript_remote_url' => 'Remote url for transcript', + 'transcript_file_delete' => 'Delete transcript file', + 'chapters' => 'Chapters', + 'chapters_hint' => 'File must be in JSON Chapters format.', + 'chapters_download' => 'Download chapters', + 'chapters_file' => 'Chapters file', + 'chapters_remote_url' => 'Remote url for chapters file', + 'chapters_file_delete' => 'Delete chapters file', + 'advanced_section_title' => 'Advanced Parameters', + 'advanced_section_subtitle' => + 'If you need RSS tags that Castopod does not handle, set them here.', + 'custom_rss' => 'Custom RSS tags for the episode', + 'custom_rss_hint' => 'This will be injected within the ❬item❭ tag.', + 'block' => 'Episode should be hidden from public catalogues', + 'block_hint' => + 'The episode show or hide status: toggling this on prevents the episode from appearing in Apple Podcasts, Google Podcasts, and any third party apps that pull shows from these directories. (Not guaranteed)', + 'submit_create' => 'Create episode', + 'submit_edit' => 'Save episode', + ], + 'publish_form' => [ + 'back_to_episode_dashboard' => 'Back to episode dashboard', + 'post' => 'Your announcement post', + 'post_hint' => + "Write a message to announce the publication of your episode. The message will be broadcasted to all your followers in the fediverse and be featured in your podcast's homepage.", + 'message_placeholder' => 'Write your message…', + 'publication_date' => 'Publication date', + 'publication_method' => [ + 'now' => 'Now', + 'schedule' => 'Schedule', + 'with_podcast' => 'Publish alongside podcast', + ], + 'scheduled_publication_date' => 'Scheduled publication date', + 'scheduled_publication_date_clear' => 'Clear publication date', + 'scheduled_publication_date_hint' => + 'You can schedule the episode release by setting a future publication date. This field must be formatted as YYYY-MM-DD HH:mm', + 'submit' => 'Publish', + 'submit_edit' => 'Edit publication', + 'cancel_publication' => 'Cancel publication', + 'message_warning' => 'You did not write a message for your announcement post!', + 'message_warning_hint' => 'Having a message increases social engagement, resulting in a better visibility for your episode.', + 'message_warning_submit' => 'Publish anyways', + ], + 'publish_date_edit_form' => [ + 'new_publication_date' => 'New publication date', + 'new_publication_date_hint' => 'Must be set to a past date.', + 'submit' => 'Edit publication date', + ], + 'unpublish_form' => [ + 'disclaimer' => + "Unpublishing the episode will delete all the comments and posts associated with it and remove it from the podcast's RSS feed.", + 'understand' => 'I understand, I want to unpublish the episode', + 'submit' => 'Unpublish', + ], + 'delete_form' => [ + 'disclaimer' => + "Deleting the episode will delete all media files, comments, video clips and soundbites associated with it.", + 'understand' => 'I understand, I want to delete the episode', + 'submit' => 'Delete', + ], + 'embed' => [ + 'title' => 'Embeddable player', + 'label' => + 'Pick a theme color, copy the embeddable player to clipboard, then paste it on your website.', + 'clipboard_iframe' => 'Copy embeddable player to clipboard', + 'clipboard_url' => 'Copy address to clipboard', + 'dark' => 'Dark', + 'dark-transparent' => 'Dark transparent', + 'light' => 'Light', + 'light-transparent' => 'Light transparent', + ], + 'publication_status_banner' => [ + 'draft_mode' => 'draft mode', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'preview' => 'Preview', + ], +]; diff --git a/modules/Admin/Language/kk/EpisodeNavigation.php b/modules/Admin/Language/kk/EpisodeNavigation.php new file mode 100644 index 00000000..1406e301 --- /dev/null +++ b/modules/Admin/Language/kk/EpisodeNavigation.php @@ -0,0 +1,23 @@ + 'View episode page', + 'dashboard' => 'Episode dashboard', + 'episode-view' => 'Home', + 'episode-edit' => 'Edit episode', + 'episode-persons-manage' => 'Manage persons', + 'embed-add' => 'Embeddable player', + 'clips' => 'Clips', + 'video-clips-list' => 'Video clips', + 'video-clips-create' => 'New video clip', + 'soundbites-list' => 'Soundbites', + 'soundbites-create' => 'New soundbite', +]; diff --git a/modules/Admin/Language/kk/Fediverse.php b/modules/Admin/Language/kk/Fediverse.php new file mode 100644 index 00000000..0e4ca66d --- /dev/null +++ b/modules/Admin/Language/kk/Fediverse.php @@ -0,0 +1,32 @@ + [ + 'actorNotFound' => 'The account could not be found!', + 'blockActorSuccess' => '{actor} has been blocked!', + 'unblockActorSuccess' => 'Actor has been unblocked!', + 'blockDomainSuccess' => '{domain} has been blocked!', + 'unblockDomainSuccess' => '{domain} has been unblocked!', + ], + 'blocked_actors' => 'Blocked accounts', + 'blocked_domains' => 'Blocked domains', + 'block_lists_form' => [ + 'handle' => 'Account handle', + 'handle_hint' => 'Input @username@domain account.', + 'domain' => 'Domain name', + 'submit' => 'Block!', + ], + 'list' => [ + 'actor' => 'Account', + 'domain' => 'Domain name', + 'unblock' => 'Unblock', + ], +]; diff --git a/modules/Admin/Language/kk/Home.php b/modules/Admin/Language/kk/Home.php new file mode 100644 index 00000000..3ff4c04d --- /dev/null +++ b/modules/Admin/Language/kk/Home.php @@ -0,0 +1,14 @@ + 'All podcasts', + 'no_podcast' => 'No podcast found', +]; diff --git a/modules/Admin/Language/kk/Install.php b/modules/Admin/Language/kk/Install.php new file mode 100644 index 00000000..36e373a2 --- /dev/null +++ b/modules/Admin/Language/kk/Install.php @@ -0,0 +1,61 @@ + 'Manual configuration', + 'manual_config_subtitle' => + 'Create a `.env` file with your settings and refresh the page to continue installation.', + 'form' => [ + 'instance_config' => 'Instance configuration', + 'hostname' => 'Hostname', + 'media_base_url' => 'Media base URL', + 'media_base_url_hint' => + 'If you use a CDN and/or an external analytics service, you may set them here.', + 'admin_gateway' => 'Admin gateway', + 'admin_gateway_hint' => + 'The route to access the admin area (eg. https://example.com/cp-admin). It is set by default as cp-admin, we recommend you change it for security reasons.', + 'auth_gateway' => 'Auth gateway', + 'auth_gateway_hint' => + 'The route to access the authentication pages (eg. https://example.com/cp-auth). It is set by default as cp-auth, we recommend you change it for security reasons.', + 'database_config' => 'Database configuration', + 'database_config_hint' => + 'Castopod needs to connect to your MySQL (or MariaDB) database. If you do not have these required info, please contact your server administrator.', + 'db_hostname' => 'Database hostname', + 'db_name' => 'Database name', + 'db_username' => 'Database username', + 'db_password' => 'Database password', + 'db_prefix' => 'Database prefix', + 'db_prefix_hint' => + "The prefix of the Castopod table names, leave as is if you don't know what it means.", + 'cache_config' => 'Cache configuration', + 'cache_config_hint' => + 'Choose your preferred cache handler. Leave it as the default value if you have no clue what it means.', + 'cache_handler' => 'Cache handler', + 'cacheHandlerOptions' => [ + 'file' => 'File', + 'redis' => 'Redis', + 'predis' => 'Predis', + ], + 'next' => 'Next', + 'submit' => 'Finish install', + 'create_superadmin' => 'Create your superadmin account', + 'email' => 'Email', + 'username' => 'Username', + 'password' => 'Password', + ], + 'messages' => [ + 'createSuperAdminSuccess' => + 'Your superadmin account has been created successfully. Login to start podcasting!', + 'databaseConnectError' => + 'Castopod could not connect to your database. Edit your database configuration and try again.', + 'writeError' => + "Couldn't create/write the `.env` file. You must create it manually by following the `.env.example` file template in the Castopod package.", + ], +]; diff --git a/modules/Admin/Language/kk/Navigation.php b/modules/Admin/Language/kk/Navigation.php new file mode 100644 index 00000000..5d1b4583 --- /dev/null +++ b/modules/Admin/Language/kk/Navigation.php @@ -0,0 +1,43 @@ + 'Toggle sidebar', + 'go_to_website' => 'Go to website', + 'go_to_admin' => 'Go to admin', + 'dashboard' => 'Dashboard', + 'admin' => 'Home', + 'podcasts' => 'Podcasts', + 'podcast-list' => 'All podcasts', + 'podcast-create' => 'New podcast', + 'all-podcast-imports' => 'All Podcast imports', + 'podcast-imports-add' => 'Import a podcast', + 'persons' => 'Persons', + 'person-list' => 'All persons', + 'person-create' => 'New person', + 'fediverse' => 'Fediverse', + 'fediverse-blocked-actors' => 'Blocked accounts', + 'fediverse-blocked-domains' => 'Blocked domains', + 'users' => 'Users', + 'user-list' => 'All users', + 'user-create' => 'New user', + 'pages' => 'Pages', + 'page-list' => 'All pages', + 'page-create' => 'New Page', + 'settings' => 'Settings', + 'settings-general' => 'General', + 'settings-theme' => 'Theme', + 'admin-about' => 'About', + 'account' => [ + 'my-account' => 'My account', + 'change-password' => 'Change password', + 'logout' => 'Logout', + ], +]; diff --git a/modules/Admin/Language/kk/Notifications.php b/modules/Admin/Language/kk/Notifications.php new file mode 100644 index 00000000..2b139d51 --- /dev/null +++ b/modules/Admin/Language/kk/Notifications.php @@ -0,0 +1,19 @@ + 'Notifications', + 'reply' => '{actor_username} replied to your post', + 'favourite' => '{actor_username} favourited your post', + 'reblog' => '{actor_username} shared your post', + 'follow' => '{actor_username} started following you', + 'no_notifications' => 'No notifications', + 'mark_all_as_read' => 'Mark all as read', +]; diff --git a/modules/Admin/Language/kk/Page.php b/modules/Admin/Language/kk/Page.php new file mode 100644 index 00000000..b6f49de5 --- /dev/null +++ b/modules/Admin/Language/kk/Page.php @@ -0,0 +1,30 @@ + 'Back to home', + 'page' => 'Page', + 'all_pages' => 'All pages', + 'create' => 'New page', + 'go_to_page' => 'Go to page', + 'edit' => 'Edit page', + 'delete' => 'Delete page', + 'form' => [ + 'title' => 'Title', + 'permalink' => 'Permalink', + 'content' => 'Content', + 'submit_create' => 'Create page', + 'submit_edit' => 'Save', + ], + 'messages' => [ + 'createSuccess' => 'The page “{pageTitle}” was created successfully!', + 'editSuccess' => 'The page was successfully updated!', + ], +]; diff --git a/modules/Admin/Language/kk/Pager.php b/modules/Admin/Language/kk/Pager.php new file mode 100644 index 00000000..e25ee638 --- /dev/null +++ b/modules/Admin/Language/kk/Pager.php @@ -0,0 +1,21 @@ + 'Page navigation', + 'first' => 'First', + 'previous' => 'Previous', + 'next' => 'Next', + 'last' => 'Last', + 'older' => 'Older', + 'newer' => 'Newer', + 'invalidTemplate' => '{0} is not a valid Pager template.', + 'invalidPaginationGroup' => '{0} is not a valid Pagination group.', +]; diff --git a/modules/Admin/Language/kk/Person.php b/modules/Admin/Language/kk/Person.php new file mode 100644 index 00000000..a652be9f --- /dev/null +++ b/modules/Admin/Language/kk/Person.php @@ -0,0 +1,65 @@ + 'Persons', + 'all_persons' => 'All persons', + 'no_person' => 'Nobody found!', + 'create' => 'Create a person', + 'view' => 'View person', + 'edit' => 'Edit person', + 'delete' => 'Delete person', + 'messages' => [ + 'createSuccess' => 'Person has been successfully created!', + 'editSuccess' => 'Person has been successfully updated!', + 'deleteSuccess' => 'Person has been removed!', + ], + 'form' => [ + 'avatar' => 'Avatar', + 'avatar_size_hint' => + 'Avatar must be squared and at least 400px wide and tall.', + 'full_name' => 'Full name', + 'full_name_hint' => 'This is the full name or alias of the person.', + 'unique_name' => 'Unique name', + 'unique_name_hint' => 'Used for URLs', + 'information_url' => 'Information URL', + 'information_url_hint' => + 'Url to a relevant resource of information about the person, such as a homepage or third-party profile platform.', + 'submit_create' => 'Create person', + 'submit_edit' => 'Save person', + ], + 'podcast_form' => [ + 'title' => 'Manage persons', + 'add_section_title' => 'Add persons to this podcast', + 'add_section_subtitle' => 'You may pick several persons and roles.', + 'persons' => 'Persons', + 'persons_hint' => + 'You may select one or several persons with the same roles. You need to create the persons first.', + 'roles' => 'Roles', + 'roles_hint' => + 'You may select none, one or several roles for a person.', + 'submit_add' => 'Add person(s)', + 'remove' => 'Remove', + ], + 'episode_form' => [ + 'title' => 'Manage persons', + 'add_section_title' => 'Add persons to this episode', + 'add_section_subtitle' => 'You may pick several persons and roles.', + 'persons' => 'Persons', + 'persons_hint' => + 'You may select one or several persons with the same roles. You need to create the persons first.', + 'roles' => 'Roles', + 'roles_hint' => + 'You may select none, one or several roles for a person.', + 'submit_add' => 'Add person(s)', + 'remove' => 'Remove', + ], + 'credits' => 'Credits', +]; diff --git a/modules/Admin/Language/kk/Platforms.php b/modules/Admin/Language/kk/Platforms.php new file mode 100644 index 00000000..e161181c --- /dev/null +++ b/modules/Admin/Language/kk/Platforms.php @@ -0,0 +1,43 @@ + [ + 'podcasting' => 'Podcasting platforms', + 'social' => 'Social networks', + 'funding' => 'Funding links', + ], + 'website' => 'Website', + 'home_url' => 'Go to {platformName} website', + 'register' => 'Register', + 'submit_url' => 'Submit your podcast on {platformName}', + 'your_link' => 'Your link', + 'your_id' => [ + 'podcasting' => 'Your ID', + 'social' => 'Your ID', + 'funding' => 'Your CTA', + ], + 'your_cta' => 'Your call to action', + 'visible' => 'Display in podcast homepage?', + 'on_embed' => 'Display on embeddable player?', + 'remove' => 'Remove {platformName}', + 'submit' => 'Save', + 'messages' => [ + 'updateSuccess' => 'Platform links have been successfully updated!', + 'removeLinkSuccess' => 'The platform link has been removed.', + 'removeLinkError' => + 'The platform link could not be removed. Try again.', + ], + 'description' => [ + 'podcasting' => 'The podcast ID on this platform', + 'social' => 'The podcast account ID on this platform', + 'funding' => 'Call to action message', + ], +]; diff --git a/modules/Admin/Language/kk/Podcast.php b/modules/Admin/Language/kk/Podcast.php new file mode 100644 index 00000000..d9359e9b --- /dev/null +++ b/modules/Admin/Language/kk/Podcast.php @@ -0,0 +1,314 @@ + 'All podcasts', + 'no_podcast' => 'No podcast found!', + 'create' => 'Create podcast', + 'import' => 'Import podcast', + 'all_imports' => 'Podcast imports', + 'new_episode' => 'New Episode', + 'view' => 'View podcast', + 'edit' => 'Edit podcast', + 'publish' => 'Publish podcast', + 'publish_edit' => 'Edit publication', + 'delete' => 'Delete podcast', + 'see_episodes' => 'See episodes', + 'see_contributors' => 'See contributors', + 'monetization_other' => 'Other monetization', + 'go_to_page' => 'Go to page', + 'latest_episodes' => 'Latest episodes', + 'see_all_episodes' => 'See all episodes', + 'draft' => 'Draft', + 'messages' => [ + 'createSuccess' => 'Podcast successfully created!', + 'editSuccess' => 'Podcast has been successfully updated!', + 'importSuccess' => 'Podcast has been successfully imported!', + 'deleteSuccess' => 'Podcast @{podcast_handle} successfully deleted!', + 'deletePodcastMediaError' => 'Failed to delete podcast {type, select, + cover {cover} + banner {banner} + other {media} + }.', + 'deleteEpisodeMediaError' => 'Failed to delete podcast episode {episode_slug} {type, select, + transcript {transcript} + chapters {chapters} + image {cover} + audio {audio} + other {media} + }.', + 'deletePodcastMediaFolderError' => 'Failed to delete podcast media folder {folder_path}. You may manually remove it from your disk.', + 'podcastFeedUpdateSuccess' => 'Successful update: {number_of_new_episodes, plural, + one {# episode was} + other {# episodes were} + } added to the podcast!', + 'podcastFeedUpToDate' => 'Podcast is already up to date.', + 'publishError' => 'This podcast is either already published or scheduled for publication.', + 'publishEditError' => 'This podcast is not scheduled for publication.', + 'publishCancelSuccess' => 'Podcast publication successfully cancelled!', + 'scheduleDateError' => 'Schedule date must be set!', + ], + 'form' => [ + 'identity_section_title' => 'Podcast identity', + 'identity_section_subtitle' => 'These fields allow you to get noticed.', + 'fediverse_section_title' => 'Fediverse identity', + + 'cover' => 'Podcast cover', + 'cover_size_hint' => 'Cover must be squared and at least 1400px wide and tall.', + 'banner' => 'Podcast banner', + 'banner_size_hint' => 'Banner must have a 3:1 ratio and be at least 1500px wide.', + 'banner_delete' => 'Delete podcast banner', + 'title' => 'Title', + 'handle' => 'Handle', + 'handle_hint' => + 'Used to identify the podcast. Uppercase, lowercase, numbers and underscores are accepted.', + 'type' => [ + 'label' => 'Type', + 'episodic' => 'Episodic', + 'episodic_hint' => 'If episodes are intended to be consumed without any specific order. Newest episodes will be presented first.', + 'serial' => 'Serial', + 'serial_hint' => 'If episodes are intended to be consumed in sequential order. The oldest episodes will be presented first.', + ], + 'description' => 'Description', + 'classification_section_title' => 'Classification', + 'classification_section_subtitle' => + 'These fields will impact your audience and competition.', + 'language' => 'Language', + 'category' => 'Category', + 'category_placeholder' => 'Select a category…', + 'other_categories' => 'Other categories', + 'parental_advisory' => [ + 'label' => 'Parental advisory', + 'hint' => 'Does it contain explicit content?', + 'undefined' => 'undefined', + 'clean' => 'Clean', + 'explicit' => 'Explicit', + ], + 'author_section_title' => 'Author', + 'author_section_subtitle' => 'Who is managing the podcast?', + 'owner_name' => 'Owner name', + 'owner_name_hint' => + 'For administrative use only. Visible in the public RSS feed.', + 'owner_email' => 'Owner email', + 'owner_email_hint' => + 'Will be used by most platforms to verify the podcast ownership. Visible in the public RSS feed.', + 'publisher' => 'Publisher', + 'publisher_hint' => + 'The group responsible for creating the show. Often refers to the parent company or network of a podcast. This field is sometimes labeled as ’Author’.', + 'copyright' => 'Copyright', + 'location_section_title' => 'Location', + 'location_section_subtitle' => 'What place is this podcast about?', + 'location_name' => 'Location name or address', + 'location_name_hint' => 'This can be a real place or fictional', + 'monetization_section_title' => 'Monetization', + 'monetization_section_subtitle' => + 'Earn money thanks to your audience.', + 'premium' => 'Premium', + 'premium_by_default' => 'Episodes must be set as premium by default', + 'premium_by_default_hint' => 'Podcast episodes will be marked as premium by default. You can still choose to set some episodes, trailers or bonuses as public.', + 'op3' => 'Open Podcast Prefix Project (OP3)', + 'op3_hint' => 'Value your analytics data with OP3, an open-source and trusted third party analytics service. Share, validate and compare your analytics data with the open podcasting ecosystem.', + 'op3_enable' => 'Enable OP3 analytics service', + 'op3_enable_hint' => 'For security reasons, premium episodes\' analytics data will not be shared with OP3.', + 'payment_pointer' => 'Payment Pointer for Web Monetization', + 'payment_pointer_hint' => + 'This is your where you will receive money thanks to Web Monetization', + 'advanced_section_title' => 'Advanced Parameters', + 'advanced_section_subtitle' => + 'If you need RSS tags that Castopod does not handle, set them here.', + 'custom_rss' => 'Custom RSS tags for the podcast', + 'custom_rss_hint' => 'This will be injected within the ❬channel❭ tag.', + 'new_feed_url' => 'New feed URL', + 'new_feed_url_hint' => 'Use this field when you move to another domain or podcast hosting platform. By default, the value is set to the current RSS URL if the podcast is imported.', + 'old_feed_url' => 'Old feed URL', + 'partnership' => 'Partnership', + 'partner_id' => 'ID', + 'partner_link_url' => 'Link URL', + 'partner_image_url' => 'Image URL', + 'partner_id_hint' => 'Your own partner ID', + 'partner_link_url_hint' => 'The generic partner link address', + 'partner_image_url_hint' => 'The generic partner image address', + 'block' => 'Podcast should be hidden from public catalogues', + 'block_hint' => + 'The podcast show or hide status: toggling this on prevents the entire podcast from appearing in Apple Podcasts, Google Podcasts, and any third party apps that pull shows from these directories. (Not guaranteed)', + 'complete' => 'Podcast will not be having new episodes', + 'lock' => 'Prevent podcast from being copied', + 'lock_hint' => + 'The purpose is to tell other podcast platforms whether they are allowed to import this feed. A value of yes means that any attempt to import this feed into a new platform should be rejected.', + 'submit_create' => 'Create podcast', + 'submit_edit' => 'Save podcast', + ], + 'category_options' => [ + 'uncategorized' => 'uncategorized', + 'arts' => 'Arts', + 'business' => 'Business', + 'comedy' => 'Comedy', + 'education' => 'Education', + 'fiction' => 'Fiction', + 'government' => 'Government', + 'health_and_fitness' => 'Health & Fitness', + 'history' => 'History', + 'kids_and_family' => 'Kids & Family', + 'leisure' => 'Leisure', + 'music' => 'Music', + 'news' => 'News', + 'religion_and_spirituality' => 'Religion & Spirituality', + 'science' => 'Science', + 'society_and_culture' => 'Society & Culture', + 'sports' => 'Sports', + 'technology' => 'Technology', + 'true_crime' => 'True Crime', + 'tv_and_film' => 'TV & Film', + 'books' => 'Books', + 'design' => 'Design', + 'fashion_and_beauty' => 'Fashion & Beauty', + 'food' => 'Food', + 'performing_arts' => 'Performing Arts', + 'visual_arts' => 'Visual Arts', + 'careers' => 'Careers', + 'entrepreneurship' => 'Entrepreneurship', + 'investing' => 'Investing', + 'management' => 'Management', + 'marketing' => 'Marketing', + 'non_profit' => 'Non-Profit', + 'comedy_interviews' => 'Comedy Interviews', + 'improv' => 'Improv', + 'stand_up' => 'Stand-Up', + 'courses' => 'Courses', + 'how_to' => 'How To', + 'language_learning' => 'Language Learning', + 'self_improvement' => 'Self-Improvement', + 'comedy_fiction' => 'Comedy Fiction', + 'drama' => 'Drama', + 'science_fiction' => 'Science Fiction', + 'alternative_health' => 'Alternative Health', + 'fitness' => 'Fitness', + 'medicine' => 'Medicine', + 'mental_health' => 'Mental Health', + 'nutrition' => 'Nutrition', + 'sexuality' => 'Sexuality', + 'education_for_kids' => 'Education for Kids', + 'parenting' => 'Parenting', + 'pets_and_animals' => 'Pets & Animals', + 'stories_for_kids' => 'Stories for Kids', + 'animation_and_manga' => 'Animation & Manga', + 'automotive' => 'Automotive', + 'aviation' => 'Aviation', + 'crafts' => 'Crafts', + 'games' => 'Games', + 'hobbies' => 'Hobbies', + 'home_and_garden' => 'Home & Garden', + 'video_games' => 'Video Games', + 'music_commentary' => 'Music Commentary', + 'music_history' => 'Music History', + 'music_interviews' => 'Music Interviews', + 'business_news' => 'Business News', + 'daily_news' => 'Daily News', + 'entertainment_news' => 'Entertainment News', + 'news_commentary' => 'News Commentary', + 'politics' => 'Politics', + 'sports_news' => 'Sports News', + 'tech_news' => 'Tech News', + 'buddhism' => 'Buddhism', + 'christianity' => 'Christianity', + 'hinduism' => 'Hinduism', + 'islam' => 'Islam', + 'judaism' => 'Judaism', + 'religion' => 'Religion', + 'spirituality' => 'Spirituality', + 'astronomy' => 'Astronomy', + 'chemistry' => 'Chemistry', + 'earth_sciences' => 'Earth Sciences', + 'life_sciences' => 'Life Sciences', + 'mathematics' => 'Mathematics', + 'natural_sciences' => 'Natural Sciences', + 'nature' => 'Nature', + 'physics' => 'Physics', + 'social_sciences' => 'Social Sciences', + 'documentary' => 'Documentary', + 'personal_journals' => 'Personal Journals', + 'philosophy' => 'Philosophy', + 'places_and_travel' => 'Places & Travel', + 'relationships' => 'Relationships', + 'baseball' => 'Baseball', + 'basketball' => 'Basketball', + 'cricket' => 'Cricket', + 'fantasy_sports' => 'Fantasy Sports', + 'football' => 'Football', + 'golf' => 'Golf', + 'hockey' => 'Hockey', + 'rugby' => 'Rugby', + 'running' => 'Running', + 'soccer' => 'Soccer', + 'swimming' => 'Swimming', + 'tennis' => 'Tennis', + 'volleyball' => 'Volleyball', + 'wilderness' => 'Wilderness', + 'wrestling' => 'Wrestling', + 'after_shows' => 'After Shows', + 'film_history' => 'Film History', + 'film_interviews' => 'Film Interviews', + 'film_reviews' => 'Film Reviews', + 'tv_reviews' => 'TV Reviews', + ], + 'publish_form' => [ + 'back_to_podcast_dashboard' => 'Back to podcast dashboard', + 'post' => 'Your announcement post', + 'post_hint' => + "Write a message to announce the publication of your podcast. The message will be featured in your podcast's homepage.", + 'message_placeholder' => 'Write your message…', + 'submit' => 'Publish', + 'publication_date' => 'Publication date', + 'publication_method' => [ + 'now' => 'Now', + 'schedule' => 'Schedule', + ], + 'scheduled_publication_date' => 'Scheduled publication date', + 'scheduled_publication_date_hint' => + 'You can schedule the podcast release by setting a future publication date. This field must be formatted as YYYY-MM-DD HH:mm', + 'submit_edit' => 'Edit publication', + 'cancel_publication' => 'Cancel publication', + 'message_warning' => 'You did not write a message for your announcement post!', + 'message_warning_hint' => 'Having a message increases social engagement, resulting in a better visibility for your podcast.', + 'message_warning_submit' => 'Publish anyway', + ], + 'publication_status_banner' => [ + 'draft_mode' => 'draft mode', + 'not_published' => 'This podcast is not yet published.', + 'scheduled' => 'This podcast is scheduled for publication on {publication_date}.', + ], + 'delete_form' => [ + 'disclaimer' => + "Deleting the podcast will delete all episodes, media files, posts and analytics associated with it. This action is irreversible, you will not be able to retrieve them afterwards.", + 'understand' => 'I understand, I want the podcast to be permanently deleted', + 'submit' => 'Delete', + ], + 'by' => 'By {publisher}', + 'season' => 'Season {seasonNumber}', + 'list_of_episodes_year' => '{year} episodes ({episodeCount})', + 'list_of_episodes_season' => + 'Season {seasonNumber} episodes ({episodeCount})', + 'no_episode' => 'No episode found!', + 'follow' => 'Follow', + 'followers' => '{numberOfFollowers, plural, + one {# follower} + other {# followers} + }', + 'posts' => '{numberOfPosts, plural, + one {# post} + other {# posts} + }', + 'activity' => 'Activity', + 'episodes' => 'Episodes', + 'sponsor' => 'Sponsor', + 'funding_links' => 'Funding links for {podcastTitle}', + 'find_on' => 'Find {podcastTitle} on', + 'listen_on' => 'Listen on', +]; diff --git a/modules/Admin/Language/kk/PodcastNavigation.php b/modules/Admin/Language/kk/PodcastNavigation.php new file mode 100644 index 00000000..bb777707 --- /dev/null +++ b/modules/Admin/Language/kk/PodcastNavigation.php @@ -0,0 +1,42 @@ + 'Go to podcast page', + 'rss_feed' => 'RSS feed', + 'dashboard' => 'Podcast dashboard', + 'podcast-view' => 'Home', + 'podcast-edit' => 'Edit podcast', + 'podcast-persons-manage' => 'Manage persons', + 'podcast-imports' => 'Podcast imports', + 'podcast-imports-sync' => 'Sync feeds', + 'episodes' => 'Episodes', + 'episode-list' => 'All episodes', + 'episode-create' => 'New episode', + 'analytics' => 'Analytics', + 'podcast-analytics' => 'Audience overview', + 'podcast-analytics-webpages' => 'Web pages visits', + 'podcast-analytics-locations' => 'Locations', + 'podcast-analytics-unique-listeners' => 'Unique listeners', + 'podcast-analytics-players' => 'Players', + 'podcast-analytics-listening-time' => 'Listening time', + 'podcast-analytics-time-periods' => 'Time periods', + 'monetization' => 'Monetization', + 'subscription-list' => 'All subscriptions', + 'subscription-create' => 'Add subscription', + 'contributors' => 'Contributors', + 'contributor-list' => 'All contributors', + 'contributor-add' => 'Add contributor', + 'broadcast' => 'Broadcast', + 'platforms-podcasting' => 'Podcasting apps', + 'platforms-social' => 'Social networks', + 'platforms-funding' => 'Funding links', + 'podcast-monetization-other' => 'Other', +]; diff --git a/modules/Admin/Language/kk/Settings.php b/modules/Admin/Language/kk/Settings.php new file mode 100644 index 00000000..4a70dcba --- /dev/null +++ b/modules/Admin/Language/kk/Settings.php @@ -0,0 +1,58 @@ + 'General settings', + 'instance' => [ + 'title' => 'Instance', + 'site_icon' => 'Site icon', + 'site_icon_delete' => 'Delete site icon', + 'site_icon_hint' => 'Site icons are what you see on your browser tabs, bookmarks bar, and when you add a website as a shortcut on mobile devices.', + 'site_icon_helper' => 'Icon must be squared and at least 512px wide and tall.', + 'site_name' => 'Site name', + 'site_description' => 'Site description', + 'submit' => 'Save', + 'editSuccess' => 'Instance has been updated successfully!', + 'deleteIconSuccess' => 'Site icon has been remove successfully!', + ], + 'images' => [ + 'title' => 'Images', + 'subtitle' => 'Here you can regenerate all images based on the originals that were uploaded. To be used if you find that some images are missing. This task may take a while.', + 'regenerate' => 'Regenerate images', + 'regenerationSuccess' => 'All images have been regenerated successfully!', + ], + 'housekeeping' => [ + 'title' => 'Housekeeping', + 'subtitle' => 'Runs various housekeeping tasks. Use this feature if you ever encounter issues with media files or data integrity. These tasks may take a while.', + 'reset_counts' => 'Reset counts', + 'reset_counts_helper' => 'This option will recalculate and reset all data counts (number of followers, posts, comments, …).', + 'rewrite_media' => 'Rewrite media metadata', + 'rewrite_media_helper' => 'This option will delete all superfluous media files and recreate them (images, audio files, transcripts, chapters, …)', + 'rename_episodes_files' => 'Rename episode audio files', + 'rename_episodes_files_hint' => 'This option will rename all episodes audio files to a random string of characters. Use this if one of your private episodes link was leaked as this will effectively hide it.', + 'clear_cache' => 'Clear all cache', + 'clear_cache_helper' => 'This option will flush redis cache or writable/cache files.', + 'run' => 'Run housekeeping', + 'runSuccess' => 'Housekeeping has been run successfully!', + ], + 'theme' => [ + 'title' => 'Theme', + 'accent_section_title' => 'Accent color', + 'accent_section_subtitle' => 'Choose the color to determine the look and feel of all public pages.', + 'pine' => 'Pine', + 'crimson' => 'Crimson', + 'amber' => 'Amber', + 'lake' => 'Lake', + 'jacaranda' => 'Jacaranda', + 'onyx' => 'Onyx', + 'submit' => 'Save', + 'setInstanceThemeSuccess' => 'Theme has been updated successfully!', + ], +]; diff --git a/modules/Admin/Language/kk/Soundbite.php b/modules/Admin/Language/kk/Soundbite.php new file mode 100644 index 00000000..a3f828fe --- /dev/null +++ b/modules/Admin/Language/kk/Soundbite.php @@ -0,0 +1,31 @@ + [ + 'title' => 'Soundbites', + 'soundbite' => 'Soundbite', + ], + 'messages' => [ + 'createSuccess' => 'Soundbite has been successfully created!', + 'deleteSuccess' => 'Soundbite has been successfully removed!', + ], + 'form' => [ + 'title' => 'New soundbite', + 'soundbite_title' => 'Soundbite title', + 'start_time' => 'Start at', + 'duration' => 'Duration', + 'submit' => 'Create soundbite', + ], + 'play' => 'Play soundbite', + 'stop' => 'Stop soundbite', + 'create' => 'New soundbite', + 'delete' => 'Delete soundbite', +]; diff --git a/modules/Admin/Language/kk/Validation.php b/modules/Admin/Language/kk/Validation.php new file mode 100644 index 00000000..3bc78cfe --- /dev/null +++ b/modules/Admin/Language/kk/Validation.php @@ -0,0 +1,16 @@ + + '{field} is either not an image, or it is not wide or tall enough.', + 'is_image_ratio' => + '{field} is either not an image or not of the right ratio.', +]; diff --git a/modules/Admin/Language/kk/VideoClip.php b/modules/Admin/Language/kk/VideoClip.php new file mode 100644 index 00000000..638de697 --- /dev/null +++ b/modules/Admin/Language/kk/VideoClip.php @@ -0,0 +1,72 @@ + [ + 'title' => 'Video clips', + 'status' => [ + 'label' => 'Status', + 'queued' => 'queued', + 'queued_hint' => 'Clip is waiting to be processed.', + 'pending' => 'pending', + 'pending_hint' => 'Clip will be generated shortly.', + 'running' => 'running', + 'running_hint' => 'Clip is being generated.', + 'failed' => 'failed', + 'failed_hint' => 'Clip could not be generated: script failure.', + 'passed' => 'passed', + 'passed_hint' => 'Clip was generated successfully!', + ], + 'clip' => 'Clip', + 'duration' => 'Job duration', + ], + 'title' => 'Video clip: {videoClipLabel}', + 'download_clip' => 'Download clip', + 'create' => 'New video clip', + 'go_to_page' => 'Go to clip page', + 'retry' => 'Retry clip generation', + 'delete' => 'Delete clip', + 'logs' => 'Job logs', + 'messages' => [ + 'alreadyExistingError' => 'The video clip you are trying to create already exists!', + 'addToQueueSuccess' => 'Video clip has been added to queue, awaiting to be created!', + 'deleteSuccess' => 'Video clip has been successfully removed!', + ], + 'format' => [ + 'landscape' => 'Landscape', + 'portrait' => 'Portrait', + 'squared' => 'Squared', + ], + 'form' => [ + 'title' => 'New video clip', + 'params_section_title' => 'Video clip parameters', + 'clip_title' => 'Clip title', + 'format' => [ + 'label' => 'Choose a format', + 'landscape_hint' => 'With a 16:9 ratio, landscape videos are great for PeerTube, Youtube and Vimeo.', + 'portrait_hint' => 'With a 9:16 ratio, portrait videos are great for TikTok, Youtube shorts and Instagram stories.', + 'squared_hint' => 'With a 1:1 ratio, squared videos are great for Mastodon, Facebook, Twitter and LinkedIn.', + ], + 'theme' => 'Select a theme', + 'start_time' => 'Start at', + 'duration' => 'Duration', + 'trim_start' => 'Trim start', + 'trim_end' => 'Trim end', + 'submit' => 'Create video clip', + ], + 'requirements' => [ + 'title' => 'Missing requirements', + 'missing' => 'You have missing requirements. Make sure to add all the required items to be allowed creating a video for this episode!', + 'ffmpeg' => 'FFmpeg', + 'gd' => 'Graphics Draw (GD)', + 'freetype' => 'Freetype library for GD', + 'transcript' => 'Transcript file (.srt)', + ], +]; diff --git a/modules/Admin/Language/ko/Breadcrumb.php b/modules/Admin/Language/ko/Breadcrumb.php index 593322e6..6a678d4e 100644 --- a/modules/Admin/Language/ko/Breadcrumb.php +++ b/modules/Admin/Language/ko/Breadcrumb.php @@ -39,9 +39,11 @@ return [ 'my-account' => 'my account', 'change-password' => 'change password', 'imports' => 'imports', + 'sync-feeds' => 'synchronize feeds', 'platforms' => 'platforms', 'social' => 'social networks', 'funding' => 'funding', + 'monetization-other' => 'other monetization', 'analytics' => 'analytics', 'locations' => 'locations', 'webpages' => 'web pages', diff --git a/modules/Admin/Language/ko/Common.php b/modules/Admin/Language/ko/Common.php index 596c8bcd..74addcf2 100644 --- a/modules/Admin/Language/ko/Common.php +++ b/modules/Admin/Language/ko/Common.php @@ -40,6 +40,7 @@ return [ ], 'upload_file' => 'Upload a file', 'remote_url' => 'Remote URL', + 'save' => 'Save', ], 'play_episode_button' => [ 'play' => 'Play', diff --git a/modules/Admin/Language/ko/Episode.php b/modules/Admin/Language/ko/Episode.php index 98498bee..1a5e57a4 100644 --- a/modules/Admin/Language/ko/Episode.php +++ b/modules/Admin/Language/ko/Episode.php @@ -22,6 +22,7 @@ return [ 'all_podcast_episodes' => 'All podcast episodes', 'back_to_podcast' => 'Go back to podcast', 'edit' => 'Edit', + 'preview' => 'Preview', 'publish' => 'Publish', 'publish_edit' => 'Edit publication', 'publish_date_edit' => 'Edit publication date', @@ -86,7 +87,7 @@ return [ image {cover} audio {audio} other {media} - } file {file_path}. You may manually remove it from your disk.', + } file {file_key}. You may manually remove it from your disk.', 'sameSlugError' => 'An episode with the chosen slug already exists.', ], 'form' => [ @@ -211,4 +212,14 @@ return [ 'light' => 'Light', 'light-transparent' => 'Light transparent', ], + 'publication_status_banner' => [ + 'draft_mode' => 'draft mode', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'preview' => 'Preview', + ], ]; diff --git a/modules/Admin/Language/ko/Platforms.php b/modules/Admin/Language/ko/Platforms.php index ab17d599..e161181c 100644 --- a/modules/Admin/Language/ko/Platforms.php +++ b/modules/Admin/Language/ko/Platforms.php @@ -9,9 +9,22 @@ declare(strict_types=1); */ return [ - 'title' => 'Platforms', + 'title' => [ + 'podcasting' => 'Podcasting platforms', + 'social' => 'Social networks', + 'funding' => 'Funding links', + ], + 'website' => 'Website', 'home_url' => 'Go to {platformName} website', + 'register' => 'Register', 'submit_url' => 'Submit your podcast on {platformName}', + 'your_link' => 'Your link', + 'your_id' => [ + 'podcasting' => 'Your ID', + 'social' => 'Your ID', + 'funding' => 'Your CTA', + ], + 'your_cta' => 'Your call to action', 'visible' => 'Display in podcast homepage?', 'on_embed' => 'Display on embeddable player?', 'remove' => 'Remove {platformName}', diff --git a/modules/Admin/Language/ko/Podcast.php b/modules/Admin/Language/ko/Podcast.php index ab84e4ff..d9359e9b 100644 --- a/modules/Admin/Language/ko/Podcast.php +++ b/modules/Admin/Language/ko/Podcast.php @@ -22,6 +22,7 @@ return [ 'delete' => 'Delete podcast', 'see_episodes' => 'See episodes', 'see_contributors' => 'See contributors', + 'monetization_other' => 'Other monetization', 'go_to_page' => 'Go to page', 'latest_episodes' => 'Latest episodes', 'see_all_episodes' => 'See all episodes', @@ -57,6 +58,8 @@ return [ 'form' => [ 'identity_section_title' => 'Podcast identity', 'identity_section_subtitle' => 'These fields allow you to get noticed.', + 'fediverse_section_title' => 'Fediverse identity', + 'cover' => 'Podcast cover', 'cover_size_hint' => 'Cover must be squared and at least 1400px wide and tall.', 'banner' => 'Podcast banner', @@ -132,7 +135,6 @@ return [ 'partner_id_hint' => 'Your own partner ID', 'partner_link_url_hint' => 'The generic partner link address', 'partner_image_url_hint' => 'The generic partner image address', - 'status_section_title' => 'Status', 'block' => 'Podcast should be hidden from public catalogues', 'block_hint' => 'The podcast show or hide status: toggling this on prevents the entire podcast from appearing in Apple Podcasts, Google Podcasts, and any third party apps that pull shows from these directories. (Not guaranteed)', diff --git a/modules/Admin/Language/ko/PodcastNavigation.php b/modules/Admin/Language/ko/PodcastNavigation.php index efc00e5b..bb777707 100644 --- a/modules/Admin/Language/ko/PodcastNavigation.php +++ b/modules/Admin/Language/ko/PodcastNavigation.php @@ -10,11 +10,13 @@ declare(strict_types=1); return [ 'go_to_page' => 'Go to podcast page', + 'rss_feed' => 'RSS feed', 'dashboard' => 'Podcast dashboard', 'podcast-view' => 'Home', 'podcast-edit' => 'Edit podcast', 'podcast-persons-manage' => 'Manage persons', 'podcast-imports' => 'Podcast imports', + 'podcast-imports-sync' => 'Sync feeds', 'episodes' => 'Episodes', 'episode-list' => 'All episodes', 'episode-create' => 'New episode', @@ -26,14 +28,15 @@ return [ 'podcast-analytics-players' => 'Players', 'podcast-analytics-listening-time' => 'Listening time', 'podcast-analytics-time-periods' => 'Time periods', - 'premium' => 'Premium', + 'monetization' => 'Monetization', 'subscription-list' => 'All subscriptions', 'subscription-create' => 'Add subscription', 'contributors' => 'Contributors', 'contributor-list' => 'All contributors', 'contributor-add' => 'Add contributor', - 'platforms' => 'External platforms', - 'platforms-podcasting' => 'Podcasting', + 'broadcast' => 'Broadcast', + 'platforms-podcasting' => 'Podcasting apps', 'platforms-social' => 'Social networks', - 'platforms-funding' => 'Funding', + 'platforms-funding' => 'Funding links', + 'podcast-monetization-other' => 'Other', ]; diff --git a/modules/Admin/Language/nl/Breadcrumb.php b/modules/Admin/Language/nl/Breadcrumb.php index 4f2591f8..d131f786 100644 --- a/modules/Admin/Language/nl/Breadcrumb.php +++ b/modules/Admin/Language/nl/Breadcrumb.php @@ -39,9 +39,11 @@ return [ 'my-account' => 'mijn account', 'change-password' => 'wachtwoord wijzigen', 'imports' => 'imports', + 'sync-feeds' => 'synchronize feeds', 'platforms' => 'platformen', 'social' => 'sociale netwerken', 'funding' => 'financiering', + 'monetization-other' => 'other monetization', 'analytics' => 'statistieken', 'locations' => 'locaties', 'webpages' => 'webpagina\'s', diff --git a/modules/Admin/Language/nl/Common.php b/modules/Admin/Language/nl/Common.php index a6194f73..4f1fd4f3 100644 --- a/modules/Admin/Language/nl/Common.php +++ b/modules/Admin/Language/nl/Common.php @@ -40,6 +40,7 @@ return [ ], 'upload_file' => 'Bestand uploaden', 'remote_url' => 'Externe URL', + 'save' => 'Save', ], 'play_episode_button' => [ 'play' => 'Afspelen', diff --git a/modules/Admin/Language/nl/Episode.php b/modules/Admin/Language/nl/Episode.php index 9902c773..88eac050 100644 --- a/modules/Admin/Language/nl/Episode.php +++ b/modules/Admin/Language/nl/Episode.php @@ -22,6 +22,7 @@ return [ 'all_podcast_episodes' => 'Alle podcast afleveringen', 'back_to_podcast' => 'Terug naar podcast', 'edit' => 'Bewerken', + 'preview' => 'Preview', 'publish' => 'Publiceren', 'publish_edit' => 'Publicatie bewerken', 'publish_date_edit' => 'Edit publication date', @@ -86,7 +87,7 @@ return [ image {cover} audio {audio} other {media} - } file {file_path}. You may manually remove it from your disk.', + } file {file_key}. You may manually remove it from your disk.', 'sameSlugError' => 'An episode with the chosen slug already exists.', ], 'form' => [ @@ -211,4 +212,14 @@ return [ 'light' => 'Light', 'light-transparent' => 'Light transparent', ], + 'publication_status_banner' => [ + 'draft_mode' => 'draft mode', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'preview' => 'Preview', + ], ]; diff --git a/modules/Admin/Language/nl/Platforms.php b/modules/Admin/Language/nl/Platforms.php index ab17d599..e161181c 100644 --- a/modules/Admin/Language/nl/Platforms.php +++ b/modules/Admin/Language/nl/Platforms.php @@ -9,9 +9,22 @@ declare(strict_types=1); */ return [ - 'title' => 'Platforms', + 'title' => [ + 'podcasting' => 'Podcasting platforms', + 'social' => 'Social networks', + 'funding' => 'Funding links', + ], + 'website' => 'Website', 'home_url' => 'Go to {platformName} website', + 'register' => 'Register', 'submit_url' => 'Submit your podcast on {platformName}', + 'your_link' => 'Your link', + 'your_id' => [ + 'podcasting' => 'Your ID', + 'social' => 'Your ID', + 'funding' => 'Your CTA', + ], + 'your_cta' => 'Your call to action', 'visible' => 'Display in podcast homepage?', 'on_embed' => 'Display on embeddable player?', 'remove' => 'Remove {platformName}', diff --git a/modules/Admin/Language/nl/Podcast.php b/modules/Admin/Language/nl/Podcast.php index ab84e4ff..d9359e9b 100644 --- a/modules/Admin/Language/nl/Podcast.php +++ b/modules/Admin/Language/nl/Podcast.php @@ -22,6 +22,7 @@ return [ 'delete' => 'Delete podcast', 'see_episodes' => 'See episodes', 'see_contributors' => 'See contributors', + 'monetization_other' => 'Other monetization', 'go_to_page' => 'Go to page', 'latest_episodes' => 'Latest episodes', 'see_all_episodes' => 'See all episodes', @@ -57,6 +58,8 @@ return [ 'form' => [ 'identity_section_title' => 'Podcast identity', 'identity_section_subtitle' => 'These fields allow you to get noticed.', + 'fediverse_section_title' => 'Fediverse identity', + 'cover' => 'Podcast cover', 'cover_size_hint' => 'Cover must be squared and at least 1400px wide and tall.', 'banner' => 'Podcast banner', @@ -132,7 +135,6 @@ return [ 'partner_id_hint' => 'Your own partner ID', 'partner_link_url_hint' => 'The generic partner link address', 'partner_image_url_hint' => 'The generic partner image address', - 'status_section_title' => 'Status', 'block' => 'Podcast should be hidden from public catalogues', 'block_hint' => 'The podcast show or hide status: toggling this on prevents the entire podcast from appearing in Apple Podcasts, Google Podcasts, and any third party apps that pull shows from these directories. (Not guaranteed)', diff --git a/modules/Admin/Language/nl/PodcastNavigation.php b/modules/Admin/Language/nl/PodcastNavigation.php index efc00e5b..bb777707 100644 --- a/modules/Admin/Language/nl/PodcastNavigation.php +++ b/modules/Admin/Language/nl/PodcastNavigation.php @@ -10,11 +10,13 @@ declare(strict_types=1); return [ 'go_to_page' => 'Go to podcast page', + 'rss_feed' => 'RSS feed', 'dashboard' => 'Podcast dashboard', 'podcast-view' => 'Home', 'podcast-edit' => 'Edit podcast', 'podcast-persons-manage' => 'Manage persons', 'podcast-imports' => 'Podcast imports', + 'podcast-imports-sync' => 'Sync feeds', 'episodes' => 'Episodes', 'episode-list' => 'All episodes', 'episode-create' => 'New episode', @@ -26,14 +28,15 @@ return [ 'podcast-analytics-players' => 'Players', 'podcast-analytics-listening-time' => 'Listening time', 'podcast-analytics-time-periods' => 'Time periods', - 'premium' => 'Premium', + 'monetization' => 'Monetization', 'subscription-list' => 'All subscriptions', 'subscription-create' => 'Add subscription', 'contributors' => 'Contributors', 'contributor-list' => 'All contributors', 'contributor-add' => 'Add contributor', - 'platforms' => 'External platforms', - 'platforms-podcasting' => 'Podcasting', + 'broadcast' => 'Broadcast', + 'platforms-podcasting' => 'Podcasting apps', 'platforms-social' => 'Social networks', - 'platforms-funding' => 'Funding', + 'platforms-funding' => 'Funding links', + 'podcast-monetization-other' => 'Other', ]; diff --git a/modules/Admin/Language/nn-NO/Breadcrumb.php b/modules/Admin/Language/nn-NO/Breadcrumb.php index 17dfc79c..c2b222af 100644 --- a/modules/Admin/Language/nn-NO/Breadcrumb.php +++ b/modules/Admin/Language/nn-NO/Breadcrumb.php @@ -39,9 +39,11 @@ return [ 'my-account' => 'kontoen min', 'change-password' => 'endre passord', 'imports' => 'importar', + 'sync-feeds' => 'synchronize feeds', 'platforms' => 'plattformer', 'social' => 'sosiale nettverk', 'funding' => 'finansiering', + 'monetization-other' => 'other monetization', 'analytics' => 'analysar', 'locations' => 'stader', 'webpages' => 'nettsider', diff --git a/modules/Admin/Language/nn-NO/Common.php b/modules/Admin/Language/nn-NO/Common.php index 46688469..b37e1394 100644 --- a/modules/Admin/Language/nn-NO/Common.php +++ b/modules/Admin/Language/nn-NO/Common.php @@ -40,6 +40,7 @@ return [ ], 'upload_file' => 'Last opp ei fil', 'remote_url' => 'Ekstern URL-adresse', + 'save' => 'Save', ], 'play_episode_button' => [ 'play' => 'Spel', diff --git a/modules/Admin/Language/nn-NO/Platforms.php b/modules/Admin/Language/nn-NO/Platforms.php index 3cf5f254..f1fd7c9a 100644 --- a/modules/Admin/Language/nn-NO/Platforms.php +++ b/modules/Admin/Language/nn-NO/Platforms.php @@ -9,9 +9,22 @@ declare(strict_types=1); */ return [ - 'title' => 'Plattformer', + 'title' => [ + 'podcasting' => 'Podcasting platforms', + 'social' => 'Social networks', + 'funding' => 'Funding links', + ], + 'website' => 'Website', 'home_url' => 'Gå til {platformName}-nettstaden', + 'register' => 'Register', 'submit_url' => 'Send podkasten din til {platformName}', + 'your_link' => 'Your link', + 'your_id' => [ + 'podcasting' => 'Your ID', + 'social' => 'Your ID', + 'funding' => 'Your CTA', + ], + 'your_cta' => 'Your call to action', 'visible' => 'Vis på heimesida til podkasten?', 'on_embed' => 'Vis i den innbyggbare spelaren?', 'remove' => 'Fjern {platformName}', diff --git a/modules/Admin/Language/nn-NO/Podcast.php b/modules/Admin/Language/nn-NO/Podcast.php index e4765352..e54b193a 100644 --- a/modules/Admin/Language/nn-NO/Podcast.php +++ b/modules/Admin/Language/nn-NO/Podcast.php @@ -22,12 +22,11 @@ return [ 'delete' => 'Slett podkasten', 'see_episodes' => 'Sjå episodane', 'see_contributors' => 'Sjå bidragsytarane', + 'monetization_other' => 'Other monetization', 'go_to_page' => 'Gå til side', 'latest_episodes' => 'Dei nyaste episodane', 'see_all_episodes' => 'Sjå alle episodane', 'draft' => 'Kladd', - 'sync_feed' => 'Synkroniser straumen', - 'sync_feed_hint' => 'Importer dei nyaste episodane til denne podkasten', 'messages' => [ 'createSuccess' => 'Podkasten er oppretta!', 'editSuccess' => 'Podkasten er oppdatert!', @@ -59,6 +58,8 @@ return [ 'form' => [ 'identity_section_title' => 'Podkastidentitet', 'identity_section_subtitle' => 'Desse felta gjer at du blir lagt merke til.', + 'fediverse_section_title' => 'Fediverse identity', + 'cover' => 'Podkastomslag', 'cover_size_hint' => 'Omslaget må vera kvadratisk, og minst 1400pkt breitt og høgt.', 'banner' => 'Podkastbanner', @@ -134,7 +135,6 @@ return [ 'partner_id_hint' => 'Din eigen partnar-ID', 'partner_link_url_hint' => 'Lenkeadressa til den generelle partnaren', 'partner_image_url_hint' => 'Biletadressa til den generelle partnaren', - 'status_section_title' => 'Status', 'block' => 'Podkasten skal gøymast frå offentlege katalogar', 'block_hint' => 'Vis- eller gøym- status for podkasten: Dersom du skrur på dette, hindrar det heile podkasten frå å syna i Apple podcasts, Google podcasts og andre tredjeparts-appar som hentar podkastar frå desse (men ingen garanti)', diff --git a/modules/Admin/Language/nn-NO/PodcastNavigation.php b/modules/Admin/Language/nn-NO/PodcastNavigation.php index cbbfedaa..3b0bd11a 100644 --- a/modules/Admin/Language/nn-NO/PodcastNavigation.php +++ b/modules/Admin/Language/nn-NO/PodcastNavigation.php @@ -10,11 +10,13 @@ declare(strict_types=1); return [ 'go_to_page' => 'Gå til podkastsida', + 'rss_feed' => 'RSS feed', 'dashboard' => 'Podkast-styringspanel', 'podcast-view' => 'Heim', 'podcast-edit' => 'Rediger podkasten', 'podcast-persons-manage' => 'Handter personar', 'podcast-imports' => 'Podkast-importar', + 'podcast-imports-sync' => 'Sync feeds', 'episodes' => 'Episodar', 'episode-list' => 'Alle episodane', 'episode-create' => 'Ny episode', @@ -26,14 +28,15 @@ return [ 'podcast-analytics-players' => 'Spelarar', 'podcast-analytics-listening-time' => 'Lyttetid', 'podcast-analytics-time-periods' => 'Tidsperiodar', - 'premium' => 'Premium', + 'monetization' => 'Monetization', 'subscription-list' => 'Alle abonnement', 'subscription-create' => 'Legg til abonnement', 'contributors' => 'Bidragsytarar', 'contributor-list' => 'Alle bidragsytarane', 'contributor-add' => 'Legg til bidragsytar', - 'platforms' => 'Eksterne plattformer', - 'platforms-podcasting' => 'Podkasting', + 'broadcast' => 'Broadcast', + 'platforms-podcasting' => 'Podcasting apps', 'platforms-social' => 'Sosiale nettverk', - 'platforms-funding' => 'Finansiering', + 'platforms-funding' => 'Funding links', + 'podcast-monetization-other' => 'Other', ]; diff --git a/modules/Admin/Language/oc/Breadcrumb.php b/modules/Admin/Language/oc/Breadcrumb.php index 593322e6..6a678d4e 100644 --- a/modules/Admin/Language/oc/Breadcrumb.php +++ b/modules/Admin/Language/oc/Breadcrumb.php @@ -39,9 +39,11 @@ return [ 'my-account' => 'my account', 'change-password' => 'change password', 'imports' => 'imports', + 'sync-feeds' => 'synchronize feeds', 'platforms' => 'platforms', 'social' => 'social networks', 'funding' => 'funding', + 'monetization-other' => 'other monetization', 'analytics' => 'analytics', 'locations' => 'locations', 'webpages' => 'web pages', diff --git a/modules/Admin/Language/oc/Common.php b/modules/Admin/Language/oc/Common.php index 596c8bcd..74addcf2 100644 --- a/modules/Admin/Language/oc/Common.php +++ b/modules/Admin/Language/oc/Common.php @@ -40,6 +40,7 @@ return [ ], 'upload_file' => 'Upload a file', 'remote_url' => 'Remote URL', + 'save' => 'Save', ], 'play_episode_button' => [ 'play' => 'Play', diff --git a/modules/Admin/Language/oc/Episode.php b/modules/Admin/Language/oc/Episode.php index 98498bee..1a5e57a4 100644 --- a/modules/Admin/Language/oc/Episode.php +++ b/modules/Admin/Language/oc/Episode.php @@ -22,6 +22,7 @@ return [ 'all_podcast_episodes' => 'All podcast episodes', 'back_to_podcast' => 'Go back to podcast', 'edit' => 'Edit', + 'preview' => 'Preview', 'publish' => 'Publish', 'publish_edit' => 'Edit publication', 'publish_date_edit' => 'Edit publication date', @@ -86,7 +87,7 @@ return [ image {cover} audio {audio} other {media} - } file {file_path}. You may manually remove it from your disk.', + } file {file_key}. You may manually remove it from your disk.', 'sameSlugError' => 'An episode with the chosen slug already exists.', ], 'form' => [ @@ -211,4 +212,14 @@ return [ 'light' => 'Light', 'light-transparent' => 'Light transparent', ], + 'publication_status_banner' => [ + 'draft_mode' => 'draft mode', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'preview' => 'Preview', + ], ]; diff --git a/modules/Admin/Language/oc/Platforms.php b/modules/Admin/Language/oc/Platforms.php index ab17d599..e161181c 100644 --- a/modules/Admin/Language/oc/Platforms.php +++ b/modules/Admin/Language/oc/Platforms.php @@ -9,9 +9,22 @@ declare(strict_types=1); */ return [ - 'title' => 'Platforms', + 'title' => [ + 'podcasting' => 'Podcasting platforms', + 'social' => 'Social networks', + 'funding' => 'Funding links', + ], + 'website' => 'Website', 'home_url' => 'Go to {platformName} website', + 'register' => 'Register', 'submit_url' => 'Submit your podcast on {platformName}', + 'your_link' => 'Your link', + 'your_id' => [ + 'podcasting' => 'Your ID', + 'social' => 'Your ID', + 'funding' => 'Your CTA', + ], + 'your_cta' => 'Your call to action', 'visible' => 'Display in podcast homepage?', 'on_embed' => 'Display on embeddable player?', 'remove' => 'Remove {platformName}', diff --git a/modules/Admin/Language/oc/Podcast.php b/modules/Admin/Language/oc/Podcast.php index ab84e4ff..d9359e9b 100644 --- a/modules/Admin/Language/oc/Podcast.php +++ b/modules/Admin/Language/oc/Podcast.php @@ -22,6 +22,7 @@ return [ 'delete' => 'Delete podcast', 'see_episodes' => 'See episodes', 'see_contributors' => 'See contributors', + 'monetization_other' => 'Other monetization', 'go_to_page' => 'Go to page', 'latest_episodes' => 'Latest episodes', 'see_all_episodes' => 'See all episodes', @@ -57,6 +58,8 @@ return [ 'form' => [ 'identity_section_title' => 'Podcast identity', 'identity_section_subtitle' => 'These fields allow you to get noticed.', + 'fediverse_section_title' => 'Fediverse identity', + 'cover' => 'Podcast cover', 'cover_size_hint' => 'Cover must be squared and at least 1400px wide and tall.', 'banner' => 'Podcast banner', @@ -132,7 +135,6 @@ return [ 'partner_id_hint' => 'Your own partner ID', 'partner_link_url_hint' => 'The generic partner link address', 'partner_image_url_hint' => 'The generic partner image address', - 'status_section_title' => 'Status', 'block' => 'Podcast should be hidden from public catalogues', 'block_hint' => 'The podcast show or hide status: toggling this on prevents the entire podcast from appearing in Apple Podcasts, Google Podcasts, and any third party apps that pull shows from these directories. (Not guaranteed)', diff --git a/modules/Admin/Language/oc/PodcastNavigation.php b/modules/Admin/Language/oc/PodcastNavigation.php index efc00e5b..bb777707 100644 --- a/modules/Admin/Language/oc/PodcastNavigation.php +++ b/modules/Admin/Language/oc/PodcastNavigation.php @@ -10,11 +10,13 @@ declare(strict_types=1); return [ 'go_to_page' => 'Go to podcast page', + 'rss_feed' => 'RSS feed', 'dashboard' => 'Podcast dashboard', 'podcast-view' => 'Home', 'podcast-edit' => 'Edit podcast', 'podcast-persons-manage' => 'Manage persons', 'podcast-imports' => 'Podcast imports', + 'podcast-imports-sync' => 'Sync feeds', 'episodes' => 'Episodes', 'episode-list' => 'All episodes', 'episode-create' => 'New episode', @@ -26,14 +28,15 @@ return [ 'podcast-analytics-players' => 'Players', 'podcast-analytics-listening-time' => 'Listening time', 'podcast-analytics-time-periods' => 'Time periods', - 'premium' => 'Premium', + 'monetization' => 'Monetization', 'subscription-list' => 'All subscriptions', 'subscription-create' => 'Add subscription', 'contributors' => 'Contributors', 'contributor-list' => 'All contributors', 'contributor-add' => 'Add contributor', - 'platforms' => 'External platforms', - 'platforms-podcasting' => 'Podcasting', + 'broadcast' => 'Broadcast', + 'platforms-podcasting' => 'Podcasting apps', 'platforms-social' => 'Social networks', - 'platforms-funding' => 'Funding', + 'platforms-funding' => 'Funding links', + 'podcast-monetization-other' => 'Other', ]; diff --git a/modules/Admin/Language/pl/Breadcrumb.php b/modules/Admin/Language/pl/Breadcrumb.php index d3e718f0..37e81c6f 100644 --- a/modules/Admin/Language/pl/Breadcrumb.php +++ b/modules/Admin/Language/pl/Breadcrumb.php @@ -39,9 +39,11 @@ return [ 'my-account' => 'moje konto', 'change-password' => 'zmień hasło', 'imports' => 'imports', + 'sync-feeds' => 'synchronize feeds', 'platforms' => 'platformy', 'social' => 'sieci społecznościowe', 'funding' => 'finansowanie', + 'monetization-other' => 'other monetization', 'analytics' => 'analityka', 'locations' => 'lokalizacje', 'webpages' => 'strony internetowe', diff --git a/modules/Admin/Language/pl/Common.php b/modules/Admin/Language/pl/Common.php index 8fcbc322..25c59bb1 100644 --- a/modules/Admin/Language/pl/Common.php +++ b/modules/Admin/Language/pl/Common.php @@ -40,6 +40,7 @@ return [ ], 'upload_file' => 'Prześlij plik', 'remote_url' => 'Zdalny URL', + 'save' => 'Save', ], 'play_episode_button' => [ 'play' => 'Odtwarzaj', diff --git a/modules/Admin/Language/pl/Episode.php b/modules/Admin/Language/pl/Episode.php index e58524c0..de847425 100644 --- a/modules/Admin/Language/pl/Episode.php +++ b/modules/Admin/Language/pl/Episode.php @@ -23,6 +23,7 @@ return [ 'all_podcast_episodes' => 'Wszystkie odcinki podcastu', 'back_to_podcast' => 'Wróć do podkastu', 'edit' => 'Edytuj', + 'preview' => 'Preview', 'publish' => 'Publikuj', 'publish_edit' => 'Edytuj publikację', 'publish_date_edit' => 'Edytuj datę publikacji', @@ -82,13 +83,13 @@ return [ audio {audio} other {mediów} } odcinka.', - 'deleteFileError' => 'Nie udało się usunąć {type, select, - transcript {transkryptu} - chapters {rozdziały} - image {okładka} + 'deleteFileError' => 'Failed to delete {type, select, + transcript {transcript} + chapters {chapters} + image {cover} audio {audio} other {media} - } plik {file_path}. Możesz ręcznie usunąć go ze swojego dysku.', + } file {file_key}. You may manually remove it from your disk.', 'sameSlugError' => 'Odcinek z wybranym slugiem już istnieje.', ], 'form' => [ @@ -213,4 +214,14 @@ return [ 'light' => 'Jasny', 'light-transparent' => 'Jasny przezroczysty', ], + 'publication_status_banner' => [ + 'draft_mode' => 'draft mode', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'preview' => 'Preview', + ], ]; diff --git a/modules/Admin/Language/pl/Platforms.php b/modules/Admin/Language/pl/Platforms.php index 82bb83e6..1d8393a8 100644 --- a/modules/Admin/Language/pl/Platforms.php +++ b/modules/Admin/Language/pl/Platforms.php @@ -9,9 +9,22 @@ declare(strict_types=1); */ return [ - 'title' => 'Platformy', + 'title' => [ + 'podcasting' => 'Podcasting platforms', + 'social' => 'Social networks', + 'funding' => 'Funding links', + ], + 'website' => 'Website', 'home_url' => 'Idź do strony {platformName}', + 'register' => 'Register', 'submit_url' => 'Prześlij swój podcast na {platformName}', + 'your_link' => 'Your link', + 'your_id' => [ + 'podcasting' => 'Your ID', + 'social' => 'Your ID', + 'funding' => 'Your CTA', + ], + 'your_cta' => 'Your call to action', 'visible' => 'Wyświetlać na stronie głównej podcastu?', 'on_embed' => 'Wyświetlać w osadzalnym odtwarzaczu?', 'remove' => 'Usuń {platformName}', diff --git a/modules/Admin/Language/pl/Podcast.php b/modules/Admin/Language/pl/Podcast.php index 0a617a2f..7c9b48dd 100644 --- a/modules/Admin/Language/pl/Podcast.php +++ b/modules/Admin/Language/pl/Podcast.php @@ -22,6 +22,7 @@ return [ 'delete' => 'Usuń podcast', 'see_episodes' => 'Zobacz odcinki', 'see_contributors' => 'Zobacz kontrybutorów', + 'monetization_other' => 'Other monetization', 'go_to_page' => 'Idź do strony', 'latest_episodes' => 'Najnowsze odcinki', 'see_all_episodes' => 'Zobacz wszystkie odcinki', @@ -57,6 +58,8 @@ return [ 'form' => [ 'identity_section_title' => 'Tożsamość podcastu', 'identity_section_subtitle' => 'Te pola pozwalają Ci zostać zauważonym.', + 'fediverse_section_title' => 'Fediverse identity', + 'cover' => 'Okładka podcastu', 'cover_size_hint' => 'Cover must be squared and at least 1400px wide and tall.', 'banner' => 'Baner podcastu', @@ -132,7 +135,6 @@ return [ 'partner_id_hint' => 'Twój własny ID partnera', 'partner_link_url_hint' => 'Ogólny adres linku partnera', 'partner_image_url_hint' => 'Ogólny adres obrazu partnera', - 'status_section_title' => 'Status', 'block' => 'Podcast should be hidden from public catalogues', 'block_hint' => 'The podcast show or hide status: toggling this on prevents the entire podcast from appearing in Apple Podcasts, Google Podcasts, and any third party apps that pull shows from these directories. (Not guaranteed)', diff --git a/modules/Admin/Language/pl/PodcastNavigation.php b/modules/Admin/Language/pl/PodcastNavigation.php index 6226fc2a..621e411e 100644 --- a/modules/Admin/Language/pl/PodcastNavigation.php +++ b/modules/Admin/Language/pl/PodcastNavigation.php @@ -10,11 +10,13 @@ declare(strict_types=1); return [ 'go_to_page' => 'Idź do strony podcastu', + 'rss_feed' => 'RSS feed', 'dashboard' => 'Pulpit podcastu', 'podcast-view' => 'Początek', 'podcast-edit' => 'Edytuj podcast', 'podcast-persons-manage' => 'Zarządzaj osobami', 'podcast-imports' => 'Podcast imports', + 'podcast-imports-sync' => 'Sync feeds', 'episodes' => 'Odcinki', 'episode-list' => 'Wszystkie odcinki', 'episode-create' => 'Nowy odcinek', @@ -26,14 +28,15 @@ return [ 'podcast-analytics-players' => 'Odtwarzacze', 'podcast-analytics-listening-time' => 'Czas odsłuchu', 'podcast-analytics-time-periods' => 'Okresy czasu', - 'premium' => 'Premium', + 'monetization' => 'Monetization', 'subscription-list' => 'Wszystkie subskrypcje', 'subscription-create' => 'Dodaj subskrypcję', 'contributors' => 'Kontrybutorzy', 'contributor-list' => 'Wszyscy kontrybutorzy', 'contributor-add' => 'Dodaj kontrybutora', - 'platforms' => 'Zewnętrzne platformy', - 'platforms-podcasting' => 'Platformy podcastingowe', + 'broadcast' => 'Broadcast', + 'platforms-podcasting' => 'Podcasting apps', 'platforms-social' => 'Sieci społecznościowe', - 'platforms-funding' => 'Finansowanie', + 'platforms-funding' => 'Funding links', + 'podcast-monetization-other' => 'Other', ]; diff --git a/modules/Admin/Language/pt-BR/Breadcrumb.php b/modules/Admin/Language/pt-BR/Breadcrumb.php index 63d17e97..29c73be3 100644 --- a/modules/Admin/Language/pt-BR/Breadcrumb.php +++ b/modules/Admin/Language/pt-BR/Breadcrumb.php @@ -39,9 +39,11 @@ return [ 'my-account' => 'minha conta', 'change-password' => 'alterar senha', 'imports' => 'importações', + 'sync-feeds' => 'synchronize feeds', 'platforms' => 'plataformas', 'social' => 'redes sociais', 'funding' => 'financiamento', + 'monetization-other' => 'other monetization', 'analytics' => 'estatísticas', 'locations' => 'localizações', 'webpages' => 'páginas da web', diff --git a/modules/Admin/Language/pt-BR/Common.php b/modules/Admin/Language/pt-BR/Common.php index c323eef3..f82a5109 100644 --- a/modules/Admin/Language/pt-BR/Common.php +++ b/modules/Admin/Language/pt-BR/Common.php @@ -40,6 +40,7 @@ return [ ], 'upload_file' => 'Enviar um arquivo', 'remote_url' => 'URL remota', + 'save' => 'Save', ], 'play_episode_button' => [ 'play' => 'Reproduzir', diff --git a/modules/Admin/Language/pt-BR/Episode.php b/modules/Admin/Language/pt-BR/Episode.php index 8a7e19d7..deb669aa 100644 --- a/modules/Admin/Language/pt-BR/Episode.php +++ b/modules/Admin/Language/pt-BR/Episode.php @@ -22,6 +22,7 @@ return [ 'all_podcast_episodes' => 'Todos os episódios de podcast', 'back_to_podcast' => 'Voltar para o podcast', 'edit' => 'Editar', + 'preview' => 'Preview', 'publish' => 'Publicar', 'publish_edit' => 'Editar publicação', 'publish_date_edit' => 'Editar data de publicação', @@ -80,13 +81,13 @@ return [ audio {áudio} other {mídia} }.', - 'deleteFileError' => 'Falha ao excluir o arquivo de {type, select, - transcript {transcrição} - chapters {capítulos} - image {capa} - audio {áudio} - other {mídia} - } {file_path}. Você pode removê-lo manualmente do seu disco.', + 'deleteFileError' => 'Failed to delete {type, select, + transcript {transcript} + chapters {chapters} + image {cover} + audio {audio} + other {media} + } file {file_key}. You may manually remove it from your disk.', 'sameSlugError' => 'Um episódio com o slug escolhido já existe.', ], 'form' => [ @@ -211,4 +212,14 @@ return [ 'light' => 'Claro', 'light-transparent' => 'Claro translúcido', ], + 'publication_status_banner' => [ + 'draft_mode' => 'draft mode', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'preview' => 'Preview', + ], ]; diff --git a/modules/Admin/Language/pt-BR/Platforms.php b/modules/Admin/Language/pt-BR/Platforms.php index c49bc8a2..14f14b49 100644 --- a/modules/Admin/Language/pt-BR/Platforms.php +++ b/modules/Admin/Language/pt-BR/Platforms.php @@ -9,9 +9,22 @@ declare(strict_types=1); */ return [ - 'title' => 'Plataformas', + 'title' => [ + 'podcasting' => 'Podcasting platforms', + 'social' => 'Social networks', + 'funding' => 'Funding links', + ], + 'website' => 'Website', 'home_url' => 'Ir para o site {platformName}', + 'register' => 'Register', 'submit_url' => 'Enviar seu podcast para {platformName}', + 'your_link' => 'Your link', + 'your_id' => [ + 'podcasting' => 'Your ID', + 'social' => 'Your ID', + 'funding' => 'Your CTA', + ], + 'your_cta' => 'Your call to action', 'visible' => 'Mostrar na página inicial do podcast?', 'on_embed' => 'Mostrar no player incorporável?', 'remove' => 'Remover {platformName}', diff --git a/modules/Admin/Language/pt-BR/Podcast.php b/modules/Admin/Language/pt-BR/Podcast.php index 8678bbe8..c6716eb4 100644 --- a/modules/Admin/Language/pt-BR/Podcast.php +++ b/modules/Admin/Language/pt-BR/Podcast.php @@ -22,12 +22,11 @@ return [ 'delete' => 'Excluir podcast', 'see_episodes' => 'Ver episódios', 'see_contributors' => 'Ver contribuidores', + 'monetization_other' => 'Other monetization', 'go_to_page' => 'Ir para a página', 'latest_episodes' => 'Últimos episódios', 'see_all_episodes' => 'Ver todos os episódios', 'draft' => 'Rascunho', - 'sync_feed' => 'Sincronizar o feed', - 'sync_feed_hint' => 'Importar os últimos episódios deste podcast', 'messages' => [ 'createSuccess' => 'Podcast criado com sucesso!', 'editSuccess' => 'Podcast foi atualizado com sucesso!', @@ -59,6 +58,8 @@ return [ 'form' => [ 'identity_section_title' => 'Identidade do podcast', 'identity_section_subtitle' => 'Esses campos permitem que você seja notado.', + 'fediverse_section_title' => 'Fediverse identity', + 'cover' => 'Capa do podcast', 'cover_size_hint' => 'A capa deve ser quadrada e ter pelo menos 1400px de largura e altura.', 'banner' => 'Banner do podcast', @@ -134,7 +135,6 @@ return [ 'partner_id_hint' => 'Seu próprio ID de parceiro', 'partner_link_url_hint' => 'O endereço genérico de link do parceiro', 'partner_image_url_hint' => 'O endereço genérico da imagem de parceiro', - 'status_section_title' => 'Status', 'block' => 'O podcast deve ser ocultado dos catálogos públicos', 'block_hint' => 'O status do podcast: ativar isso impede que o podcast inteiro apareça em Apple Podcasts, Google Podcasts e qualquer aplicativo de terceiros que extraia programas desses diretórios. (Não garantido)', diff --git a/modules/Admin/Language/pt-BR/PodcastNavigation.php b/modules/Admin/Language/pt-BR/PodcastNavigation.php index 94d7a7a4..753b6691 100644 --- a/modules/Admin/Language/pt-BR/PodcastNavigation.php +++ b/modules/Admin/Language/pt-BR/PodcastNavigation.php @@ -10,11 +10,13 @@ declare(strict_types=1); return [ 'go_to_page' => 'Ir para página do podcast', + 'rss_feed' => 'RSS feed', 'dashboard' => 'Painel do podcast', 'podcast-view' => 'Início', 'podcast-edit' => 'Editar podcast', 'podcast-persons-manage' => 'Gerenciar pessoas', 'podcast-imports' => 'Podcast imports', + 'podcast-imports-sync' => 'Sync feeds', 'episodes' => 'Episódios', 'episode-list' => 'Todos os episódios', 'episode-create' => 'Novo episódio', @@ -26,14 +28,15 @@ return [ 'podcast-analytics-players' => 'Players', 'podcast-analytics-listening-time' => 'Tempo de escuta', 'podcast-analytics-time-periods' => 'Períodos de tempo', - 'premium' => 'Premium', + 'monetization' => 'Monetization', 'subscription-list' => 'Todas as assinaturas', 'subscription-create' => 'Adicionar assinatura', 'contributors' => 'Contribuidores', 'contributor-list' => 'Todos os contribuidores', 'contributor-add' => 'Adicionar contribuidor', - 'platforms' => 'Plataformas externas', - 'platforms-podcasting' => 'Podcasting', + 'broadcast' => 'Broadcast', + 'platforms-podcasting' => 'Podcasting apps', 'platforms-social' => 'Redes sociais', - 'platforms-funding' => 'Financiamento', + 'platforms-funding' => 'Funding links', + 'podcast-monetization-other' => 'Other', ]; diff --git a/modules/Admin/Language/pt/Breadcrumb.php b/modules/Admin/Language/pt/Breadcrumb.php index 593322e6..6a678d4e 100644 --- a/modules/Admin/Language/pt/Breadcrumb.php +++ b/modules/Admin/Language/pt/Breadcrumb.php @@ -39,9 +39,11 @@ return [ 'my-account' => 'my account', 'change-password' => 'change password', 'imports' => 'imports', + 'sync-feeds' => 'synchronize feeds', 'platforms' => 'platforms', 'social' => 'social networks', 'funding' => 'funding', + 'monetization-other' => 'other monetization', 'analytics' => 'analytics', 'locations' => 'locations', 'webpages' => 'web pages', diff --git a/modules/Admin/Language/pt/Common.php b/modules/Admin/Language/pt/Common.php index 596c8bcd..74addcf2 100644 --- a/modules/Admin/Language/pt/Common.php +++ b/modules/Admin/Language/pt/Common.php @@ -40,6 +40,7 @@ return [ ], 'upload_file' => 'Upload a file', 'remote_url' => 'Remote URL', + 'save' => 'Save', ], 'play_episode_button' => [ 'play' => 'Play', diff --git a/modules/Admin/Language/pt/Episode.php b/modules/Admin/Language/pt/Episode.php index 98498bee..1a5e57a4 100644 --- a/modules/Admin/Language/pt/Episode.php +++ b/modules/Admin/Language/pt/Episode.php @@ -22,6 +22,7 @@ return [ 'all_podcast_episodes' => 'All podcast episodes', 'back_to_podcast' => 'Go back to podcast', 'edit' => 'Edit', + 'preview' => 'Preview', 'publish' => 'Publish', 'publish_edit' => 'Edit publication', 'publish_date_edit' => 'Edit publication date', @@ -86,7 +87,7 @@ return [ image {cover} audio {audio} other {media} - } file {file_path}. You may manually remove it from your disk.', + } file {file_key}. You may manually remove it from your disk.', 'sameSlugError' => 'An episode with the chosen slug already exists.', ], 'form' => [ @@ -211,4 +212,14 @@ return [ 'light' => 'Light', 'light-transparent' => 'Light transparent', ], + 'publication_status_banner' => [ + 'draft_mode' => 'draft mode', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'preview' => 'Preview', + ], ]; diff --git a/modules/Admin/Language/pt/Platforms.php b/modules/Admin/Language/pt/Platforms.php index ab17d599..e161181c 100644 --- a/modules/Admin/Language/pt/Platforms.php +++ b/modules/Admin/Language/pt/Platforms.php @@ -9,9 +9,22 @@ declare(strict_types=1); */ return [ - 'title' => 'Platforms', + 'title' => [ + 'podcasting' => 'Podcasting platforms', + 'social' => 'Social networks', + 'funding' => 'Funding links', + ], + 'website' => 'Website', 'home_url' => 'Go to {platformName} website', + 'register' => 'Register', 'submit_url' => 'Submit your podcast on {platformName}', + 'your_link' => 'Your link', + 'your_id' => [ + 'podcasting' => 'Your ID', + 'social' => 'Your ID', + 'funding' => 'Your CTA', + ], + 'your_cta' => 'Your call to action', 'visible' => 'Display in podcast homepage?', 'on_embed' => 'Display on embeddable player?', 'remove' => 'Remove {platformName}', diff --git a/modules/Admin/Language/pt/Podcast.php b/modules/Admin/Language/pt/Podcast.php index ab84e4ff..d9359e9b 100644 --- a/modules/Admin/Language/pt/Podcast.php +++ b/modules/Admin/Language/pt/Podcast.php @@ -22,6 +22,7 @@ return [ 'delete' => 'Delete podcast', 'see_episodes' => 'See episodes', 'see_contributors' => 'See contributors', + 'monetization_other' => 'Other monetization', 'go_to_page' => 'Go to page', 'latest_episodes' => 'Latest episodes', 'see_all_episodes' => 'See all episodes', @@ -57,6 +58,8 @@ return [ 'form' => [ 'identity_section_title' => 'Podcast identity', 'identity_section_subtitle' => 'These fields allow you to get noticed.', + 'fediverse_section_title' => 'Fediverse identity', + 'cover' => 'Podcast cover', 'cover_size_hint' => 'Cover must be squared and at least 1400px wide and tall.', 'banner' => 'Podcast banner', @@ -132,7 +135,6 @@ return [ 'partner_id_hint' => 'Your own partner ID', 'partner_link_url_hint' => 'The generic partner link address', 'partner_image_url_hint' => 'The generic partner image address', - 'status_section_title' => 'Status', 'block' => 'Podcast should be hidden from public catalogues', 'block_hint' => 'The podcast show or hide status: toggling this on prevents the entire podcast from appearing in Apple Podcasts, Google Podcasts, and any third party apps that pull shows from these directories. (Not guaranteed)', diff --git a/modules/Admin/Language/pt/PodcastNavigation.php b/modules/Admin/Language/pt/PodcastNavigation.php index efc00e5b..bb777707 100644 --- a/modules/Admin/Language/pt/PodcastNavigation.php +++ b/modules/Admin/Language/pt/PodcastNavigation.php @@ -10,11 +10,13 @@ declare(strict_types=1); return [ 'go_to_page' => 'Go to podcast page', + 'rss_feed' => 'RSS feed', 'dashboard' => 'Podcast dashboard', 'podcast-view' => 'Home', 'podcast-edit' => 'Edit podcast', 'podcast-persons-manage' => 'Manage persons', 'podcast-imports' => 'Podcast imports', + 'podcast-imports-sync' => 'Sync feeds', 'episodes' => 'Episodes', 'episode-list' => 'All episodes', 'episode-create' => 'New episode', @@ -26,14 +28,15 @@ return [ 'podcast-analytics-players' => 'Players', 'podcast-analytics-listening-time' => 'Listening time', 'podcast-analytics-time-periods' => 'Time periods', - 'premium' => 'Premium', + 'monetization' => 'Monetization', 'subscription-list' => 'All subscriptions', 'subscription-create' => 'Add subscription', 'contributors' => 'Contributors', 'contributor-list' => 'All contributors', 'contributor-add' => 'Add contributor', - 'platforms' => 'External platforms', - 'platforms-podcasting' => 'Podcasting', + 'broadcast' => 'Broadcast', + 'platforms-podcasting' => 'Podcasting apps', 'platforms-social' => 'Social networks', - 'platforms-funding' => 'Funding', + 'platforms-funding' => 'Funding links', + 'podcast-monetization-other' => 'Other', ]; diff --git a/modules/Admin/Language/ro/Breadcrumb.php b/modules/Admin/Language/ro/Breadcrumb.php index 593322e6..6a678d4e 100644 --- a/modules/Admin/Language/ro/Breadcrumb.php +++ b/modules/Admin/Language/ro/Breadcrumb.php @@ -39,9 +39,11 @@ return [ 'my-account' => 'my account', 'change-password' => 'change password', 'imports' => 'imports', + 'sync-feeds' => 'synchronize feeds', 'platforms' => 'platforms', 'social' => 'social networks', 'funding' => 'funding', + 'monetization-other' => 'other monetization', 'analytics' => 'analytics', 'locations' => 'locations', 'webpages' => 'web pages', diff --git a/modules/Admin/Language/ro/Common.php b/modules/Admin/Language/ro/Common.php index 596c8bcd..74addcf2 100644 --- a/modules/Admin/Language/ro/Common.php +++ b/modules/Admin/Language/ro/Common.php @@ -40,6 +40,7 @@ return [ ], 'upload_file' => 'Upload a file', 'remote_url' => 'Remote URL', + 'save' => 'Save', ], 'play_episode_button' => [ 'play' => 'Play', diff --git a/modules/Admin/Language/ro/Episode.php b/modules/Admin/Language/ro/Episode.php index 98498bee..1a5e57a4 100644 --- a/modules/Admin/Language/ro/Episode.php +++ b/modules/Admin/Language/ro/Episode.php @@ -22,6 +22,7 @@ return [ 'all_podcast_episodes' => 'All podcast episodes', 'back_to_podcast' => 'Go back to podcast', 'edit' => 'Edit', + 'preview' => 'Preview', 'publish' => 'Publish', 'publish_edit' => 'Edit publication', 'publish_date_edit' => 'Edit publication date', @@ -86,7 +87,7 @@ return [ image {cover} audio {audio} other {media} - } file {file_path}. You may manually remove it from your disk.', + } file {file_key}. You may manually remove it from your disk.', 'sameSlugError' => 'An episode with the chosen slug already exists.', ], 'form' => [ @@ -211,4 +212,14 @@ return [ 'light' => 'Light', 'light-transparent' => 'Light transparent', ], + 'publication_status_banner' => [ + 'draft_mode' => 'draft mode', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'preview' => 'Preview', + ], ]; diff --git a/modules/Admin/Language/ro/Platforms.php b/modules/Admin/Language/ro/Platforms.php index ab17d599..e161181c 100644 --- a/modules/Admin/Language/ro/Platforms.php +++ b/modules/Admin/Language/ro/Platforms.php @@ -9,9 +9,22 @@ declare(strict_types=1); */ return [ - 'title' => 'Platforms', + 'title' => [ + 'podcasting' => 'Podcasting platforms', + 'social' => 'Social networks', + 'funding' => 'Funding links', + ], + 'website' => 'Website', 'home_url' => 'Go to {platformName} website', + 'register' => 'Register', 'submit_url' => 'Submit your podcast on {platformName}', + 'your_link' => 'Your link', + 'your_id' => [ + 'podcasting' => 'Your ID', + 'social' => 'Your ID', + 'funding' => 'Your CTA', + ], + 'your_cta' => 'Your call to action', 'visible' => 'Display in podcast homepage?', 'on_embed' => 'Display on embeddable player?', 'remove' => 'Remove {platformName}', diff --git a/modules/Admin/Language/ro/Podcast.php b/modules/Admin/Language/ro/Podcast.php index ab84e4ff..d9359e9b 100644 --- a/modules/Admin/Language/ro/Podcast.php +++ b/modules/Admin/Language/ro/Podcast.php @@ -22,6 +22,7 @@ return [ 'delete' => 'Delete podcast', 'see_episodes' => 'See episodes', 'see_contributors' => 'See contributors', + 'monetization_other' => 'Other monetization', 'go_to_page' => 'Go to page', 'latest_episodes' => 'Latest episodes', 'see_all_episodes' => 'See all episodes', @@ -57,6 +58,8 @@ return [ 'form' => [ 'identity_section_title' => 'Podcast identity', 'identity_section_subtitle' => 'These fields allow you to get noticed.', + 'fediverse_section_title' => 'Fediverse identity', + 'cover' => 'Podcast cover', 'cover_size_hint' => 'Cover must be squared and at least 1400px wide and tall.', 'banner' => 'Podcast banner', @@ -132,7 +135,6 @@ return [ 'partner_id_hint' => 'Your own partner ID', 'partner_link_url_hint' => 'The generic partner link address', 'partner_image_url_hint' => 'The generic partner image address', - 'status_section_title' => 'Status', 'block' => 'Podcast should be hidden from public catalogues', 'block_hint' => 'The podcast show or hide status: toggling this on prevents the entire podcast from appearing in Apple Podcasts, Google Podcasts, and any third party apps that pull shows from these directories. (Not guaranteed)', diff --git a/modules/Admin/Language/ro/PodcastNavigation.php b/modules/Admin/Language/ro/PodcastNavigation.php index efc00e5b..bb777707 100644 --- a/modules/Admin/Language/ro/PodcastNavigation.php +++ b/modules/Admin/Language/ro/PodcastNavigation.php @@ -10,11 +10,13 @@ declare(strict_types=1); return [ 'go_to_page' => 'Go to podcast page', + 'rss_feed' => 'RSS feed', 'dashboard' => 'Podcast dashboard', 'podcast-view' => 'Home', 'podcast-edit' => 'Edit podcast', 'podcast-persons-manage' => 'Manage persons', 'podcast-imports' => 'Podcast imports', + 'podcast-imports-sync' => 'Sync feeds', 'episodes' => 'Episodes', 'episode-list' => 'All episodes', 'episode-create' => 'New episode', @@ -26,14 +28,15 @@ return [ 'podcast-analytics-players' => 'Players', 'podcast-analytics-listening-time' => 'Listening time', 'podcast-analytics-time-periods' => 'Time periods', - 'premium' => 'Premium', + 'monetization' => 'Monetization', 'subscription-list' => 'All subscriptions', 'subscription-create' => 'Add subscription', 'contributors' => 'Contributors', 'contributor-list' => 'All contributors', 'contributor-add' => 'Add contributor', - 'platforms' => 'External platforms', - 'platforms-podcasting' => 'Podcasting', + 'broadcast' => 'Broadcast', + 'platforms-podcasting' => 'Podcasting apps', 'platforms-social' => 'Social networks', - 'platforms-funding' => 'Funding', + 'platforms-funding' => 'Funding links', + 'podcast-monetization-other' => 'Other', ]; diff --git a/modules/Admin/Language/ru/Breadcrumb.php b/modules/Admin/Language/ru/Breadcrumb.php index 642f273d..097ddc1c 100644 --- a/modules/Admin/Language/ru/Breadcrumb.php +++ b/modules/Admin/Language/ru/Breadcrumb.php @@ -39,9 +39,11 @@ return [ 'my-account' => 'мой аккаунт', 'change-password' => 'сменить пароль', 'imports' => 'imports', + 'sync-feeds' => 'synchronize feeds', 'platforms' => 'платформы', 'social' => 'социальные сети', 'funding' => 'финансирование', + 'monetization-other' => 'other monetization', 'analytics' => 'аналитика', 'locations' => 'расположение', 'webpages' => 'веб-страницы', diff --git a/modules/Admin/Language/ru/Common.php b/modules/Admin/Language/ru/Common.php index 596c8bcd..74addcf2 100644 --- a/modules/Admin/Language/ru/Common.php +++ b/modules/Admin/Language/ru/Common.php @@ -40,6 +40,7 @@ return [ ], 'upload_file' => 'Upload a file', 'remote_url' => 'Remote URL', + 'save' => 'Save', ], 'play_episode_button' => [ 'play' => 'Play', diff --git a/modules/Admin/Language/ru/Episode.php b/modules/Admin/Language/ru/Episode.php index 98498bee..1a5e57a4 100644 --- a/modules/Admin/Language/ru/Episode.php +++ b/modules/Admin/Language/ru/Episode.php @@ -22,6 +22,7 @@ return [ 'all_podcast_episodes' => 'All podcast episodes', 'back_to_podcast' => 'Go back to podcast', 'edit' => 'Edit', + 'preview' => 'Preview', 'publish' => 'Publish', 'publish_edit' => 'Edit publication', 'publish_date_edit' => 'Edit publication date', @@ -86,7 +87,7 @@ return [ image {cover} audio {audio} other {media} - } file {file_path}. You may manually remove it from your disk.', + } file {file_key}. You may manually remove it from your disk.', 'sameSlugError' => 'An episode with the chosen slug already exists.', ], 'form' => [ @@ -211,4 +212,14 @@ return [ 'light' => 'Light', 'light-transparent' => 'Light transparent', ], + 'publication_status_banner' => [ + 'draft_mode' => 'draft mode', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'preview' => 'Preview', + ], ]; diff --git a/modules/Admin/Language/ru/Platforms.php b/modules/Admin/Language/ru/Platforms.php index ab17d599..e161181c 100644 --- a/modules/Admin/Language/ru/Platforms.php +++ b/modules/Admin/Language/ru/Platforms.php @@ -9,9 +9,22 @@ declare(strict_types=1); */ return [ - 'title' => 'Platforms', + 'title' => [ + 'podcasting' => 'Podcasting platforms', + 'social' => 'Social networks', + 'funding' => 'Funding links', + ], + 'website' => 'Website', 'home_url' => 'Go to {platformName} website', + 'register' => 'Register', 'submit_url' => 'Submit your podcast on {platformName}', + 'your_link' => 'Your link', + 'your_id' => [ + 'podcasting' => 'Your ID', + 'social' => 'Your ID', + 'funding' => 'Your CTA', + ], + 'your_cta' => 'Your call to action', 'visible' => 'Display in podcast homepage?', 'on_embed' => 'Display on embeddable player?', 'remove' => 'Remove {platformName}', diff --git a/modules/Admin/Language/ru/Podcast.php b/modules/Admin/Language/ru/Podcast.php index ab84e4ff..d9359e9b 100644 --- a/modules/Admin/Language/ru/Podcast.php +++ b/modules/Admin/Language/ru/Podcast.php @@ -22,6 +22,7 @@ return [ 'delete' => 'Delete podcast', 'see_episodes' => 'See episodes', 'see_contributors' => 'See contributors', + 'monetization_other' => 'Other monetization', 'go_to_page' => 'Go to page', 'latest_episodes' => 'Latest episodes', 'see_all_episodes' => 'See all episodes', @@ -57,6 +58,8 @@ return [ 'form' => [ 'identity_section_title' => 'Podcast identity', 'identity_section_subtitle' => 'These fields allow you to get noticed.', + 'fediverse_section_title' => 'Fediverse identity', + 'cover' => 'Podcast cover', 'cover_size_hint' => 'Cover must be squared and at least 1400px wide and tall.', 'banner' => 'Podcast banner', @@ -132,7 +135,6 @@ return [ 'partner_id_hint' => 'Your own partner ID', 'partner_link_url_hint' => 'The generic partner link address', 'partner_image_url_hint' => 'The generic partner image address', - 'status_section_title' => 'Status', 'block' => 'Podcast should be hidden from public catalogues', 'block_hint' => 'The podcast show or hide status: toggling this on prevents the entire podcast from appearing in Apple Podcasts, Google Podcasts, and any third party apps that pull shows from these directories. (Not guaranteed)', diff --git a/modules/Admin/Language/ru/PodcastNavigation.php b/modules/Admin/Language/ru/PodcastNavigation.php index efc00e5b..bb777707 100644 --- a/modules/Admin/Language/ru/PodcastNavigation.php +++ b/modules/Admin/Language/ru/PodcastNavigation.php @@ -10,11 +10,13 @@ declare(strict_types=1); return [ 'go_to_page' => 'Go to podcast page', + 'rss_feed' => 'RSS feed', 'dashboard' => 'Podcast dashboard', 'podcast-view' => 'Home', 'podcast-edit' => 'Edit podcast', 'podcast-persons-manage' => 'Manage persons', 'podcast-imports' => 'Podcast imports', + 'podcast-imports-sync' => 'Sync feeds', 'episodes' => 'Episodes', 'episode-list' => 'All episodes', 'episode-create' => 'New episode', @@ -26,14 +28,15 @@ return [ 'podcast-analytics-players' => 'Players', 'podcast-analytics-listening-time' => 'Listening time', 'podcast-analytics-time-periods' => 'Time periods', - 'premium' => 'Premium', + 'monetization' => 'Monetization', 'subscription-list' => 'All subscriptions', 'subscription-create' => 'Add subscription', 'contributors' => 'Contributors', 'contributor-list' => 'All contributors', 'contributor-add' => 'Add contributor', - 'platforms' => 'External platforms', - 'platforms-podcasting' => 'Podcasting', + 'broadcast' => 'Broadcast', + 'platforms-podcasting' => 'Podcasting apps', 'platforms-social' => 'Social networks', - 'platforms-funding' => 'Funding', + 'platforms-funding' => 'Funding links', + 'podcast-monetization-other' => 'Other', ]; diff --git a/modules/Admin/Language/sk/Breadcrumb.php b/modules/Admin/Language/sk/Breadcrumb.php index a3d97f7f..b47dd878 100644 --- a/modules/Admin/Language/sk/Breadcrumb.php +++ b/modules/Admin/Language/sk/Breadcrumb.php @@ -38,10 +38,12 @@ return [ 'users' => 'používatelia', 'my-account' => 'môj účet', 'change-password' => 'zmeniť heslo', - 'imports' => 'imports', + 'imports' => 'nahratia', + 'sync-feeds' => 'synchronize feeds', 'platforms' => 'platformy', 'social' => 'sociálne siete', 'funding' => 'financovanie', + 'monetization-other' => 'other monetization', 'analytics' => 'analytika', 'locations' => 'miesta', 'webpages' => 'web stránky', diff --git a/modules/Admin/Language/sk/Common.php b/modules/Admin/Language/sk/Common.php index 9572c953..a8fc2465 100644 --- a/modules/Admin/Language/sk/Common.php +++ b/modules/Admin/Language/sk/Common.php @@ -40,6 +40,7 @@ return [ ], 'upload_file' => 'Nahrať súbor', 'remote_url' => 'Vzdialená adresa URL', + 'save' => 'Save', ], 'play_episode_button' => [ 'play' => 'Prehrať', diff --git a/modules/Admin/Language/sk/Countries.php b/modules/Admin/Language/sk/Countries.php index 305fa5d2..8d5fa7cd 100644 --- a/modules/Admin/Language/sk/Countries.php +++ b/modules/Admin/Language/sk/Countries.php @@ -261,7 +261,7 @@ Laoská ľudovodemokratická Republika", 'TZ' => 'Tanzánia', 'UA' => 'Ukraina', 'UG' => 'Uganda', - 'UM' => 'United States Minor Outlying Islands', + 'UM' => 'Menšie Odľahlé Ostrovy Spojených Štátov', 'US' => 'Spojené Štáty', 'UY' => 'Uruguaj', 'UZ' => 'Uzbekistán', diff --git a/modules/Admin/Language/sk/Episode.php b/modules/Admin/Language/sk/Episode.php index 5619ea85..bc0e6ac8 100644 --- a/modules/Admin/Language/sk/Episode.php +++ b/modules/Admin/Language/sk/Episode.php @@ -24,6 +24,7 @@ return [ 'all_podcast_episodes' => 'Všetky epizódy podcastu', 'back_to_podcast' => 'Späť na podcast', 'edit' => 'Upraviť', + 'preview' => 'Náhľad', 'publish' => 'Zverejniť', 'publish_edit' => 'Upraviť zverejnenie', 'publish_date_edit' => 'Upraviť dátum zverejnenia', @@ -84,13 +85,13 @@ return [ audio {zvuk} other {médiá} }.', - 'deleteFileError' => 'Nepodarilo sa vymazať {type, select, - transcript {prepis} - chapters {kapitoly} - image {obrázok} - audio {zvuk} - other {médiá} - } súbor {file_path}. Môžete ho z disku odstrániť ručne.', + 'deleteFileError' => 'Failed to delete {type, select, + transcript {transcript} + chapters {chapters} + image {cover} + audio {audio} + other {media} + } file {file_key}. You may manually remove it from your disk.', 'sameSlugError' => 'Epizóda s takýmto trvalým odkazom už existuje.', ], 'form' => [ @@ -215,4 +216,14 @@ return [ 'light' => 'Svetlý', 'light-transparent' => 'Svetlý priehľadný', ], + 'publication_status_banner' => [ + 'draft_mode' => 'konceptový režim', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'preview' => 'Náhľad', + ], ]; diff --git a/modules/Admin/Language/sk/EpisodeNavigation.php b/modules/Admin/Language/sk/EpisodeNavigation.php index ccf727da..9d213d89 100644 --- a/modules/Admin/Language/sk/EpisodeNavigation.php +++ b/modules/Admin/Language/sk/EpisodeNavigation.php @@ -16,8 +16,8 @@ return [ 'episode-persons-manage' => 'Spravovať osobnosti', 'embed-add' => 'Vnorený prehrávač', 'clips' => 'Klipy', - 'video-clips-list' => 'Video clips', - 'video-clips-create' => 'New video clip', + 'video-clips-list' => 'Video klipy', + 'video-clips-create' => 'Nový video klip', 'soundbites-list' => 'Soundbites', 'soundbites-create' => 'Nová zvučka', ]; diff --git a/modules/Admin/Language/sk/Navigation.php b/modules/Admin/Language/sk/Navigation.php index 4039ab46..2f1976a1 100644 --- a/modules/Admin/Language/sk/Navigation.php +++ b/modules/Admin/Language/sk/Navigation.php @@ -18,7 +18,7 @@ return [ 'podcast-list' => 'Všetky podcasty', 'podcast-create' => 'Nový podcast', 'all-podcast-imports' => 'All Podcast imports', - 'podcast-imports-add' => 'Import a podcast', + 'podcast-imports-add' => 'Importovať podcast', 'persons' => 'Osobnosti', 'person-list' => 'Všetky osobnosti', 'person-create' => 'Nová osobnosť', diff --git a/modules/Admin/Language/sk/Pager.php b/modules/Admin/Language/sk/Pager.php index 41adf3d7..43b98de4 100644 --- a/modules/Admin/Language/sk/Pager.php +++ b/modules/Admin/Language/sk/Pager.php @@ -9,7 +9,7 @@ declare(strict_types=1); */ return [ - 'pageNavigation' => 'Page navigation', + 'pageNavigation' => 'Navigácia stránky', 'first' => 'Prvá', 'previous' => 'Predošlá', 'next' => 'Ďalšia', diff --git a/modules/Admin/Language/sk/Person.php b/modules/Admin/Language/sk/Person.php index 38e1f073..7e98b939 100644 --- a/modules/Admin/Language/sk/Person.php +++ b/modules/Admin/Language/sk/Person.php @@ -29,7 +29,7 @@ return [ 'full_name_hint' => 'This is the full name or alias of the person.', 'unique_name' => 'Unikátne meno', 'unique_name_hint' => 'Použité pre URL odkazy', - 'information_url' => 'Information URL', + 'information_url' => 'Informačná URL adresa', 'information_url_hint' => 'Url to a relevant resource of information about the person, such as a homepage or third-party profile platform.', 'submit_create' => 'Vytvoriť osobnosť', diff --git a/modules/Admin/Language/sk/Platforms.php b/modules/Admin/Language/sk/Platforms.php index bd52fd09..d8654a77 100644 --- a/modules/Admin/Language/sk/Platforms.php +++ b/modules/Admin/Language/sk/Platforms.php @@ -9,9 +9,22 @@ declare(strict_types=1); */ return [ - 'title' => 'Platformy', + 'title' => [ + 'podcasting' => 'Podcasting platforms', + 'social' => 'Social networks', + 'funding' => 'Funding links', + ], + 'website' => 'Website', 'home_url' => 'Prejsť na stránku {platformName}', + 'register' => 'Register', 'submit_url' => 'Uverejniť podcast na platforme {platformName}', + 'your_link' => 'Your link', + 'your_id' => [ + 'podcasting' => 'Your ID', + 'social' => 'Your ID', + 'funding' => 'Your CTA', + ], + 'your_cta' => 'Your call to action', 'visible' => 'Zobraziť na úvodnej stránke podcastu?', 'on_embed' => 'Zobraziť na vnorenom prehrávači?', 'remove' => 'Remove {platformName}', diff --git a/modules/Admin/Language/sk/Podcast.php b/modules/Admin/Language/sk/Podcast.php index 1db0f269..8e6d5d07 100644 --- a/modules/Admin/Language/sk/Podcast.php +++ b/modules/Admin/Language/sk/Podcast.php @@ -22,6 +22,7 @@ return [ 'delete' => 'Vymazať podcast', 'see_episodes' => 'Ukázať časti', 'see_contributors' => 'Pozrieť prispievateľov', + 'monetization_other' => 'Other monetization', 'go_to_page' => 'Prejsť na stránku', 'latest_episodes' => 'Posledné časti', 'see_all_episodes' => 'Pozrieť všetky časti', @@ -57,6 +58,8 @@ return [ 'form' => [ 'identity_section_title' => 'Podcast identity', 'identity_section_subtitle' => 'These fields allow you to get noticed.', + 'fediverse_section_title' => 'Fediverse identity', + 'cover' => 'Obal podcastu', 'cover_size_hint' => 'Cover must be squared and at least 1400px wide and tall.', 'banner' => 'Podcast banner', @@ -132,7 +135,6 @@ return [ 'partner_id_hint' => 'Your own partner ID', 'partner_link_url_hint' => 'The generic partner link address', 'partner_image_url_hint' => 'The generic partner image address', - 'status_section_title' => 'Stav', 'block' => 'Podcast should be hidden from public catalogues', 'block_hint' => 'The podcast show or hide status: toggling this on prevents the entire podcast from appearing in Apple Podcasts, Google Podcasts, and any third party apps that pull shows from these directories. (Not guaranteed)', diff --git a/modules/Admin/Language/sk/PodcastNavigation.php b/modules/Admin/Language/sk/PodcastNavigation.php index efc00e5b..bb777707 100644 --- a/modules/Admin/Language/sk/PodcastNavigation.php +++ b/modules/Admin/Language/sk/PodcastNavigation.php @@ -10,11 +10,13 @@ declare(strict_types=1); return [ 'go_to_page' => 'Go to podcast page', + 'rss_feed' => 'RSS feed', 'dashboard' => 'Podcast dashboard', 'podcast-view' => 'Home', 'podcast-edit' => 'Edit podcast', 'podcast-persons-manage' => 'Manage persons', 'podcast-imports' => 'Podcast imports', + 'podcast-imports-sync' => 'Sync feeds', 'episodes' => 'Episodes', 'episode-list' => 'All episodes', 'episode-create' => 'New episode', @@ -26,14 +28,15 @@ return [ 'podcast-analytics-players' => 'Players', 'podcast-analytics-listening-time' => 'Listening time', 'podcast-analytics-time-periods' => 'Time periods', - 'premium' => 'Premium', + 'monetization' => 'Monetization', 'subscription-list' => 'All subscriptions', 'subscription-create' => 'Add subscription', 'contributors' => 'Contributors', 'contributor-list' => 'All contributors', 'contributor-add' => 'Add contributor', - 'platforms' => 'External platforms', - 'platforms-podcasting' => 'Podcasting', + 'broadcast' => 'Broadcast', + 'platforms-podcasting' => 'Podcasting apps', 'platforms-social' => 'Social networks', - 'platforms-funding' => 'Funding', + 'platforms-funding' => 'Funding links', + 'podcast-monetization-other' => 'Other', ]; diff --git a/modules/Admin/Language/sr_Latn/AboutCastopod.php b/modules/Admin/Language/sr_Latn/AboutCastopod.php index 3fb62aff..66ccc2e3 100644 --- a/modules/Admin/Language/sr_Latn/AboutCastopod.php +++ b/modules/Admin/Language/sr_Latn/AboutCastopod.php @@ -9,14 +9,14 @@ declare(strict_types=1); */ return [ - 'title' => 'About Castopod', - 'host_name' => 'Host name', - 'version' => 'Castopod version', - 'php_version' => 'PHP version', - 'os' => 'Operating System', - 'languages' => 'Languages', - 'update_database' => 'Update database', + 'title' => 'O Castopod-u', + 'host_name' => 'Naziv hosta', + 'version' => 'Verzija Castopod-a', + 'php_version' => 'PHP verzija', + 'os' => 'Operativni Sistem', + 'languages' => 'Jezici', + 'update_database' => 'Ažuriraj baze podataka', 'messages' => [ - 'databaseUpdateSuccess' => 'Database is up to date!', + 'databaseUpdateSuccess' => 'Baza podataka je ažurirana!', ], ]; diff --git a/modules/Admin/Language/sr_Latn/Breadcrumb.php b/modules/Admin/Language/sr_Latn/Breadcrumb.php index 4f685d60..48e20d41 100644 --- a/modules/Admin/Language/sr_Latn/Breadcrumb.php +++ b/modules/Admin/Language/sr_Latn/Breadcrumb.php @@ -38,10 +38,12 @@ return [ 'users' => 'korisnici', 'my-account' => 'moj nalog', 'change-password' => 'promenite lozinku', - 'imports' => 'imports', + 'imports' => 'uvozi', + 'sync-feeds' => 'sinhronizuj snabdevače', 'platforms' => 'platforme', 'social' => 'društvene mreže', 'funding' => 'finansiranje', + 'monetization-other' => 'druga monetizacija', 'analytics' => 'analitika', 'locations' => 'lokacije', 'webpages' => 'veb strane', diff --git a/modules/Admin/Language/sr_Latn/Common.php b/modules/Admin/Language/sr_Latn/Common.php index 0b2b3cdb..8fc6f706 100644 --- a/modules/Admin/Language/sr_Latn/Common.php +++ b/modules/Admin/Language/sr_Latn/Common.php @@ -40,6 +40,7 @@ return [ ], 'upload_file' => 'Otpremite datoteku', 'remote_url' => 'Daljinski URL', + 'save' => 'Sačuvaj', ], 'play_episode_button' => [ 'play' => 'Pusti', diff --git a/modules/Admin/Language/sr_Latn/Countries.php b/modules/Admin/Language/sr_Latn/Countries.php index eb139a8c..64b97465 100644 --- a/modules/Admin/Language/sr_Latn/Countries.php +++ b/modules/Admin/Language/sr_Latn/Countries.php @@ -217,48 +217,48 @@ return [ 'SL' => 'Sijera Leone', 'SM' => 'San Marino', 'SN' => 'Senegal', - 'SO' => 'Somalia', - 'SR' => 'Suriname', - 'SS' => 'South Sudan', - 'ST' => 'Sao Tome and Principe', - 'SV' => 'El Salvador', - 'SX' => 'Sint Maarten (Dutch part)', - 'SY' => 'Syrian Arab Republic', - 'SZ' => 'Swaziland', - 'TC' => 'Turks and Caicos Islands', - 'TD' => 'Chad', - 'TF' => 'French Southern Territories', + 'SO' => 'Somalija', + 'SR' => 'Surinam', + 'SS' => 'Južni Sudan', + 'ST' => 'Sao Tomе i Prinsipе', + 'SV' => 'Salvador', + 'SX' => 'Sveti Martin (Holandski deo)', + 'SY' => 'Sirijska Arapska Republika', + 'SZ' => 'Svazilеnd', + 'TC' => 'Tеrks i Kеjkos', + 'TD' => 'Čad', + 'TF' => 'Francuske Južne Teritorije', 'TG' => 'Togo', - 'TH' => 'Thailand', - 'TJ' => 'Tajikistan', + 'TH' => 'Таjland', + 'TJ' => 'Tadžikistan', 'TK' => 'Tokelau', - 'TL' => 'Timor-Leste', + 'TL' => 'Istočni Timor', 'TM' => 'Turkmenistan', - 'TN' => 'Tunisia', + 'TN' => 'Tunis', 'TO' => 'Tonga', - 'TR' => 'Turkey', - 'TT' => 'Trinidad and Tobago', + 'TR' => 'Turska', + 'TT' => 'Trinidad i Tobago', 'TV' => 'Tuvalu', - 'TW' => 'Taiwan, Province of China', - 'TZ' => 'Tanzania, United Republic of', - 'UA' => 'Ukraine', + 'TW' => 'Tajvan, Kineska provincija', + 'TZ' => 'Ujedinjena Republika Tanzanija', + 'UA' => 'Ukrajina', 'UG' => 'Uganda', - 'UM' => 'United States Minor Outlying Islands', - 'US' => 'United States', - 'UY' => 'Uruguay', + 'UM' => 'Mala spoljna ostrva Sjedinjenih Američkih Država', + 'US' => 'Sjеdinjеnе Državе', + 'UY' => 'Urugvaj', 'UZ' => 'Uzbekistan', - 'VA' => 'Holy See (Vatican City State)', - 'VC' => 'Saint Vincent and the Grenadines', - 'VE' => 'Venezuela, Bolivarian Republic of', - 'VG' => 'Virgin Islands, British', - 'VI' => 'Virgin Islands, U.S.', - 'VN' => 'Viet Nam', + 'VA' => 'Sveta stolica (Grad-država Vatikan)', + 'VC' => 'Sveti Vinsent i Grenadini', + 'VE' => 'Venecuela', + 'VG' => 'Devičanska ostrva', + 'VI' => 'Devičanska Ostrva, S.A.D.', + 'VN' => 'Vijetnam', 'VU' => 'Vanuatu', - 'WF' => 'Wallis and Futuna', + 'WF' => 'Valis i Futuna', 'WS' => 'Samoa', - 'YE' => 'Yemen', - 'YT' => 'Mayotte', - 'ZA' => 'South Africa', - 'ZM' => 'Zambia', - 'ZW' => 'Zimbabwe', + 'YE' => 'Jemen', + 'YT' => 'Majote', + 'ZA' => 'Južna Afrika', + 'ZM' => 'Zambija', + 'ZW' => 'Zimbabve', ]; diff --git a/modules/Admin/Language/sr_Latn/Dashboard.php b/modules/Admin/Language/sr_Latn/Dashboard.php index 881073fd..8761ee1b 100644 --- a/modules/Admin/Language/sr_Latn/Dashboard.php +++ b/modules/Admin/Language/sr_Latn/Dashboard.php @@ -9,20 +9,20 @@ declare(strict_types=1); */ return [ - 'home' => 'Admin dashboard', - 'welcome_message' => 'Welcome to the admin area!', + 'home' => 'Kontrolna tabla za administratora', + 'welcome_message' => 'Dobrodošli u deo za administratore!', 'podcasts' => [ - 'title' => 'Podcasts', - 'not_found' => 'No published podcast', - 'last_published' => 'Last published on {lastPublicationDate}', + 'title' => 'Podkasti', + 'not_found' => 'Nemate objavljen podkast', + 'last_published' => 'Poslednja objava {lastPublicationDate}', ], 'episodes' => [ - 'title' => 'Episodes', - 'not_found' => 'No published episode', - 'last_published' => 'Last published on {lastPublicationDate}', + 'title' => 'Epizode', + 'not_found' => 'Nemate objavljene epizode', + 'last_published' => 'Poslednja objava {lastPublicationDate}', ], 'storage' => [ - 'title' => 'Storage', - 'subtitle' => '{totalUploaded} out of {totalStorage}', + 'title' => 'Prostor', + 'subtitle' => '{totalUploaded} od {totalStorage}', ], ]; diff --git a/modules/Admin/Language/sr_Latn/Episode.php b/modules/Admin/Language/sr_Latn/Episode.php index d06b5d04..123288cc 100644 --- a/modules/Admin/Language/sr_Latn/Episode.php +++ b/modules/Admin/Language/sr_Latn/Episode.php @@ -9,9 +9,9 @@ declare(strict_types=1); */ return [ - 'season' => 'Season {seasonNumber}', + 'season' => 'Sezona {seasonNumber}', 'season_abbr' => 'S{seasonNumber}', - 'number' => 'Episode {episodeNumber}', + 'number' => 'Epizoda {episodeNumber}', 'number_abbr' => 'Ep. {episodeNumber}', 'season_episode' => 'Sezona {seasonNumber} epizoda {episodeNumber}', 'season_episode_abbr' => 'S{seasonNumber}:E{episodeNumber}', @@ -22,6 +22,7 @@ return [ 'all_podcast_episodes' => 'Sve epizode podkasta', 'back_to_podcast' => 'Nazad na podkast', 'edit' => 'Izmeni', + 'preview' => 'Pregled', 'publish' => 'Objavi', 'publish_edit' => 'Uredi objavu', 'publish_date_edit' => 'Uredi datum objave', @@ -55,7 +56,7 @@ return [ }', 'episode' => 'Epizoda', 'visibility' => 'Vidljivost', - 'downloads' => 'Downloads', + 'downloads' => 'Preuzimanja', 'comments' => 'Komentari', 'actions' => 'Akcije', ], @@ -86,7 +87,7 @@ return [ image {omota} audio {zvuka} other {medija} - } datoteke {file_path}. Možete je ukloniti ručno sa diska.', + } datoteke {file_key}. Možete je ukloniti ručno sa vašeg diska.', 'sameSlugError' => 'Odabrano URL ime (slug) epizode već postoji.', ], 'form' => [ @@ -156,7 +157,7 @@ return [ 'custom_rss_hint' => 'Ovo će biti ubačeno u ❬item❭ tag.', 'block' => 'Epizoda treba biti sakriivena u javnim katalozima', 'block_hint' => - 'The episode show or hide status: toggling this on prevents the episode from appearing in Apple Podcasts, Google Podcasts, and any third party apps that pull shows from these directories. (Not guaranteed)', + 'Prikazan ili sakriven status epizode: ukoliko uključite ovu opciju onemogućavate prikazivanje vaše epizode na paltformama za slušanje podkasta kao što su Apple Podcasts, Google Podcasts i sličnim direktorijima. (Nije zagarantovano)', 'submit_create' => 'Kreiraj epizodu', 'submit_edit' => 'Sačuvaj epizodu', ], @@ -211,4 +212,14 @@ return [ 'light' => 'Svetla', 'light-transparent' => 'Svetla providna', ], + 'publication_status_banner' => [ + 'draft_mode' => 'režim nacrta', + 'text' => '{publication_status, select, + published {Ova epizoda još uvek nije objavljena.} + scheduled {Ova epizoda je zakazana za {publication_date}.} + with_podcast {Ova epizoda će biti objavljena kad i podkast.} + other {Ova epizoda još uvek nije objavljena.} + }', + 'preview' => 'Pregled', + ], ]; diff --git a/modules/Admin/Language/sr_Latn/Fediverse.php b/modules/Admin/Language/sr_Latn/Fediverse.php index 97b2088f..77d2bd18 100644 --- a/modules/Admin/Language/sr_Latn/Fediverse.php +++ b/modules/Admin/Language/sr_Latn/Fediverse.php @@ -12,21 +12,21 @@ return [ 'messages' => [ 'actorNotFound' => 'Nalog ne može biti pronađen!', 'blockActorSuccess' => '{actor} je blokiran!', - 'unblockActorSuccess' => 'Actor has been unblocked!', - 'blockDomainSuccess' => '{domain} has been blocked!', - 'unblockDomainSuccess' => '{domain} has been unblocked!', + 'unblockActorSuccess' => '{actor} je blokiran!', + 'blockDomainSuccess' => '{domain} je blokiran!', + 'unblockDomainSuccess' => '{domain} je odblokiran!', ], - 'blocked_actors' => 'Blocked accounts', - 'blocked_domains' => 'Blocked domains', + 'blocked_actors' => 'Blokirani nalozi', + 'blocked_domains' => 'Blokirani domeni', 'block_lists_form' => [ - 'handle' => 'Account handle', - 'handle_hint' => 'Input @username@domain account.', - 'domain' => 'Domain name', - 'submit' => 'Block!', + 'handle' => 'Kvačica naloga', + 'handle_hint' => 'Unesi @username@domain nalog.', + 'domain' => 'Naziv domena', + 'submit' => 'Blokiraj!', ], 'list' => [ - 'actor' => 'Account', - 'domain' => 'Domain name', - 'unblock' => 'Unblock', + 'actor' => 'Nalog', + 'domain' => 'Naziv domena', + 'unblock' => 'Odblokiraj', ], ]; diff --git a/modules/Admin/Language/sr_Latn/Home.php b/modules/Admin/Language/sr_Latn/Home.php index 3ff4c04d..b116bc70 100644 --- a/modules/Admin/Language/sr_Latn/Home.php +++ b/modules/Admin/Language/sr_Latn/Home.php @@ -9,6 +9,6 @@ declare(strict_types=1); */ return [ - 'all_podcasts' => 'All podcasts', - 'no_podcast' => 'No podcast found', + 'all_podcasts' => 'Svi podkasti', + 'no_podcast' => 'Nema pronađenih podkasta', ]; diff --git a/modules/Admin/Language/sr_Latn/Install.php b/modules/Admin/Language/sr_Latn/Install.php index 36e373a2..65edca65 100644 --- a/modules/Admin/Language/sr_Latn/Install.php +++ b/modules/Admin/Language/sr_Latn/Install.php @@ -9,53 +9,53 @@ declare(strict_types=1); */ return [ - 'manual_config' => 'Manual configuration', + 'manual_config' => 'Ručna konfiguracija', 'manual_config_subtitle' => - 'Create a `.env` file with your settings and refresh the page to continue installation.', + 'Napravite `.env` datoteku sa vašim podešavanjima i osvežite stranicu da bi ste nastavili instalaciju.', 'form' => [ - 'instance_config' => 'Instance configuration', - 'hostname' => 'Hostname', - 'media_base_url' => 'Media base URL', + 'instance_config' => 'Konfiguracija instance', + 'hostname' => 'Ime domaćina', + 'media_base_url' => 'URL medijske baze', 'media_base_url_hint' => - 'If you use a CDN and/or an external analytics service, you may set them here.', - 'admin_gateway' => 'Admin gateway', + 'Ako koristite CDN i/ili eksternu uslugu za analitiku, možete ih postaviti ovde.', + 'admin_gateway' => 'Administratorski izlaz', 'admin_gateway_hint' => - 'The route to access the admin area (eg. https://example.com/cp-admin). It is set by default as cp-admin, we recommend you change it for security reasons.', - 'auth_gateway' => 'Auth gateway', + 'Ruta za pristup kontrolnoj tabli administratora (eg. https://example.com/cp-admin).Podrazumevano je podešena na cp-admin, preporučujemo da je promenite iz sigurnosnih razloga.', + 'auth_gateway' => 'Auth izlaz', 'auth_gateway_hint' => - 'The route to access the authentication pages (eg. https://example.com/cp-auth). It is set by default as cp-auth, we recommend you change it for security reasons.', - 'database_config' => 'Database configuration', + 'Ruta za pristup stranicama za potvrdu identiteta (eg. https://example.com/cp-auth).Podrazumevano je podešena na cp-auth, preporučujemo da je promenite iz sigurnosnih razloga.', + 'database_config' => 'Konfiguracija baze podataka', 'database_config_hint' => - 'Castopod needs to connect to your MySQL (or MariaDB) database. If you do not have these required info, please contact your server administrator.', - 'db_hostname' => 'Database hostname', - 'db_name' => 'Database name', - 'db_username' => 'Database username', - 'db_password' => 'Database password', - 'db_prefix' => 'Database prefix', + 'Castopod mora da se poveže za vašom MySQL (ili MariaDB) bazom. Ukoliko ne posedujete potrebne informacije, molimo vas kontaktirajte administratora vašeg servera.', + 'db_hostname' => 'Ime hosta baze podataka', + 'db_name' => 'Ime baze podataka', + 'db_username' => 'Korisničko ime baze podataka', + 'db_password' => 'Lozinka baze podataka', + 'db_prefix' => 'Prefiks baze', 'db_prefix_hint' => - "The prefix of the Castopod table names, leave as is if you don't know what it means.", - 'cache_config' => 'Cache configuration', + "Prefiks imena tabela Castopod-a, ne diraj ako ne znaš šta znači.", + 'cache_config' => 'Konfiguracija keša', 'cache_config_hint' => - 'Choose your preferred cache handler. Leave it as the default value if you have no clue what it means.', - 'cache_handler' => 'Cache handler', + 'Izaberite željeni obrađivač keša. Ostavite je kao podrazumevanu vrednost ako nemate pojma šta to znači.', + 'cache_handler' => 'Obrađivač keša', 'cacheHandlerOptions' => [ - 'file' => 'File', + 'file' => 'Datoteka', 'redis' => 'Redis', 'predis' => 'Predis', ], - 'next' => 'Next', - 'submit' => 'Finish install', - 'create_superadmin' => 'Create your superadmin account', - 'email' => 'Email', - 'username' => 'Username', - 'password' => 'Password', + 'next' => 'Sledeće', + 'submit' => 'Završi instalaciju', + 'create_superadmin' => 'Kreiraj svoj nalog super administratora', + 'email' => 'E-pošta', + 'username' => 'Korisničko ime', + 'password' => 'Lozinka', ], 'messages' => [ 'createSuperAdminSuccess' => - 'Your superadmin account has been created successfully. Login to start podcasting!', + 'Vaš nalog superadmina je uspešno kreiran. Prijavite se da biste započeli podkasting!', 'databaseConnectError' => - 'Castopod could not connect to your database. Edit your database configuration and try again.', + 'Castopod nije mogao da se poveže sa vašom bazom podataka. Uredite konfiguraciju baze podataka i pokušajte ponovo.', 'writeError' => - "Couldn't create/write the `.env` file. You must create it manually by following the `.env.example` file template in the Castopod package.", + "Nije moguće kreirati/upisati datoteku `.env`. Morate je kreirati ručno prateći šablon datoteke `.env.example` u Castopod-ovom paketu.", ], ]; diff --git a/modules/Admin/Language/sr_Latn/Navigation.php b/modules/Admin/Language/sr_Latn/Navigation.php index fe7e6c68..d532dc5b 100644 --- a/modules/Admin/Language/sr_Latn/Navigation.php +++ b/modules/Admin/Language/sr_Latn/Navigation.php @@ -17,8 +17,8 @@ return [ 'podcasts' => 'Podkasti', 'podcast-list' => 'Svi podkasti', 'podcast-create' => 'Novi podkast', - 'all-podcast-imports' => 'All Podcast imports', - 'podcast-imports-add' => 'Import a podcast', + 'all-podcast-imports' => 'Uvozi podkasta', + 'podcast-imports-add' => 'Uvezi podkast', 'persons' => 'Osobe', 'person-list' => 'Sve osobe', 'person-create' => 'Nova osoba', diff --git a/modules/Admin/Language/sr_Latn/Notifications.php b/modules/Admin/Language/sr_Latn/Notifications.php index 2b139d51..dc79e82a 100644 --- a/modules/Admin/Language/sr_Latn/Notifications.php +++ b/modules/Admin/Language/sr_Latn/Notifications.php @@ -9,11 +9,11 @@ declare(strict_types=1); */ return [ - 'title' => 'Notifications', - 'reply' => '{actor_username} replied to your post', - 'favourite' => '{actor_username} favourited your post', - 'reblog' => '{actor_username} shared your post', - 'follow' => '{actor_username} started following you', - 'no_notifications' => 'No notifications', - 'mark_all_as_read' => 'Mark all as read', + 'title' => 'Obaveštenja', + 'reply' => '{actor_username} odgovara na tvoju objavu', + 'favourite' => '{actor_username} dodaje tvoju objavu u omiljene', + 'reblog' => '{actor_username} deli tvoju objavu', + 'follow' => '{actor_username} vas sada prati', + 'no_notifications' => 'Nema obaveštenja', + 'mark_all_as_read' => 'Označi svе kao pročitano', ]; diff --git a/modules/Admin/Language/sr_Latn/Pager.php b/modules/Admin/Language/sr_Latn/Pager.php index 6aac1696..421dbe64 100644 --- a/modules/Admin/Language/sr_Latn/Pager.php +++ b/modules/Admin/Language/sr_Latn/Pager.php @@ -16,6 +16,6 @@ return [ 'last' => 'Poslednja', 'older' => 'Starije', 'newer' => 'Novije', - 'invalidTemplate' => '{0} is not a valid Pager template.', - 'invalidPaginationGroup' => '{0} is not a valid Pagination group.', + 'invalidTemplate' => '{0} nije važeći šablon za stranice.', + 'invalidPaginationGroup' => '{0} nije važeći šablon za grupu paginacija.', ]; diff --git a/modules/Admin/Language/sr_Latn/Platforms.php b/modules/Admin/Language/sr_Latn/Platforms.php index a55c8dcd..0e895f03 100644 --- a/modules/Admin/Language/sr_Latn/Platforms.php +++ b/modules/Admin/Language/sr_Latn/Platforms.php @@ -9,9 +9,22 @@ declare(strict_types=1); */ return [ - 'title' => 'Platforme', + 'title' => [ + 'podcasting' => 'Podkasting platforme', + 'social' => 'Društvene mreže', + 'funding' => 'Podrška', + ], + 'website' => 'Veb stranica', 'home_url' => 'Idi na {platformName} stranicu', + 'register' => 'Rеgistrujte sе', 'submit_url' => 'Dodaj svoj podkast na {platformName}', + 'your_link' => 'Vaš link', + 'your_id' => [ + 'podcasting' => 'Tvoj ID', + 'social' => 'Tvoj ID', + 'funding' => 'Tvoj PNA', + ], + 'your_cta' => 'Tvoj poziv na akciju', 'visible' => 'Prikaži na naslovnoj strani podkasta?', 'on_embed' => 'Prikaži na embedovanom plejeru?', 'remove' => 'Ukloni {platformName}', diff --git a/modules/Admin/Language/sr_Latn/Podcast.php b/modules/Admin/Language/sr_Latn/Podcast.php index 1b08fcf5..33dbf24f 100644 --- a/modules/Admin/Language/sr_Latn/Podcast.php +++ b/modules/Admin/Language/sr_Latn/Podcast.php @@ -13,7 +13,7 @@ return [ 'no_podcast' => 'Nema pronađenih podkasta!', 'create' => 'Napravi podkast', 'import' => 'Uvezi podkast', - 'all_imports' => 'Podcast imports', + 'all_imports' => 'Uvozi podkasta', 'new_episode' => 'Nova epizoda', 'view' => 'Pogledaj epizodu', 'edit' => 'Uredi podkast', @@ -22,6 +22,7 @@ return [ 'delete' => 'Obriši podkast', 'see_episodes' => 'Pogledaj epizode', 'see_contributors' => 'Pogledaj saradnike', + 'monetization_other' => 'Druga monetizacija', 'go_to_page' => 'Idi na stranicu', 'latest_episodes' => 'Najnovije epizode', 'see_all_episodes' => 'Prikaži sve epizode', @@ -57,13 +58,15 @@ return [ 'form' => [ 'identity_section_title' => 'Identitet podkasta', 'identity_section_subtitle' => 'Ova polja vam pomažu da budete prepoznati.', + 'fediverse_section_title' => 'Fedivers identitet', + 'cover' => 'Omot podkasta', 'cover_size_hint' => 'Omot mora biti kvadratnog oblika i minimum 1400px širok i visok.', 'banner' => 'Baner podkasta', 'banner_size_hint' => 'Baner mora imati odnos 3:1 i biti najmanje 1500px širok.', 'banner_delete' => 'Obriši baner podkasta', 'title' => 'Naslov', - 'handle' => 'Handle', + 'handle' => 'Ručka', 'handle_hint' => 'Koristi se radi identifikacije podkasta. Velika slova, mala slova, brojevi i donja crta su prihvatljivi.', 'type' => [ @@ -73,66 +76,65 @@ return [ 'serial' => 'Serijski', 'serial_hint' => 'Ukoliko su epizode namenjene za konzumiranje specifičnim redom. Najstarija epizoda će biti predstavljena prva u redosledu.', ], - 'description' => 'Description', - 'classification_section_title' => 'Classification', + 'description' => 'Opis', + 'classification_section_title' => 'Klasifikacija', 'classification_section_subtitle' => - 'These fields will impact your audience and competition.', - 'language' => 'Language', - 'category' => 'Category', - 'category_placeholder' => 'Select a category…', - 'other_categories' => 'Other categories', + 'Ova polja će uticati na vašu publiku i konkurenciju.', + 'language' => 'Jezik', + 'category' => 'Kategorija', + 'category_placeholder' => 'Izaberite kategoriju…', + 'other_categories' => 'Ostale kategorije', 'parental_advisory' => [ - 'label' => 'Parental advisory', - 'hint' => 'Does it contain explicit content?', - 'undefined' => 'undefined', - 'clean' => 'Clean', - 'explicit' => 'Explicit', + 'label' => 'Upozorenje za roditelje', + 'hint' => 'Da li sadrži eksplicitan sadržaj?', + 'undefined' => 'nedefinisano', + 'clean' => 'Čisto', + 'explicit' => 'Eksplicitno', ], - 'author_section_title' => 'Author', - 'author_section_subtitle' => 'Who is managing the podcast?', - 'owner_name' => 'Owner name', + 'author_section_title' => 'Autor', + 'author_section_subtitle' => 'Ko upravlja podkastom?', + 'owner_name' => 'Ime vlasnika', 'owner_name_hint' => - 'For administrative use only. Visible in the public RSS feed.', - 'owner_email' => 'Owner email', + 'Za administrativnu upotrebu. Vidljivo u javnom RSS feed-u.', + 'owner_email' => 'Elektronska pošta vlasnika', 'owner_email_hint' => - 'Will be used by most platforms to verify the podcast ownership. Visible in the public RSS feed.', - 'publisher' => 'Publisher', + 'Koristiće se na većini platforma kako bi se utvrdilo vlasništvo nad podkastom. Vidljivo javno u RSS feed-u.', + 'publisher' => 'Izdavač', 'publisher_hint' => - 'The group responsible for creating the show. Often refers to the parent company or network of a podcast. This field is sometimes labeled as ’Author’.', - 'copyright' => 'Copyright', - 'location_section_title' => 'Location', - 'location_section_subtitle' => 'What place is this podcast about?', - 'location_name' => 'Location name or address', - 'location_name_hint' => 'This can be a real place or fictional', - 'monetization_section_title' => 'Monetization', + 'Grupa odgovorna za stvaranje ove emisije. Često se misli na vlasničku kompaniju ili mrežu kojoj pripada podkast. Ovo polje se nekada naziva i \'Autor".', + 'copyright' => 'Autorsko pravo', + 'location_section_title' => 'Lokacija', + 'location_section_subtitle' => 'O kom mestu je ova epizoda?', + 'location_name' => 'Ime ili adresa lokacije', + 'location_name_hint' => 'Ovo može biti stvarno ili izmišljeno mesto', + 'monetization_section_title' => 'Monetizacija', 'monetization_section_subtitle' => - 'Earn money thanks to your audience.', - 'premium' => 'Premium', - 'premium_by_default' => 'Episodes must be set as premium by default', - 'premium_by_default_hint' => 'Podcast episodes will be marked as premium by default. You can still choose to set some episodes, trailers or bonuses as public.', - 'op3' => 'Open Podcast Prefix Project (OP3)', - 'op3_hint' => 'Value your analytics data with OP3, an open-source and trusted third party analytics service. Share, validate and compare your analytics data with the open podcasting ecosystem.', - 'op3_enable' => 'Enable OP3 analytics service', - 'op3_enable_hint' => 'For security reasons, premium episodes\' analytics data will not be shared with OP3.', - 'payment_pointer' => 'Payment Pointer for Web Monetization', + 'Zaradi novac zahvaljujući svojoj publici.', + 'premium' => 'Premijum', + 'premium_by_default' => 'Epizode ​​se podrazumevano moraju podesiti kao premijum', + 'premium_by_default_hint' => 'Epizode ​​podkasta će podrazumevano biti označene kao premijum. I dalje možete izabrati da neke epizode, trejlere ili bonuse postavite kao javne.', + 'op3' => 'Otvoreni Podkast Prefiks Projekat (OP3)', + 'op3_hint' => 'Vrednujte svoje analitičke podatke pomoću OP3, otvorenog koda i pouzdane analitičke usluge treće strane. Delite, potvrdite i uporedite svoje analitičke podatke sa otvorenim podkast ekosistemom.', + 'op3_enable' => 'Omogućite OP3 analitičku uslugu', + 'op3_enable_hint' => 'Iz bezbednosnih razloga, analitika premijum epizoda se neće deliti sa OP3.', + 'payment_pointer' => 'Pokazivač plaćanja za Veb monetizaciju', 'payment_pointer_hint' => - 'This is your where you will receive money thanks to Web Monetization', - 'advanced_section_title' => 'Advanced Parameters', + 'Ovde ćete primati novac zahvaljujući Veb monetizaciji', + 'advanced_section_title' => 'Napredni parametri', 'advanced_section_subtitle' => - 'If you need RSS tags that Castopod does not handle, set them here.', - 'custom_rss' => 'Custom RSS tags for the podcast', - 'custom_rss_hint' => 'This will be injected within the ❬channel❭ tag.', - 'new_feed_url' => 'New feed URL', - 'new_feed_url_hint' => 'Use this field when you move to another domain or podcast hosting platform. By default, the value is set to the current RSS URL if the podcast is imported.', - 'old_feed_url' => 'Old feed URL', - 'partnership' => 'Partnership', + 'Ukoliko su vam potrebni RSS tagovi koje Castopod ne obrađuje, postavite ih ovde.', + 'custom_rss' => 'Posebni RSS tagovi epizode', + 'custom_rss_hint' => 'Ovo će biti ubačeno u ❬channel❭ tag.', + 'new_feed_url' => 'Novi URL fid', + 'new_feed_url_hint' => 'Koristite ovo polje kada prelazite na drugi domen ili platformu za hostovanje podkasta. Podrazumevano, vrednost je podešena na trenutni RSS URL ako je podkast uvezen.', + 'old_feed_url' => 'Stari URL fid', + 'partnership' => 'Partnerstvo', 'partner_id' => 'ID', 'partner_link_url' => 'URL adresa veze', 'partner_image_url' => 'URL adresa slike', 'partner_id_hint' => 'Vaš partnerski ID', 'partner_link_url_hint' => 'Generička adresa veze partnera', 'partner_image_url_hint' => 'Generička adresa slike partnera', - 'status_section_title' => 'Status', 'block' => 'Podkast treba sakriti iz javnih kataloga', 'block_hint' => 'Prikazan ili sakriven status podkasta: ukoliko uključite ovu opciju onemogućavate prikazivanje vašeg podkasta na paltformama za slušanje podkasta kao što su Apple Podcasts, Google Podcasts i sličnim direktorijima. (Nije zagarantovano)', @@ -229,8 +231,8 @@ return [ 'natural_sciences' => 'Prirodne nauke', 'nature' => 'Priroda', 'physics' => 'Fizika', - 'social_sciences' => 'Social Sciences', - 'documentary' => 'Documentary', + 'social_sciences' => 'Društvene nauke', + 'documentary' => 'Dokumentarni', 'personal_journals' => 'Lični dnevnici', 'philosophy' => 'Filozofija', 'places_and_travel' => 'Mesta i Putovanje', @@ -294,19 +296,19 @@ return [ 'list_of_episodes_season' => 'Sezona {seasonNumber} epizoda ({episodeCount})', 'no_episode' => 'Nijedna epizode nije pronađena!', - 'follow' => 'Follow', + 'follow' => 'Prati', 'followers' => '{numberOfFollowers, plural, - one {# follower} - other {# followers} + one {# pratilac} + other {# pratilaca} }', 'posts' => '{numberOfPosts, plural, - one {# post} - other {# posts} + one {# objava} + other {# objave} }', - 'activity' => 'Activity', - 'episodes' => 'Episodes', - 'sponsor' => 'Sponsor', - 'funding_links' => 'Funding links for {podcastTitle}', - 'find_on' => 'Find {podcastTitle} on', - 'listen_on' => 'Listen on', + 'activity' => 'Aktivnost', + 'episodes' => 'Epizode', + 'sponsor' => 'Sponzor', + 'funding_links' => 'Linkovi za finansiranje {podcastTitle}', + 'find_on' => 'Pronađi {podcastTitle} na', + 'listen_on' => 'Slušaj na', ]; diff --git a/modules/Admin/Language/sr_Latn/PodcastNavigation.php b/modules/Admin/Language/sr_Latn/PodcastNavigation.php index 9ea142e2..d2357d86 100644 --- a/modules/Admin/Language/sr_Latn/PodcastNavigation.php +++ b/modules/Admin/Language/sr_Latn/PodcastNavigation.php @@ -9,31 +9,34 @@ declare(strict_types=1); */ return [ - 'go_to_page' => 'Go to podcast page', - 'dashboard' => 'Podcast dashboard', - 'podcast-view' => 'Home', - 'podcast-edit' => 'Edit podcast', - 'podcast-persons-manage' => 'Manage persons', - 'podcast-imports' => 'Podcast imports', - 'episodes' => 'Episodes', - 'episode-list' => 'All episodes', - 'episode-create' => 'New episode', - 'analytics' => 'Analytics', - 'podcast-analytics' => 'Audience overview', - 'podcast-analytics-webpages' => 'Web pages visits', - 'podcast-analytics-locations' => 'Locations', - 'podcast-analytics-unique-listeners' => 'Unique listeners', - 'podcast-analytics-players' => 'Players', - 'podcast-analytics-listening-time' => 'Listening time', - 'podcast-analytics-time-periods' => 'Time periods', - 'premium' => 'Premium', - 'subscription-list' => 'All subscriptions', - 'subscription-create' => 'Add subscription', - 'contributors' => 'Contributors', - 'contributor-list' => 'All contributors', - 'contributor-add' => 'Add contributor', - 'platforms' => 'External platforms', - 'platforms-podcasting' => 'Podkasting', + 'go_to_page' => 'Idite na stranu podkasta', + 'rss_feed' => 'RSS feed', + 'dashboard' => 'Kontrolna strana podkasta', + 'podcast-view' => 'Početna stranica', + 'podcast-edit' => 'Uredi podkast', + 'podcast-persons-manage' => 'Upravljaj osobama', + 'podcast-imports' => 'Uvozi podkasta', + 'podcast-imports-sync' => 'Sinhronizuj snabdevače', + 'episodes' => 'Epizode', + 'episode-list' => 'Sve Epizode', + 'episode-create' => 'Nova epizoda', + 'analytics' => 'Analitika', + 'podcast-analytics' => 'Pregled publike', + 'podcast-analytics-webpages' => 'Poseta Veb stranici', + 'podcast-analytics-locations' => 'Lokacije', + 'podcast-analytics-unique-listeners' => 'Jedinstveni slušaoci', + 'podcast-analytics-players' => 'Plejeri', + 'podcast-analytics-listening-time' => 'Ukupno vreme slušanja', + 'podcast-analytics-time-periods' => 'Vremenski periodi', + 'monetization' => 'Monetizacija', + 'subscription-list' => 'Sve pretplate', + 'subscription-create' => 'Dodaj pretplatu', + 'contributors' => 'Saradnici', + 'contributor-list' => 'Svi saradnici', + 'contributor-add' => 'Dodaj saradnika', + 'broadcast' => 'Emitovanje', + 'platforms-podcasting' => 'Podkasting aplikacije', 'platforms-social' => 'Društvene mreže', - 'platforms-funding' => 'Finansiranje', + 'platforms-funding' => 'Podrška', + 'podcast-monetization-other' => 'Drugo', ]; diff --git a/modules/Admin/Language/sr_Latn/Settings.php b/modules/Admin/Language/sr_Latn/Settings.php index 650bd13d..82554b3c 100644 --- a/modules/Admin/Language/sr_Latn/Settings.php +++ b/modules/Admin/Language/sr_Latn/Settings.php @@ -14,45 +14,45 @@ return [ 'title' => 'Instance', 'site_icon' => 'Ikonica sajta', 'site_icon_delete' => 'Obriši ikonicu sajta', - 'site_icon_hint' => 'Site icons are what you see on your browser tabs, bookmarks bar, and when you add a website as a shortcut on mobile devices.', - 'site_icon_helper' => 'Icon must be squared and at least 512px wide and tall.', - 'site_name' => 'Site name', - 'site_description' => 'Site description', - 'submit' => 'Save', - 'editSuccess' => 'Instance has been updated successfully!', - 'deleteIconSuccess' => 'Site icon has been remove successfully!', + 'site_icon_hint' => 'Ikone sajtova su ono što vidite na karticama pregledača, traci sa obeleživačima i kada dodate veb lokaciju kao prečicu na mobilnim uređajima.', + 'site_icon_helper' => 'Ikona mora biti kvadratnog oblika i minimum 512px široka i visoka.', + 'site_name' => 'Naziv veb strane', + 'site_description' => 'Opis veb strane', + 'submit' => 'Sačuvaj', + 'editSuccess' => 'Instanca je uspešno ažurirana!', + 'deleteIconSuccess' => 'Ikona veb strane je uspešno uklonjena!', ], 'images' => [ - 'title' => 'Images', - 'subtitle' => 'Here you can regenerate all images based on the originals that were uploaded. To be used if you find that some images are missing. This task may take a while.', - 'regenerate' => 'Regenerate images', - 'regenerationSuccess' => 'All images have been regenerated successfully!', + 'title' => 'Slike', + 'subtitle' => 'Ovde možete regenerisati sve slike na osnovu originala koji su otpremljeni. Koristi se ako ustanovite da neke slike nedostaju. Ovaj zadatak može potrajati.', + 'regenerate' => 'Regeneriši slike', + 'regenerationSuccess' => 'Sve slike su uspešno regenerisane!', ], 'housekeeping' => [ - 'title' => 'Housekeeping', - 'subtitle' => 'Runs various housekeeping tasks. Use this feature if you ever encounter issues with media files or data integrity. These tasks may take a while.', - 'reset_counts' => 'Reset counts', - 'reset_counts_helper' => 'This option will recalculate and reset all data counts (number of followers, posts, comments, …).', - 'rewrite_media' => 'Rewrite media metadata', - 'rewrite_media_helper' => 'This option will delete all superfluous media files and recreate them (images, audio files, transcripts, chapters, …)', - 'rename_episodes_files' => 'Rename episode audio files', - 'rename_episodes_files_hint' => 'This option will rename all episodes audio files to a random string of characters. Use this if one of your private episodes link was leaked as this will effectively hide it.', - 'clear_cache' => 'Clear all cache', - 'clear_cache_helper' => 'This option will flush redis cache or writable/cache files.', - 'run' => 'Run housekeeping', - 'runSuccess' => 'Housekeeping has been run successfully!', + 'title' => 'Održavanje', + 'subtitle' => 'Obavlja razne poslove u održavanju. Koristite ovu funkciju ako ikada naiđete na probleme sa medijskim datotekama ili integritetom podataka. Ovi zadaci mogu potrajati.', + 'reset_counts' => 'Resetujte brojače', + 'reset_counts_helper' => 'Ova opcija će ponovo izračunati i resetovati sve podatke (broj pratilaca, objava, komentara,…).', + 'rewrite_media' => 'Ponovo upiši medijske metapodatke', + 'rewrite_media_helper' => 'Ova opcija će izbrisati sve suvišne medijske datoteke i ponovo ih kreirati (slike, audio datoteke, transkripte, poglavlja,…)', + 'rename_episodes_files' => 'Preimenuj audio datoteku epizode', + 'rename_episodes_files_hint' => 'Ova opcija će preimenovati sve audio datoteke epizoda u nasumični niz znakova. Koristite ovo ako je neka od vaših privatnih epizoda procurila jer će je to efektivno sakriti.', + 'clear_cache' => 'Obriši sav keš', + 'clear_cache_helper' => 'Ova opcija će isprazniti redis keš ili datoteke za pisanje/keširanje.', + 'run' => 'Pokreni održavanje', + 'runSuccess' => 'Održavanje je uspešno obavljeno!', ], 'theme' => [ - 'title' => 'Theme', - 'accent_section_title' => 'Accent color', - 'accent_section_subtitle' => 'Choose the color to determine the look and feel of all public pages.', - 'pine' => 'Pine', - 'crimson' => 'Crimson', - 'amber' => 'Amber', - 'lake' => 'Lake', - 'jacaranda' => 'Jacaranda', - 'onyx' => 'Onyx', - 'submit' => 'Save', - 'setInstanceThemeSuccess' => 'Theme has been updated successfully!', + 'title' => 'Tema', + 'accent_section_title' => 'Naglašena boja', + 'accent_section_subtitle' => 'Izaberite boju da biste odredili izgled svih javnih stranica.', + 'pine' => 'Bor zelena', + 'crimson' => 'Tamnocrvena', + 'amber' => 'Ćilibar', + 'lake' => 'Jezero plava', + 'jacaranda' => 'Jakaranda ljubičasta', + 'onyx' => 'Oniks crna', + 'submit' => 'Sačuvaj', + 'setInstanceThemeSuccess' => 'Tema je uspešno ažurirana!', ], ]; diff --git a/modules/Admin/Language/sr_Latn/Soundbite.php b/modules/Admin/Language/sr_Latn/Soundbite.php index a3f828fe..306681f9 100644 --- a/modules/Admin/Language/sr_Latn/Soundbite.php +++ b/modules/Admin/Language/sr_Latn/Soundbite.php @@ -10,22 +10,22 @@ declare(strict_types=1); return [ 'list' => [ - 'title' => 'Soundbites', - 'soundbite' => 'Soundbite', + 'title' => 'Zvučni isečci', + 'soundbite' => 'Zvučni isečak', ], 'messages' => [ - 'createSuccess' => 'Soundbite has been successfully created!', - 'deleteSuccess' => 'Soundbite has been successfully removed!', + 'createSuccess' => 'Zvučni isečak je uspešno kreiran!', + 'deleteSuccess' => 'Zvučni isečak je uspešno uklonjen!', ], 'form' => [ - 'title' => 'New soundbite', - 'soundbite_title' => 'Soundbite title', - 'start_time' => 'Start at', - 'duration' => 'Duration', - 'submit' => 'Create soundbite', + 'title' => 'Novi zvučni isečak', + 'soundbite_title' => 'Naziv zvučnog isečka', + 'start_time' => 'Počni na', + 'duration' => 'Trajanje', + 'submit' => 'Napravi zvučni isečak', ], - 'play' => 'Play soundbite', - 'stop' => 'Stop soundbite', - 'create' => 'New soundbite', - 'delete' => 'Delete soundbite', + 'play' => 'Reprodukuj zvučni isečak', + 'stop' => 'Zaustavi zvučni isečak', + 'create' => 'Novi zvučni isečak', + 'delete' => 'Obriši zvučni isečak', ]; diff --git a/modules/Admin/Language/sr_Latn/Validation.php b/modules/Admin/Language/sr_Latn/Validation.php index 3bc78cfe..d66cbb4f 100644 --- a/modules/Admin/Language/sr_Latn/Validation.php +++ b/modules/Admin/Language/sr_Latn/Validation.php @@ -10,7 +10,7 @@ declare(strict_types=1); return [ 'min_dims' => - '{field} is either not an image, or it is not wide or tall enough.', + '{field} ili nije slika ili nije dovoljne dužine/visine.', 'is_image_ratio' => - '{field} is either not an image or not of the right ratio.', + '{field} ili nije slike ili nije u pravom odnosu veličina.', ]; diff --git a/modules/Admin/Language/sr_Latn/VideoClip.php b/modules/Admin/Language/sr_Latn/VideoClip.php index 638de697..aa0d795b 100644 --- a/modules/Admin/Language/sr_Latn/VideoClip.php +++ b/modules/Admin/Language/sr_Latn/VideoClip.php @@ -10,63 +10,63 @@ declare(strict_types=1); return [ 'list' => [ - 'title' => 'Video clips', + 'title' => 'Video isečci', 'status' => [ 'label' => 'Status', - 'queued' => 'queued', - 'queued_hint' => 'Clip is waiting to be processed.', - 'pending' => 'pending', - 'pending_hint' => 'Clip will be generated shortly.', - 'running' => 'running', - 'running_hint' => 'Clip is being generated.', - 'failed' => 'failed', - 'failed_hint' => 'Clip could not be generated: script failure.', - 'passed' => 'passed', - 'passed_hint' => 'Clip was generated successfully!', + 'queued' => 'čekanje', + 'queued_hint' => 'Video isečak čeka na obradu.', + 'pending' => 'na čekanju', + 'pending_hint' => 'Video isečak će uskoro biti napravljen.', + 'running' => 'u toku', + 'running_hint' => 'Video isečak se pravi.', + 'failed' => 'nije uspеlo', + 'failed_hint' => 'Pravljenje video isečka nije uspelo: greška u skripti.', + 'passed' => 'prošlo', + 'passed_hint' => 'Video isečak je uspešno napravljen!', ], - 'clip' => 'Clip', - 'duration' => 'Job duration', + 'clip' => 'Isečak', + 'duration' => 'Trajanje posla', ], - 'title' => 'Video clip: {videoClipLabel}', - 'download_clip' => 'Download clip', - 'create' => 'New video clip', - 'go_to_page' => 'Go to clip page', - 'retry' => 'Retry clip generation', - 'delete' => 'Delete clip', - 'logs' => 'Job logs', + 'title' => 'Video Isečak: {videoClipLabel}', + 'download_clip' => 'Preuzmi isečak', + 'create' => 'Novi video isečak', + 'go_to_page' => 'Idi na stranicu isečka', + 'retry' => 'Ponovo pokušaj da napraviš isečak', + 'delete' => 'Obriši isečak', + 'logs' => 'Katalog poslova', 'messages' => [ - 'alreadyExistingError' => 'The video clip you are trying to create already exists!', - 'addToQueueSuccess' => 'Video clip has been added to queue, awaiting to be created!', - 'deleteSuccess' => 'Video clip has been successfully removed!', + 'alreadyExistingError' => 'Video isečak koji pokušavate da napravite već postoji!', + 'addToQueueSuccess' => 'Video isečak je dodat u katalog poslova, čeka da bude napravljen!', + 'deleteSuccess' => 'Video isečak je uspešno uklonjen!', ], 'format' => [ - 'landscape' => 'Landscape', - 'portrait' => 'Portrait', - 'squared' => 'Squared', + 'landscape' => 'Položeno', + 'portrait' => 'Uspravno', + 'squared' => 'Kvadratno', ], 'form' => [ - 'title' => 'New video clip', - 'params_section_title' => 'Video clip parameters', - 'clip_title' => 'Clip title', + 'title' => 'Novi video isečak', + 'params_section_title' => 'Parametri video isečka', + 'clip_title' => 'Naziv isečka', 'format' => [ - 'label' => 'Choose a format', - 'landscape_hint' => 'With a 16:9 ratio, landscape videos are great for PeerTube, Youtube and Vimeo.', - 'portrait_hint' => 'With a 9:16 ratio, portrait videos are great for TikTok, Youtube shorts and Instagram stories.', - 'squared_hint' => 'With a 1:1 ratio, squared videos are great for Mastodon, Facebook, Twitter and LinkedIn.', + 'label' => 'Odaberite format', + 'landscape_hint' => 'U 16:9 formatu, položeni video klipovi su odlični za platforme kao što su PeerTube, YouTube i Vimeo.', + 'portrait_hint' => 'U 9:16 formatu, uspravni video isečci su odlični za TikTok, YouTube shorts i Instagram stories.', + 'squared_hint' => 'U 1:1 formatu, kvadratni video isečci su odlični za Mastodon, Facebook, Twitter i LinkedIn.', ], - 'theme' => 'Select a theme', - 'start_time' => 'Start at', - 'duration' => 'Duration', - 'trim_start' => 'Trim start', - 'trim_end' => 'Trim end', - 'submit' => 'Create video clip', + 'theme' => 'Odaberite temu', + 'start_time' => 'Počni na', + 'duration' => 'Trajanje', + 'trim_start' => 'Početak isečka', + 'trim_end' => 'Kraj isečka', + 'submit' => 'Napravi video isečak', ], 'requirements' => [ - 'title' => 'Missing requirements', - 'missing' => 'You have missing requirements. Make sure to add all the required items to be allowed creating a video for this episode!', + 'title' => 'Nedostaje polje', + 'missing' => 'Niste popunili sva polja. Potrudite se da ubacite sve što je potrebno kako bi ste napravili video za ovu epizodu!', 'ffmpeg' => 'FFmpeg', 'gd' => 'Graphics Draw (GD)', 'freetype' => 'Freetype library for GD', - 'transcript' => 'Transcript file (.srt)', + 'transcript' => 'Datoteka transkripta (.srt)', ], ]; diff --git a/modules/Admin/Language/sv/Breadcrumb.php b/modules/Admin/Language/sv/Breadcrumb.php index a373f4cf..cf8a2e95 100644 --- a/modules/Admin/Language/sv/Breadcrumb.php +++ b/modules/Admin/Language/sv/Breadcrumb.php @@ -39,9 +39,11 @@ return [ 'my-account' => 'mitt konto', 'change-password' => 'ändra lösenord', 'imports' => 'imports', + 'sync-feeds' => 'synchronize feeds', 'platforms' => 'plattformar', 'social' => 'sociala nätverk', 'funding' => 'finansiering', + 'monetization-other' => 'other monetization', 'analytics' => 'analys', 'locations' => 'platser', 'webpages' => 'webbplatser', diff --git a/modules/Admin/Language/sv/Common.php b/modules/Admin/Language/sv/Common.php index ce69e0eb..6551b84d 100644 --- a/modules/Admin/Language/sv/Common.php +++ b/modules/Admin/Language/sv/Common.php @@ -40,6 +40,7 @@ return [ ], 'upload_file' => 'Ladda upp en fil', 'remote_url' => 'Fjärr URL', + 'save' => 'Save', ], 'play_episode_button' => [ 'play' => 'Spela', diff --git a/modules/Admin/Language/sv/Episode.php b/modules/Admin/Language/sv/Episode.php index 542449f1..8df284a2 100644 --- a/modules/Admin/Language/sv/Episode.php +++ b/modules/Admin/Language/sv/Episode.php @@ -22,6 +22,7 @@ return [ 'all_podcast_episodes' => 'Alla podcast avsnitt', 'back_to_podcast' => 'Gå tillbaka till podcasten', 'edit' => 'Redigera', + 'preview' => 'Preview', 'publish' => 'Publicera', 'publish_edit' => 'Redigera publikation', 'publish_date_edit' => 'Redigera publiceringsdatum', @@ -80,13 +81,13 @@ return [ audio {ljud} other {media} }.', - 'deleteFileError' => 'Det gick inte att ta bort {type, select, + 'deleteFileError' => 'Failed to delete {type, select, transcript {transcript} - chapters {kapitel} - image {omslag} - audio {ljud} + chapters {chapters} + image {cover} + audio {audio} other {media} - } fil {file_path}. Du kan manuellt ta bort den från disken.', + } file {file_key}. You may manually remove it from your disk.', 'sameSlugError' => 'Ett avsnitt med den valda slug finns redan.', ], 'form' => [ @@ -211,4 +212,14 @@ return [ 'light' => 'Ljust', 'light-transparent' => 'Ljus transparent', ], + 'publication_status_banner' => [ + 'draft_mode' => 'draft mode', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'preview' => 'Preview', + ], ]; diff --git a/modules/Admin/Language/sv/Platforms.php b/modules/Admin/Language/sv/Platforms.php index 1ab090f9..40eab4f8 100644 --- a/modules/Admin/Language/sv/Platforms.php +++ b/modules/Admin/Language/sv/Platforms.php @@ -9,9 +9,22 @@ declare(strict_types=1); */ return [ - 'title' => 'Plattformar', + 'title' => [ + 'podcasting' => 'Podcasting platforms', + 'social' => 'Social networks', + 'funding' => 'Funding links', + ], + 'website' => 'Website', 'home_url' => 'Gå till {platformName} webbplats', + 'register' => 'Register', 'submit_url' => 'Skicka din podcast den {platformName}', + 'your_link' => 'Your link', + 'your_id' => [ + 'podcasting' => 'Your ID', + 'social' => 'Your ID', + 'funding' => 'Your CTA', + ], + 'your_cta' => 'Your call to action', 'visible' => 'Visa på podcastens hemsida?', 'on_embed' => 'Visa på inbäddbar spelare?', 'remove' => 'Ta bort {platformName}', diff --git a/modules/Admin/Language/sv/Podcast.php b/modules/Admin/Language/sv/Podcast.php index 32505fbc..9e1818df 100644 --- a/modules/Admin/Language/sv/Podcast.php +++ b/modules/Admin/Language/sv/Podcast.php @@ -22,6 +22,7 @@ return [ 'delete' => 'Ta bort podcast', 'see_episodes' => 'Se avsnitt', 'see_contributors' => 'Se bidragsgivare', + 'monetization_other' => 'Other monetization', 'go_to_page' => 'Gå till sida', 'latest_episodes' => 'Senaste avsnitt', 'see_all_episodes' => 'Se alla avsnitt', @@ -57,6 +58,8 @@ return [ 'form' => [ 'identity_section_title' => 'Podcast identitet', 'identity_section_subtitle' => 'Dessa fält gör att du kan bli uppmärksammad.', + 'fediverse_section_title' => 'Fediverse identity', + 'cover' => 'Podcast omslag', 'cover_size_hint' => 'Omslaget måste vara fyrkantigt och minst 1400px brett och högt.', 'banner' => 'Podcast banner', @@ -132,7 +135,6 @@ return [ 'partner_id_hint' => 'Din egen partner ID', 'partner_link_url_hint' => 'Den generiska partnerns länkadress', 'partner_image_url_hint' => 'Den generiska partnerns bildadress', - 'status_section_title' => 'Status', 'block' => 'Podcast bör döljas från offentliga kataloger', 'block_hint' => 'Podcasten visar eller dölj status: att växla på detta hindrar hela podcasten från att visas i Apple Podcasts, Google Podcasts, och alla tredjepartsappar som drar program från dessa kataloger. (Inte garanterat)', diff --git a/modules/Admin/Language/sv/PodcastNavigation.php b/modules/Admin/Language/sv/PodcastNavigation.php index 848c577c..41b0c5b5 100644 --- a/modules/Admin/Language/sv/PodcastNavigation.php +++ b/modules/Admin/Language/sv/PodcastNavigation.php @@ -10,11 +10,13 @@ declare(strict_types=1); return [ 'go_to_page' => 'Gå till podcast sida', + 'rss_feed' => 'RSS feed', 'dashboard' => 'Podcast instrumentpanel', 'podcast-view' => 'Hem', 'podcast-edit' => 'Redigera podcast', 'podcast-persons-manage' => 'Hantera personer', 'podcast-imports' => 'Podcast imports', + 'podcast-imports-sync' => 'Sync feeds', 'episodes' => 'Avsnitt', 'episode-list' => 'Alla avsnitt', 'episode-create' => 'Nytt avsnitt', @@ -26,14 +28,15 @@ return [ 'podcast-analytics-players' => 'Spelare', 'podcast-analytics-listening-time' => 'Lyssningstid', 'podcast-analytics-time-periods' => 'Tidsperioder', - 'premium' => 'Premium', + 'monetization' => 'Monetization', 'subscription-list' => 'Alla prenumerationer', 'subscription-create' => 'Lägg till en prenumeration', 'contributors' => 'Bidragsgivare', 'contributor-list' => 'Alla bidragsgivare', 'contributor-add' => 'Lägg till bidragsgivare', - 'platforms' => 'Externa plattformar', - 'platforms-podcasting' => 'Poddsändning', + 'broadcast' => 'Broadcast', + 'platforms-podcasting' => 'Podcasting apps', 'platforms-social' => 'Sociala nätverk', - 'platforms-funding' => 'Finansiering', + 'platforms-funding' => 'Funding links', + 'podcast-monetization-other' => 'Other', ]; diff --git a/modules/Admin/Language/uk/Breadcrumb.php b/modules/Admin/Language/uk/Breadcrumb.php index 593322e6..6a678d4e 100644 --- a/modules/Admin/Language/uk/Breadcrumb.php +++ b/modules/Admin/Language/uk/Breadcrumb.php @@ -39,9 +39,11 @@ return [ 'my-account' => 'my account', 'change-password' => 'change password', 'imports' => 'imports', + 'sync-feeds' => 'synchronize feeds', 'platforms' => 'platforms', 'social' => 'social networks', 'funding' => 'funding', + 'monetization-other' => 'other monetization', 'analytics' => 'analytics', 'locations' => 'locations', 'webpages' => 'web pages', diff --git a/modules/Admin/Language/uk/Common.php b/modules/Admin/Language/uk/Common.php index 596c8bcd..74addcf2 100644 --- a/modules/Admin/Language/uk/Common.php +++ b/modules/Admin/Language/uk/Common.php @@ -40,6 +40,7 @@ return [ ], 'upload_file' => 'Upload a file', 'remote_url' => 'Remote URL', + 'save' => 'Save', ], 'play_episode_button' => [ 'play' => 'Play', diff --git a/modules/Admin/Language/uk/Episode.php b/modules/Admin/Language/uk/Episode.php index 98498bee..1a5e57a4 100644 --- a/modules/Admin/Language/uk/Episode.php +++ b/modules/Admin/Language/uk/Episode.php @@ -22,6 +22,7 @@ return [ 'all_podcast_episodes' => 'All podcast episodes', 'back_to_podcast' => 'Go back to podcast', 'edit' => 'Edit', + 'preview' => 'Preview', 'publish' => 'Publish', 'publish_edit' => 'Edit publication', 'publish_date_edit' => 'Edit publication date', @@ -86,7 +87,7 @@ return [ image {cover} audio {audio} other {media} - } file {file_path}. You may manually remove it from your disk.', + } file {file_key}. You may manually remove it from your disk.', 'sameSlugError' => 'An episode with the chosen slug already exists.', ], 'form' => [ @@ -211,4 +212,14 @@ return [ 'light' => 'Light', 'light-transparent' => 'Light transparent', ], + 'publication_status_banner' => [ + 'draft_mode' => 'draft mode', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'preview' => 'Preview', + ], ]; diff --git a/modules/Admin/Language/uk/Platforms.php b/modules/Admin/Language/uk/Platforms.php index ab17d599..e161181c 100644 --- a/modules/Admin/Language/uk/Platforms.php +++ b/modules/Admin/Language/uk/Platforms.php @@ -9,9 +9,22 @@ declare(strict_types=1); */ return [ - 'title' => 'Platforms', + 'title' => [ + 'podcasting' => 'Podcasting platforms', + 'social' => 'Social networks', + 'funding' => 'Funding links', + ], + 'website' => 'Website', 'home_url' => 'Go to {platformName} website', + 'register' => 'Register', 'submit_url' => 'Submit your podcast on {platformName}', + 'your_link' => 'Your link', + 'your_id' => [ + 'podcasting' => 'Your ID', + 'social' => 'Your ID', + 'funding' => 'Your CTA', + ], + 'your_cta' => 'Your call to action', 'visible' => 'Display in podcast homepage?', 'on_embed' => 'Display on embeddable player?', 'remove' => 'Remove {platformName}', diff --git a/modules/Admin/Language/uk/Podcast.php b/modules/Admin/Language/uk/Podcast.php index ab84e4ff..d9359e9b 100644 --- a/modules/Admin/Language/uk/Podcast.php +++ b/modules/Admin/Language/uk/Podcast.php @@ -22,6 +22,7 @@ return [ 'delete' => 'Delete podcast', 'see_episodes' => 'See episodes', 'see_contributors' => 'See contributors', + 'monetization_other' => 'Other monetization', 'go_to_page' => 'Go to page', 'latest_episodes' => 'Latest episodes', 'see_all_episodes' => 'See all episodes', @@ -57,6 +58,8 @@ return [ 'form' => [ 'identity_section_title' => 'Podcast identity', 'identity_section_subtitle' => 'These fields allow you to get noticed.', + 'fediverse_section_title' => 'Fediverse identity', + 'cover' => 'Podcast cover', 'cover_size_hint' => 'Cover must be squared and at least 1400px wide and tall.', 'banner' => 'Podcast banner', @@ -132,7 +135,6 @@ return [ 'partner_id_hint' => 'Your own partner ID', 'partner_link_url_hint' => 'The generic partner link address', 'partner_image_url_hint' => 'The generic partner image address', - 'status_section_title' => 'Status', 'block' => 'Podcast should be hidden from public catalogues', 'block_hint' => 'The podcast show or hide status: toggling this on prevents the entire podcast from appearing in Apple Podcasts, Google Podcasts, and any third party apps that pull shows from these directories. (Not guaranteed)', diff --git a/modules/Admin/Language/uk/PodcastNavigation.php b/modules/Admin/Language/uk/PodcastNavigation.php index efc00e5b..bb777707 100644 --- a/modules/Admin/Language/uk/PodcastNavigation.php +++ b/modules/Admin/Language/uk/PodcastNavigation.php @@ -10,11 +10,13 @@ declare(strict_types=1); return [ 'go_to_page' => 'Go to podcast page', + 'rss_feed' => 'RSS feed', 'dashboard' => 'Podcast dashboard', 'podcast-view' => 'Home', 'podcast-edit' => 'Edit podcast', 'podcast-persons-manage' => 'Manage persons', 'podcast-imports' => 'Podcast imports', + 'podcast-imports-sync' => 'Sync feeds', 'episodes' => 'Episodes', 'episode-list' => 'All episodes', 'episode-create' => 'New episode', @@ -26,14 +28,15 @@ return [ 'podcast-analytics-players' => 'Players', 'podcast-analytics-listening-time' => 'Listening time', 'podcast-analytics-time-periods' => 'Time periods', - 'premium' => 'Premium', + 'monetization' => 'Monetization', 'subscription-list' => 'All subscriptions', 'subscription-create' => 'Add subscription', 'contributors' => 'Contributors', 'contributor-list' => 'All contributors', 'contributor-add' => 'Add contributor', - 'platforms' => 'External platforms', - 'platforms-podcasting' => 'Podcasting', + 'broadcast' => 'Broadcast', + 'platforms-podcasting' => 'Podcasting apps', 'platforms-social' => 'Social networks', - 'platforms-funding' => 'Funding', + 'platforms-funding' => 'Funding links', + 'podcast-monetization-other' => 'Other', ]; diff --git a/modules/Admin/Language/zh-Hans/Breadcrumb.php b/modules/Admin/Language/zh-Hans/Breadcrumb.php index e4c2d8a3..d0344a98 100644 --- a/modules/Admin/Language/zh-Hans/Breadcrumb.php +++ b/modules/Admin/Language/zh-Hans/Breadcrumb.php @@ -39,9 +39,11 @@ return [ 'my-account' => '我的帐户', 'change-password' => '修改密码', 'imports' => '导入', + 'sync-feeds' => 'synchronize feeds', 'platforms' => '平台', 'social' => '社交网络', 'funding' => '资金支持', + 'monetization-other' => 'other monetization', 'analytics' => '统计数据', 'locations' => '位置', 'webpages' => '网页', diff --git a/modules/Admin/Language/zh-Hans/Common.php b/modules/Admin/Language/zh-Hans/Common.php index 1ecaf542..5909a764 100644 --- a/modules/Admin/Language/zh-Hans/Common.php +++ b/modules/Admin/Language/zh-Hans/Common.php @@ -40,6 +40,7 @@ return [ ], 'upload_file' => '上传文件', 'remote_url' => '远程网址', + 'save' => 'Save', ], 'play_episode_button' => [ 'play' => '播放', diff --git a/modules/Admin/Language/zh-Hans/Episode.php b/modules/Admin/Language/zh-Hans/Episode.php index 84ac4e98..7ca92c0c 100644 --- a/modules/Admin/Language/zh-Hans/Episode.php +++ b/modules/Admin/Language/zh-Hans/Episode.php @@ -22,6 +22,7 @@ return [ 'all_podcast_episodes' => '所有播客剧集', 'back_to_podcast' => '返回播客', 'edit' => '编辑', + 'preview' => 'Preview', 'publish' => '发布', 'publish_edit' => '编辑发布', 'publish_date_edit' => '编辑发布日期', @@ -80,13 +81,13 @@ return [ audio {音频} other {媒体} }', - 'deleteFileError' => '无法删除 {type, select, - transcript {字幕} - chapters {章节} - image {封面} - audio {音频} - other {媒体} - } 文件 {file_path}。您可以手动将其从磁盘删除。', + 'deleteFileError' => 'Failed to delete {type, select, + transcript {transcript} + chapters {chapters} + image {cover} + audio {audio} + other {media} + } file {file_key}. You may manually remove it from your disk.', 'sameSlugError' => '选中的剧集已存在。', ], 'form' => [ @@ -211,4 +212,14 @@ return [ 'light' => '亮色', 'light-transparent' => '亮色透明', ], + 'publication_status_banner' => [ + 'draft_mode' => 'draft mode', + 'text' => '{publication_status, select, + published {This episode is not yet published.} + scheduled {This episode is scheduled for publication on {publication_date}.} + with_podcast {This episode will be published at the same time as the podcast.} + other {This episode is not yet published.} + }', + 'preview' => 'Preview', + ], ]; diff --git a/modules/Admin/Language/zh-Hans/Platforms.php b/modules/Admin/Language/zh-Hans/Platforms.php index 6a71b42a..2869a4b2 100644 --- a/modules/Admin/Language/zh-Hans/Platforms.php +++ b/modules/Admin/Language/zh-Hans/Platforms.php @@ -9,9 +9,22 @@ declare(strict_types=1); */ return [ - 'title' => '平台', + 'title' => [ + 'podcasting' => 'Podcasting platforms', + 'social' => 'Social networks', + 'funding' => 'Funding links', + ], + 'website' => 'Website', 'home_url' => '转至 {platformName} 网站', + 'register' => 'Register', 'submit_url' => '在 {platformName} 上提交你的播客', + 'your_link' => 'Your link', + 'your_id' => [ + 'podcasting' => 'Your ID', + 'social' => 'Your ID', + 'funding' => 'Your CTA', + ], + 'your_cta' => 'Your call to action', 'visible' => '在播客主页上显示?', 'on_embed' => '在嵌入式播放器上显示?', 'remove' => '移除 {platformName}', diff --git a/modules/Admin/Language/zh-Hans/Podcast.php b/modules/Admin/Language/zh-Hans/Podcast.php index d07c4fd6..b685e54a 100644 --- a/modules/Admin/Language/zh-Hans/Podcast.php +++ b/modules/Admin/Language/zh-Hans/Podcast.php @@ -22,12 +22,11 @@ return [ 'delete' => '删除播客', 'see_episodes' => '查看剧集', 'see_contributors' => '查看贡献者', + 'monetization_other' => 'Other monetization', 'go_to_page' => '转到页面', 'latest_episodes' => '最新剧集', 'see_all_episodes' => '查看所有剧集', 'draft' => '草稿', - 'sync_feed' => '同步摘要', - 'sync_feed_hint' => '导入此播客的最新剧集', 'messages' => [ 'createSuccess' => '播客创建成功!', 'editSuccess' => '播客已更新!', @@ -59,6 +58,8 @@ return [ 'form' => [ 'identity_section_title' => '播客标识', 'identity_section_subtitle' => '这些字段可能让你脱颖而出。', + 'fediverse_section_title' => 'Fediverse identity', + 'cover' => '播客封面', 'cover_size_hint' => '封面必须是方形,而且至少 1400 px 宽度和高度。', 'banner' => '播客横幅', @@ -134,7 +135,6 @@ return [ 'partner_id_hint' => '你自己的合作伙伴 ID', 'partner_link_url_hint' => '通用合作伙伴链接地址', 'partner_image_url_hint' => '通用合作伙伴图片地址', - 'status_section_title' => '状态', 'block' => '播客应该在公共目录中隐藏', 'block_hint' => '播客显示或隐藏状态:打开此选项可防止整个播客出现在 Apple 播客、Google 播客以及从此目录中提取剧集的任何第三方应用程序中。(不保证)', diff --git a/modules/Admin/Language/zh-Hans/PodcastNavigation.php b/modules/Admin/Language/zh-Hans/PodcastNavigation.php index cd1913a0..e2546046 100644 --- a/modules/Admin/Language/zh-Hans/PodcastNavigation.php +++ b/modules/Admin/Language/zh-Hans/PodcastNavigation.php @@ -10,11 +10,13 @@ declare(strict_types=1); return [ 'go_to_page' => '转到播客页面', + 'rss_feed' => 'RSS feed', 'dashboard' => '播客控制面板', 'podcast-view' => '主页', 'podcast-edit' => '编辑播客', 'podcast-persons-manage' => '管理人员', 'podcast-imports' => '播客导入', + 'podcast-imports-sync' => 'Sync feeds', 'episodes' => '剧集', 'episode-list' => '所有剧集', 'episode-create' => '新剧集', @@ -26,14 +28,15 @@ return [ 'podcast-analytics-players' => '播放', 'podcast-analytics-listening-time' => '收听时间', 'podcast-analytics-time-periods' => '时间段', - 'premium' => '高级版', + 'monetization' => 'Monetization', 'subscription-list' => '所有订阅', 'subscription-create' => '添加订阅', 'contributors' => '贡献者', 'contributor-list' => '所有贡献者', 'contributor-add' => '添加贡献者', - 'platforms' => '外部平台', - 'platforms-podcasting' => '播客', + 'broadcast' => 'Broadcast', + 'platforms-podcasting' => 'Podcasting apps', 'platforms-social' => '社交网络', - 'platforms-funding' => '资金支持', + 'platforms-funding' => 'Funding links', + 'podcast-monetization-other' => 'Other', ]; diff --git a/modules/Auth/Language/ar/Auth.php b/modules/Auth/Language/ar/Auth.php index a47932e3..725b760b 100644 --- a/modules/Auth/Language/ar/Auth.php +++ b/modules/Auth/Language/ar/Auth.php @@ -85,7 +85,6 @@ return [ // missing keys 'code' => 'Your 6-digit code', - 'notEnoughPrivilege' => 'You do not have sufficient permissions to access that page.', 'set_password' => 'Set your password', // Welcome email diff --git a/modules/Auth/Language/br/Auth.php b/modules/Auth/Language/br/Auth.php index a47932e3..725b760b 100644 --- a/modules/Auth/Language/br/Auth.php +++ b/modules/Auth/Language/br/Auth.php @@ -85,7 +85,6 @@ return [ // missing keys 'code' => 'Your 6-digit code', - 'notEnoughPrivilege' => 'You do not have sufficient permissions to access that page.', 'set_password' => 'Set your password', // Welcome email diff --git a/modules/Auth/Language/ca/Auth.php b/modules/Auth/Language/ca/Auth.php index b939afe2..9e14a56c 100644 --- a/modules/Auth/Language/ca/Auth.php +++ b/modules/Auth/Language/ca/Auth.php @@ -85,7 +85,6 @@ return [ // missing keys 'code' => 'El teu codi de 6 dígits', - 'notEnoughPrivilege' => 'No teniu prou permisos per accedir a aquesta pàgina.', 'set_password' => 'Estableix la teva contrasenya', // Welcome email diff --git a/modules/Auth/Language/da/Auth.php b/modules/Auth/Language/da/Auth.php index a47932e3..725b760b 100644 --- a/modules/Auth/Language/da/Auth.php +++ b/modules/Auth/Language/da/Auth.php @@ -85,7 +85,6 @@ return [ // missing keys 'code' => 'Your 6-digit code', - 'notEnoughPrivilege' => 'You do not have sufficient permissions to access that page.', 'set_password' => 'Set your password', // Welcome email diff --git a/modules/Auth/Language/de/Auth.php b/modules/Auth/Language/de/Auth.php index 1cef24ad..407c8a25 100644 --- a/modules/Auth/Language/de/Auth.php +++ b/modules/Auth/Language/de/Auth.php @@ -85,7 +85,6 @@ return [ // missing keys 'code' => 'Ihr 6-stelliger Code', - 'notEnoughPrivilege' => 'Sie haben keine ausreichenden Berechtigungen, um auf diese Seite zuzugreifen.', 'set_password' => 'Legen Sie Ihr Passwort fest', // Welcome email diff --git a/modules/Auth/Language/el/Auth.php b/modules/Auth/Language/el/Auth.php index 9dc498fa..50417442 100644 --- a/modules/Auth/Language/el/Auth.php +++ b/modules/Auth/Language/el/Auth.php @@ -85,7 +85,6 @@ return [ // missing keys 'code' => 'Your 6-digit code', - 'notEnoughPrivilege' => 'You do not have sufficient permissions to access that page.', 'set_password' => 'Set your password', // Welcome email diff --git a/modules/Auth/Language/es/Auth.php b/modules/Auth/Language/es/Auth.php index cc8ac368..4158f59e 100644 --- a/modules/Auth/Language/es/Auth.php +++ b/modules/Auth/Language/es/Auth.php @@ -85,7 +85,6 @@ return [ // missing keys 'code' => 'Introduce un código de 6 dígitos', - 'notEnoughPrivilege' => 'No tiene permisos suficientes para acceder a esa página.', 'set_password' => 'Establece tu contraseña', // Welcome email diff --git a/modules/Auth/Language/fa/Auth.php b/modules/Auth/Language/fa/Auth.php index a47932e3..725b760b 100644 --- a/modules/Auth/Language/fa/Auth.php +++ b/modules/Auth/Language/fa/Auth.php @@ -85,7 +85,6 @@ return [ // missing keys 'code' => 'Your 6-digit code', - 'notEnoughPrivilege' => 'You do not have sufficient permissions to access that page.', 'set_password' => 'Set your password', // Welcome email diff --git a/modules/Auth/Language/fr/Auth.php b/modules/Auth/Language/fr/Auth.php index 39a0aaef..abc4a96d 100644 --- a/modules/Auth/Language/fr/Auth.php +++ b/modules/Auth/Language/fr/Auth.php @@ -85,7 +85,6 @@ return [ // missing keys 'code' => 'Votre code à 6 chiffres', - 'notEnoughPrivilege' => 'Vous n\'avez pas les autorisations pour accéder à cette page.', 'set_password' => 'Choisis ton mot de passe', // Welcome email diff --git a/modules/Auth/Language/fr2/Auth.php b/modules/Auth/Language/fr2/Auth.php index a47932e3..725b760b 100644 --- a/modules/Auth/Language/fr2/Auth.php +++ b/modules/Auth/Language/fr2/Auth.php @@ -85,7 +85,6 @@ return [ // missing keys 'code' => 'Your 6-digit code', - 'notEnoughPrivilege' => 'You do not have sufficient permissions to access that page.', 'set_password' => 'Set your password', // Welcome email diff --git a/modules/Auth/Language/fr_CA/Auth.php b/modules/Auth/Language/fr_CA/Auth.php index a47932e3..725b760b 100644 --- a/modules/Auth/Language/fr_CA/Auth.php +++ b/modules/Auth/Language/fr_CA/Auth.php @@ -85,7 +85,6 @@ return [ // missing keys 'code' => 'Your 6-digit code', - 'notEnoughPrivilege' => 'You do not have sufficient permissions to access that page.', 'set_password' => 'Set your password', // Welcome email diff --git a/modules/Auth/Language/gd/Auth.php b/modules/Auth/Language/gd/Auth.php index 5350be4d..bd2f24b2 100644 --- a/modules/Auth/Language/gd/Auth.php +++ b/modules/Auth/Language/gd/Auth.php @@ -85,7 +85,6 @@ return [ // missing keys 'code' => 'An còd 6-àireamhach agad', - 'notEnoughPrivilege' => 'Chan fhoghainn an cead agad gus an duilleag sin inntrigeadh.', 'set_password' => 'Suidhich am facal-faire agad', // Welcome email diff --git a/modules/Auth/Language/gl/Auth.php b/modules/Auth/Language/gl/Auth.php index 2f954d65..798fc535 100644 --- a/modules/Auth/Language/gl/Auth.php +++ b/modules/Auth/Language/gl/Auth.php @@ -85,7 +85,6 @@ return [ // missing keys 'code' => 'Código de 6 díxitos', - 'notEnoughPrivilege' => 'Non tes permisos suficientes para acceder a esa páxina.', 'set_password' => 'Establece un contrasinal', // Welcome email diff --git a/modules/Auth/Language/id/Auth.php b/modules/Auth/Language/id/Auth.php index a47932e3..725b760b 100644 --- a/modules/Auth/Language/id/Auth.php +++ b/modules/Auth/Language/id/Auth.php @@ -85,7 +85,6 @@ return [ // missing keys 'code' => 'Your 6-digit code', - 'notEnoughPrivilege' => 'You do not have sufficient permissions to access that page.', 'set_password' => 'Set your password', // Welcome email diff --git a/modules/Auth/Language/it/Auth.php b/modules/Auth/Language/it/Auth.php index a47932e3..725b760b 100644 --- a/modules/Auth/Language/it/Auth.php +++ b/modules/Auth/Language/it/Auth.php @@ -85,7 +85,6 @@ return [ // missing keys 'code' => 'Your 6-digit code', - 'notEnoughPrivilege' => 'You do not have sufficient permissions to access that page.', 'set_password' => 'Set your password', // Welcome email diff --git a/modules/Auth/Language/ja/Auth.php b/modules/Auth/Language/ja/Auth.php index a47932e3..725b760b 100644 --- a/modules/Auth/Language/ja/Auth.php +++ b/modules/Auth/Language/ja/Auth.php @@ -85,7 +85,6 @@ return [ // missing keys 'code' => 'Your 6-digit code', - 'notEnoughPrivilege' => 'You do not have sufficient permissions to access that page.', 'set_password' => 'Set your password', // Welcome email diff --git a/modules/Auth/Language/kk/Auth.php b/modules/Auth/Language/kk/Auth.php new file mode 100644 index 00000000..725b760b --- /dev/null +++ b/modules/Auth/Language/kk/Auth.php @@ -0,0 +1,93 @@ + [ + 'owner' => [ + 'title' => 'Instance Owner', + 'description' => 'The Castopod owner.', + ], + 'superadmin' => [ + 'title' => 'Super admin', + 'description' => 'Has complete control over Castopod.', + ], + 'manager' => [ + 'title' => 'Manager', + 'description' => 'Manages Castopod\'s content.', + ], + 'podcaster' => [ + 'title' => 'Podcaster', + 'description' => 'General users of Castopod.', + ], + ], + 'instance_permissions' => [ + 'admin.access' => 'Can access the Castopod admin area.', + 'admin.settings' => 'Can access the Castopod settings.', + 'users.manage' => 'Can manage Castopod users.', + 'persons.manage' => 'Can manage persons.', + 'pages.manage' => 'Can manage pages.', + 'podcasts.view' => 'Can view all podcasts.', + 'podcasts.create' => 'Can create new podcasts.', + 'podcasts.import' => 'Can import podcasts.', + 'fediverse.manage-blocks' => 'Can block fediverse actors/domains from interacting with Castopod.', + ], + 'podcast_groups' => [ + 'owner' => [ + 'title' => 'Podcast Owner', + 'description' => 'The podcast owner.', + ], + 'admin' => [ + 'title' => 'Admin', + 'description' => 'Has complete control of podcast #{id}.', + ], + 'editor' => [ + 'title' => 'Editor', + 'description' => 'Manages content and publications of podcast #{id}.', + ], + 'author' => [ + 'title' => 'Author', + 'description' => 'Manages content of podcast #{id} but cannot publish them.', + ], + 'guest' => [ + 'title' => 'Guest', + 'description' => 'General contributor of the podcast #{id}.', + ], + ], + 'podcast_permissions' => [ + 'view' => 'Can view dashboard and analytics of podcast #{id}.', + 'edit' => 'Can edit podcast #{id}.', + 'delete' => 'Can delete podcast #{id}.', + 'manage-import' => 'Can synchronize imported podcast #{id}.', + 'manage-persons' => 'Can manage subscriptions of podcast #{id}.', + 'manage-subscriptions' => 'Can manage subscriptions of podcast #{id}.', + 'manage-contributors' => 'Can manage contributors of podcast #{id}.', + 'manage-platforms' => 'Can set/remove platform links of podcast #{id}.', + 'manage-publications' => 'Can publish podcast #{id}.', + 'manage-notifications' => 'Can view and mark notifications as read for podcast #{id}.', + 'interact-as' => 'Can interact as the podcast #{id} to favourite, share or reply to posts.', + 'episodes.view' => 'Can view dashboards and analytics of podcast #{id}\'s episodes.', + 'episodes.create' => 'Can create episodes for podcast #{id}.', + 'episodes.edit' => 'Can edit episodes of podcast #{id}.', + 'episodes.delete' => 'Can delete episodes of podcast #{id}.', + 'episodes.manage-persons' => 'Can manage episode persons of podcast #{id}.', + 'episodes.manage-clips' => 'Can manage video clips or soundbites of podcast #{id}.', + 'episodes.manage-publications' => 'Can publish/unpublish episodes and posts of podcast #{id}.', + 'episodes.manage-comments' => 'Can create/remove episode comments of podcast #{id}.', + ], + + // missing keys + 'code' => 'Your 6-digit code', + + 'set_password' => 'Set your password', + + // Welcome email + 'welcomeSubject' => 'You\'ve been invited to {siteName}', + 'emailWelcomeMailBody' => 'An account was created for you on {domain}, click on the login link below to set your password. The link is valid for {numberOfHours} hours after this email was sent.', +]; diff --git a/modules/Auth/Language/kk/Contributor.php b/modules/Auth/Language/kk/Contributor.php new file mode 100644 index 00000000..c70badc0 --- /dev/null +++ b/modules/Auth/Language/kk/Contributor.php @@ -0,0 +1,47 @@ + 'Podcast contributors', + 'view' => "{username}'s contribution to {podcastTitle}", + 'add' => 'Add contributor', + 'add_contributor' => 'Add a contributor for {0}', + 'edit_role' => 'Update role for {0}', + 'edit' => 'Edit', + 'remove' => 'Remove', + 'list' => [ + 'username' => 'Username', + 'role' => 'Role', + ], + 'form' => [ + 'user' => 'User', + 'user_placeholder' => 'Select a user…', + 'role' => 'Role', + 'role_placeholder' => 'Select its role…', + 'submit_add' => 'Add contributor', + 'submit_edit' => 'Update role', + ], + 'delete_form' => [ + 'title' => 'Remove {contributor}', + 'disclaimer' => + 'You are about to remove {contributor} from contributors. They will not be able to access "{podcastTitle}" anymore.', + 'understand' => 'I understand, I want to remove {contributor} from "{podcastTitle}"', + 'submit' => 'Remove', + ], + 'messages' => [ + 'editSuccess' => 'Role successfully changed!', + 'editOwnerError' => "You can't edit the podcast owner!", + 'removeOwnerError' => "You can't remove the podcast owner!", + 'removeSuccess' => + 'You have successfully removed {username} from {podcastTitle}', + 'alreadyAddedError' => + "The contributor you're trying to add has already been added!", + ], +]; diff --git a/modules/Auth/Language/kk/MyAccount.php b/modules/Auth/Language/kk/MyAccount.php new file mode 100644 index 00000000..6ebbb30e --- /dev/null +++ b/modules/Auth/Language/kk/MyAccount.php @@ -0,0 +1,18 @@ + 'My account info', + 'changePassword' => 'Change my password', + 'messages' => [ + 'wrongPasswordError' => "You've entered the wrong password, try again.", + 'passwordChangeSuccess' => 'Password has been successfully changed!', + ], +]; diff --git a/modules/Auth/Language/kk/User.php b/modules/Auth/Language/kk/User.php new file mode 100644 index 00000000..32ec560c --- /dev/null +++ b/modules/Auth/Language/kk/User.php @@ -0,0 +1,60 @@ + "Edit {username}'s role", + 'ban' => 'Ban', + 'unban' => 'Unban', + 'delete' => 'Delete', + 'create' => 'New user', + 'view' => "{username}'s info", + 'all_users' => 'All users', + 'list' => [ + 'user' => 'User', + 'role' => 'Role', + 'banned' => 'Banned?', + ], + 'form' => [ + 'email' => 'Email', + 'username' => 'Username', + 'password' => 'Password', + 'new_password' => 'New Password', + 'role' => 'Role', + 'roles' => 'Roles', + 'permissions' => 'Permissions', + 'submit_create' => 'Create user', + 'submit_edit' => 'Save', + 'submit_password_change' => 'Change!', + ], + 'delete_form' => [ + 'title' => 'Delete {user}', + 'disclaimer' => + "You are about to delete {user} permanently. They will not be able to access the admin area anymore.", + 'understand' => 'I understand, I want to delete {user} permanently', + 'submit' => 'Delete', + ], + 'messages' => [ + 'createSuccess' => + 'User created successfully! A welcome email was sent to {username} with a login link, they will be prompted with a password reset upon first authentication.', + 'roleEditSuccess' => + "{username}'s roles have been successfully updated.", + 'banSuccess' => '{username} has been banned.', + 'unbanSuccess' => '{username} has been unbanned.', + 'editOwnerError' => + '{username} is the instance owner, one does not simply touch the owner…', + 'banSuperAdminError' => + '{username} is a superadmin, one does not simply ban a superadmin…', + 'deleteOwnerError' => + '{username} is the instance owner, one does not simply delete the owner…', + 'deleteSuperAdminError' => + '{username} is a superadmin, one does not simply delete a superadmin…', + 'deleteSuccess' => '{username} has been deleted.', + ], +]; diff --git a/modules/Auth/Language/ko/Auth.php b/modules/Auth/Language/ko/Auth.php index a47932e3..725b760b 100644 --- a/modules/Auth/Language/ko/Auth.php +++ b/modules/Auth/Language/ko/Auth.php @@ -85,7 +85,6 @@ return [ // missing keys 'code' => 'Your 6-digit code', - 'notEnoughPrivilege' => 'You do not have sufficient permissions to access that page.', 'set_password' => 'Set your password', // Welcome email diff --git a/modules/Auth/Language/nl/Auth.php b/modules/Auth/Language/nl/Auth.php index 60a631a0..80faa4e8 100644 --- a/modules/Auth/Language/nl/Auth.php +++ b/modules/Auth/Language/nl/Auth.php @@ -85,7 +85,6 @@ return [ // missing keys 'code' => 'Jouw 6-cijferige code', - 'notEnoughPrivilege' => 'U heeft niet voldoende rechten om deze pagina te openen.', 'set_password' => 'Stel je wachtwoord in', // Welcome email diff --git a/modules/Auth/Language/nn-NO/Auth.php b/modules/Auth/Language/nn-NO/Auth.php index a47932e3..d359ffcb 100644 --- a/modules/Auth/Language/nn-NO/Auth.php +++ b/modules/Auth/Language/nn-NO/Auth.php @@ -11,84 +11,83 @@ declare(strict_types=1); return [ 'instance_groups' => [ 'owner' => [ - 'title' => 'Instance Owner', - 'description' => 'The Castopod owner.', + 'title' => 'Nettstadeigar', + 'description' => 'Castopod-eigaren.', ], 'superadmin' => [ - 'title' => 'Super admin', - 'description' => 'Has complete control over Castopod.', + 'title' => 'Superstyrar', + 'description' => 'Har full kontroll over Castopod.', ], 'manager' => [ - 'title' => 'Manager', - 'description' => 'Manages Castopod\'s content.', + 'title' => 'Leiar', + 'description' => 'Styrer innhaldet på Castopod.', ], 'podcaster' => [ - 'title' => 'Podcaster', - 'description' => 'General users of Castopod.', + 'title' => 'Podkastar', + 'description' => 'Vanlege Castopod-brukarar.', ], ], 'instance_permissions' => [ - 'admin.access' => 'Can access the Castopod admin area.', - 'admin.settings' => 'Can access the Castopod settings.', - 'users.manage' => 'Can manage Castopod users.', - 'persons.manage' => 'Can manage persons.', - 'pages.manage' => 'Can manage pages.', - 'podcasts.view' => 'Can view all podcasts.', - 'podcasts.create' => 'Can create new podcasts.', - 'podcasts.import' => 'Can import podcasts.', - 'fediverse.manage-blocks' => 'Can block fediverse actors/domains from interacting with Castopod.', + 'admin.access' => 'Kan bruka styringspanelet for Castopod.', + 'admin.settings' => 'Kan få tilgang til innstillingane for Castopod.', + 'users.manage' => 'Kan handtera Castopod-brukarar.', + 'persons.manage' => 'Kan handtera folk.', + 'pages.manage' => 'Kan handtera sider.', + 'podcasts.view' => 'Kan sjå alle podkastane.', + 'podcasts.create' => 'Kan laga nye podkastar.', + 'podcasts.import' => 'Kan importera podkastar.', + 'fediverse.manage-blocks' => 'Kan blokkera folk og domene på allheimen frå å samhandla med Castopod.', ], 'podcast_groups' => [ 'owner' => [ - 'title' => 'Podcast Owner', - 'description' => 'The podcast owner.', + 'title' => 'Podkasteigar', + 'description' => 'Podkasteigaren.', ], 'admin' => [ - 'title' => 'Admin', - 'description' => 'Has complete control of podcast #{id}.', + 'title' => 'Administrator', + 'description' => 'Har full kontroll over podkasten #{id}.', ], 'editor' => [ - 'title' => 'Editor', - 'description' => 'Manages content and publications of podcast #{id}.', + 'title' => 'Redaktør', + 'description' => 'Styrer innhald og publisering for podkasten #{id}.', ], 'author' => [ - 'title' => 'Author', - 'description' => 'Manages content of podcast #{id} but cannot publish them.', + 'title' => 'Skapar', + 'description' => 'Styrer innhald for podkasten #{id}, men kan ikkje publisera dei.', ], 'guest' => [ - 'title' => 'Guest', - 'description' => 'General contributor of the podcast #{id}.', + 'title' => 'Gjest', + 'description' => 'Vanleg bidragsytar til podkasten #{id}.', ], ], 'podcast_permissions' => [ - 'view' => 'Can view dashboard and analytics of podcast #{id}.', - 'edit' => 'Can edit podcast #{id}.', - 'delete' => 'Can delete podcast #{id}.', - 'manage-import' => 'Can synchronize imported podcast #{id}.', - 'manage-persons' => 'Can manage subscriptions of podcast #{id}.', - 'manage-subscriptions' => 'Can manage subscriptions of podcast #{id}.', - 'manage-contributors' => 'Can manage contributors of podcast #{id}.', - 'manage-platforms' => 'Can set/remove platform links of podcast #{id}.', - 'manage-publications' => 'Can publish podcast #{id}.', - 'manage-notifications' => 'Can view and mark notifications as read for podcast #{id}.', - 'interact-as' => 'Can interact as the podcast #{id} to favourite, share or reply to posts.', - 'episodes.view' => 'Can view dashboards and analytics of podcast #{id}\'s episodes.', - 'episodes.create' => 'Can create episodes for podcast #{id}.', - 'episodes.edit' => 'Can edit episodes of podcast #{id}.', - 'episodes.delete' => 'Can delete episodes of podcast #{id}.', - 'episodes.manage-persons' => 'Can manage episode persons of podcast #{id}.', - 'episodes.manage-clips' => 'Can manage video clips or soundbites of podcast #{id}.', - 'episodes.manage-publications' => 'Can publish/unpublish episodes and posts of podcast #{id}.', - 'episodes.manage-comments' => 'Can create/remove episode comments of podcast #{id}.', + 'view' => 'Kan sjå styringspanelet og analysedata for podkasten #{id}.', + 'edit' => 'Kan redigera podkasten #{id}.', + 'delete' => 'Kan sletta podkasten #{id}.', + 'manage-import' => 'Kan synkronisera den importerte podkasten #{id}.', + 'manage-persons' => 'Kan handtera abonnement for podkasten #{id}.', + 'manage-subscriptions' => 'Kan handtera abonnement for podkasten #{id}.', + 'manage-contributors' => 'Kan handtera bidragsytarar for podkasten #{id}.', + 'manage-platforms' => 'Kan oppretta og fjerna plattformlenkjer for podkasten #{id}.', + 'manage-publications' => 'Kan publisera podkasten #{id}.', + 'manage-notifications' => 'Kan lesa og merka varsel som lesne for podkasten #{id}.', + 'interact-as' => 'Kan merka podkasten #{id} som favoritt, dela og svara på innlegg.', + 'episodes.view' => 'Kan sjå styringspanelet og analysedata for episodane av podkasten #{id}.', + 'episodes.create' => 'Kan laga epoisodar for podkasten #{id}.', + 'episodes.edit' => 'Kan redigera episodane av podkasten #{id}.', + 'episodes.delete' => 'Kan sletta episodar av podkasten #{id}.', + 'episodes.manage-persons' => 'Kan handtera bidragsytarar til episodar av podkasten #{id}.', + 'episodes.manage-clips' => 'Kan handtera film- og lydklypp av podkasten #{id}.', + 'episodes.manage-publications' => 'Kan publisera og avpublisera episodar og innlegg for podkasten #{id}.', + 'episodes.manage-comments' => 'Kan skriva og sletta kommentarar til episodane av podkasten #{id}.', ], // missing keys - 'code' => 'Your 6-digit code', + 'code' => 'Den sekssifra koden din', - 'notEnoughPrivilege' => 'You do not have sufficient permissions to access that page.', - 'set_password' => 'Set your password', + 'set_password' => 'Lag eit passord', // Welcome email - 'welcomeSubject' => 'You\'ve been invited to {siteName}', - 'emailWelcomeMailBody' => 'An account was created for you on {domain}, click on the login link below to set your password. The link is valid for {numberOfHours} hours after this email was sent.', + 'welcomeSubject' => 'Du er invitert til {siteName}', + 'emailWelcomeMailBody' => 'Me har laga ein konto til deg på {domain}. Klikk på lenka under for å laga eit passord. Lenka er gyldig i {numberOfHours} timar etter eposten vart send.', ]; diff --git a/modules/Auth/Language/nn-NO/Contributor.php b/modules/Auth/Language/nn-NO/Contributor.php index 1fc338ba..941af518 100644 --- a/modules/Auth/Language/nn-NO/Contributor.php +++ b/modules/Auth/Language/nn-NO/Contributor.php @@ -29,15 +29,15 @@ return [ 'submit_edit' => 'Oppdater rolla', ], 'delete_form' => [ - 'title' => 'Remove {contributor}', + 'title' => 'Fjern {contributor}', 'disclaimer' => - 'You are about to remove {contributor} from contributors. They will not be able to access "{podcastTitle}" anymore.', - 'understand' => 'I understand, I want to remove {contributor} from "{podcastTitle}"', - 'submit' => 'Remove', + 'Du er i ferd med å fjerna {contributor} som bidragsytar. Dei vil mista tilgangen til "{podcastTitle}".', + 'understand' => 'Eg forstår, og vil fjerna {contributor} frå "{podcastTitle}"', + 'submit' => 'Fjern', ], 'messages' => [ - 'editSuccess' => 'Role successfully changed!', - 'editOwnerError' => "You can't edit the podcast owner!", + 'editSuccess' => 'Rolle endra!', + 'editOwnerError' => "Du kan ikkje endra podkast-eigaren.", 'removeOwnerError' => "Du kan ikkje fjerna podkast-eigaren!", 'removeSuccess' => 'Du har fjerna {username} frå {podcastTitle}', diff --git a/modules/Auth/Language/nn-NO/User.php b/modules/Auth/Language/nn-NO/User.php index 2ac777e1..fedf303b 100644 --- a/modules/Auth/Language/nn-NO/User.php +++ b/modules/Auth/Language/nn-NO/User.php @@ -9,7 +9,7 @@ declare(strict_types=1); */ return [ - 'edit_role' => "Edit {username}'s role", + 'edit_role' => "Endre rollene til {username}", 'ban' => 'Steng ute', 'unban' => 'Slepp inn att', 'delete' => 'Slett', @@ -18,7 +18,7 @@ return [ 'all_users' => 'Alle brukarane', 'list' => [ 'user' => 'Brukar', - 'role' => 'Role', + 'role' => 'Rolle', 'banned' => 'Utestengd?', ], 'form' => [ @@ -26,7 +26,7 @@ return [ 'username' => 'Brukarnamn', 'password' => 'Passord', 'new_password' => 'Nytt passord', - 'role' => 'Role', + 'role' => 'Rolle', 'roles' => 'Roller', 'permissions' => 'Løyve', 'submit_create' => 'Lag brukar', @@ -34,11 +34,11 @@ return [ 'submit_password_change' => 'Endre!', ], 'delete_form' => [ - 'title' => 'Delete {user}', + 'title' => 'Slett {user}', 'disclaimer' => - "You are about to delete {user} permanently. They will not be able to access the admin area anymore.", - 'understand' => 'I understand, I want to delete {user} permanently', - 'submit' => 'Delete', + "Du er i ferd med å sletta {user} for alltid. Dei vil ikkje få tilgang til styringspanelet lenger.", + 'understand' => 'Eg forstår, og vil sletta {user} for alltid', + 'submit' => 'Slett', ], 'messages' => [ 'createSuccess' => @@ -52,7 +52,7 @@ return [ 'banSuperAdminError' => '{username} er superstyrar, og du stengjer ikkje ute ein superstyrar…', 'deleteOwnerError' => - '{username} is the instance owner, one does not simply delete the owner…', + '{username} eig nettstaden. Du kan ikkje berre sletta eigaren…', 'deleteSuperAdminError' => '{username} er superstyrar, og du slettar ikkje ein superstyrar…', 'deleteSuccess' => '{username} er sletta.', diff --git a/modules/Auth/Language/oc/Auth.php b/modules/Auth/Language/oc/Auth.php index a47932e3..725b760b 100644 --- a/modules/Auth/Language/oc/Auth.php +++ b/modules/Auth/Language/oc/Auth.php @@ -85,7 +85,6 @@ return [ // missing keys 'code' => 'Your 6-digit code', - 'notEnoughPrivilege' => 'You do not have sufficient permissions to access that page.', 'set_password' => 'Set your password', // Welcome email diff --git a/modules/Auth/Language/pl/Auth.php b/modules/Auth/Language/pl/Auth.php index a47932e3..725b760b 100644 --- a/modules/Auth/Language/pl/Auth.php +++ b/modules/Auth/Language/pl/Auth.php @@ -85,7 +85,6 @@ return [ // missing keys 'code' => 'Your 6-digit code', - 'notEnoughPrivilege' => 'You do not have sufficient permissions to access that page.', 'set_password' => 'Set your password', // Welcome email diff --git a/modules/Auth/Language/pt-BR/Auth.php b/modules/Auth/Language/pt-BR/Auth.php index a47932e3..725b760b 100644 --- a/modules/Auth/Language/pt-BR/Auth.php +++ b/modules/Auth/Language/pt-BR/Auth.php @@ -85,7 +85,6 @@ return [ // missing keys 'code' => 'Your 6-digit code', - 'notEnoughPrivilege' => 'You do not have sufficient permissions to access that page.', 'set_password' => 'Set your password', // Welcome email diff --git a/modules/Auth/Language/pt/Auth.php b/modules/Auth/Language/pt/Auth.php index a47932e3..725b760b 100644 --- a/modules/Auth/Language/pt/Auth.php +++ b/modules/Auth/Language/pt/Auth.php @@ -85,7 +85,6 @@ return [ // missing keys 'code' => 'Your 6-digit code', - 'notEnoughPrivilege' => 'You do not have sufficient permissions to access that page.', 'set_password' => 'Set your password', // Welcome email diff --git a/modules/Auth/Language/ro/Auth.php b/modules/Auth/Language/ro/Auth.php index a47932e3..725b760b 100644 --- a/modules/Auth/Language/ro/Auth.php +++ b/modules/Auth/Language/ro/Auth.php @@ -85,7 +85,6 @@ return [ // missing keys 'code' => 'Your 6-digit code', - 'notEnoughPrivilege' => 'You do not have sufficient permissions to access that page.', 'set_password' => 'Set your password', // Welcome email diff --git a/modules/Auth/Language/ru/Auth.php b/modules/Auth/Language/ru/Auth.php index a47932e3..725b760b 100644 --- a/modules/Auth/Language/ru/Auth.php +++ b/modules/Auth/Language/ru/Auth.php @@ -85,7 +85,6 @@ return [ // missing keys 'code' => 'Your 6-digit code', - 'notEnoughPrivilege' => 'You do not have sufficient permissions to access that page.', 'set_password' => 'Set your password', // Welcome email diff --git a/modules/Auth/Language/sk/Auth.php b/modules/Auth/Language/sk/Auth.php index a47932e3..725b760b 100644 --- a/modules/Auth/Language/sk/Auth.php +++ b/modules/Auth/Language/sk/Auth.php @@ -85,7 +85,6 @@ return [ // missing keys 'code' => 'Your 6-digit code', - 'notEnoughPrivilege' => 'You do not have sufficient permissions to access that page.', 'set_password' => 'Set your password', // Welcome email diff --git a/modules/Auth/Language/sr_Latn/Auth.php b/modules/Auth/Language/sr_Latn/Auth.php index a47932e3..325856d4 100644 --- a/modules/Auth/Language/sr_Latn/Auth.php +++ b/modules/Auth/Language/sr_Latn/Auth.php @@ -11,84 +11,83 @@ declare(strict_types=1); return [ 'instance_groups' => [ 'owner' => [ - 'title' => 'Instance Owner', - 'description' => 'The Castopod owner.', + 'title' => 'Vlasnik instance', + 'description' => 'Vlasnik Castopoda.', ], 'superadmin' => [ - 'title' => 'Super admin', - 'description' => 'Has complete control over Castopod.', + 'title' => 'Super administrator', + 'description' => 'Ima kompletnu kontrolu nad Castopod-om.', ], 'manager' => [ - 'title' => 'Manager', - 'description' => 'Manages Castopod\'s content.', + 'title' => 'Menadžer', + 'description' => 'Upravlja sadržajem na Castopod-u.', ], 'podcaster' => [ - 'title' => 'Podcaster', - 'description' => 'General users of Castopod.', + 'title' => 'Podkaster', + 'description' => 'Opšti korisnici Castopod-a.', ], ], 'instance_permissions' => [ - 'admin.access' => 'Can access the Castopod admin area.', - 'admin.settings' => 'Can access the Castopod settings.', - 'users.manage' => 'Can manage Castopod users.', - 'persons.manage' => 'Can manage persons.', - 'pages.manage' => 'Can manage pages.', - 'podcasts.view' => 'Can view all podcasts.', - 'podcasts.create' => 'Can create new podcasts.', - 'podcasts.import' => 'Can import podcasts.', - 'fediverse.manage-blocks' => 'Can block fediverse actors/domains from interacting with Castopod.', + 'admin.access' => 'Može pristupiti administratorskom delu Castopod-a.', + 'admin.settings' => 'Može pristupiti podešavanjima Castopod-a.', + 'users.manage' => 'Može upravljati korisnicima Castopod-a.', + 'persons.manage' => 'Može upravljati osobama.', + 'pages.manage' => 'Može upravljati stranicama.', + 'podcasts.view' => 'Može videti sve podkaste.', + 'podcasts.create' => 'Može napraviti nove podkaste.', + 'podcasts.import' => 'Može uvesti nove podkaste.', + 'fediverse.manage-blocks' => 'Može blokirati interakciju Castopoda i fedivers naloga/domena.', ], 'podcast_groups' => [ 'owner' => [ - 'title' => 'Podcast Owner', - 'description' => 'The podcast owner.', + 'title' => 'Vlasnik podkasta', + 'description' => 'Vlasnik podkasta.', ], 'admin' => [ - 'title' => 'Admin', - 'description' => 'Has complete control of podcast #{id}.', + 'title' => 'Administrator', + 'description' => 'Ima kompletnu kontrolu nad podkastom #{id}.', ], 'editor' => [ - 'title' => 'Editor', - 'description' => 'Manages content and publications of podcast #{id}.', + 'title' => 'Urednik', + 'description' => 'Upravlja sadržajem i objavama podkasta #{id}.', ], 'author' => [ - 'title' => 'Author', - 'description' => 'Manages content of podcast #{id} but cannot publish them.', + 'title' => 'Autor', + 'description' => 'Upravlja sadržajem podkasta #{id} ali ne može da ga objavi.', ], 'guest' => [ - 'title' => 'Guest', - 'description' => 'General contributor of the podcast #{id}.', + 'title' => 'Gost', + 'description' => 'Saradnik na podkastu #{id}.', ], ], 'podcast_permissions' => [ - 'view' => 'Can view dashboard and analytics of podcast #{id}.', - 'edit' => 'Can edit podcast #{id}.', - 'delete' => 'Can delete podcast #{id}.', - 'manage-import' => 'Can synchronize imported podcast #{id}.', - 'manage-persons' => 'Can manage subscriptions of podcast #{id}.', - 'manage-subscriptions' => 'Can manage subscriptions of podcast #{id}.', - 'manage-contributors' => 'Can manage contributors of podcast #{id}.', - 'manage-platforms' => 'Can set/remove platform links of podcast #{id}.', - 'manage-publications' => 'Can publish podcast #{id}.', - 'manage-notifications' => 'Can view and mark notifications as read for podcast #{id}.', - 'interact-as' => 'Can interact as the podcast #{id} to favourite, share or reply to posts.', - 'episodes.view' => 'Can view dashboards and analytics of podcast #{id}\'s episodes.', - 'episodes.create' => 'Can create episodes for podcast #{id}.', - 'episodes.edit' => 'Can edit episodes of podcast #{id}.', - 'episodes.delete' => 'Can delete episodes of podcast #{id}.', - 'episodes.manage-persons' => 'Can manage episode persons of podcast #{id}.', - 'episodes.manage-clips' => 'Can manage video clips or soundbites of podcast #{id}.', - 'episodes.manage-publications' => 'Can publish/unpublish episodes and posts of podcast #{id}.', - 'episodes.manage-comments' => 'Can create/remove episode comments of podcast #{id}.', + 'view' => 'Može videti upravljačku tablu i analitiku podkasta #{id}.', + 'edit' => 'Može uređivati podkast #{id}.', + 'delete' => 'Može obrisati podkast #{id}.', + 'manage-import' => 'Može sinhronizovati uvezen podkast #{id}.', + 'manage-persons' => 'Može upravljati pretplatama na podkast #{id}.', + 'manage-subscriptions' => 'Može upravljati pretplatama na podkast #{id}.', + 'manage-contributors' => 'Može upravljati saradnicima na podkastu #{id}.', + 'manage-platforms' => 'Može ubaciti/izbaciti veze ka platformama podkasta #{id}.', + 'manage-publications' => 'Može objaviti podkast #{id}.', + 'manage-notifications' => 'Može videti obaveštenja i označiti ih kao pročitana za podkast #{id}.', + 'interact-as' => 'Može da komunicira kao podkast #{id} i deli, odgovara na i stavlja u omiljene postove.', + 'episodes.view' => 'Može videti upravljačku tablu i analitiku epizoda podkasta #{id}.', + 'episodes.create' => 'Može napraviti epizode podkasta #{id}.', + 'episodes.edit' => 'Može uređivati epizode podkasta #{id}.', + 'episodes.delete' => 'Može obrisati epizode podkasta #{id}.', + 'episodes.manage-persons' => 'Može upravljati osobama na epizodama podkasta #{id}.', + 'episodes.manage-clips' => 'Može upravljati video klipovima i zvučnim isečcima podkasta #{id}.', + 'episodes.manage-publications' => 'Može da objavi/poništi objavljivanje epizoda i postova podkasta #{id}.', + 'episodes.manage-comments' => 'Može dodati/obrisati komentar na epizodi podkasta #{id}.', ], // missing keys - 'code' => 'Your 6-digit code', + 'code' => 'Vaša šestocifrena šifra', - 'notEnoughPrivilege' => 'You do not have sufficient permissions to access that page.', - 'set_password' => 'Set your password', + 'set_password' => 'Podesi lozinku', // Welcome email - 'welcomeSubject' => 'You\'ve been invited to {siteName}', - 'emailWelcomeMailBody' => 'An account was created for you on {domain}, click on the login link below to set your password. The link is valid for {numberOfHours} hours after this email was sent.', + 'welcomeSubject' => 'Pozvani ste na {siteName}', + 'emailWelcomeMailBody' => 'Za vas je napravljen nalog na {domain}, kliknite na link za prijavu ispod da biste postavili lozinku. Veza je važeća {numberOfHours} sati nakon slanja ove e-pošte.', ]; diff --git a/modules/Auth/Language/sr_Latn/Contributor.php b/modules/Auth/Language/sr_Latn/Contributor.php index c70badc0..39bcbdb9 100644 --- a/modules/Auth/Language/sr_Latn/Contributor.php +++ b/modules/Auth/Language/sr_Latn/Contributor.php @@ -9,39 +9,39 @@ declare(strict_types=1); */ return [ - 'podcast_contributors' => 'Podcast contributors', - 'view' => "{username}'s contribution to {podcastTitle}", - 'add' => 'Add contributor', - 'add_contributor' => 'Add a contributor for {0}', - 'edit_role' => 'Update role for {0}', - 'edit' => 'Edit', - 'remove' => 'Remove', + 'podcast_contributors' => 'Saradnici podkasta', + 'view' => "{username} doprinos {podcastTitle}", + 'add' => 'Dodaj saradnika', + 'add_contributor' => 'Dodaj saradnike za {0}', + 'edit_role' => 'Uredi ulogu za {0}', + 'edit' => 'Izmeni', + 'remove' => 'Ukloni', 'list' => [ - 'username' => 'Username', - 'role' => 'Role', + 'username' => 'Korisničko ime', + 'role' => 'Uloga', ], 'form' => [ - 'user' => 'User', - 'user_placeholder' => 'Select a user…', - 'role' => 'Role', - 'role_placeholder' => 'Select its role…', - 'submit_add' => 'Add contributor', - 'submit_edit' => 'Update role', + 'user' => 'Korisnik', + 'user_placeholder' => 'Izaberi korisnika…', + 'role' => 'Uloga', + 'role_placeholder' => 'Dodaj ulogu…', + 'submit_add' => 'Dodaj saradnika', + 'submit_edit' => 'Ažuriraj ulogu', ], 'delete_form' => [ - 'title' => 'Remove {contributor}', + 'title' => 'Ukloni {contributor}', 'disclaimer' => - 'You are about to remove {contributor} from contributors. They will not be able to access "{podcastTitle}" anymore.', - 'understand' => 'I understand, I want to remove {contributor} from "{podcastTitle}"', - 'submit' => 'Remove', + 'Obrisaćete {contributor} iz saradnika. Oni neće moći više da pristupe "{podcastTitle}".', + 'understand' => 'Razumem, želim da uklonim {contributor} iz "{podcastTitle}"', + 'submit' => 'Ukloni', ], 'messages' => [ - 'editSuccess' => 'Role successfully changed!', - 'editOwnerError' => "You can't edit the podcast owner!", - 'removeOwnerError' => "You can't remove the podcast owner!", + 'editSuccess' => 'Uloga uspešno promenjena!', + 'editOwnerError' => "Ne možete urediti vlasnika podkasta!", + 'removeOwnerError' => "Ne možete ukloniti vlasnika podkasta!", 'removeSuccess' => - 'You have successfully removed {username} from {podcastTitle}', + 'Uspešno ste uklonili {username} iz {podcastTitle}', 'alreadyAddedError' => - "The contributor you're trying to add has already been added!", + "Saradnik kojeg pokušavate dodati je već dodat!", ], ]; diff --git a/modules/Auth/Language/sr_Latn/MyAccount.php b/modules/Auth/Language/sr_Latn/MyAccount.php index 6ebbb30e..5fa13d74 100644 --- a/modules/Auth/Language/sr_Latn/MyAccount.php +++ b/modules/Auth/Language/sr_Latn/MyAccount.php @@ -9,10 +9,10 @@ declare(strict_types=1); */ return [ - 'info' => 'My account info', - 'changePassword' => 'Change my password', + 'info' => 'Infromacije o mom nalogu', + 'changePassword' => 'Promeni moju lozinku', 'messages' => [ - 'wrongPasswordError' => "You've entered the wrong password, try again.", - 'passwordChangeSuccess' => 'Password has been successfully changed!', + 'wrongPasswordError' => "Uneli ste pogrešnu lozinku, probajte ponovo.", + 'passwordChangeSuccess' => 'Lozinka je uspešno promenjena!', ], ]; diff --git a/modules/Auth/Language/sr_Latn/User.php b/modules/Auth/Language/sr_Latn/User.php index 32ec560c..5e128ed8 100644 --- a/modules/Auth/Language/sr_Latn/User.php +++ b/modules/Auth/Language/sr_Latn/User.php @@ -9,52 +9,52 @@ declare(strict_types=1); */ return [ - 'edit_role' => "Edit {username}'s role", - 'ban' => 'Ban', - 'unban' => 'Unban', - 'delete' => 'Delete', - 'create' => 'New user', - 'view' => "{username}'s info", - 'all_users' => 'All users', + 'edit_role' => "Uredi {username} uloge", + 'ban' => 'Zabrani', + 'unban' => 'Ukini zabranu', + 'delete' => 'Obriši', + 'create' => 'Novi korisnik', + 'view' => "Informacije o korisniku {username}", + 'all_users' => 'Svi korisnici', 'list' => [ - 'user' => 'User', - 'role' => 'Role', - 'banned' => 'Banned?', + 'user' => 'Korisnik', + 'role' => 'Uloga', + 'banned' => 'Zabranjen?', ], 'form' => [ - 'email' => 'Email', - 'username' => 'Username', - 'password' => 'Password', - 'new_password' => 'New Password', - 'role' => 'Role', - 'roles' => 'Roles', - 'permissions' => 'Permissions', - 'submit_create' => 'Create user', - 'submit_edit' => 'Save', - 'submit_password_change' => 'Change!', + 'email' => 'E-pošta', + 'username' => 'Korisničko ime', + 'password' => 'Lozinka', + 'new_password' => 'Nova lozinka', + 'role' => 'Uloga', + 'roles' => 'Uloge', + 'permissions' => 'Dozvole', + 'submit_create' => 'Kreiraj korisnika', + 'submit_edit' => 'Sačuvaj', + 'submit_password_change' => 'Promeni!', ], 'delete_form' => [ - 'title' => 'Delete {user}', + 'title' => 'Ukloni korisnika {user}', 'disclaimer' => - "You are about to delete {user} permanently. They will not be able to access the admin area anymore.", - 'understand' => 'I understand, I want to delete {user} permanently', - 'submit' => 'Delete', + "Spremate se da trajno uklonite korisnika {user}. Korisnik neće moći više da pristupi administratorskoj zoni.", + 'understand' => 'Shvatam, želim da trajno uklonim korisnika {user}', + 'submit' => 'Obriši', ], 'messages' => [ 'createSuccess' => - 'User created successfully! A welcome email was sent to {username} with a login link, they will be prompted with a password reset upon first authentication.', + 'Korisnik je uspešno kreiran! Poruka dobrodošlice je poslata E-poštom korisniku {username}. Ona sadrži vezu za prijavu a od njih će biti zatraženo resetovanje lozinke nakon prve autentifikacije.', 'roleEditSuccess' => - "{username}'s roles have been successfully updated.", - 'banSuccess' => '{username} has been banned.', - 'unbanSuccess' => '{username} has been unbanned.', + "Uloge korisnika {username} su uspešno ažurirane.", + 'banSuccess' => 'Korisnik {username} je zabranjen.', + 'unbanSuccess' => 'Korisniku {username} je skinuta zabrana.', 'editOwnerError' => - '{username} is the instance owner, one does not simply touch the owner…', + 'Korisnik {username} je vlasnik instance, prosto ne možete dirati vlasnika…', 'banSuperAdminError' => - '{username} is a superadmin, one does not simply ban a superadmin…', + 'Korisnik {username} je super administrator, prosto ne možete zabraniti super administratora…', 'deleteOwnerError' => - '{username} is the instance owner, one does not simply delete the owner…', + 'Korisnik {username} je vlasnik instance, prosto ne možete obrisati vlasnika…', 'deleteSuperAdminError' => - '{username} is a superadmin, one does not simply delete a superadmin…', - 'deleteSuccess' => '{username} has been deleted.', + 'Korisnik {username} je super administrator, prosto ne možete obrisati super administratora…', + 'deleteSuccess' => 'Korisnik {username} je obrisan.', ], ]; diff --git a/modules/Auth/Language/sv/Auth.php b/modules/Auth/Language/sv/Auth.php index 92c04320..59bbe7aa 100644 --- a/modules/Auth/Language/sv/Auth.php +++ b/modules/Auth/Language/sv/Auth.php @@ -85,7 +85,6 @@ return [ // missing keys 'code' => 'Din 6-siffriga kod', - 'notEnoughPrivilege' => 'Du har inte tillräcklig behörighet att komma åt sidan.', 'set_password' => 'Välj ett lösenord', // Welcome email diff --git a/modules/Auth/Language/uk/Auth.php b/modules/Auth/Language/uk/Auth.php index a47932e3..725b760b 100644 --- a/modules/Auth/Language/uk/Auth.php +++ b/modules/Auth/Language/uk/Auth.php @@ -85,7 +85,6 @@ return [ // missing keys 'code' => 'Your 6-digit code', - 'notEnoughPrivilege' => 'You do not have sufficient permissions to access that page.', 'set_password' => 'Set your password', // Welcome email diff --git a/modules/Auth/Language/zh-Hans/Auth.php b/modules/Auth/Language/zh-Hans/Auth.php index 9d5502a2..89f14530 100644 --- a/modules/Auth/Language/zh-Hans/Auth.php +++ b/modules/Auth/Language/zh-Hans/Auth.php @@ -85,7 +85,6 @@ return [ // missing keys 'code' => '你的6位验证码', - 'notEnoughPrivilege' => '你没有足够的权限访问该页面。', 'set_password' => '设置你的密码', // Welcome email diff --git a/modules/Install/Language/kk/Install.php b/modules/Install/Language/kk/Install.php new file mode 100644 index 00000000..45d26085 --- /dev/null +++ b/modules/Install/Language/kk/Install.php @@ -0,0 +1,62 @@ + 'Castopod installer', + 'manual_config' => 'Manual configuration', + 'manual_config_subtitle' => + 'Create a `.env` file with your settings and refresh the page to continue installation.', + 'form' => [ + 'instance_config' => 'Instance configuration', + 'hostname' => 'Hostname', + 'media_base_url' => 'Media base URL', + 'media_base_url_hint' => + 'If you use a CDN and/or an external analytics service, you may set them here.', + 'admin_gateway' => 'Admin gateway', + 'admin_gateway_hint' => + 'The route to access the admin area (eg. https://example.com/cp-admin). It is set by default as cp-admin, we recommend you change it for security reasons.', + 'auth_gateway' => 'Auth gateway', + 'auth_gateway_hint' => + 'The route to access the authentication pages (eg. https://example.com/cp-auth). It is set by default as cp-auth, we recommend you change it for security reasons.', + 'database_config' => 'Database configuration', + 'database_config_hint' => + 'Castopod needs to connect to your MySQL (or MariaDB) database. If you do not have these required info, please contact your server administrator.', + 'db_hostname' => 'Database hostname', + 'db_name' => 'Database name', + 'db_username' => 'Database username', + 'db_password' => 'Database password', + 'db_prefix' => 'Database prefix', + 'db_prefix_hint' => + "The prefix of the Castopod table names, leave as is if you don't know what it means.", + 'cache_config' => 'Cache configuration', + 'cache_config_hint' => + 'Choose your preferred cache handler. Leave it as the default value if you have no clue what it means.', + 'cache_handler' => 'Cache handler', + 'cacheHandlerOptions' => [ + 'file' => 'File', + 'redis' => 'Redis', + 'predis' => 'Predis', + ], + 'next' => 'Next', + 'submit' => 'Finish install', + 'create_superadmin' => 'Create your Super Admin account', + 'email' => 'Email', + 'username' => 'Username', + 'password' => 'Password', + ], + 'messages' => [ + 'createSuperAdminSuccess' => + 'Your superadmin account has been created successfully. Login to start podcasting!', + 'databaseConnectError' => + 'Castopod could not connect to your database. Edit your database configuration and try again.', + 'writeError' => + "Couldn't create/write the `.env` file. You must create it manually by following the `.env.example` file template in the Castopod package.", + ], +]; diff --git a/modules/Install/Language/sr_Latn/Install.php b/modules/Install/Language/sr_Latn/Install.php index 45d26085..d12ba554 100644 --- a/modules/Install/Language/sr_Latn/Install.php +++ b/modules/Install/Language/sr_Latn/Install.php @@ -9,54 +9,54 @@ declare(strict_types=1); */ return [ - 'title' => 'Castopod installer', - 'manual_config' => 'Manual configuration', + 'title' => 'Instalator Castopoda', + 'manual_config' => 'Ručna konfiguracija', 'manual_config_subtitle' => - 'Create a `.env` file with your settings and refresh the page to continue installation.', + 'Napravite `.env` datoteku sa vašim podešavanjima i osvežite stranicu da bi ste nastavili instalaciju.', 'form' => [ - 'instance_config' => 'Instance configuration', - 'hostname' => 'Hostname', - 'media_base_url' => 'Media base URL', + 'instance_config' => 'Konfiguracija instance', + 'hostname' => 'Ime domaćina', + 'media_base_url' => 'URL medijske baze', 'media_base_url_hint' => - 'If you use a CDN and/or an external analytics service, you may set them here.', - 'admin_gateway' => 'Admin gateway', + 'Ako koristite CDN i/ili eksternu uslugu za analitiku, možete ih postaviti ovde.', + 'admin_gateway' => 'Administratorski izlaz', 'admin_gateway_hint' => - 'The route to access the admin area (eg. https://example.com/cp-admin). It is set by default as cp-admin, we recommend you change it for security reasons.', - 'auth_gateway' => 'Auth gateway', + 'Ruta za pristup kontrolnoj tabli administratora (eg. https://example.com/cp-admin).Podrazumevano je podešena na cp-admin, preporučujemo da je promenite iz sigurnosnih razloga.', + 'auth_gateway' => 'Auth izlaz', 'auth_gateway_hint' => - 'The route to access the authentication pages (eg. https://example.com/cp-auth). It is set by default as cp-auth, we recommend you change it for security reasons.', - 'database_config' => 'Database configuration', + 'Ruta za pristup stranicama za potvrdu identiteta (eg. https://example.com/cp-auth).Podrazumevano je podešena na cp-auth, preporučujemo da je promenite iz sigurnosnih razloga.', + 'database_config' => 'Konfiguracija baze podataka', 'database_config_hint' => - 'Castopod needs to connect to your MySQL (or MariaDB) database. If you do not have these required info, please contact your server administrator.', - 'db_hostname' => 'Database hostname', - 'db_name' => 'Database name', - 'db_username' => 'Database username', - 'db_password' => 'Database password', - 'db_prefix' => 'Database prefix', + 'Castopod mora da se poveže za vašom MySQL (ili MariaDB) bazom. Ukoliko ne posedujete potrebne informacije, molimo vas kontaktirajte administratora vašeg servera.', + 'db_hostname' => 'Ime hosta baze podataka', + 'db_name' => 'Ime baze podataka', + 'db_username' => 'Korisničko ime baze podataka', + 'db_password' => 'Lozinka baze podataka', + 'db_prefix' => 'Prefiks baze', 'db_prefix_hint' => - "The prefix of the Castopod table names, leave as is if you don't know what it means.", - 'cache_config' => 'Cache configuration', + "Prefiks imena tabela Castopod-a, ne diraj ako ne znaš šta znači.", + 'cache_config' => 'Konfiguracija keša', 'cache_config_hint' => - 'Choose your preferred cache handler. Leave it as the default value if you have no clue what it means.', - 'cache_handler' => 'Cache handler', + 'Izaberite željeni obrađivač keša. Ostavite je kao podrazumevanu vrednost ako nemate pojma šta to znači.', + 'cache_handler' => 'Obrađivač keša', 'cacheHandlerOptions' => [ - 'file' => 'File', + 'file' => 'Datoteka', 'redis' => 'Redis', 'predis' => 'Predis', ], - 'next' => 'Next', - 'submit' => 'Finish install', - 'create_superadmin' => 'Create your Super Admin account', - 'email' => 'Email', - 'username' => 'Username', - 'password' => 'Password', + 'next' => 'Sledeće', + 'submit' => 'Završi instalaciju', + 'create_superadmin' => 'Kreiraj svoj nalog super administratora', + 'email' => 'E-pošta', + 'username' => 'Korisničko ime', + 'password' => 'Lozinka', ], 'messages' => [ 'createSuperAdminSuccess' => - 'Your superadmin account has been created successfully. Login to start podcasting!', + 'Vaš nalog superadmina je uspešno kreiran. Prijavite se da biste započeli podkasting!', 'databaseConnectError' => - 'Castopod could not connect to your database. Edit your database configuration and try again.', + 'Castopod nije mogao da se poveže sa vašom bazom podataka. Uredite konfiguraciju baze podataka i pokušajte ponovo.', 'writeError' => - "Couldn't create/write the `.env` file. You must create it manually by following the `.env.example` file template in the Castopod package.", + "Nije moguće kreirati/upisati datoteku `.env`. Morate je kreirati ručno prateći šablon datoteke `.env.example` u Castopod-ovom paketu.", ], ]; diff --git a/modules/PodcastImport/Language/ar/PodcastImport.php b/modules/PodcastImport/Language/ar/PodcastImport.php index 3708fb06..8bf494d3 100644 --- a/modules/PodcastImport/Language/ar/PodcastImport.php +++ b/modules/PodcastImport/Language/ar/PodcastImport.php @@ -48,6 +48,12 @@ return [ 'delete' => 'Delete', ], ], + 'syncForm' => [ + 'title' => 'Synchronize feeds', + 'feed_url' => 'Feed URL', + 'feed_url_hint' => 'The feed URL you want to synchronize with the current podcast.', + 'submit' => 'Add to queue', + ], 'messages' => [ 'canceled' => 'Import task has been successfully canceled!', 'notRunning' => 'Cannot cancel Import Task as it is not running.', diff --git a/modules/PodcastImport/Language/br/PodcastImport.php b/modules/PodcastImport/Language/br/PodcastImport.php index 3708fb06..8bf494d3 100644 --- a/modules/PodcastImport/Language/br/PodcastImport.php +++ b/modules/PodcastImport/Language/br/PodcastImport.php @@ -48,6 +48,12 @@ return [ 'delete' => 'Delete', ], ], + 'syncForm' => [ + 'title' => 'Synchronize feeds', + 'feed_url' => 'Feed URL', + 'feed_url_hint' => 'The feed URL you want to synchronize with the current podcast.', + 'submit' => 'Add to queue', + ], 'messages' => [ 'canceled' => 'Import task has been successfully canceled!', 'notRunning' => 'Cannot cancel Import Task as it is not running.', diff --git a/modules/PodcastImport/Language/ca/PodcastImport.php b/modules/PodcastImport/Language/ca/PodcastImport.php index 3708fb06..8bf494d3 100644 --- a/modules/PodcastImport/Language/ca/PodcastImport.php +++ b/modules/PodcastImport/Language/ca/PodcastImport.php @@ -48,6 +48,12 @@ return [ 'delete' => 'Delete', ], ], + 'syncForm' => [ + 'title' => 'Synchronize feeds', + 'feed_url' => 'Feed URL', + 'feed_url_hint' => 'The feed URL you want to synchronize with the current podcast.', + 'submit' => 'Add to queue', + ], 'messages' => [ 'canceled' => 'Import task has been successfully canceled!', 'notRunning' => 'Cannot cancel Import Task as it is not running.', diff --git a/modules/PodcastImport/Language/da/PodcastImport.php b/modules/PodcastImport/Language/da/PodcastImport.php index 3708fb06..8bf494d3 100644 --- a/modules/PodcastImport/Language/da/PodcastImport.php +++ b/modules/PodcastImport/Language/da/PodcastImport.php @@ -48,6 +48,12 @@ return [ 'delete' => 'Delete', ], ], + 'syncForm' => [ + 'title' => 'Synchronize feeds', + 'feed_url' => 'Feed URL', + 'feed_url_hint' => 'The feed URL you want to synchronize with the current podcast.', + 'submit' => 'Add to queue', + ], 'messages' => [ 'canceled' => 'Import task has been successfully canceled!', 'notRunning' => 'Cannot cancel Import Task as it is not running.', diff --git a/modules/PodcastImport/Language/de/PodcastImport.php b/modules/PodcastImport/Language/de/PodcastImport.php index 3708fb06..8bf494d3 100644 --- a/modules/PodcastImport/Language/de/PodcastImport.php +++ b/modules/PodcastImport/Language/de/PodcastImport.php @@ -48,6 +48,12 @@ return [ 'delete' => 'Delete', ], ], + 'syncForm' => [ + 'title' => 'Synchronize feeds', + 'feed_url' => 'Feed URL', + 'feed_url_hint' => 'The feed URL you want to synchronize with the current podcast.', + 'submit' => 'Add to queue', + ], 'messages' => [ 'canceled' => 'Import task has been successfully canceled!', 'notRunning' => 'Cannot cancel Import Task as it is not running.', diff --git a/modules/PodcastImport/Language/el/PodcastImport.php b/modules/PodcastImport/Language/el/PodcastImport.php index 3708fb06..8bf494d3 100644 --- a/modules/PodcastImport/Language/el/PodcastImport.php +++ b/modules/PodcastImport/Language/el/PodcastImport.php @@ -48,6 +48,12 @@ return [ 'delete' => 'Delete', ], ], + 'syncForm' => [ + 'title' => 'Synchronize feeds', + 'feed_url' => 'Feed URL', + 'feed_url_hint' => 'The feed URL you want to synchronize with the current podcast.', + 'submit' => 'Add to queue', + ], 'messages' => [ 'canceled' => 'Import task has been successfully canceled!', 'notRunning' => 'Cannot cancel Import Task as it is not running.', diff --git a/modules/PodcastImport/Language/es/PodcastImport.php b/modules/PodcastImport/Language/es/PodcastImport.php index 3708fb06..8bf494d3 100644 --- a/modules/PodcastImport/Language/es/PodcastImport.php +++ b/modules/PodcastImport/Language/es/PodcastImport.php @@ -48,6 +48,12 @@ return [ 'delete' => 'Delete', ], ], + 'syncForm' => [ + 'title' => 'Synchronize feeds', + 'feed_url' => 'Feed URL', + 'feed_url_hint' => 'The feed URL you want to synchronize with the current podcast.', + 'submit' => 'Add to queue', + ], 'messages' => [ 'canceled' => 'Import task has been successfully canceled!', 'notRunning' => 'Cannot cancel Import Task as it is not running.', diff --git a/modules/PodcastImport/Language/fa/PodcastImport.php b/modules/PodcastImport/Language/fa/PodcastImport.php index ac6779ab..cf5f4592 100644 --- a/modules/PodcastImport/Language/fa/PodcastImport.php +++ b/modules/PodcastImport/Language/fa/PodcastImport.php @@ -48,6 +48,12 @@ return [ 'delete' => 'حذف', ], ], + 'syncForm' => [ + 'title' => 'Synchronize feeds', + 'feed_url' => 'Feed URL', + 'feed_url_hint' => 'The feed URL you want to synchronize with the current podcast.', + 'submit' => 'Add to queue', + ], 'messages' => [ 'canceled' => 'وظیفهٔ درون‌ریزی با موفّقیت لغو شد!', 'notRunning' => 'نمی‌توان وظیفهٔ درون‌ریزی را لغو کرد؛ چرا که در حال اجرا نیست.', diff --git a/modules/PodcastImport/Language/fr/PodcastImport.php b/modules/PodcastImport/Language/fr/PodcastImport.php index 3708fb06..8bf494d3 100644 --- a/modules/PodcastImport/Language/fr/PodcastImport.php +++ b/modules/PodcastImport/Language/fr/PodcastImport.php @@ -48,6 +48,12 @@ return [ 'delete' => 'Delete', ], ], + 'syncForm' => [ + 'title' => 'Synchronize feeds', + 'feed_url' => 'Feed URL', + 'feed_url_hint' => 'The feed URL you want to synchronize with the current podcast.', + 'submit' => 'Add to queue', + ], 'messages' => [ 'canceled' => 'Import task has been successfully canceled!', 'notRunning' => 'Cannot cancel Import Task as it is not running.', diff --git a/modules/PodcastImport/Language/fr2/PodcastImport.php b/modules/PodcastImport/Language/fr2/PodcastImport.php index 3708fb06..8bf494d3 100644 --- a/modules/PodcastImport/Language/fr2/PodcastImport.php +++ b/modules/PodcastImport/Language/fr2/PodcastImport.php @@ -48,6 +48,12 @@ return [ 'delete' => 'Delete', ], ], + 'syncForm' => [ + 'title' => 'Synchronize feeds', + 'feed_url' => 'Feed URL', + 'feed_url_hint' => 'The feed URL you want to synchronize with the current podcast.', + 'submit' => 'Add to queue', + ], 'messages' => [ 'canceled' => 'Import task has been successfully canceled!', 'notRunning' => 'Cannot cancel Import Task as it is not running.', diff --git a/modules/PodcastImport/Language/fr_CA/PodcastImport.php b/modules/PodcastImport/Language/fr_CA/PodcastImport.php index 3708fb06..8bf494d3 100644 --- a/modules/PodcastImport/Language/fr_CA/PodcastImport.php +++ b/modules/PodcastImport/Language/fr_CA/PodcastImport.php @@ -48,6 +48,12 @@ return [ 'delete' => 'Delete', ], ], + 'syncForm' => [ + 'title' => 'Synchronize feeds', + 'feed_url' => 'Feed URL', + 'feed_url_hint' => 'The feed URL you want to synchronize with the current podcast.', + 'submit' => 'Add to queue', + ], 'messages' => [ 'canceled' => 'Import task has been successfully canceled!', 'notRunning' => 'Cannot cancel Import Task as it is not running.', diff --git a/modules/PodcastImport/Language/gd/PodcastImport.php b/modules/PodcastImport/Language/gd/PodcastImport.php index 3708fb06..8bf494d3 100644 --- a/modules/PodcastImport/Language/gd/PodcastImport.php +++ b/modules/PodcastImport/Language/gd/PodcastImport.php @@ -48,6 +48,12 @@ return [ 'delete' => 'Delete', ], ], + 'syncForm' => [ + 'title' => 'Synchronize feeds', + 'feed_url' => 'Feed URL', + 'feed_url_hint' => 'The feed URL you want to synchronize with the current podcast.', + 'submit' => 'Add to queue', + ], 'messages' => [ 'canceled' => 'Import task has been successfully canceled!', 'notRunning' => 'Cannot cancel Import Task as it is not running.', diff --git a/modules/PodcastImport/Language/gl/PodcastImport.php b/modules/PodcastImport/Language/gl/PodcastImport.php index 3708fb06..8bf494d3 100644 --- a/modules/PodcastImport/Language/gl/PodcastImport.php +++ b/modules/PodcastImport/Language/gl/PodcastImport.php @@ -48,6 +48,12 @@ return [ 'delete' => 'Delete', ], ], + 'syncForm' => [ + 'title' => 'Synchronize feeds', + 'feed_url' => 'Feed URL', + 'feed_url_hint' => 'The feed URL you want to synchronize with the current podcast.', + 'submit' => 'Add to queue', + ], 'messages' => [ 'canceled' => 'Import task has been successfully canceled!', 'notRunning' => 'Cannot cancel Import Task as it is not running.', diff --git a/modules/PodcastImport/Language/id/PodcastImport.php b/modules/PodcastImport/Language/id/PodcastImport.php index 3708fb06..8bf494d3 100644 --- a/modules/PodcastImport/Language/id/PodcastImport.php +++ b/modules/PodcastImport/Language/id/PodcastImport.php @@ -48,6 +48,12 @@ return [ 'delete' => 'Delete', ], ], + 'syncForm' => [ + 'title' => 'Synchronize feeds', + 'feed_url' => 'Feed URL', + 'feed_url_hint' => 'The feed URL you want to synchronize with the current podcast.', + 'submit' => 'Add to queue', + ], 'messages' => [ 'canceled' => 'Import task has been successfully canceled!', 'notRunning' => 'Cannot cancel Import Task as it is not running.', diff --git a/modules/PodcastImport/Language/it/PodcastImport.php b/modules/PodcastImport/Language/it/PodcastImport.php index 3708fb06..8bf494d3 100644 --- a/modules/PodcastImport/Language/it/PodcastImport.php +++ b/modules/PodcastImport/Language/it/PodcastImport.php @@ -48,6 +48,12 @@ return [ 'delete' => 'Delete', ], ], + 'syncForm' => [ + 'title' => 'Synchronize feeds', + 'feed_url' => 'Feed URL', + 'feed_url_hint' => 'The feed URL you want to synchronize with the current podcast.', + 'submit' => 'Add to queue', + ], 'messages' => [ 'canceled' => 'Import task has been successfully canceled!', 'notRunning' => 'Cannot cancel Import Task as it is not running.', diff --git a/modules/PodcastImport/Language/ja/PodcastImport.php b/modules/PodcastImport/Language/ja/PodcastImport.php index 3708fb06..8bf494d3 100644 --- a/modules/PodcastImport/Language/ja/PodcastImport.php +++ b/modules/PodcastImport/Language/ja/PodcastImport.php @@ -48,6 +48,12 @@ return [ 'delete' => 'Delete', ], ], + 'syncForm' => [ + 'title' => 'Synchronize feeds', + 'feed_url' => 'Feed URL', + 'feed_url_hint' => 'The feed URL you want to synchronize with the current podcast.', + 'submit' => 'Add to queue', + ], 'messages' => [ 'canceled' => 'Import task has been successfully canceled!', 'notRunning' => 'Cannot cancel Import Task as it is not running.', diff --git a/modules/PodcastImport/Language/kk/PodcastImport.php b/modules/PodcastImport/Language/kk/PodcastImport.php new file mode 100644 index 00000000..8bf494d3 --- /dev/null +++ b/modules/PodcastImport/Language/kk/PodcastImport.php @@ -0,0 +1,66 @@ + [ + 'disclaimer' => 'Importing', + 'text' => '{podcastTitle} is currently being imported.', + 'cta' => 'See import status', + ], + 'old_podcast_section_title' => 'The podcast to import', + 'old_podcast_legal_disclaimer_title' => 'Legal disclaimer', + 'old_podcast_legal_disclaimer' => + 'Make sure you own the rights for this podcast before importing it. Copying and broadcasting a podcast without the proper rights is piracy and is liable to prosecution.', + 'imported_feed_url' => 'Feed URL', + 'imported_feed_url_hint' => 'The feed must be in xml or rss format.', + 'new_podcast_section_title' => 'The new podcast', + 'lock_import' => + 'This feed is protected. You cannot import it. If you are the owner, unlock it on the origin platform.', + 'submit' => 'Add import to queue', + 'queue' => [ + 'status' => [ + 'label' => 'Status', + 'queued' => 'queued', + 'queued_hint' => 'Import task is awaiting to be processed.', + 'canceled' => 'canceled', + 'canceled_hint' => 'Import task was canceled.', + 'running' => 'running', + 'running_hint' => 'Import task is being processed.', + 'failed' => 'failed', + 'failed_hint' => 'Import task could not complete: script failure.', + 'passed' => 'passed', + 'passed_hint' => 'Import task was completed successfully!', + ], + 'feed' => 'Feed', + 'duration' => 'Import duration', + 'imported_episodes' => 'Imported episodes', + 'imported_episodes_hint' => '{newlyImportedCount} newly imported, {alreadyImportedCount} already imported.', + 'actions' => [ + 'cancel' => 'Cancel', + 'retry' => 'Retry', + 'delete' => 'Delete', + ], + ], + 'syncForm' => [ + 'title' => 'Synchronize feeds', + 'feed_url' => 'Feed URL', + 'feed_url_hint' => 'The feed URL you want to synchronize with the current podcast.', + 'submit' => 'Add to queue', + ], + 'messages' => [ + 'canceled' => 'Import task has been successfully canceled!', + 'notRunning' => 'Cannot cancel Import Task as it is not running.', + 'alreadyRunning' => 'Import Task is already running. You may cancel it before retrying.', + 'retried' => 'Import task has been queued, it will be retried shortly!', + 'deleted' => 'Import task has been successfully deleted!', + 'importTaskQueued' => 'An new task has been queued, import will start shortly!', + 'syncTaskQueued' => 'A new import task has been queued, synchronization will start shortly!', + ], +]; diff --git a/modules/PodcastImport/Language/ko/PodcastImport.php b/modules/PodcastImport/Language/ko/PodcastImport.php index 3708fb06..8bf494d3 100644 --- a/modules/PodcastImport/Language/ko/PodcastImport.php +++ b/modules/PodcastImport/Language/ko/PodcastImport.php @@ -48,6 +48,12 @@ return [ 'delete' => 'Delete', ], ], + 'syncForm' => [ + 'title' => 'Synchronize feeds', + 'feed_url' => 'Feed URL', + 'feed_url_hint' => 'The feed URL you want to synchronize with the current podcast.', + 'submit' => 'Add to queue', + ], 'messages' => [ 'canceled' => 'Import task has been successfully canceled!', 'notRunning' => 'Cannot cancel Import Task as it is not running.', diff --git a/modules/PodcastImport/Language/nl/PodcastImport.php b/modules/PodcastImport/Language/nl/PodcastImport.php index 3708fb06..8bf494d3 100644 --- a/modules/PodcastImport/Language/nl/PodcastImport.php +++ b/modules/PodcastImport/Language/nl/PodcastImport.php @@ -48,6 +48,12 @@ return [ 'delete' => 'Delete', ], ], + 'syncForm' => [ + 'title' => 'Synchronize feeds', + 'feed_url' => 'Feed URL', + 'feed_url_hint' => 'The feed URL you want to synchronize with the current podcast.', + 'submit' => 'Add to queue', + ], 'messages' => [ 'canceled' => 'Import task has been successfully canceled!', 'notRunning' => 'Cannot cancel Import Task as it is not running.', diff --git a/modules/PodcastImport/Language/nn-NO/PodcastImport.php b/modules/PodcastImport/Language/nn-NO/PodcastImport.php index 3708fb06..f778e048 100644 --- a/modules/PodcastImport/Language/nn-NO/PodcastImport.php +++ b/modules/PodcastImport/Language/nn-NO/PodcastImport.php @@ -10,51 +10,57 @@ declare(strict_types=1); return [ 'banner' => [ - 'disclaimer' => 'Importing', - 'text' => '{podcastTitle} is currently being imported.', - 'cta' => 'See import status', + 'disclaimer' => 'Importerer', + 'text' => '{podcastTitle} blir importert.', + 'cta' => 'Sjå status på importen', ], - 'old_podcast_section_title' => 'The podcast to import', - 'old_podcast_legal_disclaimer_title' => 'Legal disclaimer', + 'old_podcast_section_title' => 'Podkast å importera', + 'old_podcast_legal_disclaimer_title' => 'Juridisk ansvarsfråskriving', 'old_podcast_legal_disclaimer' => - 'Make sure you own the rights for this podcast before importing it. Copying and broadcasting a podcast without the proper rights is piracy and is liable to prosecution.', - 'imported_feed_url' => 'Feed URL', - 'imported_feed_url_hint' => 'The feed must be in xml or rss format.', - 'new_podcast_section_title' => 'The new podcast', + 'Syt for at du har rettane til podkasten før du importerer han. Å kopiera og kringkasta ein podkast utan løyve er ulovleg og straffbart.', + 'imported_feed_url' => 'URL til straumen', + 'imported_feed_url_hint' => 'Straumen må vera i xml- eller rss-format.', + 'new_podcast_section_title' => 'Den nye podkasten', 'lock_import' => - 'This feed is protected. You cannot import it. If you are the owner, unlock it on the origin platform.', - 'submit' => 'Add import to queue', + 'Denne straumen er verna. Du kan ikkje importera han. Viss du er eigaren, må du låsa han opp på den originale plattforma.', + 'submit' => 'Legg importen i køen', 'queue' => [ 'status' => [ 'label' => 'Status', - 'queued' => 'queued', - 'queued_hint' => 'Import task is awaiting to be processed.', - 'canceled' => 'canceled', - 'canceled_hint' => 'Import task was canceled.', - 'running' => 'running', - 'running_hint' => 'Import task is being processed.', - 'failed' => 'failed', - 'failed_hint' => 'Import task could not complete: script failure.', - 'passed' => 'passed', - 'passed_hint' => 'Import task was completed successfully!', + 'queued' => 'i kø', + 'queued_hint' => 'Importjobben ventar på å bli utført.', + 'canceled' => 'avbrote', + 'canceled_hint' => 'Importjobben vart avbroten.', + 'running' => 'køyrer', + 'running_hint' => 'Utfører importoppgåva.', + 'failed' => 'mislukka', + 'failed_hint' => 'Greidde ikkje fullføra importen: skriptfeil.', + 'passed' => 'utført', + 'passed_hint' => 'Importen var vellukka.', ], - 'feed' => 'Feed', - 'duration' => 'Import duration', - 'imported_episodes' => 'Imported episodes', - 'imported_episodes_hint' => '{newlyImportedCount} newly imported, {alreadyImportedCount} already imported.', + 'feed' => 'Straum', + 'duration' => 'Kor lenge importen vara', + 'imported_episodes' => 'Importerte episodar', + 'imported_episodes_hint' => '{newlyImportedCount} nyss importerte, {alreadyImportedCount} allereie importerte.', 'actions' => [ - 'cancel' => 'Cancel', - 'retry' => 'Retry', - 'delete' => 'Delete', + 'cancel' => 'Avbryt', + 'retry' => 'Prøv på nytt', + 'delete' => 'Slett', ], ], + 'syncForm' => [ + 'title' => 'Synchronize feeds', + 'feed_url' => 'Feed URL', + 'feed_url_hint' => 'The feed URL you want to synchronize with the current podcast.', + 'submit' => 'Add to queue', + ], 'messages' => [ - 'canceled' => 'Import task has been successfully canceled!', - 'notRunning' => 'Cannot cancel Import Task as it is not running.', - 'alreadyRunning' => 'Import Task is already running. You may cancel it before retrying.', - 'retried' => 'Import task has been queued, it will be retried shortly!', - 'deleted' => 'Import task has been successfully deleted!', - 'importTaskQueued' => 'An new task has been queued, import will start shortly!', - 'syncTaskQueued' => 'A new import task has been queued, synchronization will start shortly!', + 'canceled' => 'Importen vart avbroten.', + 'notRunning' => 'Kan ikkje avbryta importen, fordi han ikkje køyrer.', + 'alreadyRunning' => 'Importen er i gang. Du kan avbryta han før du prøver på nytt.', + 'retried' => 'Importjobben er lagt i køen, og vil bli prøvd på nytt straks.', + 'deleted' => 'Importjobben er sletta.', + 'importTaskQueued' => 'Ein ny jobb er lagd i køen, og importen startar straks.', + 'syncTaskQueued' => 'Ein ny importjobb er lagd i køen, og synkroniseringa startar straks.', ], ]; diff --git a/modules/PodcastImport/Language/oc/PodcastImport.php b/modules/PodcastImport/Language/oc/PodcastImport.php index 3708fb06..8bf494d3 100644 --- a/modules/PodcastImport/Language/oc/PodcastImport.php +++ b/modules/PodcastImport/Language/oc/PodcastImport.php @@ -48,6 +48,12 @@ return [ 'delete' => 'Delete', ], ], + 'syncForm' => [ + 'title' => 'Synchronize feeds', + 'feed_url' => 'Feed URL', + 'feed_url_hint' => 'The feed URL you want to synchronize with the current podcast.', + 'submit' => 'Add to queue', + ], 'messages' => [ 'canceled' => 'Import task has been successfully canceled!', 'notRunning' => 'Cannot cancel Import Task as it is not running.', diff --git a/modules/PodcastImport/Language/pl/PodcastImport.php b/modules/PodcastImport/Language/pl/PodcastImport.php index 3708fb06..8bf494d3 100644 --- a/modules/PodcastImport/Language/pl/PodcastImport.php +++ b/modules/PodcastImport/Language/pl/PodcastImport.php @@ -48,6 +48,12 @@ return [ 'delete' => 'Delete', ], ], + 'syncForm' => [ + 'title' => 'Synchronize feeds', + 'feed_url' => 'Feed URL', + 'feed_url_hint' => 'The feed URL you want to synchronize with the current podcast.', + 'submit' => 'Add to queue', + ], 'messages' => [ 'canceled' => 'Import task has been successfully canceled!', 'notRunning' => 'Cannot cancel Import Task as it is not running.', diff --git a/modules/PodcastImport/Language/pt-BR/PodcastImport.php b/modules/PodcastImport/Language/pt-BR/PodcastImport.php index 3708fb06..8bf494d3 100644 --- a/modules/PodcastImport/Language/pt-BR/PodcastImport.php +++ b/modules/PodcastImport/Language/pt-BR/PodcastImport.php @@ -48,6 +48,12 @@ return [ 'delete' => 'Delete', ], ], + 'syncForm' => [ + 'title' => 'Synchronize feeds', + 'feed_url' => 'Feed URL', + 'feed_url_hint' => 'The feed URL you want to synchronize with the current podcast.', + 'submit' => 'Add to queue', + ], 'messages' => [ 'canceled' => 'Import task has been successfully canceled!', 'notRunning' => 'Cannot cancel Import Task as it is not running.', diff --git a/modules/PodcastImport/Language/pt/PodcastImport.php b/modules/PodcastImport/Language/pt/PodcastImport.php index 3708fb06..8bf494d3 100644 --- a/modules/PodcastImport/Language/pt/PodcastImport.php +++ b/modules/PodcastImport/Language/pt/PodcastImport.php @@ -48,6 +48,12 @@ return [ 'delete' => 'Delete', ], ], + 'syncForm' => [ + 'title' => 'Synchronize feeds', + 'feed_url' => 'Feed URL', + 'feed_url_hint' => 'The feed URL you want to synchronize with the current podcast.', + 'submit' => 'Add to queue', + ], 'messages' => [ 'canceled' => 'Import task has been successfully canceled!', 'notRunning' => 'Cannot cancel Import Task as it is not running.', diff --git a/modules/PodcastImport/Language/ro/PodcastImport.php b/modules/PodcastImport/Language/ro/PodcastImport.php index 3708fb06..8bf494d3 100644 --- a/modules/PodcastImport/Language/ro/PodcastImport.php +++ b/modules/PodcastImport/Language/ro/PodcastImport.php @@ -48,6 +48,12 @@ return [ 'delete' => 'Delete', ], ], + 'syncForm' => [ + 'title' => 'Synchronize feeds', + 'feed_url' => 'Feed URL', + 'feed_url_hint' => 'The feed URL you want to synchronize with the current podcast.', + 'submit' => 'Add to queue', + ], 'messages' => [ 'canceled' => 'Import task has been successfully canceled!', 'notRunning' => 'Cannot cancel Import Task as it is not running.', diff --git a/modules/PodcastImport/Language/ru/PodcastImport.php b/modules/PodcastImport/Language/ru/PodcastImport.php index 3708fb06..8bf494d3 100644 --- a/modules/PodcastImport/Language/ru/PodcastImport.php +++ b/modules/PodcastImport/Language/ru/PodcastImport.php @@ -48,6 +48,12 @@ return [ 'delete' => 'Delete', ], ], + 'syncForm' => [ + 'title' => 'Synchronize feeds', + 'feed_url' => 'Feed URL', + 'feed_url_hint' => 'The feed URL you want to synchronize with the current podcast.', + 'submit' => 'Add to queue', + ], 'messages' => [ 'canceled' => 'Import task has been successfully canceled!', 'notRunning' => 'Cannot cancel Import Task as it is not running.', diff --git a/modules/PodcastImport/Language/sk/PodcastImport.php b/modules/PodcastImport/Language/sk/PodcastImport.php index 3708fb06..8bf494d3 100644 --- a/modules/PodcastImport/Language/sk/PodcastImport.php +++ b/modules/PodcastImport/Language/sk/PodcastImport.php @@ -48,6 +48,12 @@ return [ 'delete' => 'Delete', ], ], + 'syncForm' => [ + 'title' => 'Synchronize feeds', + 'feed_url' => 'Feed URL', + 'feed_url_hint' => 'The feed URL you want to synchronize with the current podcast.', + 'submit' => 'Add to queue', + ], 'messages' => [ 'canceled' => 'Import task has been successfully canceled!', 'notRunning' => 'Cannot cancel Import Task as it is not running.', diff --git a/modules/PodcastImport/Language/sr_Latn/PodcastImport.php b/modules/PodcastImport/Language/sr_Latn/PodcastImport.php index 3708fb06..504175b7 100644 --- a/modules/PodcastImport/Language/sr_Latn/PodcastImport.php +++ b/modules/PodcastImport/Language/sr_Latn/PodcastImport.php @@ -10,51 +10,57 @@ declare(strict_types=1); return [ 'banner' => [ - 'disclaimer' => 'Importing', - 'text' => '{podcastTitle} is currently being imported.', - 'cta' => 'See import status', + 'disclaimer' => 'Uvoz', + 'text' => '{podcastTitle} se trenutno uvozi.', + 'cta' => 'Pogledaj status uvoza', ], - 'old_podcast_section_title' => 'The podcast to import', - 'old_podcast_legal_disclaimer_title' => 'Legal disclaimer', + 'old_podcast_section_title' => 'Podkast koji se uvozi', + 'old_podcast_legal_disclaimer_title' => 'Pravno odricanje od odgovornosti', 'old_podcast_legal_disclaimer' => - 'Make sure you own the rights for this podcast before importing it. Copying and broadcasting a podcast without the proper rights is piracy and is liable to prosecution.', - 'imported_feed_url' => 'Feed URL', - 'imported_feed_url_hint' => 'The feed must be in xml or rss format.', - 'new_podcast_section_title' => 'The new podcast', + 'Uverite se da posedujete prava za ovaj podkast pre nego što ga uvezete. Kopiranje i emitovanje podkasta bez odgovarajućih prava je piraterija i podložno je krivičnom gonjenju.', + 'imported_feed_url' => 'URL snabdevača', + 'imported_feed_url_hint' => 'Snabdevač mora biti u xml ili rss formatu.', + 'new_podcast_section_title' => 'Novi podkast', 'lock_import' => - 'This feed is protected. You cannot import it. If you are the owner, unlock it on the origin platform.', - 'submit' => 'Add import to queue', + 'Ovaj snabdevač je zaštićen. Ne možete ga uvesti. Ukoliko ste vlasnik, otključajte snabdevač na originalnoj platformi na kojoj ste ga napravili.', + 'submit' => 'Dodaj uvoz na čekanje', 'queue' => [ 'status' => [ 'label' => 'Status', - 'queued' => 'queued', - 'queued_hint' => 'Import task is awaiting to be processed.', - 'canceled' => 'canceled', - 'canceled_hint' => 'Import task was canceled.', - 'running' => 'running', - 'running_hint' => 'Import task is being processed.', - 'failed' => 'failed', - 'failed_hint' => 'Import task could not complete: script failure.', - 'passed' => 'passed', - 'passed_hint' => 'Import task was completed successfully!', + 'queued' => 'čekanje', + 'queued_hint' => 'Zadatak uvoza čeka na obradu.', + 'canceled' => 'otkazano', + 'canceled_hint' => 'Zadatak uvoza je otkazan.', + 'running' => 'u toku', + 'running_hint' => 'Zadatak uvoza se procesuira.', + 'failed' => 'nije uspеlo', + 'failed_hint' => 'Zadatak uvoza nije mogao da se završi: greška skripte.', + 'passed' => 'pauzirano', + 'passed_hint' => 'Zadatak uvoza uspešno obavljen!', ], - 'feed' => 'Feed', - 'duration' => 'Import duration', - 'imported_episodes' => 'Imported episodes', - 'imported_episodes_hint' => '{newlyImportedCount} newly imported, {alreadyImportedCount} already imported.', + 'feed' => 'Snabdevač', + 'duration' => 'Trajanje uvoza', + 'imported_episodes' => 'Uvežene epizode', + 'imported_episodes_hint' => '{newlyImportedCount} novo uvežena, {alreadyImportedCount} već uveženih.', 'actions' => [ - 'cancel' => 'Cancel', - 'retry' => 'Retry', - 'delete' => 'Delete', + 'cancel' => 'Otkaži', + 'retry' => 'Pokušaj ponovo', + 'delete' => 'Obriši', ], ], + 'syncForm' => [ + 'title' => 'Sinhronizuj snabdevače', + 'feed_url' => 'URL snabdevača', + 'feed_url_hint' => 'URL veza snabdevača koju želite da sinhronizujete sa trenutnim podkastom.', + 'submit' => 'Dodaj u redosled', + ], 'messages' => [ - 'canceled' => 'Import task has been successfully canceled!', - 'notRunning' => 'Cannot cancel Import Task as it is not running.', - 'alreadyRunning' => 'Import Task is already running. You may cancel it before retrying.', - 'retried' => 'Import task has been queued, it will be retried shortly!', - 'deleted' => 'Import task has been successfully deleted!', - 'importTaskQueued' => 'An new task has been queued, import will start shortly!', - 'syncTaskQueued' => 'A new import task has been queued, synchronization will start shortly!', + 'canceled' => 'Zadatak uvoza uspešno otkazan!', + 'notRunning' => 'Nije moguće otkazati zadatak uvoza jer isti nije u toku.', + 'alreadyRunning' => 'Zadatak uvoza je u toku. Možete ga otkazati pre ponovnog pokušaja.', + 'retried' => 'Zadatak uvoza je na čekanju, biće pokušan ponovo uskoro!', + 'deleted' => 'Zadatak uvoza uspešno obrisan!', + 'importTaskQueued' => 'Novi zadatak je na čekanju, uvoz će krenuti uskoro!', + 'syncTaskQueued' => 'Novi zadatak uvoza je na čekanju, sinhronizacija će početi uskoro!', ], ]; diff --git a/modules/PodcastImport/Language/sv/PodcastImport.php b/modules/PodcastImport/Language/sv/PodcastImport.php index 3708fb06..8bf494d3 100644 --- a/modules/PodcastImport/Language/sv/PodcastImport.php +++ b/modules/PodcastImport/Language/sv/PodcastImport.php @@ -48,6 +48,12 @@ return [ 'delete' => 'Delete', ], ], + 'syncForm' => [ + 'title' => 'Synchronize feeds', + 'feed_url' => 'Feed URL', + 'feed_url_hint' => 'The feed URL you want to synchronize with the current podcast.', + 'submit' => 'Add to queue', + ], 'messages' => [ 'canceled' => 'Import task has been successfully canceled!', 'notRunning' => 'Cannot cancel Import Task as it is not running.', diff --git a/modules/PodcastImport/Language/uk/PodcastImport.php b/modules/PodcastImport/Language/uk/PodcastImport.php index 3708fb06..8bf494d3 100644 --- a/modules/PodcastImport/Language/uk/PodcastImport.php +++ b/modules/PodcastImport/Language/uk/PodcastImport.php @@ -48,6 +48,12 @@ return [ 'delete' => 'Delete', ], ], + 'syncForm' => [ + 'title' => 'Synchronize feeds', + 'feed_url' => 'Feed URL', + 'feed_url_hint' => 'The feed URL you want to synchronize with the current podcast.', + 'submit' => 'Add to queue', + ], 'messages' => [ 'canceled' => 'Import task has been successfully canceled!', 'notRunning' => 'Cannot cancel Import Task as it is not running.', diff --git a/modules/PodcastImport/Language/zh-Hans/PodcastImport.php b/modules/PodcastImport/Language/zh-Hans/PodcastImport.php index 7572a396..ca714eec 100644 --- a/modules/PodcastImport/Language/zh-Hans/PodcastImport.php +++ b/modules/PodcastImport/Language/zh-Hans/PodcastImport.php @@ -48,6 +48,12 @@ return [ 'delete' => '删除', ], ], + 'syncForm' => [ + 'title' => 'Synchronize feeds', + 'feed_url' => 'Feed URL', + 'feed_url_hint' => 'The feed URL you want to synchronize with the current podcast.', + 'submit' => 'Add to queue', + ], 'messages' => [ 'canceled' => '导入任务已成功取消!', 'notRunning' => '无法取消导入任务,因为它未运行。', diff --git a/modules/PremiumPodcasts/Language/de/Subscription.php b/modules/PremiumPodcasts/Language/de/Subscription.php index 17e6fe9e..e57db5a2 100644 --- a/modules/PremiumPodcasts/Language/de/Subscription.php +++ b/modules/PremiumPodcasts/Language/de/Subscription.php @@ -34,7 +34,7 @@ return [ 'email' => 'E-Mail', 'expiration_date' => 'Ablaufdatum', 'expiration_date_hint' => 'Das Datum und die Uhrzeit, zu der das Abonnement abläuft. Leer lassen für ein unbegrenztes Abonnement.', - 'submit_add' => 'Abonnement hinzufügen', + 'submit_create' => 'Create subscription', 'submit_edit' => 'Abonnement bearbeiten', ], 'form_link_add' => [ diff --git a/modules/PremiumPodcasts/Language/es/Subscription.php b/modules/PremiumPodcasts/Language/es/Subscription.php index 4d81bc70..76df4e21 100644 --- a/modules/PremiumPodcasts/Language/es/Subscription.php +++ b/modules/PremiumPodcasts/Language/es/Subscription.php @@ -34,7 +34,7 @@ return [ 'email' => 'Correo electrónico', 'expiration_date' => 'Fecha de expiración', 'expiration_date_hint' => 'La fecha y hora en que caduca la suscripción. Dejar en blanco para una suscripción ilimitada.', - 'submit_add' => 'Añadir suscripción', + 'submit_create' => 'Create subscription', 'submit_edit' => 'Editar la suscripción', ], 'form_link_add' => [ diff --git a/modules/PremiumPodcasts/Language/fr/Subscription.php b/modules/PremiumPodcasts/Language/fr/Subscription.php index c20be9d2..cbeb3713 100644 --- a/modules/PremiumPodcasts/Language/fr/Subscription.php +++ b/modules/PremiumPodcasts/Language/fr/Subscription.php @@ -34,7 +34,7 @@ return [ 'email' => 'Adresse e-mail', 'expiration_date' => 'Date d\'expiration', 'expiration_date_hint' => 'La date et l\'heure à laquelle l\'abonnement expire. Laissez vide pour un abonnement illimité.', - 'submit_add' => 'Ajouter un abonnement', + 'submit_create' => 'Create subscription', 'submit_edit' => 'Modifier l\'inscription', ], 'form_link_add' => [ diff --git a/modules/PremiumPodcasts/Language/gd/Subscription.php b/modules/PremiumPodcasts/Language/gd/Subscription.php index 3ee140dd..2dbfdeb6 100644 --- a/modules/PremiumPodcasts/Language/gd/Subscription.php +++ b/modules/PremiumPodcasts/Language/gd/Subscription.php @@ -34,7 +34,7 @@ return [ 'email' => 'Post-d', 'expiration_date' => 'Ceann-là crìochnachaidh', 'expiration_date_hint' => 'An ceann-là ’s àm a dh’fhalbhas an ùine air an fho-sgrìobhadh. Fàg bàn e airson fo-sgrìobhadh gun chrìoch.', - 'submit_add' => 'Cuir fo-sgrìobhadh ris', + 'submit_create' => 'Create subscription', 'submit_edit' => 'Deasaich am fo-sgrìobhadh', ], 'form_link_add' => [ diff --git a/modules/PremiumPodcasts/Language/kk/PremiumPodcasts.php b/modules/PremiumPodcasts/Language/kk/PremiumPodcasts.php new file mode 100644 index 00000000..18c0dd4e --- /dev/null +++ b/modules/PremiumPodcasts/Language/kk/PremiumPodcasts.php @@ -0,0 +1,34 @@ + 'Podcast contains premium episodes', + 'episode_is_premium' => 'Episode is premium, only available to premium subscribers', + 'unlock_episode' => 'This episode is for premium subscribers only. Click to unlock it!', + 'banner_unlock' => 'This podcast contains premium episodes, only available to premium subscribers.', + 'banner_lock' => 'Podcast is unlocked, enjoy the premium episodes!', + 'subscribe' => 'Subscribe', + 'lock' => 'Lock', + 'unlock' => 'Unlock', + 'unlock_form' => [ + 'title' => 'Premium content', + 'subtitle' => 'This podcast contains locked premium episodes! Do you have the key to unlock them?', + 'token' => 'Enter your key', + 'token_hint' => 'If you are subscribed to {podcastTitle}, you may copy the key that was sent to you via email and paste it here.', + 'submit' => 'Unlock all episodes!', + 'call_to_action' => 'Unlock all episodes of {podcastTitle}:', + 'subscribe_cta' => 'Subscribe now!', + ], + 'messages' => [ + 'unlockSuccess' => 'Podcast was successfully unlocked! Enjoy the premium episodes!', + 'unlockBadAttempt' => 'Your key does not seem to be working…', + 'lockSuccess' => 'Podcast was successfully locked!', + ], +]; diff --git a/modules/PremiumPodcasts/Language/kk/Subscription.php b/modules/PremiumPodcasts/Language/kk/Subscription.php new file mode 100644 index 00000000..e83f0cb2 --- /dev/null +++ b/modules/PremiumPodcasts/Language/kk/Subscription.php @@ -0,0 +1,100 @@ + 'Podcast subscriptions', + 'add' => 'New subscription', + 'view' => 'View subscription', + 'edit' => 'Edit subscription', + 'regenerate_token' => 'Regenerate token', + 'suspend' => 'Suspend subscription', + 'resume' => 'Resume subscription', + 'delete' => 'Delete subscription', + 'status' => [ + 'active' => 'Active', + 'suspended' => 'Suspended', + 'expired' => 'Expired', + ], + 'list' => [ + 'number' => 'Number', + 'email' => 'Email', + 'expiration_date' => 'Expiration date', + 'unlimited' => 'Unlimited', + 'downloads' => 'Downloads', + 'status' => 'Status', + ], + 'form' => [ + 'email' => 'Email', + 'expiration_date' => 'Expiration date', + 'expiration_date_hint' => 'The date and time at which the subscription expires. Leave empty for an unlimited subscription.', + 'submit_create' => 'Create subscription', + 'submit_edit' => 'Edit subscription', + ], + 'form_link_add' => [ + 'link' => 'Subscription page link', + 'link_hint' => 'This will add a call to action in the website inviting listeners to subscribe to the podcast.', + 'submit' => 'Save link', + ], + 'suspend_form' => [ + 'disclaimer' => 'Suspending the subscription will restrict the subscriber from having access to the premium content. You will still be able to lift the suspension afterwards.', + 'reason' => 'Reason', + 'reason_placeholder' => 'Why are you suspending the subscription?', + "submit" => 'Suspend subscription', + ], + 'delete_form' => [ + 'disclaimer' => 'Deleting {subscriber}\'s subscription will remove all analytics data associated with it.', + 'understand' => 'I understand, remove the subscription permanently', + 'submit' => 'Remove subscription', + ], + 'messages' => [ + 'addSuccess' => 'New subscription added! A welcome email was sent to {subscriber}.', + 'addError' => 'Subscription could not be added.', + 'editSuccess' => 'Subscription expiry date was updated! An email was sent to {subscriber}.', + 'editError' => 'Subscription could not be edited.', + 'regenerateTokenSuccess' => 'Token regenerated! An email was sent to {subscriber} with the new token.', + 'regenerateTokenError' => 'Token could not be regenerated.', + 'deleteSuccess' => 'Subscription was removed! An email was sent to {subscriber}.', + 'deleteError' => 'Subscription could not be removed.', + 'suspendSuccess' => 'Subscription was suspended! An email was sent to {subscriber}.', + 'suspendError' => 'Subscription could not be suspended.', + 'resumeSuccess' => 'Subscription was resumed! An email was sent to {subscriber}.', + 'resumeError' => 'Subscription could not be resumed.', + 'linkSaveSuccess' => 'Subscription link was saved successfully! It will appear in the website as a Call To Action!', + 'linkRemoveSuccess' => 'Subscription link was removed successfully!', + ], + 'emails' => [ + 'greeting' => 'Hey,', + 'token' => 'Your token: {0}', + 'unique_feed_link' => 'Your unique feed link: {0}', + 'how_to_use' => 'How to use?', + 'two_ways' => 'You have two ways of unlocking the premium episodes:', + 'import_into_app' => 'Copy your unique feed url inside your favourite podcast app (import it as a private feed to prevent exposing your credentials).', + 'go_to_website' => 'Go to {podcastWebsite}\'s website and unlock the podcast with your token.', + 'welcome_subject' => 'Welcome to {podcastTitle}', + 'welcome' => 'You have subscribed to {podcastTitle}, thank you and welcome aboard!', + 'welcome_token_title' => 'Here are your credentials to unlock the podcast\'s premium episodes:', + 'welcome_expires' => 'Your subscription was set to expire on {0}.', + 'welcome_never_expires' => 'Your subscription was set to never expire.', + 'reset_subject' => 'Your token was reset!', + 'reset_token' => 'Your access to {podcastTitle} has been reset!', + 'reset_token_title' => 'New credentials have been generated for you to unlock the podcast\'s premium episodes:', + 'edited_subject' => 'Your subscription has been updated!', + 'edited_expires' => 'Your subscription for {podcastTitle} was set to expire on {expiresAt}.', + 'edited_never_expires' => 'Your subscription for {podcastTitle} was set to never expire!', + 'suspended_subject' => 'Your subscription has been suspended!', + 'suspended' => 'Your subscription for {podcastTitle} has been suspended! You can no longer access the podcast\'s premium episodes.', + 'suspended_reason' => 'That is for the following reason: {0}', + 'resumed_subject' => 'Your subscription has been resumed!', + 'resumed' => 'Your subscription for {podcastTitle} has been resumed! You may access the podcast\'s premium episodes again.', + 'deleted_subject' => 'Your subscription has been removed!', + 'deleted' => 'Your subscription for {podcastTitle} has been removed! You no longer have access to the podcast\'s premium episodes.', + 'footer' => '{castopod} hosted on {host}', + ], +]; diff --git a/modules/PremiumPodcasts/Language/nl/Subscription.php b/modules/PremiumPodcasts/Language/nl/Subscription.php index 8834309c..f01244cb 100644 --- a/modules/PremiumPodcasts/Language/nl/Subscription.php +++ b/modules/PremiumPodcasts/Language/nl/Subscription.php @@ -34,7 +34,7 @@ return [ 'email' => 'E-mail', 'expiration_date' => 'Vervaldatum', 'expiration_date_hint' => 'De datum en tijd waarop het abonnement verloopt. Laat leeg voor een onbeperkt abonnement.', - 'submit_add' => 'Abonnement toevoegen', + 'submit_create' => 'Create subscription', 'submit_edit' => 'Bewerk abonnement', ], 'form_link_add' => [ diff --git a/modules/PremiumPodcasts/Language/nn-NO/PremiumPodcasts.php b/modules/PremiumPodcasts/Language/nn-NO/PremiumPodcasts.php index 18c0dd4e..4decf740 100644 --- a/modules/PremiumPodcasts/Language/nn-NO/PremiumPodcasts.php +++ b/modules/PremiumPodcasts/Language/nn-NO/PremiumPodcasts.php @@ -9,26 +9,26 @@ declare(strict_types=1); */ return [ - 'podcast_is_premium' => 'Podcast contains premium episodes', - 'episode_is_premium' => 'Episode is premium, only available to premium subscribers', - 'unlock_episode' => 'This episode is for premium subscribers only. Click to unlock it!', - 'banner_unlock' => 'This podcast contains premium episodes, only available to premium subscribers.', - 'banner_lock' => 'Podcast is unlocked, enjoy the premium episodes!', - 'subscribe' => 'Subscribe', - 'lock' => 'Lock', - 'unlock' => 'Unlock', + 'podcast_is_premium' => 'Podkasten inneheld betalte episodar', + 'episode_is_premium' => 'Episoden er bak betalingsmur. Berre betalande abonnentar har tilgang', + 'unlock_episode' => 'Denne episoden er berre for betalande abonnentar. Klikk for å få tilgang!', + 'banner_unlock' => 'Denne podkasten inneheld episodar som berre er tilgjengelege for betalande abonnentar.', + 'banner_lock' => 'Podkasten er låst opp, så no kan du høyra på dei betalte episodane!', + 'subscribe' => 'Abonner', + 'lock' => 'Lås', + 'unlock' => 'Lås opp', 'unlock_form' => [ - 'title' => 'Premium content', - 'subtitle' => 'This podcast contains locked premium episodes! Do you have the key to unlock them?', - 'token' => 'Enter your key', - 'token_hint' => 'If you are subscribed to {podcastTitle}, you may copy the key that was sent to you via email and paste it here.', - 'submit' => 'Unlock all episodes!', - 'call_to_action' => 'Unlock all episodes of {podcastTitle}:', - 'subscribe_cta' => 'Subscribe now!', + 'title' => 'Betalt innhald', + 'subtitle' => 'Denne podkasten inneheld episodar bak betalingsmur. Har du nykelen for å få tilgang til dei?', + 'token' => 'Skriv inn nykelen', + 'token_hint' => 'Viss du abonnerer på {podcastTitle}, kan du kopiera nykelen du fekk på epost og lima han inn her.', + 'submit' => 'Få tilgang til alle episodane!', + 'call_to_action' => 'Få tilgang til alle episodane av {podcastTitle}:', + 'subscribe_cta' => 'Abonner no!', ], 'messages' => [ - 'unlockSuccess' => 'Podcast was successfully unlocked! Enjoy the premium episodes!', - 'unlockBadAttempt' => 'Your key does not seem to be working…', - 'lockSuccess' => 'Podcast was successfully locked!', + 'unlockSuccess' => 'Podkasten er låst opp. No kan du høyra på dei betalte episodane!', + 'unlockBadAttempt' => 'Nykelen din fungerer ikkje…', + 'lockSuccess' => 'Podkasten er låst.', ], ]; diff --git a/modules/PremiumPodcasts/Language/nn-NO/Subscription.php b/modules/PremiumPodcasts/Language/nn-NO/Subscription.php index f08fe770..a7bc5620 100644 --- a/modules/PremiumPodcasts/Language/nn-NO/Subscription.php +++ b/modules/PremiumPodcasts/Language/nn-NO/Subscription.php @@ -9,61 +9,61 @@ declare(strict_types=1); */ return [ - 'podcast_subscriptions' => 'Podcast subscriptions', - 'add' => 'New subscription', - 'view' => 'View subscription', - 'edit' => 'Edit subscription', - 'regenerate_token' => 'Regenerate token', - 'suspend' => 'Suspend subscription', - 'resume' => 'Resume subscription', - 'delete' => 'Delete subscription', + 'podcast_subscriptions' => 'Abonnement til podkasten', + 'add' => 'Nytt abonnement', + 'view' => 'Vis abonnementet', + 'edit' => 'Rediger abonnementet', + 'regenerate_token' => 'Regenerer nykel', + 'suspend' => 'Stopp abonnementet', + 'resume' => 'Start oppatt abonnementet', + 'delete' => 'Slett abonnementet', 'status' => [ - 'active' => 'Active', - 'suspended' => 'Suspended', - 'expired' => 'Expired', + 'active' => 'Aktiv', + 'suspended' => 'Stoppa', + 'expired' => 'Utgått', ], 'list' => [ - 'number' => 'Number', - 'email' => 'Email', - 'expiration_date' => 'Expiration date', - 'unlimited' => 'Unlimited', - 'downloads' => 'Downloads', + 'number' => 'Nummer', + 'email' => 'Epost', + 'expiration_date' => 'Gyldig til', + 'unlimited' => 'Uavgrensa', + 'downloads' => 'Nedlastingar', 'status' => 'Status', ], 'form' => [ - 'email' => 'Email', - 'expiration_date' => 'Expiration date', - 'expiration_date_hint' => 'The date and time at which the subscription expires. Leave empty for an unlimited subscription.', + 'email' => 'Epost', + 'expiration_date' => 'Gyldig til', + 'expiration_date_hint' => 'Datoen og tidspunket abonnementet stoppar. La det stå tomt viss abonnementet skal gå utan sluttdato.', 'submit_create' => 'Create subscription', - 'submit_edit' => 'Edit subscription', + 'submit_edit' => 'Rediger abonnementet', ], 'form_link_add' => [ - 'link' => 'Subscription page link', - 'link_hint' => 'This will add a call to action in the website inviting listeners to subscribe to the podcast.', - 'submit' => 'Save link', + 'link' => 'Lenke til abonnementssida', + 'link_hint' => 'Her legg du til ei oppmoding på nettsida di, der du inviterer lyttarane til å abonnera på podkasten din.', + 'submit' => 'Lagre lenka', ], 'suspend_form' => [ - 'disclaimer' => 'Suspending the subscription will restrict the subscriber from having access to the premium content. You will still be able to lift the suspension afterwards.', - 'reason' => 'Reason', - 'reason_placeholder' => 'Why are you suspending the subscription?', - "submit" => 'Suspend subscription', + 'disclaimer' => 'Viss du stoppar abonnementet, vil ikkje abonnenten lenger få tilgang til betalt innhald. Du kan starta abonnementet att seinare.', + 'reason' => 'Grunngjeving', + 'reason_placeholder' => 'Kvifor stoppar du abonnementet?', + "submit" => 'Stopp abonnementet', ], 'delete_form' => [ - 'disclaimer' => 'Deleting {subscriber}\'s subscription will remove all analytics data associated with it.', - 'understand' => 'I understand, remove the subscription permanently', - 'submit' => 'Remove subscription', + 'disclaimer' => 'Viss du slettar abonnementet til {subscriber}, slettar du òg alle analysedata knytt til abonnementet.', + 'understand' => 'Eg forstår, slett abonnementet', + 'submit' => 'Slett abonnementet', ], 'messages' => [ - 'addSuccess' => 'New subscription added! A welcome email was sent to {subscriber}.', - 'addError' => 'Subscription could not be added.', - 'editSuccess' => 'Subscription expiry date was updated! An email was sent to {subscriber}.', - 'editError' => 'Subscription could not be edited.', - 'regenerateTokenSuccess' => 'Token regenerated! An email was sent to {subscriber} with the new token.', - 'regenerateTokenError' => 'Token could not be regenerated.', - 'deleteSuccess' => 'Subscription was removed! An email was sent to {subscriber}.', - 'deleteError' => 'Subscription could not be removed.', - 'suspendSuccess' => 'Subscription was suspended! An email was sent to {subscriber}.', - 'suspendError' => 'Subscription could not be suspended.', + 'addSuccess' => 'Du har fått ein ny abonnent! Me har sendt ein velkomstepost til {subscriber}.', + 'addError' => 'Greidde ikkje leggja til abonnementet.', + 'editSuccess' => 'Stoppdatoen for abonnementet er oppdatert! Me har sendt ein epost til {subscriber}.', + 'editError' => 'Greidde ikkje redigera abonnementet.', + 'regenerateTokenSuccess' => 'Nykelen er regenerert! Me sende ein epost til {subscriber} med den nye nykelen.', + 'regenerateTokenError' => 'Greidde ikkje regenerera nykelen.', + 'deleteSuccess' => 'Abonnementet er sletta! Me sende ein epost til {subscriber}.', + 'deleteError' => 'Greidde ikkje sletta abonnementet.', + 'suspendSuccess' => 'Abonnementet vart stoppa! Me sende ein epost til {subscriber}.', + 'suspendError' => 'Greidde ikkje stoppa abonnementet.', 'resumeSuccess' => 'Abonnementet er starta att! Me sende ein epost til {subscriber}.', 'resumeError' => 'Greidde ikkje starta abonnementet att.', 'linkSaveSuccess' => 'Abonnementslenka er lagra. Ho vil visa på nettstaden som ei handlingsvarsling.', @@ -71,30 +71,30 @@ return [ ], 'emails' => [ 'greeting' => 'Hei', - 'token' => 'Teiknet ditt: {0}', + 'token' => 'Nykelen din: {0}', 'unique_feed_link' => 'Den unike lenka til straumen: {0}', 'how_to_use' => 'Korleis skal eg bruka dette?', 'two_ways' => 'Du kan låsa opp betalte episodar på to måtar:', - 'import_into_app' => 'Copy your unique feed url inside your favourite podcast app (import it as a private feed to prevent exposing your credentials).', - 'go_to_website' => 'Go to {podcastWebsite}\'s website and unlock the podcast with your token.', - 'welcome_subject' => 'Welcome to {podcastTitle}', - 'welcome' => 'You have subscribed to {podcastTitle}, thank you and welcome aboard!', - 'welcome_token_title' => 'Here are your credentials to unlock the podcast\'s premium episodes:', - 'welcome_expires' => 'Your subscription was set to expire on {0}.', - 'welcome_never_expires' => 'Your subscription was set to never expire.', - 'reset_subject' => 'Your token was reset!', - 'reset_token' => 'Your access to {podcastTitle} has been reset!', - 'reset_token_title' => 'New credentials have been generated for you to unlock the podcast\'s premium episodes:', - 'edited_subject' => 'Your subscription has been updated!', - 'edited_expires' => 'Your subscription for {podcastTitle} was set to expire on {expiresAt}.', - 'edited_never_expires' => 'Your subscription for {podcastTitle} was set to never expire!', - 'suspended_subject' => 'Your subscription has been suspended!', - 'suspended' => 'Your subscription for {podcastTitle} has been suspended! You can no longer access the podcast\'s premium episodes.', - 'suspended_reason' => 'That is for the following reason: {0}', - 'resumed_subject' => 'Your subscription has been resumed!', - 'resumed' => 'Your subscription for {podcastTitle} has been resumed! You may access the podcast\'s premium episodes again.', - 'deleted_subject' => 'Your subscription has been removed!', - 'deleted' => 'Your subscription for {podcastTitle} has been removed! You no longer have access to the podcast\'s premium episodes.', - 'footer' => '{castopod} hosted on {host}', + 'import_into_app' => 'Kopier den unike adressa til podkaststraumen til favoritt-podkastappen din (importer adressa som ein privat straum slik at du ikkje avslører innloggingsopplysingane dine).', + 'go_to_website' => 'Gå til heimesida til {podcastWebsite} og lås opp podkasten med nykelen.', + 'welcome_subject' => 'Velkomen til {podcastTitle}', + 'welcome' => 'Du abonnerer på {podcastTitle}. Takk, og velkomen ombord!', + 'welcome_token_title' => 'Her er nykelen for å få tilgang til dei betalte episodane til podkasten:', + 'welcome_expires' => 'Abonnementet ditt hadde stoppdato {0}.', + 'welcome_never_expires' => 'Abonnementet ditt hadde ingen stoppdato.', + 'reset_subject' => 'Nykelen din er nullstilt!', + 'reset_token' => 'Tilgangen din til {podcastTitle} er nullstilt!', + 'reset_token_title' => 'Me har laga nye tilgangsopplysingar for deg for å få tilgang til dei betalte episodane til podkasten:', + 'edited_subject' => 'Abonnementet ditt er oppdatert!', + 'edited_expires' => 'Abonnementet ditt på {podcastTitle} hadde stoppdato {expiresAt}.', + 'edited_never_expires' => 'Abonnementet ditt på {podcastTitle} hadde ingen stoppdato!', + 'suspended_subject' => 'Abonnementet ditt er stoppa!', + 'suspended' => 'Abonnementet ditt på {podcastTitle} er stoppa! Du har ikkje lenger tilgang til dei betalte episodane til denne podkasten.', + 'suspended_reason' => 'Det er av desse grunnane: {0}', + 'resumed_subject' => 'Abonnementet ditt har starta att!', + 'resumed' => 'Abonnementet ditt på {podcastTitle} har starta att! Du har tilgang til dei betalte episodane til denne podkasten.', + 'deleted_subject' => 'Abonnementet ditt er sletta!', + 'deleted' => 'Abonnementet ditt på {podcastTitle} er sletta! Du har ikkje lenger tilgang til dei betalte episodane til podkasten.', + 'footer' => '{castopod} køyrer på {host}', ], ]; diff --git a/modules/PremiumPodcasts/Language/pl/Subscription.php b/modules/PremiumPodcasts/Language/pl/Subscription.php index 0d90840d..ba68a80a 100644 --- a/modules/PremiumPodcasts/Language/pl/Subscription.php +++ b/modules/PremiumPodcasts/Language/pl/Subscription.php @@ -34,7 +34,7 @@ return [ 'email' => 'Email', 'expiration_date' => 'Data ważności', 'expiration_date_hint' => 'Data i godzina wygaśnięcia subskrypcji. Pozostaw puste dla nieograniczonej subskrypcji.', - 'submit_add' => 'Dodaj subskrypcję', + 'submit_create' => 'Create subscription', 'submit_edit' => 'Edytuj subskrypcję', ], 'form_link_add' => [ diff --git a/modules/PremiumPodcasts/Language/ro/Subscription.php b/modules/PremiumPodcasts/Language/ro/Subscription.php index 19b901ee..86a77ad8 100644 --- a/modules/PremiumPodcasts/Language/ro/Subscription.php +++ b/modules/PremiumPodcasts/Language/ro/Subscription.php @@ -34,7 +34,7 @@ return [ 'email' => 'E-mail', 'expiration_date' => 'Data expirării', 'expiration_date_hint' => 'Data și ora la care expiră abonamentul. Lăsați gol pentru un abonament nelimitat.', - 'submit_add' => 'Adaugă abonament', + 'submit_create' => 'Create subscription', 'submit_edit' => 'Editare abonament', ], 'form_link_add' => [ diff --git a/modules/PremiumPodcasts/Language/sr_Latn/PremiumPodcasts.php b/modules/PremiumPodcasts/Language/sr_Latn/PremiumPodcasts.php index b1a684cf..6da5e74e 100644 --- a/modules/PremiumPodcasts/Language/sr_Latn/PremiumPodcasts.php +++ b/modules/PremiumPodcasts/Language/sr_Latn/PremiumPodcasts.php @@ -10,25 +10,25 @@ declare(strict_types=1); return [ 'podcast_is_premium' => 'Podcast sadrži premijerne epizode', - 'episode_is_premium' => 'Episode is premium, only available to premium subscribers', - 'unlock_episode' => 'This episode is for premium subscribers only. Click to unlock it!', - 'banner_unlock' => 'This podcast contains premium episodes, only available to premium subscribers.', - 'banner_lock' => 'Podcast is unlocked, enjoy the premium episodes!', + 'episode_is_premium' => 'Epizoda je premijum, dostupna je samo premijum pretplatnicima', + 'unlock_episode' => 'Ova epizoda je samo za premijum pretplatnike. Klikni da je otključaš!', + 'banner_unlock' => 'Ovaj podkast sadrži premijum epizode, dostupne samo premijum pretplatnicima.', + 'banner_lock' => 'Podkast je otključan, uživajte u premijum epizodama!', 'subscribe' => 'Pretplatite se', 'lock' => 'Zaključaj', 'unlock' => 'Otključaj', 'unlock_form' => [ 'title' => 'Premijum sadržaj', - 'subtitle' => 'This podcast contains locked premium episodes! Do you have the key to unlock them?', + 'subtitle' => 'Ovaj podkat sadrži zaključane premijum epizode! Da li imate ključ?', 'token' => 'Unesite ključ', - 'token_hint' => 'If you are subscribed to {podcastTitle}, you may copy the key that was sent to you via email and paste it here.', + 'token_hint' => 'Ako ste pretplaćeni na {podcastTitle}, možete kopirati ključ koji vam je poslat na E poštu i zalepiti ga ovde.', 'submit' => 'Otključaj sve epizode!', - 'call_to_action' => 'Unlock all episodes of {podcastTitle}:', + 'call_to_action' => 'Otključaj sve epizode {podcastTitle}:', 'subscribe_cta' => 'Pretplati se sada!', ], 'messages' => [ - 'unlockSuccess' => 'Podcast was successfully unlocked! Enjoy the premium episodes!', - 'unlockBadAttempt' => 'Your key does not seem to be working…', - 'lockSuccess' => 'Podcast was successfully locked!', + 'unlockSuccess' => 'Podkast je uspešno otključan, uživajte u premijum epizodama!', + 'unlockBadAttempt' => 'Izgleda da vaš ključ ne radi…', + 'lockSuccess' => 'Podkast je uspešno zaključan!', ], ]; diff --git a/modules/PremiumPodcasts/Language/sr_Latn/Subscription.php b/modules/PremiumPodcasts/Language/sr_Latn/Subscription.php index e83f0cb2..0fbeb3aa 100644 --- a/modules/PremiumPodcasts/Language/sr_Latn/Subscription.php +++ b/modules/PremiumPodcasts/Language/sr_Latn/Subscription.php @@ -9,92 +9,92 @@ declare(strict_types=1); */ return [ - 'podcast_subscriptions' => 'Podcast subscriptions', - 'add' => 'New subscription', - 'view' => 'View subscription', - 'edit' => 'Edit subscription', - 'regenerate_token' => 'Regenerate token', - 'suspend' => 'Suspend subscription', - 'resume' => 'Resume subscription', - 'delete' => 'Delete subscription', + 'podcast_subscriptions' => 'Podkast pretplate', + 'add' => 'Nova pretplata', + 'view' => 'Pogledaj pretplatu', + 'edit' => 'Uredi pretplatu', + 'regenerate_token' => 'Regeneriši token', + 'suspend' => 'Ukini pretplatu', + 'resume' => 'Nastavi pretplatu', + 'delete' => 'Obriši pretplatu', 'status' => [ - 'active' => 'Active', - 'suspended' => 'Suspended', - 'expired' => 'Expired', + 'active' => 'Aktivno', + 'suspended' => 'Ukinuto', + 'expired' => 'Isteklo', ], 'list' => [ - 'number' => 'Number', - 'email' => 'Email', - 'expiration_date' => 'Expiration date', - 'unlimited' => 'Unlimited', - 'downloads' => 'Downloads', + 'number' => 'Broj', + 'email' => 'E-pošta', + 'expiration_date' => 'Datum Isteka', + 'unlimited' => 'Neograničeno', + 'downloads' => 'Preuzimanja', 'status' => 'Status', ], 'form' => [ - 'email' => 'Email', - 'expiration_date' => 'Expiration date', - 'expiration_date_hint' => 'The date and time at which the subscription expires. Leave empty for an unlimited subscription.', - 'submit_create' => 'Create subscription', - 'submit_edit' => 'Edit subscription', + 'email' => 'E-pošta', + 'expiration_date' => 'Datum Isteka', + 'expiration_date_hint' => 'Datum i vreme kada pretplata ističe. Ostavite prazno za neograničenu pretplatu.', + 'submit_create' => 'Napravi pretplatu', + 'submit_edit' => 'Uredi pretplatu', ], 'form_link_add' => [ - 'link' => 'Subscription page link', - 'link_hint' => 'This will add a call to action in the website inviting listeners to subscribe to the podcast.', - 'submit' => 'Save link', + 'link' => 'Veza strane za pretplate', + 'link_hint' => 'Ovo će dodati poziv na akciju na veb lokaciji koji poziva slušaoce da se pretplate na podkast.', + 'submit' => 'Sačuvaj vezu', ], 'suspend_form' => [ - 'disclaimer' => 'Suspending the subscription will restrict the subscriber from having access to the premium content. You will still be able to lift the suspension afterwards.', - 'reason' => 'Reason', - 'reason_placeholder' => 'Why are you suspending the subscription?', - "submit" => 'Suspend subscription', + 'disclaimer' => 'Obustavljanje pretplate će ograničiti pretplatniku pristup premijum sadržaju. I dalje ćete moći da uklonite obustavu nakon toga.', + 'reason' => 'Razlog', + 'reason_placeholder' => 'Zašto ukidate pretplatu?', + "submit" => 'Ukini pretplatu', ], 'delete_form' => [ - 'disclaimer' => 'Deleting {subscriber}\'s subscription will remove all analytics data associated with it.', - 'understand' => 'I understand, remove the subscription permanently', - 'submit' => 'Remove subscription', + 'disclaimer' => 'Brisanje {subscriber} pretplate će ukloniti svu analitiku vezanu za tog pretplatnika.', + 'understand' => 'Razumem, želim da trajno ukinem pretplatu', + 'submit' => 'Ukloni pretplatu', ], 'messages' => [ - 'addSuccess' => 'New subscription added! A welcome email was sent to {subscriber}.', - 'addError' => 'Subscription could not be added.', - 'editSuccess' => 'Subscription expiry date was updated! An email was sent to {subscriber}.', - 'editError' => 'Subscription could not be edited.', - 'regenerateTokenSuccess' => 'Token regenerated! An email was sent to {subscriber} with the new token.', - 'regenerateTokenError' => 'Token could not be regenerated.', - 'deleteSuccess' => 'Subscription was removed! An email was sent to {subscriber}.', - 'deleteError' => 'Subscription could not be removed.', - 'suspendSuccess' => 'Subscription was suspended! An email was sent to {subscriber}.', - 'suspendError' => 'Subscription could not be suspended.', - 'resumeSuccess' => 'Subscription was resumed! An email was sent to {subscriber}.', - 'resumeError' => 'Subscription could not be resumed.', - 'linkSaveSuccess' => 'Subscription link was saved successfully! It will appear in the website as a Call To Action!', - 'linkRemoveSuccess' => 'Subscription link was removed successfully!', + 'addSuccess' => 'Nova pretplata dodata! Poruka dobrodođlice je poslata {subscriber} putem E-pošte.', + 'addError' => 'Nije moguće dodati pretplatu.', + 'editSuccess' => 'Datum isteka pretplate je ažuriran! Poruka je poslata {subscriber} putem E-pošte.', + 'editError' => 'Nije moguće urediti pretplatu.', + 'regenerateTokenSuccess' => 'Token regenerisan! Novi token je poslat {subscriber} putem E-pošte.', + 'regenerateTokenError' => 'Token nije moguće regenerisati.', + 'deleteSuccess' => 'Pretplata je uklonjena! Poruka je poslata {subscriber} putem E-pošte.', + 'deleteError' => 'Nije moguće ukloniti pretplatu.', + 'suspendSuccess' => 'Pretplata je ukinuta! Poruka je poslata {subscriber} putem E-pošte.', + 'suspendError' => 'Nije moguće prekinuti pretplatu.', + 'resumeSuccess' => 'Pretplana je obnovljena! Poruka je poslata {subscriber} putem E-pošte.', + 'resumeError' => 'Nije moguće obnoviti pretplatu.', + 'linkSaveSuccess' => 'Veza za pretplatu je uspešno sačuvana! Pojaviće se na Veb strani kao poziv na akciju!', + 'linkRemoveSuccess' => 'Veza za pretplatu je uspešno uklonjena!', ], 'emails' => [ - 'greeting' => 'Hey,', - 'token' => 'Your token: {0}', - 'unique_feed_link' => 'Your unique feed link: {0}', - 'how_to_use' => 'How to use?', - 'two_ways' => 'You have two ways of unlocking the premium episodes:', - 'import_into_app' => 'Copy your unique feed url inside your favourite podcast app (import it as a private feed to prevent exposing your credentials).', - 'go_to_website' => 'Go to {podcastWebsite}\'s website and unlock the podcast with your token.', - 'welcome_subject' => 'Welcome to {podcastTitle}', - 'welcome' => 'You have subscribed to {podcastTitle}, thank you and welcome aboard!', - 'welcome_token_title' => 'Here are your credentials to unlock the podcast\'s premium episodes:', - 'welcome_expires' => 'Your subscription was set to expire on {0}.', - 'welcome_never_expires' => 'Your subscription was set to never expire.', - 'reset_subject' => 'Your token was reset!', - 'reset_token' => 'Your access to {podcastTitle} has been reset!', - 'reset_token_title' => 'New credentials have been generated for you to unlock the podcast\'s premium episodes:', - 'edited_subject' => 'Your subscription has been updated!', - 'edited_expires' => 'Your subscription for {podcastTitle} was set to expire on {expiresAt}.', - 'edited_never_expires' => 'Your subscription for {podcastTitle} was set to never expire!', - 'suspended_subject' => 'Your subscription has been suspended!', - 'suspended' => 'Your subscription for {podcastTitle} has been suspended! You can no longer access the podcast\'s premium episodes.', - 'suspended_reason' => 'That is for the following reason: {0}', - 'resumed_subject' => 'Your subscription has been resumed!', - 'resumed' => 'Your subscription for {podcastTitle} has been resumed! You may access the podcast\'s premium episodes again.', - 'deleted_subject' => 'Your subscription has been removed!', - 'deleted' => 'Your subscription for {podcastTitle} has been removed! You no longer have access to the podcast\'s premium episodes.', - 'footer' => '{castopod} hosted on {host}', + 'greeting' => 'Hej,', + 'token' => 'Vaš token: {0}', + 'unique_feed_link' => 'Vaša jedinstvena veza sa fidom: {0}', + 'how_to_use' => 'Kako se koristi?', + 'two_ways' => 'Imate dva načina kako možete otključati premijum epizode:', + 'import_into_app' => 'Kopirajte svoj jedinstveni url fid u svoju omiljenu aplikaciju za podkaste (uvezite ga kao privatni fid da biste sprečili otkrivanje vaših akreditiva).', + 'go_to_website' => 'Idite na {podcastWebsite} veb stranicu i otključajte podkast koristeći vaš token.', + 'welcome_subject' => 'Dobrodošli na {podcastTitle}', + 'welcome' => 'Pretplatili ste se na {podcastTitle}, hvala vam i dobrodošli!', + 'welcome_token_title' => 'Evo vaših akreditiva kojima otključavate premijum epizode ovog podkasta:', + 'welcome_expires' => 'Vaša pretplata ističe {0}.', + 'welcome_never_expires' => 'Vaša pretplata je podešena tako da ne može da istekne.', + 'reset_subject' => 'Vaš token je resetovan!', + 'reset_token' => 'Vaš pristup {podcastTitle} je resetovan!', + 'reset_token_title' => 'Nove akreditive su kreirane kako bi ste pristupili premijum epizodama podkasta:', + 'edited_subject' => 'Vaša pretplata je ažurirana!', + 'edited_expires' => 'Vaša pretplata na {podcastTitle} ističe {expiresAt}.', + 'edited_never_expires' => 'Vaša pretplata na {podcastTitle} je podešena tako da nikad ne istekne!', + 'suspended_subject' => 'Vaša pretplata je ukinuta!', + 'suspended' => 'Vaša pretplata na {podcastTitle} je ukinuta! Više ne možete pristupiti premijum epizodama ovog podkasta.', + 'suspended_reason' => 'Razlog: {0}', + 'resumed_subject' => 'Vaša pretplata je ponovo pokrenuta!', + 'resumed' => 'Vaša pretplata na {podcastTitle} je ponovo pokrenuta! Sada ponovo možete pristupiti premijum epizodama ovog podkasta.', + 'deleted_subject' => 'Vaša pretplata je uklonjena!', + 'deleted' => 'Vaša pretplata na {podcastTitle} je uklonjena! Vipe ne možete pristupiti premijum epizodama ovog podkasta.', + 'footer' => '{castopod} hostovan na {host}', ], ]; diff --git a/modules/PremiumPodcasts/Language/sv/Subscription.php b/modules/PremiumPodcasts/Language/sv/Subscription.php index c2dee29e..06caf6cc 100644 --- a/modules/PremiumPodcasts/Language/sv/Subscription.php +++ b/modules/PremiumPodcasts/Language/sv/Subscription.php @@ -34,7 +34,7 @@ return [ 'email' => 'Epost', 'expiration_date' => 'Utgångsdatum', 'expiration_date_hint' => 'Datum och tid då prenumerationen går ut. Lämna tomt för ett obegränsat abonnemang.', - 'submit_add' => 'Lägg till en prenumeration', + 'submit_create' => 'Create subscription', 'submit_edit' => 'Ändra prenumeration', ], 'form_link_add' => [ diff --git a/modules/PremiumPodcasts/Language/zh-Hans/Subscription.php b/modules/PremiumPodcasts/Language/zh-Hans/Subscription.php index ce755d24..7b8e3d5b 100644 --- a/modules/PremiumPodcasts/Language/zh-Hans/Subscription.php +++ b/modules/PremiumPodcasts/Language/zh-Hans/Subscription.php @@ -34,7 +34,7 @@ return [ 'email' => '邮箱', 'expiration_date' => '到期日', 'expiration_date_hint' => '订阅到期的日期和时间。 留空时没有订阅限制。', - 'submit_add' => '添加订阅', + 'submit_create' => 'Create subscription', 'submit_edit' => '编辑订阅', ], 'form_link_add' => [