mirror of
https://github.com/ad-aures/castopod.git
synced 2026-04-11 02:36:42 +02:00
chore(i18n): new Crowdin updates
This commit is contained in:
parent
2f1a5eb294
commit
34a2ebfd65
422 changed files with 6740 additions and 1506 deletions
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -51,4 +51,5 @@ return [
|
|||
other {# persons}
|
||||
}',
|
||||
'persons_list' => 'أشخاص',
|
||||
'castopod_website' => 'Castopod (website)',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -131,4 +131,5 @@ return [
|
|||
82 {# zen}
|
||||
}',
|
||||
'persons_list' => 'Emellerien·ezed',
|
||||
'castopod_website' => 'Castopod (website)',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -51,4 +51,5 @@ return [
|
|||
other {# persones}
|
||||
}',
|
||||
'persons_list' => 'Persones',
|
||||
'castopod_website' => 'Castopod (website)',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -51,4 +51,5 @@ return [
|
|||
other {# personer}
|
||||
}',
|
||||
'persons_list' => 'Personer',
|
||||
'castopod_website' => 'Castopod (website)',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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)',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -51,4 +51,5 @@ return [
|
|||
other {# άτομα}
|
||||
}',
|
||||
'persons_list' => 'Άτομα',
|
||||
'castopod_website' => 'Castopod (website)',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -51,4 +51,5 @@ return [
|
|||
other {# personas}
|
||||
}',
|
||||
'persons_list' => 'Personas',
|
||||
'castopod_website' => 'Castopod (website)',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -46,4 +46,5 @@ return [
|
|||
other {# نفر}
|
||||
}',
|
||||
'persons_list' => 'نفر',
|
||||
'castopod_website' => 'Castopod (website)',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -51,4 +51,5 @@ return [
|
|||
other {# intervenant·e·s}
|
||||
}',
|
||||
'persons_list' => 'Intervenant·e·s',
|
||||
'castopod_website' => 'Castopod (website)',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -51,4 +51,5 @@ return [
|
|||
other {# intervenants}
|
||||
}',
|
||||
'persons_list' => 'Intervenants',
|
||||
'castopod_website' => 'Castopod (website)',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -51,4 +51,5 @@ return [
|
|||
other {# persons}
|
||||
}',
|
||||
'persons_list' => 'Persons',
|
||||
'castopod_website' => 'Castopod (website)',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -61,4 +61,5 @@ return [
|
|||
other {# duine}
|
||||
}',
|
||||
'persons_list' => 'Daoine',
|
||||
'castopod_website' => 'Castopod (website)',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -51,4 +51,5 @@ return [
|
|||
other {# persoas}
|
||||
}',
|
||||
'persons_list' => 'Persoas',
|
||||
'castopod_website' => 'Castopod (website)',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -46,4 +46,5 @@ return [
|
|||
other {# orang}
|
||||
}',
|
||||
'persons_list' => 'Orang',
|
||||
'castopod_website' => 'Castopod (website)',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -51,4 +51,5 @@ return [
|
|||
other {# persons}
|
||||
}',
|
||||
'persons_list' => 'Persone',
|
||||
'castopod_website' => 'Castopod (website)',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -51,4 +51,5 @@ return [
|
|||
other {# persons}
|
||||
}',
|
||||
'persons_list' => 'Persons',
|
||||
'castopod_website' => 'Castopod (website)',
|
||||
];
|
||||
|
|
|
|||
34
app/Language/kk/Comment.php
Normal file
34
app/Language/kk/Comment.php
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
/**
|
||||
* @copyright 2020 Ad Aures
|
||||
* @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
|
||||
* @link https://castopod.org/
|
||||
*/
|
||||
|
||||
return [
|
||||
'title' => "{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',
|
||||
];
|
||||
30
app/Language/kk/Common.php
Normal file
30
app/Language/kk/Common.php
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
/**
|
||||
* @copyright 2020 Ad Aures
|
||||
* @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
|
||||
* @link https://castopod.org/
|
||||
*/
|
||||
|
||||
return [
|
||||
'yes' => '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',
|
||||
];
|
||||
45
app/Language/kk/Episode.php
Normal file
45
app/Language/kk/Episode.php
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
/**
|
||||
* @copyright 2020 Ad Aures
|
||||
* @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
|
||||
* @link https://castopod.org/
|
||||
*/
|
||||
|
||||
return [
|
||||
'season' => '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',
|
||||
],
|
||||
];
|
||||
37
app/Language/kk/Fediverse.php
Normal file
37
app/Language/kk/Fediverse.php
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
/**
|
||||
* @copyright 2021 Ad Aures
|
||||
* @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
|
||||
* @link https://castopod.org/
|
||||
*/
|
||||
|
||||
return [
|
||||
'your_handle' => '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',
|
||||
],
|
||||
];
|
||||
20
app/Language/kk/Home.php
Normal file
20
app/Language/kk/Home.php
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
/**
|
||||
* @copyright 2020 Ad Aures
|
||||
* @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
|
||||
* @link https://castopod.org/
|
||||
*/
|
||||
|
||||
return [
|
||||
'all_podcasts' => 'All podcasts',
|
||||
'sort_by' => 'Sort by',
|
||||
'sort_options' => [
|
||||
'activity' => 'Recent activity',
|
||||
'created_desc' => 'Newest first',
|
||||
'created_asc' => 'Oldest first',
|
||||
],
|
||||
'no_podcast' => 'No podcast found',
|
||||
];
|
||||
17
app/Language/kk/Page.php
Normal file
17
app/Language/kk/Page.php
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
/**
|
||||
* @copyright 2020 Ad Aures
|
||||
* @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
|
||||
* @link https://castopod.org/
|
||||
*/
|
||||
|
||||
return [
|
||||
'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.',
|
||||
],
|
||||
];
|
||||
55
app/Language/kk/Podcast.php
Normal file
55
app/Language/kk/Podcast.php
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
/**
|
||||
* @copyright 2020 Ad Aures
|
||||
* @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
|
||||
* @link https://castopod.org/
|
||||
*/
|
||||
|
||||
return [
|
||||
'feed' => '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)',
|
||||
];
|
||||
40
app/Language/kk/Post.php
Normal file
40
app/Language/kk/Post.php
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
/**
|
||||
* @copyright 2020 Ad Aures
|
||||
* @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
|
||||
* @link https://castopod.org/
|
||||
*/
|
||||
|
||||
return [
|
||||
'title' => "{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',
|
||||
];
|
||||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -51,4 +51,5 @@ return [
|
|||
other {# persons}
|
||||
}',
|
||||
'persons_list' => 'Persons',
|
||||
'castopod_website' => 'Castopod (website)',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -51,4 +51,5 @@ return [
|
|||
other {# personen}
|
||||
}',
|
||||
'persons_list' => 'Personen',
|
||||
'castopod_website' => 'Castopod (website)',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -51,4 +51,5 @@ return [
|
|||
other {# personar}
|
||||
}',
|
||||
'persons_list' => 'Personar',
|
||||
'castopod_website' => 'Castopod (website)',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -51,4 +51,5 @@ return [
|
|||
other {# persons}
|
||||
}',
|
||||
'persons_list' => 'Persons',
|
||||
'castopod_website' => 'Castopod (website)',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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ę',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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)',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -51,4 +51,5 @@ return [
|
|||
other {# pessoas}
|
||||
}',
|
||||
'persons_list' => 'Pessoas',
|
||||
'castopod_website' => 'Castopod (website)',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -51,4 +51,5 @@ return [
|
|||
other {# persons}
|
||||
}',
|
||||
'persons_list' => 'Persons',
|
||||
'castopod_website' => 'Castopod (website)',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -56,4 +56,5 @@ return [
|
|||
other {# persoane}
|
||||
}',
|
||||
'persons_list' => 'Persoane',
|
||||
'castopod_website' => 'Castopod (website)',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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' => 'Редактировать публикацию',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -53,4 +53,5 @@ return [
|
|||
other {# человек}
|
||||
}',
|
||||
'persons_list' => 'Лица',
|
||||
'castopod_website' => 'Castopod (website)',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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)',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
|
|||
|
|
@ -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)',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -51,4 +51,5 @@ return [
|
|||
other {# personer}
|
||||
}',
|
||||
'persons_list' => 'Personer',
|
||||
'castopod_website' => 'Castopod (website)',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -18,10 +18,10 @@ return [
|
|||
'submit_reply' => 'Відповісти',
|
||||
],
|
||||
'likes' => '{numberOfLikes, plural,
|
||||
one {# лайк}
|
||||
few {# подобається}
|
||||
many {# подобається}
|
||||
other {# подобається}
|
||||
one {# вподобайка}
|
||||
few {# вподобань}
|
||||
many {# вподобань}
|
||||
other {# вподобань}
|
||||
}',
|
||||
'replies' => '{numberOfReplies, plural,
|
||||
one {# коментар}
|
||||
|
|
|
|||
|
|
@ -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' => 'Редагувати публікацію',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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' => 'Подкастів не знайдено',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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}, які розміщуються на карті! Подорожуйте по карті та прослуховуйте епізоди, що розповідають про конкретні місця.',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -51,4 +51,5 @@ return [
|
|||
other {# persons}
|
||||
}',
|
||||
'persons_list' => 'Persons',
|
||||
'castopod_website' => 'Castopod (website)',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -51,4 +51,5 @@ return [
|
|||
other {# 人}
|
||||
}',
|
||||
'persons_list' => '人',
|
||||
'castopod_website' => 'Castopod (website)',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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 |
|
||||
| ------------------------------------- | ----------------------- | ----------------- |
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
<div class="flex flex-wrap items-center gap-4">
|
||||
|
||||
<a href="https://install-app.yunohost.org/?app=castopod" target="_blank" rel="noopener noreferrer">
|
||||
<img src="https://install-app.yunohost.org/install-with-yunohost.svg" alt="Install Castopod with YunoHost" class="align-middle" />
|
||||
<img src="https://install-app.yunohost.org/install-with-yunohost.svg" alt="Installiere Castopod mit YunoHost" class="align-middle" />
|
||||
</a>
|
||||
|
||||
<a href="https://github.com/YunoHost-Apps/castopod_ynh" target="_blank" rel="noopener noreferrer" class="inline-flex items-center px-4 py-[.3rem] mx-auto font-semibold text-center text-black rounded-md gap-x-1 border-2 border-solid border-[#333] hover:no-underline hover:bg-gray-100"><svg
|
||||
|
|
|
|||
|
|
@ -22,23 +22,24 @@ mit einem sehr kleinen Fußabdruck.
|
|||
- 🌱 Kostenlos & Open-Source (AGPL v3 Lizenz)
|
||||
- 🔐 Fokussiert auf die Datensouveränität: Ihre Inhalte, Ihr Publikum und
|
||||
Analysen gehören zu Ihnen, und nur Ihnen
|
||||
- 🪄 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:
|
||||
- 🪄 Podcasting 2.0 Features: GUID, gesperrt, Transkripte, Finanzierung,
|
||||
Kapitel, Standort, Personen, Soundbites, …
|
||||
- 💬 Integriertes soziales Netzwerk:
|
||||
- 🚀 Castopod ist Teil des Fediversums, einem dezentralen sozialen
|
||||
Netzwerk
|
||||
- ❤️ Erstelle Beiträge, teile, favorisiere und kommentiere Episoden
|
||||
- 📈 Integrierte Analyse:
|
||||
- ⚖️ GDPR / CCPA / LGPD konform
|
||||
- 🪙 Standard IABv2 Zuschauermessung
|
||||
- 🏡 On-premises Analytik, kein Dritter beteiligt
|
||||
- 📢 Integrierte Marketing-Tools:
|
||||
- ✅ SEO bereit (open-graph Meta-Tags, JSON-LD, …)
|
||||
- 📱 PWA: als eigenständige App installieren
|
||||
- 🎨 Anpassbare Theme-Farben
|
||||
- 🎬 Generiere Videoclips aus Episoden fertig zum Teilen
|
||||
- 🔉 Soundbites erstellen
|
||||
- ▶️ Embeddable Player, binde deine Episoden auf jeder Webseite ein
|
||||
- 💸 Monetarisierung:
|
||||
- 🔗 Funding links
|
||||
- 📲 listen-to-click ads
|
||||
- 🤝 value4value / WebMonetization
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -20,15 +20,15 @@ Si prefieres usar Docker, puedes saltarte esto e ir directamente a la
|
|||
|
||||
## Requisitos
|
||||
|
||||
- PHP v8.1 only
|
||||
- PHP v8.1 or higher
|
||||
- MySQL versión 5.7 o superior o MariaDB versión 10.2 o superior
|
||||
- Soporte 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!
|
||||
|
||||
### Configuración de Correo Electrónico/SMTP
|
||||
|
||||
La configuración del correo electrónico es necesaria para que algunas
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -8,12 +8,12 @@ sidebarDepth: 3
|
|||
Castopod envoie 3 images Docker au Hub Docker pendant son processus de
|
||||
construction automatisée :
|
||||
|
||||
- [**`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
|
||||
- [**`castopod/castopod`**](https://hub.docker.com/r/castopod/castopod): une
|
||||
image castopod tout-en-un sous nginx unit
|
||||
- [**`castopod/app`**](https://hub.docker.com/r/castopod/app): le paquet
|
||||
d'applications avec toutes les dépendances de Castopod
|
||||
- [**`castopod/web-server`**](https://hub.docker.com/r/castopod/web-server): une
|
||||
configuration Nginx pour Castopod
|
||||
|
||||
De plus, Castopod nécessite une base de données compatible avec MySQL. Une base
|
||||
de données Redis peut être ajoutée en tant que gestionnaire de cache.
|
||||
|
|
@ -32,31 +32,31 @@ de données Redis peut être ajoutée en tant que gestionnaire de cache.
|
|||
2. Créez un fichier `docker-compose.yml` avec les éléments suivants :
|
||||
|
||||
```yml
|
||||
version: "3.7"
|
||||
version: "3.
|
||||
|
||||
services:
|
||||
services :
|
||||
app:
|
||||
image: castopod/castopod:latest
|
||||
container_name: "castopod-app"
|
||||
volumes:
|
||||
- castopod-media:/var/www/castopod/public/media
|
||||
environment:
|
||||
environnement:
|
||||
MYSQL_DATABASE: castopod
|
||||
MYSQL_USER: castopod
|
||||
MYSQL_PASSWORD: changeme
|
||||
CP_BASEURL: "https://castopod.example.com"
|
||||
CP_ANALYTICS_SALT: changeme
|
||||
CP_BASEURL: "https://castopod. xample. om"
|
||||
CP_ANALYTICS_SALT : changer
|
||||
CP_CACHE_HANDLER: redis
|
||||
CP_REDIS_HOST: redis
|
||||
networks:
|
||||
réseaux :
|
||||
- castopod-app
|
||||
- castopod-db
|
||||
ports:
|
||||
ports :
|
||||
- 8000:8000
|
||||
restart: unless-stopped
|
||||
redémarrage :
|
||||
|
||||
mariadb:
|
||||
image: mariadb:10.5
|
||||
image: mariadb:10.
|
||||
container_name: "castopod-mariadb"
|
||||
networks:
|
||||
- castopod-db
|
||||
|
|
@ -66,15 +66,15 @@ de données Redis peut être ajoutée en tant que gestionnaire de cache.
|
|||
MYSQL_ROOT_PASSWORD: changeme
|
||||
MYSQL_DATABASE: castopod
|
||||
MYSQL_USER: castopod
|
||||
MYSQL_PASSWORD: changeme
|
||||
MYSQL_PASSWORD: changez
|
||||
restart: unless-stopped
|
||||
|
||||
redis:
|
||||
image: redis:7.0-alpine
|
||||
image: redis:redis:7. -alpine
|
||||
container_name: "castopod-redis"
|
||||
volumes:
|
||||
- castopod-cache:/data
|
||||
networks:
|
||||
réseaux:
|
||||
- castopod-app
|
||||
|
||||
volumes:
|
||||
|
|
|
|||
|
|
@ -20,15 +20,15 @@ directement à la [documentation Docker](./docker.md) pour Castopod.
|
|||
|
||||
## Prérequis
|
||||
|
||||
- PHP v8.1 only
|
||||
- PHP v8.1 or higher
|
||||
- MySQL version 5.7 ou supérieure ou MariaDB version 10.2 ou supérieure
|
||||
- Prise en charge 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://www.php.net/manual/fr/intl.requirements.php)
|
||||
- [libcurl](https://www.php.net/manual/fr/curl.requirements.php)
|
||||
|
|
@ -128,6 +128,23 @@ le fichier `.env` manuellement en vous appuyant sur le fichier `.env.example`.
|
|||
|
||||
:::
|
||||
|
||||
### 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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
87
docs/src/kk/getting-started/auth.md
Normal file
87
docs/src/kk/getting-started/auth.md
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
---
|
||||
title: Authentication & Authorization
|
||||
sidebarDepth: 3
|
||||
---
|
||||
|
||||
# Authentication & Authorization
|
||||
|
||||
Castopod handles authentication and authorization using `codeigniter/shield`
|
||||
coupled with custom rules. Roles and permissions are defined at two levels:
|
||||
|
||||
1. [instance wide](#1-instance-wide-roles-and-permissions)
|
||||
2. [per podcast](#2-per-podcast-roles-and-permissions)
|
||||
|
||||
## 1. Instance wide roles and permissions
|
||||
|
||||
### Instance roles
|
||||
|
||||
<!-- AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section -->
|
||||
|
||||
| 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 |
|
||||
|
||||
<!-- AUTH-INSTANCE-ROLES-LIST:END -->
|
||||
|
||||
### Instance permissions
|
||||
|
||||
<!-- AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section -->
|
||||
|
||||
| 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. |
|
||||
|
||||
<!-- AUTH-INSTANCE-PERMISSIONS-LIST:END -->
|
||||
|
||||
## 2. Per podcast roles and permissions
|
||||
|
||||
### Per podcast roles
|
||||
|
||||
<!-- AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section -->
|
||||
|
||||
| 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 |
|
||||
|
||||
<!-- AUTH-PODCAST-ROLES-LIST:END -->
|
||||
|
||||
### Per podcast permissions
|
||||
|
||||
<!-- AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section -->
|
||||
|
||||
| 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}. |
|
||||
|
||||
<!-- AUTH-PODCAST-PERMISSIONS-LIST:END -->
|
||||
158
docs/src/kk/getting-started/docker.md
Normal file
158
docs/src/kk/getting-started/docker.md
Normal file
|
|
@ -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` |
|
||||
238
docs/src/kk/getting-started/install.md
Normal file
238
docs/src/kk/getting-started/install.md
Normal file
|
|
@ -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.
|
||||
|
||||
<div class="flex flex-wrap items-center gap-4">
|
||||
|
||||
<a href="https://install-app.yunohost.org/?app=castopod" target="_blank" rel="noopener noreferrer">
|
||||
<img src="https://install-app.yunohost.org/install-with-yunohost.svg" alt="Install Castopod with YunoHost" class="align-middle" />
|
||||
</a>
|
||||
|
||||
<a href="https://github.com/YunoHost-Apps/castopod_ynh" target="_blank" rel="noopener noreferrer" class="inline-flex items-center px-4 py-[.3rem] mx-auto font-semibold text-center text-black rounded-md gap-x-1 border-2 border-solid border-[#333] hover:no-underline hover:bg-gray-100"><svg
|
||||
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="1em" height="1em"
|
||||
class="text-xl"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 2A10 10 0 0 0 2 12a10 10 0 0 0 6.84 9.49c.5.09.69-.21.69-.48l-.02-1.86c-2.51.46-3.16-.61-3.36-1.18-.11-.28-.6-1.17-1.02-1.4-.35-.2-.85-.66-.02-.67.79-.01 1.35.72 1.54 1.02.9 1.52 2.34 1.1 2.91.83a2.1 2.1 0 0 1 .64-1.34c-2.22-.25-4.55-1.11-4.55-4.94A3.9 3.9 0 0 1 6.68 8.8a3.6 3.6 0 0 1 .1-2.65s.83-.27 2.75 1.02a9.28 9.28 0 0 1 2.5-.34c.85 0 1.7.12 2.5.34 1.9-1.3 2.75-1.02 2.75-1.02.54 1.37.2 2.4.1 2.65.63.7 1.02 1.58 1.02 2.68 0 3.84-2.34 4.7-4.56 4.94.36.31.67.91.67 1.85l-.01 2.75c0 .26.19.58.69.48A10.02 10.02 0 0 0 22 12 10 10 0 0 0 12 2z"/></svg>Github
|
||||
Repo</a>
|
||||
|
||||
</div>
|
||||
26
docs/src/kk/getting-started/security.md
Normal file
26
docs/src/kk/getting-started/security.md
Normal file
|
|
@ -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
|
||||
```
|
||||
109
docs/src/kk/getting-started/update.md
Normal file
109
docs/src/kk/getting-started/update.md
Normal file
|
|
@ -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…
|
||||
299
docs/src/kk/index.md
Normal file
299
docs/src/kk/index.md
Normal file
|
|
@ -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.
|
||||
|
||||
<div class="flex items-center">
|
||||
<a href="/getting-started/install" class="inline-flex items-center px-4 py-2 mx-auto font-semibold text-center text-white rounded-full shadow gap-x-1 bg-pine-500 hover:no-underline hover:bg-pine-600">Install<svg viewBox="0 0 24 24" width="1em" height="1em" class="text-xl text-pine-200"><path fill="currentColor" d="m16.172 11-5.364-5.364 1.414-1.414L20 12l-7.778 7.778-1.414-1.414L16.172 13H4v-2z"></path></svg></a>
|
||||
</div>
|
||||
|
||||
## 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)):
|
||||
|
||||
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
|
||||
<!-- prettier-ignore-start -->
|
||||
<!-- markdownlint-disable -->
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/yassinedoghri"><img src="https://code.castopod.org/uploads/-/system/user/avatar/3/avatar.png?s=100" width="100px;" alt="Yassine Doghri"/><br /><sub><b>Yassine Doghri</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Code">💻</a> <a href="https://code.castopod.org/adaures/castopod/issues?author_username=yassinedoghri" title="Bug reports">🐛</a> <a href="https://code.castopod.org/adaures/castopod/commits/master" title="Documentation">📖</a> <a href="https://code.castopod.org/adaures/castopod/merge_requests?scope=all&state=all&approver_usernames[]=yassinedoghri" title="Reviewed Pull Requests">👀</a> <a href="#maintenance-yassinedoghri" title="Maintenance">🚧</a> <a href="#content-yassinedoghri" title="Content">🖋</a> <a href="#design-yassinedoghri" title="Design">🎨</a> <a href="#a11y-yassinedoghri" title="Accessibility">️️️️♿️</a> <a href="https://translate.castopod.org" title="Translation">🌍</a> <a href="#question-yassinedoghri" title="Answering Questions">💬</a> <a href="#mentoring-yassinedoghri" title="Mentoring">🧑🏫</a> <a href="#infra-yassinedoghri" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#ideas-yassinedoghri" title="Ideas, Planning, & Feedback">🤔</a> <a href="#projectManagement-yassinedoghri" title="Project Management">📆</a> <a href="https://blog.castopod.org/author/yassinedoghri/" title="Blogposts">📝</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/benjamin"><img src="https://code.castopod.org/uploads/-/system/user/avatar/2/avatar.png?s=100" width="100px;" alt="Benjamin Bellamy"/><br /><sub><b>Benjamin Bellamy</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Code">💻</a> <a href="https://code.castopod.org/adaures/castopod/issues?author_username=benjamin" title="Bug reports">🐛</a> <a href="https://code.castopod.org/adaures/castopod/merge_requests?scope=all&state=all&approver_usernames[]=benjamin" title="Reviewed Pull Requests">👀</a> <a href="#content-benjamin" title="Content">🖋</a> <a href="https://translate.castopod.org" title="Translation">🌍</a> <a href="#question-benjamin" title="Answering Questions">💬</a> <a href="#infra-benjamin" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#ideas-benjamin" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://blog.castopod.org/author/benjamin-bellamy/" title="Blogposts">📝</a> <a href="#projectManagement-benjamin" title="Project Management">📆</a> <a href="#talk-benjamin" title="Talks">📢</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ola-hn"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Ola Hneini"/><br /><sub><b>Ola Hneini</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Code">💻</a> <a href="https://code.castopod.org/adaures/castopod/merge_requests?scope=all&state=all&approver_usernames[]=ola" title="Reviewed Pull Requests">👀</a> <a href="https://code.castopod.org/adaures/castopod/commits/master" title="Documentation">📖</a> <a href="#maintenance-ola" title="Maintenance">🚧</a> <a href="#question-ola" title="Answering Questions">💬</a> <a href="#ideas-ola" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://mamot.fr/@rdelaage"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Romain de Laage"/><br /><sub><b>Romain de Laage</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Code">💻</a> <a href="#infra-rdelaage" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://code.castopod.org/adaures/castopod/commits/master" title="Documentation">📖</a> <a href="https://translate.castopod.org" title="Translation">🌍</a> <a href="#ideas-rdelaage" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://twitter.com/lyonelbernard"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Lyonel Bernard"/><br /><sub><b>Lyonel Bernard</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=Lyonel" title="Bug reports">🐛</a> <a href="#question-Lyonel" title="Answering Questions">💬</a> <a href="#audio-Lyonel" title="Audio">🔊</a> <a href="#ideas-Lyonel" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://www.crypticchameleon.com/"><img src="https://secure.gravatar.com/avatar/7c2a721b52d0763673a600e8f01bd745?s=80&d=identicon?s=100" width="100px;" alt="Christopher Lagonick-Weitzel"/><br /><sub><b>Christopher Lagonick-Weitzel</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=ctlw83" title="Bug reports">🐛</a> <a href="#question-ctlw83" title="Answering Questions">💬</a> <a href="#audio-ctlw83" title="Audio">🔊</a> <a href="#ideas-ctlw83" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://ernestoacosta.me/"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Ernesto Acosta"/><br /><sub><b>Ernesto Acosta</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=ernestoacostame" title="Bug reports">🐛</a> <a href="#audio-ernestoacostame" title="Audio">🔊</a> <a href="https://translate.castopod.org" title="Translation">🌍</a> <a href="#question-ernestoacostame" title="Answering Questions">💬</a> <a href="#ideas-ernestoacostame" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/Behel"><img src="https://secure.gravatar.com/avatar/ad63ee8ef8e3db8253d21e5012d2724f?s=80&d=identicon?s=100" width="100px;" alt="Bastien Luneteau"/><br /><sub><b>Bastien Luneteau</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Code">💻</a> <a href="https://code.castopod.org/adaures/castopod/issues?author_username=Behel" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://www.cecillie.fr/"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Cécile Ricordeau"/><br /><sub><b>Cécile Ricordeau</b></sub></a><br /><a href="#design-cecillie" title="Design">🎨</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/PatrykMis"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Patryk Miś"/><br /><sub><b>Patryk Miś</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/mspanc"><img src="https://secure.gravatar.com/avatar/eed8337939641eac5ad0b570bd6acf96?s=80&d=identicon?s=100" width="100px;" alt="Marcin Lewandowski"/><br /><sub><b>Marcin Lewandowski</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=mspanc" title="Bug reports">🐛</a> <a href="#ideas-mspanc" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/SJanik"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Sebastian Janik"/><br /><sub><b>Sebastian Janik</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/patryk"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Patryk Karczmarczyk"/><br /><sub><b>Patryk Karczmarczyk</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/ddenis"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="denis d"/><br /><sub><b>denis d</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=ddenis" title="Bug reports">🐛</a> <a href="#ideas-ddenis" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/douglaskastle"><img src="https://secure.gravatar.com/avatar/b7e652ba4b6bcd440afa069e7f7bc9e6?s=80&d=identicon?s=100" width="100px;" alt="Douglas Kastle"/><br /><sub><b>Douglas Kastle</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=douglaskastle" title="Bug reports">🐛</a> <a href="#ideas-douglaskastle" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/cExplorer"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="cExplorer"/><br /><sub><b>cExplorer</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=cExplorer" title="Bug reports">🐛</a> <a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/imacrea"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="ImaCrea"/><br /><sub><b>ImaCrea</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=imacrea" title="Bug reports">🐛</a> <a href="#ideas-imacrea" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/jonas"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Jonas S"/><br /><sub><b>Jonas S</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/yannL"><img src="https://secure.gravatar.com/avatar/9c46600ce566ec6d526370d8e104b1c8?s=80&d=identicon?s=100" width="100px;" alt="LEFEBVRE Yann"/><br /><sub><b>LEFEBVRE Yann</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=yannL" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/spaetz"><img src="https://secure.gravatar.com/avatar/278e1af65e82993efd0ba7bbbacf6435?s=80&d=identicon?s=100" width="100px;" alt="Sebastian Späth"/><br /><sub><b>Sebastian Späth</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=spaetz" title="Bug reports">🐛</a> <a href="#ideas-spaetz" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/rocky"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="rocky III"/><br /><sub><b>rocky III</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=rocky" title="Bug reports">🐛</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/Regenpfeifer"><img src="https://code.castopod.org/uploads/-/system/user/avatar/103/avatar.png?s=100" width="100px;" alt="Hermann Josef Eckl"/><br /><sub><b>Hermann Josef Eckl</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=Regenpfeifer" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/cyrilledel"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Delhaye Cyrille"/><br /><sub><b>Delhaye Cyrille</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=cyrilledel" title="Bug reports">🐛</a> <a href="#ideas-cyrilledel" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://twitter.com/otetranome"><img src="https://code.castopod.org/uploads/-/system/user/avatar/113/avatar.png?s=100" width="100px;" alt="João Leandro"/><br /><sub><b>João Leandro</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a> <a href="#ideas-otetranome" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://achouvardas.eu/"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Angelos Chouvardas"/><br /><sub><b>Angelos Chouvardas</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://mastodon.fjerland.no/@eivind"><img src="https://mastodon.fjerland.no/system/accounts/avatars/107/769/768/295/192/222/original/e5c985fea6487dcb.jpg?s=100" width="100px;" alt="Eivind"/><br /><sub><b>Eivind</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://mastodon.fedi.bzh/@ewen"><img src="https://mastodon.fedi.bzh/system/accounts/avatars/000/000/002/original/6f387690a504ae46.jpg?s=100" width="100px;" alt="Ewen"/><br /><sub><b>Ewen</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a> <a href="#ideas-3wen" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/forght"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15073833/large/82d1e2e443a6df7edc43a7405dfeeb75_default.png?s=100" width="100px;" alt="forght"/><br /><sub><b>forght</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/glottis0q"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15209934/large/8b17ef6a7399f0b82a8198f87c224195.png?s=100" width="100px;" alt="glottis0q"/><br /><sub><b>glottis0q</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://mstdn.fr/@ButterflyOfFire"><img src="https://static.mstdn.fr/static/accounts/avatars/000/065/901/original/5908e93ad5447f15.png?s=100" width="100px;" alt="ButterflyOfFire"/><br /><sub><b>ButterflyOfFire</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/lil5"><img src="https://avatars.githubusercontent.com/u/17646836?v=4?s=100" width="100px;" alt="Lucian I. Last"/><br /><sub><b>Lucian I. Last</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/luuzviir"><img src="https://crowdin-static.downloads.crowdin.com/avatar/13166188/large/d03ab0abc7ce354b210d836955cd3805_default.png?s=100" width="100px;" alt="LuuzViir"/><br /><sub><b>LuuzViir</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/cthtc"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15211502/large/ed0651060cb8474a9519b5168bd377c1_default.png?s=100" width="100px;" alt="CTHTC"/><br /><sub><b>CTHTC</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/retrograde"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15021651/large/b10c4057f85bf4de49c7fdf01354ecde.jpeg?s=100" width="100px;" alt="Russian Retro"/><br /><sub><b>Russian Retro</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/mareklach"><img src="https://crowdin-static.downloads.crowdin.com/avatar/13572324/large/3eeba8d569c247ace33862bf4ef4748f.jpeg?s=100" width="100px;" alt="Marek L'ach"/><br /><sub><b>Marek L'ach</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/gunchleoc"><img src="https://crowdin-static.downloads.crowdin.com/avatar/13043878/large/3223f7b606296a8b1c92c5de39c459a2_default.png?s=100" width="100px;" alt="GunChleoc"/><br /><sub><b>GunChleoc</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/gabisnow"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15214858/large/5b083bdf9c9e9de67cc6ee72a6c8db18_default.png?s=100" width="100px;" alt="GabiSnow"/><br /><sub><b>GabiSnow</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/bendaha"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15331656/large/cd92450d2c20202299fb3a0075903e20_default.png?s=100" width="100px;" alt="bendaha"/><br /><sub><b>bendaha</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/samuelroland"><img src="https://crowdin-static.downloads.crowdin.com/avatar/14980053/large/3e154a37d03d6e98ae402ed3f930f4f5.png?s=100" width="100px;" alt="Samuel Roland"/><br /><sub><b>Samuel Roland</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://dimitriregnier.net/"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Dimitri Regnier"/><br /><sub><b>Dimitri Regnier</b></sub></a><br /><a href="#ideas-dimregnier" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://im.irithys.com/@thy"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15405614/large/3086461c47cce0a0c031925e5f943412.png?s=100" width="100px;" alt="irithys"/><br /><sub><b>irithys</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://twitter.com/caos30"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Sergi"/><br /><sub><b>Sergi</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/xosem"><img src="https://crowdin-static.downloads.crowdin.com/avatar/12617257/large/a201650da44fed28890b0e0d8477a663.jpg?s=100" width="100px;" alt="ghose (XoseM)"/><br /><sub><b>ghose (XoseM)</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/basen1982"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Andreas Olsson"/><br /><sub><b>Andreas Olsson</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/leonfrom"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="leonfrom"/><br /><sub><b>leonfrom</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/agentcobra57"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="agentcobra"/><br /><sub><b>agentcobra</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/alephoto85"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15094649/large/530391f54157af52ae33058ec15b0f99.jpg?s=100" width="100px;" alt="Alessandro"/><br /><sub><b>Alessandro</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/liimee"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="liimee"/><br /><sub><b>liimee</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ahmedsabouni"><img src="https://avatars.githubusercontent.com/u/74497842?v=4?s=100" width="100px;" alt="Ahmed Sabouni"/><br /><sub><b>Ahmed Sabouni</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/KrzysztofDomanczyk"><img src="https://avatars.githubusercontent.com/u/75178474?v=4?s=100" width="100px;" alt="KrzysztofDomanczyk"/><br /><sub><b>KrzysztofDomanczyk</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Code">💻</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<!-- markdownlint-restore -->
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
<!-- ALL-CONTRIBUTORS-LIST:END -->
|
||||
|
||||
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).
|
||||
|
||||
<div class="flex flex-wrap gap-x-16 gap-y-8">
|
||||
<a href="https://adaures.com/" target="_blank" rel="noopener noreferrer"><img src="/images/sponsors/adaures.svg" alt="Ad Aures Logo" class="h-16" /></a>
|
||||
<a href="https://nlnet.nl/project/Castopod/" target="_blank" rel="noopener noreferrer"><img src="/images/sponsors/nlnet.svg" alt="NLnet Logo" class="h-16" /></a>
|
||||
</div>
|
||||
|
||||
## 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
|
||||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
<!-- AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section -->
|
||||
|
||||
| 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 |
|
||||
|
||||
<!-- AUTH-INSTANCE-ROLES-LIST:END -->
|
||||
|
||||
### Instance permissions
|
||||
### Løyve på nettstaden
|
||||
|
||||
<!-- AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section -->
|
||||
|
||||
| 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. |
|
||||
|
||||
<!-- AUTH-INSTANCE-PERMISSIONS-LIST:END -->
|
||||
|
||||
## 2. Per podcast roles and permissions
|
||||
## 2. Roller og løyve pr. podkast
|
||||
|
||||
### Per podcast roles
|
||||
### Roller pr. podkast
|
||||
|
||||
<!-- AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section -->
|
||||
|
||||
| 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 |
|
||||
|
||||
<!-- AUTH-PODCAST-ROLES-LIST:END -->
|
||||
|
||||
### Per podcast permissions
|
||||
### Løyve pr. podkast
|
||||
|
||||
<!-- AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section -->
|
||||
|
||||
| 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}. |
|
||||
|
||||
<!-- AUTH-PODCAST-PERMISSIONS-LIST:END -->
|
||||
|
|
|
|||
|
|
@ -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` |
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -182,67 +182,67 @@ Mange takk til dei flotte folka på
|
|||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/yassinedoghri"><img src="https://code.castopod.org/uploads/-/system/user/avatar/3/avatar.png?s=100" width="100px;" alt="Yassine Doghri"/><br /><sub><b>Yassine Doghri</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Kode">💻</a> <a href="https://code.castopod.org/adaures/castopod/issues?author_username=yassinedoghri" title="Feilrapportar">🐛</a> <a href="https://code.castopod.org/adaures/castopod/commits/master" title="Dokumentasjon">📖</a> <a href="https://code.castopod.org/adaures/castopod/merge_requests?scope=all&state=all&approver_usernames[]=yassinedoghri" title="Sjekka fletteførespurnader">👀</a> <a href="#maintenance-yassinedoghri" title="Vedlikehald">🚧</a> <a href="#content-yassinedoghri" title="Innhald">🖋</a> <a href="#design-yassinedoghri" title="Design">🎨</a> <a href="#a11y-yassinedoghri" title="Tilgjenge">️️️️♿️</a> <a href="https://translate.castopod.org" title="Omsetjing">🌍</a> <a href="#question-yassinedoghri" title="Svara på spørsmål">💬</a> <a href="#mentoring-yassinedoghri" title="Opplæring">🧑🏫</a> <a href="#infra-yassinedoghri" title="Infrastruktur (nettvertar, bygging osb.)">🚇</a> <a href="#ideas-yassinedoghri" title="Idear, planlegging og tilbakemeldingar">🤔</a> <a href="#projectManagement-yassinedoghri" title="Prosjektstyring">📆</a> <a href="https://blog.castopod.org/author/yassinedoghri/" title="Blogginnlegg">📝</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/benjamin"><img src="https://code.castopod.org/uploads/-/system/user/avatar/2/avatar.png?s=100" width="100px;" alt="Benjamin Bellamy"/><br /><sub><b>Benjamin Bellamy</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Kode">💻</a> <a href="https://code.castopod.org/adaures/castopod/issues?author_username=benjamin" title="Feilrapportar">🐛</a> <a href="https://code.castopod.org/adaures/castopod/merge_requests?scope=all&state=all&approver_usernames[]=benjamin" title="Såg gjennom bidrag">👀</a> <a href="#content-benjamin" title="Innhald">🖋</a> <a href="https://translate.castopod.org" title="Omsetjing">🌍</a> <a href="#question-benjamin" title="Answering Questions">💬</a> <a href="#infra-benjamin" title="Infrastruktur (nettvertar, byggjeverkty osb.)">🚇</a> <a href="#ideas-benjamin" title="Idear, planlegging og tilbakemeldingar">🤔</a> <a href="https://blog.castopod.org/author/benjamin-bellamy/" title="Blogginnlegg">📝</a> <a href="#projectManagement-benjamin" title="Prosjektstyring">📆</a> <a href="#talk-benjamin" title="Føredrag">📢</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ola-hn"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Ola Hneini"/><br /><sub><b>Ola Hneini</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Kode">💻</a> <a href="https://code.castopod.org/adaures/castopod/merge_requests?scope=all&state=all&approver_usernames[]=ola" title="Sett gjennom bidrag">👀</a> <a href="https://code.castopod.org/adaures/castopod/commits/master" title="Dokumentasjon">📖</a> <a href="#maintenance-ola" title="Vedlikehald">🚧</a> <a href="#question-ola" title="Svara på spørsmål">💬</a> <a href="#ideas-ola" title="Idear, planlegging og tilbakemelding">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://mamot.fr/@rdelaage"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Romain de Laage"/><br /><sub><b>Romain de Laage</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Code">💻</a> <a href="#infra-rdelaage" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://code.castopod.org/adaures/castopod/commits/master" title="Documentation">📖</a> <a href="https://translate.castopod.org" title="Translation">🌍</a> <a href="#ideas-rdelaage" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://twitter.com/lyonelbernard"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Lyonel Bernard"/><br /><sub><b>Lyonel Bernard</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=Lyonel" title="Bug reports">🐛</a> <a href="#question-Lyonel" title="Answering Questions">💬</a> <a href="#audio-Lyonel" title="Audio">🔊</a> <a href="#ideas-Lyonel" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://www.crypticchameleon.com/"><img src="https://secure.gravatar.com/avatar/7c2a721b52d0763673a600e8f01bd745?s=80&d=identicon?s=100" width="100px;" alt="Christopher Lagonick-Weitzel"/><br /><sub><b>Christopher Lagonick-Weitzel</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=ctlw83" title="Bug reports">🐛</a> <a href="#question-ctlw83" title="Answering Questions">💬</a> <a href="#audio-ctlw83" title="Audio">🔊</a> <a href="#ideas-ctlw83" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://ernestoacosta.me/"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Ernesto Acosta"/><br /><sub><b>Ernesto Acosta</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=ernestoacostame" title="Bug reports">🐛</a> <a href="#audio-ernestoacostame" title="Audio">🔊</a> <a href="https://translate.castopod.org" title="Translation">🌍</a> <a href="#question-ernestoacostame" title="Answering Questions">💬</a> <a href="#ideas-ernestoacostame" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://mamot.fr/@rdelaage"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Romain de Laage"/><br /><sub><b>Romain de Laage</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Kode">💻</a> <a href="#infra-rdelaage" title="Infrastruktur (vertskap, byggjeverkty osb.)">🚇</a> <a href="https://code.castopod.org/adaures/castopod/commits/master" title="Dokumentasjon">📖</a> <a href="https://translate.castopod.org" title="Omsetjing">🌍</a> <a href="#ideas-rdelaage" title="Idear, planlegging og tilbakemeldingar">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://twitter.com/lyonelbernard"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Lyonel Bernard"/><br /><sub><b>Lyonel Bernard</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=Lyonel" title="Feilrapportar">🐛</a> <a href="#question-Lyonel" title="Svar på spørsmål">💬</a> <a href="#audio-Lyonel" title="Lyd">🔊</a> <a href="#ideas-Lyonel" title="Idear, planlegging og tilbakemeldingar">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://www.crypticchameleon.com/"><img src="https://secure.gravatar.com/avatar/7c2a721b52d0763673a600e8f01bd745?s=80&d=identicon?s=100" width="100px;" alt="Christopher Lagonick-Weitzel"/><br /><sub><b>Christopher Lagonick-Weitzel</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=ctlw83" title="Feilrapportar">🐛</a> <a href="#question-ctlw83" title="Svar på spørsmål">💬</a> <a href="#audio-ctlw83" title="Lyd">🔊</a> <a href="#ideas-ctlw83" title="Idear, planlegging og tilbakemeldingar">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://ernestoacosta.me/"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Ernesto Acosta"/><br /><sub><b>Ernesto Acosta</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=ernestoacostame" title="Feilrapportar">🐛</a> <a href="#audio-ernestoacostame" title="Lyd">🔊</a> <a href="https://translate.castopod.org" title="Omsetjingar">🌍</a> <a href="#question-ernestoacostame" title="Svar på spørsmål">💬</a> <a href="#ideas-ernestoacostame" title="Idear, planlegging og tilbakemeldingar">🤔</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/Behel"><img src="https://secure.gravatar.com/avatar/ad63ee8ef8e3db8253d21e5012d2724f?s=80&d=identicon?s=100" width="100px;" alt="Bastien Luneteau"/><br /><sub><b>Bastien Luneteau</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Code">💻</a> <a href="https://code.castopod.org/adaures/castopod/issues?author_username=Behel" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://www.cecillie.fr/"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Cécile Ricordeau"/><br /><sub><b>Cécile Ricordeau</b></sub></a><br /><a href="#design-cecillie" title="Design">🎨</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/PatrykMis"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Patryk Miś"/><br /><sub><b>Patryk Miś</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/mspanc"><img src="https://secure.gravatar.com/avatar/eed8337939641eac5ad0b570bd6acf96?s=80&d=identicon?s=100" width="100px;" alt="Marcin Lewandowski"/><br /><sub><b>Marcin Lewandowski</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=mspanc" title="Bug reports">🐛</a> <a href="#ideas-mspanc" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/SJanik"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Sebastian Janik"/><br /><sub><b>Sebastian Janik</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/patryk"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Patryk Karczmarczyk"/><br /><sub><b>Patryk Karczmarczyk</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/ddenis"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="denis d"/><br /><sub><b>denis d</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=ddenis" title="Bug reports">🐛</a> <a href="#ideas-ddenis" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/Behel"><img src="https://secure.gravatar.com/avatar/ad63ee8ef8e3db8253d21e5012d2724f?s=80&d=identicon?s=100" width="100px;" alt="Bastien Luneteau"/><br /><sub><b>Bastien Luneteau</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Kode">💻</a> <a href="https://code.castopod.org/adaures/castopod/issues?author_username=Behel" title="Feilrapportar">🐛</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://www.cecillie.fr/"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Cécile Ricordeau"/><br /><sub><b>Cécile Ricordeau</b></sub></a><br /><a href="#design-cecillie" title="Utforming">🎨</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/PatrykMis"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Patryk Miś"/><br /><sub><b>Patryk Miś</b></sub></a><br /><a href="https://translate.castopod.org" title="Omsetjing">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/mspanc"><img src="https://secure.gravatar.com/avatar/eed8337939641eac5ad0b570bd6acf96?s=80&d=identicon?s=100" width="100px;" alt="Marcin Lewandowski"/><br /><sub><b>Marcin Lewandowski</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=mspanc" title="Feilrapportar">🐛</a> <a href="#ideas-mspanc" title="Idear, planlegging og tilbakemeldingar">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/SJanik"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Sebastian Janik"/><br /><sub><b>Sebastian Janik</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Kode">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/patryk"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Patryk Karczmarczyk"/><br /><sub><b>Patryk Karczmarczyk</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Kode">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/ddenis"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="denis d"/><br /><sub><b>denis d</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=ddenis" title="Feilrapportar">🐛</a> <a href="#ideas-ddenis" title="Idear, planlegging og tilbakemeldingar">🤔</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/douglaskastle"><img src="https://secure.gravatar.com/avatar/b7e652ba4b6bcd440afa069e7f7bc9e6?s=80&d=identicon?s=100" width="100px;" alt="Douglas Kastle"/><br /><sub><b>Douglas Kastle</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=douglaskastle" title="Bug reports">🐛</a> <a href="#ideas-douglaskastle" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/cExplorer"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="cExplorer"/><br /><sub><b>cExplorer</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=cExplorer" title="Bug reports">🐛</a> <a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/imacrea"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="ImaCrea"/><br /><sub><b>ImaCrea</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=imacrea" title="Bug reports">🐛</a> <a href="#ideas-imacrea" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/jonas"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Jonas S"/><br /><sub><b>Jonas S</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/yannL"><img src="https://secure.gravatar.com/avatar/9c46600ce566ec6d526370d8e104b1c8?s=80&d=identicon?s=100" width="100px;" alt="LEFEBVRE Yann"/><br /><sub><b>LEFEBVRE Yann</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=yannL" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/spaetz"><img src="https://secure.gravatar.com/avatar/278e1af65e82993efd0ba7bbbacf6435?s=80&d=identicon?s=100" width="100px;" alt="Sebastian Späth"/><br /><sub><b>Sebastian Späth</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=spaetz" title="Bug reports">🐛</a> <a href="#ideas-spaetz" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/rocky"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="rocky III"/><br /><sub><b>rocky III</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=rocky" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/douglaskastle"><img src="https://secure.gravatar.com/avatar/b7e652ba4b6bcd440afa069e7f7bc9e6?s=80&d=identicon?s=100" width="100px;" alt="Douglas Kastle"/><br /><sub><b>Douglas Kastle</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=douglaskastle" title="Feilrapportar">🐛</a> <a href="#ideas-douglaskastle" title="Idear, planlegging og tilbakemeldingar">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/cExplorer"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="cExplorer"/><br /><sub><b>cExplorer</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=cExplorer" title="Feilrapportar">🐛</a> <a href="https://translate.castopod.org" title="Omsetjingar">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/imacrea"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="ImaCrea"/><br /><sub><b>ImaCrea</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=imacrea" title="Feilrapportar">🐛</a> <a href="#ideas-imacrea" title="Idear, planlegging og tilbakemeldingar">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/jonas"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Jonas S"/><br /><sub><b>Jonas S</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Kode">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/yannL"><img src="https://secure.gravatar.com/avatar/9c46600ce566ec6d526370d8e104b1c8?s=80&d=identicon?s=100" width="100px;" alt="LEFEBVRE Yann"/><br /><sub><b>LEFEBVRE Yann</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=yannL" title="Feilrapportar">🐛</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/spaetz"><img src="https://secure.gravatar.com/avatar/278e1af65e82993efd0ba7bbbacf6435?s=80&d=identicon?s=100" width="100px;" alt="Sebastian Späth"/><br /><sub><b>Sebastian Späth</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=spaetz" title="Feilrapportar">🐛</a> <a href="#ideas-spaetz" title="Idear, planlegging og tilbakemeldingar">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/rocky"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="rocky III"/><br /><sub><b>rocky III</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=rocky" title="Feilrapportar">🐛</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/Regenpfeifer"><img src="https://code.castopod.org/uploads/-/system/user/avatar/103/avatar.png?s=100" width="100px;" alt="Hermann Josef Eckl"/><br /><sub><b>Hermann Josef Eckl</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=Regenpfeifer" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/cyrilledel"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Delhaye Cyrille"/><br /><sub><b>Delhaye Cyrille</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=cyrilledel" title="Bug reports">🐛</a> <a href="#ideas-cyrilledel" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://twitter.com/otetranome"><img src="https://code.castopod.org/uploads/-/system/user/avatar/113/avatar.png?s=100" width="100px;" alt="João Leandro"/><br /><sub><b>João Leandro</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a> <a href="#ideas-otetranome" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://achouvardas.eu/"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Angelos Chouvardas"/><br /><sub><b>Angelos Chouvardas</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://mastodon.fjerland.no/@eivind"><img src="https://mastodon.fjerland.no/system/accounts/avatars/107/769/768/295/192/222/original/e5c985fea6487dcb.jpg?s=100" width="100px;" alt="Eivind"/><br /><sub><b>Eivind</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://mastodon.fedi.bzh/@ewen"><img src="https://mastodon.fedi.bzh/system/accounts/avatars/000/000/002/original/6f387690a504ae46.jpg?s=100" width="100px;" alt="Ewen"/><br /><sub><b>Ewen</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a> <a href="#ideas-3wen" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/forght"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15073833/large/82d1e2e443a6df7edc43a7405dfeeb75_default.png?s=100" width="100px;" alt="forght"/><br /><sub><b>forght</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/Regenpfeifer"><img src="https://code.castopod.org/uploads/-/system/user/avatar/103/avatar.png?s=100" width="100px;" alt="Hermann Josef Eckl"/><br /><sub><b>Hermann Josef Eckl</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=Regenpfeifer" title="Feilrapportar">🐛</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://code.castopod.org/cyrilledel"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Delhaye Cyrille"/><br /><sub><b>Delhaye Cyrille</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=cyrilledel" title="Feilrapportar">🐛</a> <a href="#ideas-cyrilledel" title="Idear, planlegging og tilbakemeldingar">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://twitter.com/otetranome"><img src="https://code.castopod.org/uploads/-/system/user/avatar/113/avatar.png?s=100" width="100px;" alt="João Leandro"/><br /><sub><b>João Leandro</b></sub></a><br /><a href="https://translate.castopod.org" title="Omsetjingar">🌍</a> <a href="#ideas-otetranome" title="Idear, planlegging og tilbakemeldingar">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://achouvardas.eu/"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Angelos Chouvardas"/><br /><sub><b>Angelos Chouvardas</b></sub></a><br /><a href="https://translate.castopod.org" title="Omsetjingar">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://mastodon.fjerland.no/@eivind"><img src="https://mastodon.fjerland.no/system/accounts/avatars/107/769/768/295/192/222/original/e5c985fea6487dcb.jpg?s=100" width="100px;" alt="Eivind"/><br /><sub><b>Eivind</b></sub></a><br /><a href="https://translate.castopod.org" title="Omsetjingar">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://mastodon.fedi.bzh/@ewen"><img src="https://mastodon.fedi.bzh/system/accounts/avatars/000/000/002/original/6f387690a504ae46.jpg?s=100" width="100px;" alt="Ewen"/><br /><sub><b>Ewen</b></sub></a><br /><a href="https://translate.castopod.org" title="Omsetjingar">🌍</a> <a href="#ideas-3wen" title="Idear, planlegging og tilbakemeldingar">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/forght"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15073833/large/82d1e2e443a6df7edc43a7405dfeeb75_default.png?s=100" width="100px;" alt="forght"/><br /><sub><b>forght</b></sub></a><br /><a href="https://translate.castopod.org" title="Omsetjingar">🌍</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/glottis0q"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15209934/large/8b17ef6a7399f0b82a8198f87c224195.png?s=100" width="100px;" alt="glottis0q"/><br /><sub><b>glottis0q</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://mstdn.fr/@ButterflyOfFire"><img src="https://static.mstdn.fr/static/accounts/avatars/000/065/901/original/5908e93ad5447f15.png?s=100" width="100px;" alt="ButterflyOfFire"/><br /><sub><b>ButterflyOfFire</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/lil5"><img src="https://avatars.githubusercontent.com/u/17646836?v=4?s=100" width="100px;" alt="Lucian I. Last"/><br /><sub><b>Lucian I. Last</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/luuzviir"><img src="https://crowdin-static.downloads.crowdin.com/avatar/13166188/large/d03ab0abc7ce354b210d836955cd3805_default.png?s=100" width="100px;" alt="LuuzViir"/><br /><sub><b>LuuzViir</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/cthtc"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15211502/large/ed0651060cb8474a9519b5168bd377c1_default.png?s=100" width="100px;" alt="CTHTC"/><br /><sub><b>CTHTC</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/retrograde"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15021651/large/b10c4057f85bf4de49c7fdf01354ecde.jpeg?s=100" width="100px;" alt="Russian Retro"/><br /><sub><b>Russian Retro</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/mareklach"><img src="https://crowdin-static.downloads.crowdin.com/avatar/13572324/large/3eeba8d569c247ace33862bf4ef4748f.jpeg?s=100" width="100px;" alt="Marek L'ach"/><br /><sub><b>Marek L'ach</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/glottis0q"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15209934/large/8b17ef6a7399f0b82a8198f87c224195.png?s=100" width="100px;" alt="glottis0q"/><br /><sub><b>glottis0q</b></sub></a><br /><a href="https://translate.castopod.org" title="Omsetjingar">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://mstdn.fr/@ButterflyOfFire"><img src="https://static.mstdn.fr/static/accounts/avatars/000/065/901/original/5908e93ad5447f15.png?s=100" width="100px;" alt="ButterflyOfFire"/><br /><sub><b>ButterflyOfFire</b></sub></a><br /><a href="https://translate.castopod.org" title="Omsetjingar">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/lil5"><img src="https://avatars.githubusercontent.com/u/17646836?v=4?s=100" width="100px;" alt="Lucian I. Last"/><br /><sub><b>Lucian I. Last</b></sub></a><br /><a href="https://translate.castopod.org" title="Omsetjingar">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/luuzviir"><img src="https://crowdin-static.downloads.crowdin.com/avatar/13166188/large/d03ab0abc7ce354b210d836955cd3805_default.png?s=100" width="100px;" alt="LuuzViir"/><br /><sub><b>LuuzViir</b></sub></a><br /><a href="https://translate.castopod.org" title="Omsetjingar">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/cthtc"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15211502/large/ed0651060cb8474a9519b5168bd377c1_default.png?s=100" width="100px;" alt="CTHTC"/><br /><sub><b>CTHTC</b></sub></a><br /><a href="https://translate.castopod.org" title="Omsetjingar">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/retrograde"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15021651/large/b10c4057f85bf4de49c7fdf01354ecde.jpeg?s=100" width="100px;" alt="Russian Retro"/><br /><sub><b>Russian Retro</b></sub></a><br /><a href="https://translate.castopod.org" title="Omsetjingar">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/mareklach"><img src="https://crowdin-static.downloads.crowdin.com/avatar/13572324/large/3eeba8d569c247ace33862bf4ef4748f.jpeg?s=100" width="100px;" alt="Marek L'ach"/><br /><sub><b>Marek L'ach</b></sub></a><br /><a href="https://translate.castopod.org" title="Omsetjingar">🌍</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/gunchleoc"><img src="https://crowdin-static.downloads.crowdin.com/avatar/13043878/large/3223f7b606296a8b1c92c5de39c459a2_default.png?s=100" width="100px;" alt="GunChleoc"/><br /><sub><b>GunChleoc</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/gabisnow"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15214858/large/5b083bdf9c9e9de67cc6ee72a6c8db18_default.png?s=100" width="100px;" alt="GabiSnow"/><br /><sub><b>GabiSnow</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/bendaha"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15331656/large/cd92450d2c20202299fb3a0075903e20_default.png?s=100" width="100px;" alt="bendaha"/><br /><sub><b>bendaha</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/samuelroland"><img src="https://crowdin-static.downloads.crowdin.com/avatar/14980053/large/3e154a37d03d6e98ae402ed3f930f4f5.png?s=100" width="100px;" alt="Samuel Roland"/><br /><sub><b>Samuel Roland</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://dimitriregnier.net/"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Dimitri Regnier"/><br /><sub><b>Dimitri Regnier</b></sub></a><br /><a href="#ideas-dimregnier" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://im.irithys.com/@thy"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15405614/large/3086461c47cce0a0c031925e5f943412.png?s=100" width="100px;" alt="irithys"/><br /><sub><b>irithys</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://twitter.com/caos30"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Sergi"/><br /><sub><b>Sergi</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/gunchleoc"><img src="https://crowdin-static.downloads.crowdin.com/avatar/13043878/large/3223f7b606296a8b1c92c5de39c459a2_default.png?s=100" width="100px;" alt="GunChleoc"/><br /><sub><b>GunChleoc</b></sub></a><br /><a href="https://translate.castopod.org" title="Omsetjingar">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/gabisnow"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15214858/large/5b083bdf9c9e9de67cc6ee72a6c8db18_default.png?s=100" width="100px;" alt="GabiSnow"/><br /><sub><b>GabiSnow</b></sub></a><br /><a href="https://translate.castopod.org" title="Omsetjingar">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/bendaha"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15331656/large/cd92450d2c20202299fb3a0075903e20_default.png?s=100" width="100px;" alt="bendaha"/><br /><sub><b>bendaha</b></sub></a><br /><a href="https://translate.castopod.org" title="Omsetjingar">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/samuelroland"><img src="https://crowdin-static.downloads.crowdin.com/avatar/14980053/large/3e154a37d03d6e98ae402ed3f930f4f5.png?s=100" width="100px;" alt="Samuel Roland"/><br /><sub><b>Samuel Roland</b></sub></a><br /><a href="https://translate.castopod.org" title="Omsetjingar">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://dimitriregnier.net/"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Dimitri Regnier"/><br /><sub><b>Dimitri Regnier</b></sub></a><br /><a href="#ideas-dimregnier" title="Idear, planlegging og tilbakemeldingar">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://im.irithys.com/@thy"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15405614/large/3086461c47cce0a0c031925e5f943412.png?s=100" width="100px;" alt="irithys"/><br /><sub><b>irithys</b></sub></a><br /><a href="https://translate.castopod.org" title="Omsetjingar">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://twitter.com/caos30"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Sergi"/><br /><sub><b>Sergi</b></sub></a><br /><a href="https://translate.castopod.org" title="Omsetjingar">🌍</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/xosem"><img src="https://crowdin-static.downloads.crowdin.com/avatar/12617257/large/a201650da44fed28890b0e0d8477a663.jpg?s=100" width="100px;" alt="ghose (XoseM)"/><br /><sub><b>ghose (XoseM)</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/basen1982"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Andreas Olsson"/><br /><sub><b>Andreas Olsson</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/leonfrom"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="leonfrom"/><br /><sub><b>leonfrom</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/agentcobra57"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="agentcobra"/><br /><sub><b>agentcobra</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/alephoto85"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15094649/large/530391f54157af52ae33058ec15b0f99.jpg?s=100" width="100px;" alt="Alessandro"/><br /><sub><b>Alessandro</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/liimee"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="liimee"/><br /><sub><b>liimee</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ahmedsabouni"><img src="https://avatars.githubusercontent.com/u/74497842?v=4?s=100" width="100px;" alt="Ahmed Sabouni"/><br /><sub><b>Ahmed Sabouni</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/xosem"><img src="https://crowdin-static.downloads.crowdin.com/avatar/12617257/large/a201650da44fed28890b0e0d8477a663.jpg?s=100" width="100px;" alt="ghose (XoseM)"/><br /><sub><b>ghose (XoseM)</b></sub></a><br /><a href="https://translate.castopod.org" title="Omsetjingar">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/basen1982"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="Andreas Olsson"/><br /><sub><b>Andreas Olsson</b></sub></a><br /><a href="https://translate.castopod.org" title="Omsetjingar">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/leonfrom"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="leonfrom"/><br /><sub><b>leonfrom</b></sub></a><br /><a href="https://translate.castopod.org" title="Omsetjingar">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/agentcobra57"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="agentcobra"/><br /><sub><b>agentcobra</b></sub></a><br /><a href="https://translate.castopod.org" title="Omsetjingar">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/alephoto85"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15094649/large/530391f54157af52ae33058ec15b0f99.jpg?s=100" width="100px;" alt="Alessandro"/><br /><sub><b>Alessandro</b></sub></a><br /><a href="https://translate.castopod.org" title="Omsetjingar">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://crowdin.com/profile/liimee"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt="liimee"/><br /><sub><b>liimee</b></sub></a><br /><a href="https://translate.castopod.org" title="Omsetjingar">🌍</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ahmedsabouni"><img src="https://avatars.githubusercontent.com/u/74497842?v=4?s=100" width="100px;" alt="Ahmed Sabouni"/><br /><sub><b>Ahmed Sabouni</b></sub></a><br /><a href="https://translate.castopod.org" title="Omsetjingar">🌍</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/KrzysztofDomanczyk"><img src="https://avatars.githubusercontent.com/u/75178474?v=4?s=100" width="100px;" alt="KrzysztofDomanczyk"/><br /><sub><b>KrzysztofDomanczyk</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/KrzysztofDomanczyk"><img src="https://avatars.githubusercontent.com/u/75178474?v=4?s=100" width="100px;" alt="KrzysztofDomanczyk"/><br /><sub><b>KrzysztofDomanczyk</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Kode">💻</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
@ -252,11 +252,11 @@ Mange takk til dei flotte folka på
|
|||
|
||||
<!-- ALL-CONTRIBUTORS-LIST:END -->
|
||||
|
||||
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å:
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
<!-- AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section -->
|
||||
|
||||
| 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 |
|
||||
|
||||
<!-- AUTH-INSTANCE-ROLES-LIST:END -->
|
||||
|
||||
### Instance permissions
|
||||
### Dozvole po nalogu
|
||||
|
||||
<!-- AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section -->
|
||||
|
||||
| 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. |
|
||||
|
||||
<!-- AUTH-INSTANCE-PERMISSIONS-LIST:END -->
|
||||
|
||||
## 2. Per podcast roles and permissions
|
||||
## 2. Uloge i dozvole po podkastu
|
||||
|
||||
### Per podcast roles
|
||||
### Uloge po podkastu
|
||||
|
||||
<!-- AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section -->
|
||||
|
||||
| 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 |
|
||||
|
||||
<!-- AUTH-PODCAST-ROLES-LIST:END -->
|
||||
|
||||
### Per podcast permissions
|
||||
### Dozvole po podkastu
|
||||
|
||||
<!-- AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section -->
|
||||
|
||||
| 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}. |
|
||||
|
||||
<!-- AUTH-PODCAST-PERMISSIONS-LIST:END -->
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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 设置
|
||||
|
||||
某些功能需要电子邮件配置才能正常工作(例如: 找回密码,向高级订阅者发送说明, …)
|
||||
|
|
|
|||
|
|
@ -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' => 'صفحات ويب',
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ return [
|
|||
],
|
||||
'upload_file' => 'إرسال ملف',
|
||||
'remote_url' => 'Remote URL',
|
||||
'save' => 'Save',
|
||||
],
|
||||
'play_episode_button' => [
|
||||
'play' => 'تشغيل',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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}',
|
||||
|
|
|
|||
|
|
@ -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)',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ return [
|
|||
],
|
||||
'upload_file' => 'Uskargit ur restr',
|
||||
'remote_url' => 'URL a-bell',
|
||||
'save' => 'Save',
|
||||
],
|
||||
'play_episode_button' => [
|
||||
'play' => 'Lenn',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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}',
|
||||
|
|
|
|||
|
|
@ -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)',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ return [
|
|||
],
|
||||
'upload_file' => 'Pujar un fitxer',
|
||||
'remote_url' => 'URL remota',
|
||||
'save' => 'Save',
|
||||
],
|
||||
'play_episode_button' => [
|
||||
'play' => 'Reproduir',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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}',
|
||||
|
|
|
|||
|
|
@ -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)',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ return [
|
|||
],
|
||||
'upload_file' => 'Upload a file',
|
||||
'remote_url' => 'Remote URL',
|
||||
'save' => 'Save',
|
||||
],
|
||||
'play_episode_button' => [
|
||||
'play' => 'Play',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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}',
|
||||
|
|
|
|||
|
|
@ -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)',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ return [
|
|||
],
|
||||
'upload_file' => 'Eine Datei hochladen',
|
||||
'remote_url' => 'Externe URL',
|
||||
'save' => 'Save',
|
||||
],
|
||||
'play_episode_button' => [
|
||||
'play' => 'Abspielen',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
|
|||
|
|
@ -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}',
|
||||
|
|
|
|||
|
|
@ -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!)',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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' => 'ιστοσελίδες',
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ return [
|
|||
],
|
||||
'upload_file' => 'Μεταφορτώστε ένα αρχείο',
|
||||
'remote_url' => 'Απομακρυσμένη διεύθυνση URL',
|
||||
'save' => 'Save',
|
||||
],
|
||||
'play_episode_button' => [
|
||||
'play' => 'Αναπαραγωγή',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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}',
|
||||
|
|
|
|||
|
|
@ -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)',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ return [
|
|||
],
|
||||
'upload_file' => 'Subir un archivo',
|
||||
'remote_url' => 'URL remoto',
|
||||
'save' => 'Save',
|
||||
],
|
||||
'play_episode_button' => [
|
||||
'play' => 'Reproducir',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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}',
|
||||
|
|
|
|||
|
|
@ -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%)',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ return [
|
|||
],
|
||||
'upload_file' => 'Upload a file',
|
||||
'remote_url' => 'Remote URL',
|
||||
'save' => 'Save',
|
||||
],
|
||||
'play_episode_button' => [
|
||||
'play' => 'Play',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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}',
|
||||
|
|
|
|||
|
|
@ -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)',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ return [
|
|||
],
|
||||
'upload_file' => 'Téléversez un fichier',
|
||||
'remote_url' => 'URL distante',
|
||||
'save' => 'Save',
|
||||
],
|
||||
'play_episode_button' => [
|
||||
'play' => 'Lire',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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}',
|
||||
|
|
|
|||
|
|
@ -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)',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ return [
|
|||
],
|
||||
'upload_file' => 'Téléverser un fichier',
|
||||
'remote_url' => 'URL distante',
|
||||
'save' => 'Save',
|
||||
],
|
||||
'play_episode_button' => [
|
||||
'play' => 'Lire',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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}',
|
||||
|
|
|
|||
|
|
@ -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)',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ return [
|
|||
],
|
||||
'upload_file' => 'Upload a file',
|
||||
'remote_url' => 'Remote URL',
|
||||
'save' => 'Save',
|
||||
],
|
||||
'play_episode_button' => [
|
||||
'play' => 'Play',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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}',
|
||||
|
|
|
|||
|
|
@ -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)',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ return [
|
|||
],
|
||||
'upload_file' => 'Upload a file',
|
||||
'remote_url' => 'Remote URL',
|
||||
'save' => 'Save',
|
||||
],
|
||||
'play_episode_button' => [
|
||||
'play' => 'Play',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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}',
|
||||
|
|
|
|||
|
|
@ -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)',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ return [
|
|||
],
|
||||
'upload_file' => 'Subir un ficheiro',
|
||||
'remote_url' => 'URL remoto',
|
||||
'save' => 'Save',
|
||||
],
|
||||
'play_episode_button' => [
|
||||
'play' => 'Reproducir',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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}',
|
||||
|
|
|
|||
|
|
@ -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)',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ return [
|
|||
],
|
||||
'upload_file' => 'Upload a file',
|
||||
'remote_url' => 'Remote URL',
|
||||
'save' => 'Save',
|
||||
],
|
||||
'play_episode_button' => [
|
||||
'play' => 'Play',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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}',
|
||||
|
|
|
|||
|
|
@ -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)',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue