chore: new Crowdin updates

This commit is contained in:
crowdin 2022-07-04 13:27:21 +00:00 committed by Yassine Doghri
parent 3ce6541003
commit 9843ce3882
288 changed files with 9149 additions and 867 deletions

View File

@ -29,5 +29,6 @@ return [
other {# comments}
}',
'all_podcast_episodes' => 'كافة حلقات البودكاست',
'episodes_recycle_bin' => 'Recycle bin',
'back_to_podcast' => 'العودة إلى البودكاست',
];

View File

@ -38,5 +38,6 @@ return [
other {# evezhiadenn}
}',
'all_podcast_episodes' => 'Holl rannoù ar podkast',
'episodes_recycle_bin' => 'Poubellenn',
'back_to_podcast' => 'Mont d\'ar podkast en-dro',
];

View File

@ -23,44 +23,44 @@ return [
other {# heulier·ez}
}',
'posts' => '{numberOfPosts, plural,
0 {kemennadenn ebet}
1 {# gemennadenn}
2 {# gemennadenn}
3 {# c\'hemennadenn}
4 {# c\'hemennadenn}
9 {# c\'hemennadenn}
21 {# gemennadenn}
22 {# gemennadenn}
23 {# c\'hemennadenn}
24 {# c\'hemennadenn}
29 {# c\'hemennadenn}
31 {# gemennadenn}
32 {# gemennadenn}
33 {# c\'hemennadenn}
34 {# c\'hemennadenn}
39 {# c\'hemennadenn}
41 {# gemennadenn}
42 {# gemennadenn}
43 {# c\'hemennadenn}
44 {# c\'hemennadenn}
49 {# c\'hemennadenn}
51 {# gemennadenn}
52 {# gemennadenn}
53 {# c\'hemennadenn}
54 {# c\'hemennadenn}
59 {# c\'hemennadenn}
61 {# gemennadenn}
62 {# gemennadenn}
63 {# c\'hemennadenn}
64 {# c\'hemennadenn}
69 {# c\'hemennadenn}
81 {# gemennadenn}
82 {# gemennadenn}
83 {# c\'hemennadenn}
84 {# c\'hemennadenn}
89 {# c\'hemennadenn}
other {# kemennadenn}
}',
0 {kemennadenn ebet}
1 {# gemennadenn}
2 {# gemennadenn}
3 {# c\'hemennadenn}
4 {# c\'hemennadenn}
9 {# c\'hemennadenn}
other {# kemennadenn}
21 {# gemennadenn}
22 {# gemennadenn}
23 {# c\'hemennadenn}
24 {# c\'hemennadenn}
29 {# c\'hemennadenn}
31 {# gemennadenn}
32 {# gemennadenn}
33 {# c\'hemennadenn}
34 {# c\'hemennadenn}
39 {# c\'hemennadenn}
41 {# gemennadenn}
42 {# gemennadenn}
43 {# c\'hemennadenn}
44 {# c\'hemennadenn}
49 {# c\'hemennadenn}
51 {# gemennadenn}
52 {# gemennadenn}
53 {# c\'hemennadenn}
54 {# c\'hemennadenn}
59 {# c\'hemennadenn}
61 {# gemennadenn}
62 {# gemennadenn}
63 {# c\'hemennadenn}
64 {# c\'hemennadenn}
69 {# c\'hemennadenn}
81 {# gemennadenn}
82 {# gemennadenn}
83 {# c\'hemennadenn}
84 {# c\'hemennadenn}
89 {# c\'hemennadenn}
}',
'activity' => 'Oberiantiz',
'episodes' => 'Rannoù',
'episodes_title' => 'Rannoù {podcastTitle}',
@ -68,50 +68,50 @@ return [
'stats' => [
'title' => 'Stadegoù',
'number_of_seasons' => '{0, plural,
0 {koulzad ebet}
1 {# c\'houlzad}
2 {# goulzad}
3 {# c\'houlzad}
4 {# c\'houlzad}
9 {# c\'houlzad}
21 {# c\'houlzad}
22 {# goulzad}
23 {# c\'houlzad}
24 {# c\'houlzad}
29 {# c\'houlzad}
31 {# c\'houlzad}
32 {# goulzad}
33 {# c\'houlzad}
34 {# c\'houlzad}
39 {# c\'houlzad}
41 {# c\'houlzad}
42 {# goulzad}
43 {# c\'houlzad}
44 {# c\'houlzad}
49 {# c\'houlzad}
51 {# c\'houlzad}
52 {# goulzad}
53 {# c\'houlzad}
54 {# c\'houlzad}
59 {# c\'houlzad}
61 {# c\'houlzad}
62 {# goulzad}
63 {# c\'houlzad}
64 {# c\'houlzad}
69 {# c\'houlzad}
81 {# c\'houlzad}
82 {# goulzad}
83 {# c\'houlzad}
84 {# c\'houlzad}
89 {# c\'houlzad}
other {# koulzad}
}',
0 {koulzad ebet}
1 {# c\'houlzad}
2 {# goulzad}
3 {# c\'houlzad}
4 {# c\'houlzad}
9 {# c\'houlzad}
other {# koulzad}
21 {# c\'houlzad}
22 {# goulzad}
23 {# c\'houlzad}
24 {# c\'houlzad}
29 {# c\'houlzad}
31 {# c\'houlzad}
32 {# goulzad}
33 {# c\'houlzad}
34 {# c\'houlzad}
39 {# c\'houlzad}
41 {# c\'houlzad}
42 {# goulzad}
43 {# c\'houlzad}
44 {# c\'houlzad}
49 {# c\'houlzad}
51 {# c\'houlzad}
52 {# goulzad}
53 {# c\'houlzad}
54 {# c\'houlzad}
59 {# c\'houlzad}
61 {# c\'houlzad}
62 {# goulzad}
63 {# c\'houlzad}
64 {# c\'houlzad}
69 {# c\'houlzad}
81 {# c\'houlzad}
82 {# goulzad}
83 {# c\'houlzad}
84 {# c\'houlzad}
89 {# c\'houlzad}
}',
'number_of_episodes' => '{0, plural,
0 {rann ebet}
one {# rann}
other {# rann}
}',
'first_published_at' => 'Embannet eo bet ar rann gentañ d\'an/d\'ar{0, date, medium}',
0 {rann ebet}
one {# rann}
other {# rann}
}',
'first_published_at' => 'Embannet eo bet ar rann gentañ d\'ar/d\'an {0, date, medium}',
],
'sponsor' => 'Harpit',
'funding_links' => 'Liammoù evit arc\'hantaouiñ {podcastTitle}',

View File

@ -19,7 +19,7 @@ return [
one {# Person}
other {# Personen}
}',
'persons_list' => 'Personen',
'persons_list' => 'Mitwirkende',
'back_to_episodes' => 'Zurück zu Folgen von {podcast}',
'comments' => 'Kommentare',
'activity' => 'Aktivitäten',
@ -29,5 +29,6 @@ return [
other {# Kommentare}
}',
'all_podcast_episodes' => 'Alle Podcast-Folgen',
'episodes_recycle_bin' => 'Papierkorb',
'back_to_podcast' => 'Zurück zum Podcast',
];

View File

@ -9,7 +9,7 @@ declare(strict_types=1);
*/
return [
'feed' => 'RSS-feed',
'feed' => 'RSS-Feed',
'season' => 'Staffel {seasonNumber}',
'list_of_episodes_year' => '{year} Folgen ({episodeCount})',
'list_of_episodes_season' =>
@ -18,28 +18,28 @@ return [
'follow' => 'Folgen',
'followTitle' => 'Folge {actorDisplayName} im Fediversum',
'followers' => '{numberOfFollowers, plural,
one {# Follower}
other {# Follower}
one {# follower}
other {# followers}
}',
'posts' => '{numberOfPosts, plural,
one {# Beitrag}
other {# Beiträge}
one {# post}
other {# posts}
}',
'activity' => 'Aktivitäten',
'episodes' => 'Folgen',
'episodes' => 'Episoden',
'episodes_title' => 'Folgen von {podcastTitle}',
'about' => 'Über',
'stats' => [
'title' => 'Statistiken',
'number_of_seasons' => '{0, plural,
one {# Staffel}
other {# Staffeln}
one {# season}
other {# seasons}
}',
'number_of_episodes' => '{0, plural,
one {# Folge}
other {# Folgen}
one {# episode}
other {# episodes}
}',
'first_published_at' => 'Erste Folge veröffentlicht am {0, date, medium}',
'first_published_at' => 'Erste Episode veröffentlicht am {0, date, medium}',
],
'sponsor' => 'Unterstützer',
'funding_links' => 'Links zur Finanzierung von {podcastTitle}',
@ -49,5 +49,5 @@ return [
one {# Person}
other {# Personen}
}',
'persons_list' => 'Personen',
'persons_list' => 'Mitwirkende',
];

View File

@ -15,8 +15,8 @@ return [
'reply_to' => 'Antorten auf @{actorUsername}',
'form' => [
'message_placeholder' => 'Scheibe eine Nachricht…',
'episode_message_placeholder' => 'Schreibe eine Nachricht für die Folge…',
'episode_url_placeholder' => 'URL der Folge',
'episode_message_placeholder' => 'Schreibe eine Nachricht für die Episode…',
'episode_url_placeholder' => 'URL der Episode',
'reply_to_placeholder' => 'Antworten auf @{actorUsername}',
'submit' => 'Senden',
'submit_reply' => 'Antwort senden',

View File

@ -29,5 +29,6 @@ return [
other {# σχόλια}
}',
'all_podcast_episodes' => 'Όλα τα επεισόδια του podcast',
'episodes_recycle_bin' => 'Κάδος Aνακύκλωσης',
'back_to_podcast' => 'Μετάβαση πίσω στο podcast',
];

View File

@ -32,8 +32,8 @@ return [
'stats' => [
'title' => 'Στατιστικά',
'number_of_seasons' => '{0, plural,
one {# σεζόν}
other {# σεζόνς}
one {# κύκλος}
other {# κύκλοι}
}',
'number_of_episodes' => '{0, plural,
one {# επισόδειο}

View File

@ -29,5 +29,6 @@ return [
other {# comentarios}
}',
'all_podcast_episodes' => 'Todos los episodios del podcast',
'episodes_recycle_bin' => 'Papelera de reciclaje',
'back_to_podcast' => 'Regresar al podcast',
];

View File

@ -39,7 +39,7 @@ return [
one {# episodio}
other {# episodios}
}',
'first_published_at' => 'Primer episodio publicado en {0, date, medium}',
'first_published_at' => 'Primer episodio publicado el {0, date, medium}',
],
'sponsor' => 'Patrocinador',
'funding_links' => 'Enlaces de financiación para {podcastTitle}',

View 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',
];

View File

@ -0,0 +1,29 @@
<?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',
];

View 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 [
'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',
'episodes_recycle_bin' => 'Recycle bin',
'back_to_podcast' => 'Go back to podcast',
];

View 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/fa/Home.php Normal file
View 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/fa/Page.php Normal file
View 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.',
],
];

View File

@ -0,0 +1,53 @@
<?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}
}',
'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',
];

40
app/Language/fa/Post.php Normal file
View 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',
];

View File

@ -29,5 +29,6 @@ return [
other {# commentaires}
}',
'all_podcast_episodes' => 'Tous les épisodes du podcast',
'episodes_recycle_bin' => 'Recycle bin',
'back_to_podcast' => 'Revenir au podcast',
];

View File

@ -0,0 +1,38 @@
<?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' => "Am beachd aig {actorDisplayName} air {episodeTitle}",
'back_to_comments' => 'Air ais dha na beachdan',
'form' => [
'episode_message_placeholder' => 'Sgrìobh beachd…',
'reply_to_placeholder' => 'Freagair gu @{actorUsername}',
'submit' => 'Cuir',
'submit_reply' => 'Freagair',
],
'likes' => '{numberOfLikes, plural,
one {# annsachd}
two {# annsachd}
few {# annsachdan}
other {# annsachd}
}',
'replies' => '{numberOfReplies, plural,
one {# fhreagairt}
two {# fhreagairt}
few {# freagairtean}
other {# freagairt}
}',
'like' => 'Cuir ris na h-annsachdan',
'reply' => 'Freagair',
'view_replies' => 'Seall na freagairtean ({numberOfReplies})',
'block_actor' => 'Bac an cleachdaiche @{actorUsername}',
'block_domain' => 'Bac an àrainn @{actorDomain}',
'delete' => 'Sguab às am beachd',
];

View File

@ -0,0 +1,29 @@
<?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' => 'Tha',
'no' => 'Chan eil',
'cancel' => 'Sguir dheth',
'optional' => 'Roghainneil',
'close' => 'Dùin',
'home' => 'Dachaigh',
'explicit' => 'Frionasach',
'powered_by' => 'Le cumhachd {castopod}',
'go_back' => 'Air ais',
'play_episode_button' => [
'play' => 'Cluich',
'playing' => 'Ga chluich',
],
'read_more' => 'Leugh an còrr',
'read_less' => 'Leugh nas lugha dheth',
'see_more' => 'Seall barrachd dheth',
'see_less' => 'Seall nas lugha dheth',
];

View File

@ -0,0 +1,38 @@
<?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' => 'Seusan {seasonNumber}',
'season_abbr' => 'S{seasonNumber}',
'number' => 'Eapasod {episodeNumber}',
'number_abbr' => 'Eap. {episodeNumber}',
'season_episode' => 'Seusan {seasonNumber} eapasod {episodeNumber}',
'season_episode_abbr' => 'S{seasonNumber}:E{episodeNumber}',
'persons' => '{personsCount, plural,
one {# neach}
two {# dhuine}
few {# daoine}
other {# duine}
}',
'persons_list' => 'Daoine',
'back_to_episodes' => 'Air ais dha na h-eapasodan aig {podcast}',
'comments' => 'Beachdan',
'activity' => 'Gnìomhachd',
'description' => 'Tuairisgeul an eapasoid',
'number_of_comments' => '{numberOfComments, plural,
one {# bheachd}
two {# bheachd}
few {# beachdan}
other {# beachd}
}',
'all_podcast_episodes' => 'A h-uile eapasod a phod-chraolaidh',
'episodes_recycle_bin' => 'Am biona',
'back_to_podcast' => 'Air ais dhan phod-chraoladh',
];

View 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' => 'An t-aithnichear agad',
'your_handle_hint' => 'Cuir a-steach an @ainm_cleachdaiche@àrainn leis a ghabhas tu gnìomh.',
'follow' => [
'label' => 'Lean air',
'title' => 'Lean air {actorDisplayName}',
'subtitle' => 'Tha thu gu bhith leantainn air:',
'accountNotFound' => 'Cha deach an cunntas a lorg.',
'remoteFollowNotAllowed' => 'Tha coltas nach gabh am frithealaiche ri leantainn chèin…',
'submit' => 'Lean air adhart gus leantainn air',
],
'favourite' => [
'title' => "Cuir am post aig {actorDisplayName} ris na h-annsachdan",
'subtitle' => 'Cuiridh tu seo ris na h-annsachdan:',
'submit' => 'Lean air adhart gus a chur ris na h-annsachdan',
],
'reblog' => [
'title' => "Co-roinn am post aig {actorDisplayName}",
'subtitle' => 'Tha thu gu bhith co-roinneadh:',
'submit' => 'Lean air adhart gus a cho-roinneadh',
],
'reply' => [
'title' => "Freagair dhan phost aig {actorDisplayName}",
'subtitle' => 'Tha thu gu bhith freagairt gu:',
'submit' => 'Lean air adhart gus freagairt dha',
],
];

20
app/Language/gd/Home.php Normal file
View 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' => 'A h-uile pod-chraoladh',
'sort_by' => 'Seòrsaich a-rèir',
'sort_options' => [
'activity' => 'A ghnìomhachd as ùire',
'created_desc' => 'As ùire an toiseach',
'created_asc' => 'As sine an toiseach',
],
'no_podcast' => 'Cha deach pod-chraoladh a lorg',
];

17
app/Language/gd/Page.php Normal file
View 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' => 'Dhachaigh',
'map' => [
'title' => 'Mapa',
'description' => 'Lorg eapasodan pod-chraolaidh air {siteName} a chaidh a chur air a mhapa! Seòl am mapa is èist ri eapasodan a bhruidhneas mu àitichean sònraichte.',
],
];

View File

@ -0,0 +1,63 @@
<?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' => 'Inbhir RSS a pod-chraolaidh',
'season' => 'Seusan {seasonNumber}',
'list_of_episodes_year' => 'Eapasodan {year} ({episodeCount})',
'list_of_episodes_season' =>
'Eapasodan seusan {seasonNumber} ({episodeCount})',
'no_episode' => 'Cha deach eapasod a lorg!',
'follow' => 'Lean air',
'followTitle' => 'Lean air {actorDisplayName} sa cho-shaoghal!',
'followers' => '{numberOfFollowers, plural,
one {# neach-leantainn}
two {# luchd-leantainn}
few {# luchd-leantainn}
other {# luchd-leantainn}
}',
'posts' => '{numberOfPosts, plural,
one {# phost}
two {# phost}
few {# postaichean}
other {# post}
}',
'activity' => 'Gnìomhachd',
'episodes' => 'Eapasodan',
'episodes_title' => 'Eapasodan aig {podcastTitle}',
'about' => 'Mu dhèidhinn',
'stats' => [
'title' => 'Stadastaireachd',
'number_of_seasons' => '{0, plural,
one {# seusan}
two {# sheusan}
few {# seusanan}
other {# seusan}
}',
'number_of_episodes' => '{0, plural,
one {# eapasod}
two {# eapasod}
few {# eapasodan}
other {# eapasod}
}',
'first_published_at' => 'Chaidh a chiad eapasod fhoillseachadh {0, date, medium}',
],
'sponsor' => 'Taic maoineachaidh',
'funding_links' => 'Ceanglaichean maoineachaidh dha {podcastTitle}',
'find_on' => 'Lorg {podcastTitle} air',
'listen_on' => 'Èist ris air',
'persons' => '{personsCount, plural,
one {# neach}
two {# dhuine}
few {# daoine}
other {# duine}
}',
'persons_list' => 'Daoine',
];

46
app/Language/gd/Post.php Normal file
View File

@ -0,0 +1,46 @@
<?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' => "Post aig {actorDisplayName}",
'back_to_actor_posts' => 'Air ais gu postaichean {actor}',
'actor_shared' => 'Cho-roinn {actor}',
'reply_to' => 'Freagair gu @{actorUsername}',
'form' => [
'message_placeholder' => 'Sgrìobh teachdaireachd…',
'episode_message_placeholder' => 'Sgrìobh teachdaireachd dhan eapasod',
'episode_url_placeholder' => 'URL an eapasoid',
'reply_to_placeholder' => 'Freagair gu @{actorUsername}',
'submit' => 'Cuir',
'submit_reply' => 'Freagair',
],
'favourites' => '{numberOfFavourites, plural,
one {# annsachd}
two {# annsachd}
few {# annsachdan}
other {# annsachd}
}',
'reblogs' => '{numberOfReblogs, plural,
one {# cho-roinneadh}
two {# cho-roinneadh}
few {# co-roinnidhean}
other {# co-roinneadh}
}',
'replies' => '{numberOfReplies, plural,
one {# fhreagairt}
two {# fhreagairt}
few {# freagairtean}
other {# freagairt}
}',
'expand' => 'Leudaich am post',
'block_actor' => 'Bac an cleachdaiche @{actorUsername}',
'block_domain' => 'Bac an àrainn @{actorDomain}',
'delete' => 'Sguab às am post',
];

View File

@ -29,5 +29,6 @@ return [
other {# comments}
}',
'all_podcast_episodes' => 'All podcast episodes',
'episodes_recycle_bin' => 'Recycle bin',
'back_to_podcast' => 'Go back to podcast',
];

View File

@ -29,5 +29,6 @@ return [
other {# comments}
}',
'all_podcast_episodes' => 'All podcast episodes',
'episodes_recycle_bin' => 'Recycle bin',
'back_to_podcast' => 'Go back to podcast',
];

View File

@ -29,5 +29,6 @@ return [
other {# reacties}
}',
'all_podcast_episodes' => 'Alle podcast afleveringen',
'episodes_recycle_bin' => 'Recycle bin',
'back_to_podcast' => 'Terug naar podcast',
];

View File

@ -18,12 +18,12 @@ return [
'follow' => 'Abonneer',
'followTitle' => 'Abonneer op {actorDisplayName} via de fediverse!',
'followers' => '{numberOfFollowers, plural,
one {# abonnee}
other {# abonnees}
one {# follower}
other {# followers}
}',
'posts' => '{numberOfPosts, plural,
one {# bericht}
other {# berichten}
one {# post}
other {# posts}
}',
'activity' => 'Activiteit',
'episodes' => 'Afleveringen',
@ -32,14 +32,14 @@ return [
'stats' => [
'title' => 'Statistieken',
'number_of_seasons' => '{0, plural,
one {# seizoen}
other {# seizoenen}
one {# season}
other {# seasons}
}',
'number_of_episodes' => '{0, plural,
one {# aflevering}
other {# afleveringen}
one {# episode}
other {# episodes}
}',
'first_published_at' => 'Eerste aflevering gepubliceerd op {0, date, medium}',
'first_published_at' => 'First episode published on {0, date, medium}',
],
'sponsor' => 'Sponsor',
'funding_links' => 'Financiering links voor {podcastTitle}',

View File

@ -29,5 +29,6 @@ return [
other {# kommentarar}
}',
'all_podcast_episodes' => 'Alle podkast-episodane',
'episodes_recycle_bin' => 'Recycle bin',
'back_to_podcast' => 'Gå tilbake til podkasten',
];

View File

@ -18,12 +18,12 @@ return [
'follow' => 'Fylg',
'followTitle' => 'Fylg {actorDisplayName} på fødiverset!',
'followers' => '{numberOfFollowers, plural,
one {# fylgjar}
other {# fylgjarar}
one {# follower}
other {# followers}
}',
'posts' => '{numberOfPosts, plural,
one {# innlegg}
other {# innlegg}
one {# post}
other {# posts}
}',
'activity' => 'Aktivitet',
'episodes' => 'Episodar',
@ -32,14 +32,14 @@ return [
'stats' => [
'title' => 'Statistikk',
'number_of_seasons' => '{0, plural,
one {# sesong}
other {# sesongar}
one {# season}
other {# seasons}
}',
'number_of_episodes' => '{0, plural,
one {# episode}
other {# episodar}
other {# episodes}
}',
'first_published_at' => 'Den fyrste episoden vart lagt ut {0, date, medium}',
'first_published_at' => 'First episode published on {0, date, medium}',
],
'sponsor' => 'Sponsor',
'funding_links' => 'Finansieringslenker for {podcastTitle}',

View File

@ -29,5 +29,6 @@ return [
other {# comments}
}',
'all_podcast_episodes' => 'All podcast episodes',
'episodes_recycle_bin' => 'Recycle bin',
'back_to_podcast' => 'Go back to podcast',
];

View File

@ -31,5 +31,6 @@ return [
other {# komentarzy}
}',
'all_podcast_episodes' => 'Wszystkie odcinki podcastu',
'episodes_recycle_bin' => 'Recycle bin',
'back_to_podcast' => 'Wróć do podkastu',
];

View File

@ -18,13 +18,12 @@ return [
'follow' => 'Obserwuj',
'followTitle' => 'Obserwuj {actorDisplayName} na fediverse!',
'followers' => '{numberOfFollowers, plural,
one {# obserwujący}
other {# obserwujących}
one {# follower}
other {# followers}
}',
'posts' => '{numberOfPosts, plural,
one {# wpis}
few {# wpisy}
other {# wpisów}
one {# post}
other {# posts}
}',
'activity' => 'Aktywność',
'episodes' => 'Odcinki',
@ -33,16 +32,14 @@ return [
'stats' => [
'title' => 'Statystyki',
'number_of_seasons' => '{0, plural,
one {# sezon}
few{# sezony}
other {# sezonów}
one {# season}
other {# seasons}
}',
'number_of_episodes' => '{0, plural,
one {# odcinek}
few {# odcinki}
other {# odcinków}
one {# episode}
other {# episodes}
}',
'first_published_at' => 'Pierwszy odcinek opublikowany {0, date, medium}',
'first_published_at' => 'First episode published on {0, date, medium}',
],
'sponsor' => 'Sponsoruj',
'funding_links' => 'Linki finansowania dla {podcastTitle}',

View File

@ -29,5 +29,6 @@ return [
other {# comentários}
}',
'all_podcast_episodes' => 'Todos os episódios de podcast',
'episodes_recycle_bin' => 'Lixeira',
'back_to_podcast' => 'Voltar para o podcast',
];

View File

@ -41,7 +41,7 @@ return [
}',
'first_published_at' => 'Primeiro episódio publicado em {0, date, medium}',
],
'sponsor' => 'Patrocinador',
'sponsor' => 'Apoiar',
'funding_links' => 'Links de financiamento para {podcastTitle}',
'find_on' => 'Encontrar {podcastTitle} em',
'listen_on' => 'Ouvir em',

View File

@ -29,5 +29,6 @@ return [
other {# comments}
}',
'all_podcast_episodes' => 'All podcast episodes',
'episodes_recycle_bin' => 'Recycle bin',
'back_to_podcast' => 'Go back to podcast',
];

View File

@ -33,5 +33,6 @@ return [
other {# комментариев}
}',
'all_podcast_episodes' => 'Все выпуски подкаста',
'episodes_recycle_bin' => 'Recycle bin',
'back_to_podcast' => 'Вернуться к подкасту',
];

View File

@ -18,16 +18,12 @@ return [
'follow' => 'Подписаться',
'followTitle' => 'Подпишитесь на {actorDisplayName} в федивёрсе!',
'followers' => '{numberOfFollowers, plural,
one {# подписчик}
few {# подписчики}
many {# подписчики}
other {# подписчики}
one {# follower}
other {# followers}
}',
'posts' => '{numberOfPosts, plural,
one {# пост}
few {# постов}
many {# постов}
other {# постов}
one {# post}
other {# posts}
}',
'activity' => 'Активность',
'episodes' => 'Выпуски',
@ -36,18 +32,14 @@ return [
'stats' => [
'title' => 'Статистика',
'number_of_seasons' => '{0, plural,
one {# сезон}
few {# сезоны}
many {# сезоны}
other {# сезоны}
one {# season}
other {# seasons}
}',
'number_of_episodes' => '{0, plural,
one {# эпизод}
few {# эпизодов}
many {# эпизодов}
other {# эпизодов}
one {# episode}
other {# episodes}
}',
'first_published_at' => 'Первый эпизод опубликован {0, date, medium}',
'first_published_at' => 'First episode published on {0, date, medium}',
],
'sponsor' => 'Спонсор',
'funding_links' => 'Ссылки на финансирование для {podcastTitle}',

View 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' => 'Späť na komentáre',
'form' => [
'episode_message_placeholder' => 'Napísať komentár…',
'reply_to_placeholder' => 'Reply to @{actorUsername}',
'submit' => 'Poslať',
'submit_reply' => 'Odpovedať',
],
'likes' => '{numberOfLikes, plural,
one {# like}
other {# likes}
}',
'replies' => '{numberOfReplies, plural,
one {# reply}
other {# replies}
}',
'like' => 'Obľúbené',
'reply' => 'Odpovedať',
'view_replies' => 'Ukázať odpoved/e ({numberOfReplies})',
'block_actor' => 'Blokovať užívateľa @{actorUsername}',
'block_domain' => 'Blokovať doménu @{actorDomain}',
'delete' => 'Vymazať komentár',
];

View File

@ -0,0 +1,29 @@
<?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' => 'Áno',
'no' => 'Nie',
'cancel' => 'Zrušiť',
'optional' => 'Voliteľné',
'close' => 'Zavrieť',
'home' => 'Domov',
'explicit' => 'Chúlostivé',
'powered_by' => 'Poháňané cez {castopod}',
'go_back' => 'Ísť späť',
'play_episode_button' => [
'play' => 'Prehrať',
'playing' => 'Prehrávané',
],
'read_more' => 'Čítať viac',
'read_less' => 'Zobraziť menej',
'see_more' => 'Pozrieť viac',
'see_less' => 'Pozrieť menej',
];

View 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 [
'season' => 'Séria {seasonNumber}',
'season_abbr' => 'S{seasonNumber}',
'number' => 'Epizóda {episodeNumber}',
'number_abbr' => 'Ep. {episodeNumber}',
'season_episode' => 'Sezóna {seasonNumber} epizóda {episodeNumber}',
'season_episode_abbr' => 'S{seasonNumber}:E{episodeNumber}',
'persons' => '{personsCount, plural,
one {# person}
other {# persons}
}',
'persons_list' => 'Persons',
'back_to_episodes' => 'Späť k epizódam {podcast}',
'comments' => 'Komentáre',
'activity' => 'Aktivita',
'description' => 'Popis epizódy',
'number_of_comments' => '{numberOfComments, plural,
one {# comment}
other {# comments}
}',
'all_podcast_episodes' => 'Všetky epizódy podcastu',
'episodes_recycle_bin' => 'Kôš',
'back_to_podcast' => 'Späť na podcast',
];

View 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' => 'Vaša prezývka',
'your_handle_hint' => 'Enter the @username@domain you want to act from.',
'follow' => [
'label' => 'Nasledovať',
'title' => 'Nasledovať {actorDisplayName}',
'subtitle' => 'Budete nasledovať:',
'accountNotFound' => 'Účet nemožno nájsť.',
'remoteFollowNotAllowed' => 'Seems like the account server does not allow remote follows…',
'submit' => 'Pokračovať k nasledovaniu',
],
'favourite' => [
'title' => "Obľúbiť si príspevok od {actorDisplayName}",
'subtitle' => 'Idete si obľúbiť:',
'submit' => 'Pokračovať k obľúbeniu',
],
'reblog' => [
'title' => "Zdieľať príspevok od {actorDisplayName}",
'subtitle' => 'Budete zdieľať:',
'submit' => 'Pokračovať pre zdieľanie',
],
'reply' => [
'title' => "Odpovedať na príspevok od {actorDisplayName}",
'subtitle' => 'Idete odpovedať na:',
'submit' => 'Pokračovať k odpovedi',
],
];

20
app/Language/sk/Home.php Normal file
View 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' => 'Všetky podcasty',
'sort_by' => 'Zoradiť podľa',
'sort_options' => [
'activity' => 'Nedávna aktivita',
'created_desc' => 'Od najnovšieho',
'created_asc' => 'Od najstaršieho',
],
'no_podcast' => 'Žiadne podcasty nenájdené',
];

17
app/Language/sk/Page.php Normal file
View 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' => 'Späť na úvod',
'map' => [
'title' => 'Mapa',
'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.',
],
];

View File

@ -0,0 +1,53 @@
<?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 zdroj podcastu',
'season' => 'Séria {seasonNumber}',
'list_of_episodes_year' => '{year} epizódy ({episodeCount})',
'list_of_episodes_season' =>
'Sezóna {seasonNumber} epizódy ({episodeCount})',
'no_episode' => 'Žiadne epizódy nenájdené!',
'follow' => 'Nasledovať',
'followTitle' => 'Nasledovať {actorDisplayName} na fediverse!',
'followers' => '{numberOfFollowers, plural,
one {# follower}
other {# followers}
}',
'posts' => '{numberOfPosts, plural,
one {# post}
other {# posts}
}',
'activity' => 'Aktivita',
'episodes' => 'Epizódy',
'episodes_title' => 'Epizódy {podcastTitle}',
'about' => 'O',
'stats' => [
'title' => 'Štatistiky',
'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' => 'Sponzor',
'funding_links' => 'Funding links for {podcastTitle}',
'find_on' => 'Find {podcastTitle} on',
'listen_on' => 'Počúvajte na',
'persons' => '{personsCount, plural,
one {# person}
other {# persons}
}',
'persons_list' => 'Persons',
];

40
app/Language/sk/Post.php Normal file
View 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' => 'Vymazať príspevok',
];

View File

@ -29,5 +29,6 @@ return [
other {# comments}
}',
'all_podcast_episodes' => 'All podcast episodes',
'episodes_recycle_bin' => 'Recycle bin',
'back_to_podcast' => 'Go back to podcast',
];

View File

@ -8,6 +8,14 @@ sidebarDepth: 3
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.
::: info Note
This section of the documentation will help you set up Castopod for production.
If you are looking to partake in the development of Castopod, you may skip to
the contributing section.
:::
## Requirements
- PHP v8.0 or higher
@ -35,7 +43,7 @@ Additionally, make sure that the following extensions are enabled in your PHP:
> We recommend using [MariaDB](https://mariadb.org).
::: warning
::: 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

View File

@ -8,6 +8,14 @@ sidebarDepth: 3
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.
::: info Note
This section of the documentation will help you set up Castopod for production.
If you are looking to partake in the development of Castopod, you may skip to
the contributing section.
:::
## Requirements
- PHP v8.0 or higher
@ -35,7 +43,7 @@ Additionally, make sure that the following extensions are enabled in your PHP:
> We recommend using [MariaDB](https://mariadb.org).
::: warning
::: 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

View File

@ -8,6 +8,14 @@ sidebarDepth: 3
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.
::: info Note
This section of the documentation will help you set up Castopod for production.
If you are looking to partake in the development of Castopod, you may skip to
the contributing section.
:::
## Requirements
- PHP v8.0 or higher
@ -35,7 +43,7 @@ Additionally, make sure that the following extensions are enabled in your PHP:
> We recommend using [MariaDB](https://mariadb.org).
::: warning
::: 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

View File

@ -8,6 +8,14 @@ sidebarDepth: 3
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.
::: info Note
This section of the documentation will help you set up Castopod for production.
If you are looking to partake in the development of Castopod, you may skip to
the contributing section.
:::
## Requirements
- PHP v8.0 or higher
@ -35,7 +43,7 @@ Additionally, make sure that the following extensions are enabled in your PHP:
> We recommend using [MariaDB](https://mariadb.org).
::: warning
::: 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

View File

@ -2,36 +2,37 @@
sidebarDepth: 2
---
# Welcome 👋
# Καλώς Ήλθατε 👋
[![release-badge]][release]&nbsp;[![license-badge]][license]&nbsp;[![contributions-badge]][contributions]&nbsp;[![semantic-release-badge]][semantic-release]&nbsp;[![crowdin-badge]][crowdin]&nbsp;[![discord-badge]][discord]&nbsp;[![stars-badge]][stars]
Castopod is a free & open-source hosting platform made for podcasters who want
engage and interact with their audience.
Το Castopod είναι μια δωρεάν & ανοικτού κώδικα πλατφόρμα φιλοξενίας podcast που
κατασκευάζεται για podcasters που θέλουν να συμμετάσχουν και να αλληλεπιδράσουν
με το κοινό τους.
Castopod is easy to install and was built on top of
[CodeIgniter4](https://codeigniter.com/), a powerful PHP framework with a very
small footprint.
Το Castopod είναι εύκολο στην εγκατάσταση και χτίστηκε με το
[CodeIgniter4](https://codeigniter.com/), ένα ισχυρό PHP framework με ένα πολύ
μικρό αποτύπωμα.
::: info Status
::: πληροφορίες κατάστασης
Castopod is currently in **beta** but already quite stable and used by
podcasters around&nbsp;the&nbsp;world!
Το Castopod είναι επί του παρόντος σε **beta** αλλά ήδη αρκετά σταθερό και
χρησιμοποιείται από podcasters γύρω από&nbsp;τον&nbsp;κόσμο!
:::
<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>
<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">Εγκατάσταση<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
## Χαρακτηριστικά
- 🌱 &nbsp;Free & open-source (AGPL v3 License)
- 🔐 &nbsp;Focused on data sovereignty: your content, audience, and analytics
belong to you, and&nbsp;you&nbsp;only
- 🪄 &nbsp;Podcasting 2.0 features: GUID, locked, transcripts, funding,
chapters, location, persons, soundbites, …
- 💬 &nbsp;Built-in social network:
- 🌱 &nbsp;Δωρεάν & open-source (AGPL v3 License)
- 🔐 &nbsp;Εστιάζει στην κυριαρχία των δεδομένων: το περιεχόμενο, το κοινό και
τα αναλυτικά στοιχεία ανήκουν σε εσάς μόνο
- &nbsp;Podcasting 2.0 χαρακτηριστικά: GUID, κλειδωμένο, μεταγραφές,
χρηματοδότηση, κεφάλαια, τοποθεσία, πρόσωπα, soundbites, …
- 💬 &nbsp;Ενσωματωμένο κοινωνικό δίκτυο:
- 🚀 &nbsp;Castopod is part of the Fediverse, a decentralized social network
- ❤️ &nbsp;Create posts, share, favourite, and comment on episodes
- 📈 &nbsp;Built-in analytics:
@ -60,7 +61,7 @@ podcasters around&nbsp;the&nbsp;world!
- 🌎 &nbsp;i18n support: translated in English, French & Polish with more to
come!
## 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.
@ -201,16 +202,23 @@ backers. If you'd like to help, please consider
[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
[release-badge]:
https://img.shields.io/gitlab/v/release/2?color=brightgreen&gitlab_url=https%3A%2F%2Fcode.castopod.org%2F&include_prereleases&label=release
[license]: https://code.castopod.org/adaures/castopod/-/blob/beta/LICENSE.md
[license-badge]:
https://img.shields.io/github/license/ad-aures/castopod?color=blue
[contributions]: https://code.castopod.org/adaures/castopod/-/issues
[contributions-badge]:
https://img.shields.io/badge/contributions-welcome-brightgreen.svg
[semantic-release]: https://github.com/semantic-release/semantic-release
[semantic-release-badge]:
https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg
[discord]: https://castopod.org/discord
[discord-badge]: https://img.shields.io/badge/chat-on%20discord-7389D8
[stars]: https://github.com/ad-aures/castopod/stargazers
[stars-badge]:
https://img.shields.io/github/stars/ad-aures/castopod?style=social
[crowdin]: https://translate.castopod.org/project/castopod
[crowdin-badge]: https://badges.crowdin.net/castopod/localized.svg

View File

@ -5,138 +5,151 @@ sidebarDepth: 3
# ¿Cómo instalar Castopod?
Castopod era de todas maneras fácil de instalar. Ya sea usando alojamiento
dedicado o compartido, se puede instalar en la mayoría de servidores web
Castopod está pensado para ser fácil de instalar. Ya sea usando un alojamiento
dedicado o compartido, puedes instalarlo en la mayoría de servidores web
compatibles con PHP-MySQL.
## Requirements
::: Nota informativa
- PHP v8.0 or higher
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
- HTTPS support
Esta sección de la documentación te ayudará a configurar Castopod para la
producción. Si estás buscando participar en el desarrollo de Castopod, debes
pasar a la sección de contribuciones.
### PHP v8.0 or higher
:::
PHP version 8.0 or higher is required, with the following extensions installed:
## Requerimientos
- PHP v8.0 o superior
- MySQL versión 5.7 o superior o MariaDB versión 10.2 o superior
- Soporte HTTPS
### PHP v8.0 o superior
Se requiere PHP versión 8.0 o superior con las siguientes extensiones
instaladas:
- [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) con librerias
**JPEG**, **PNG** y **WEBP**.
- [exif](https://www.php.net/manual/en/exif.installation.php)
Additionally, make sure that the following extensions are enabled in your PHP:
Adicionalmente, asegúrate que las siguientes extensiones están habilitadas en tu
PHP:
- json (enabled by default - don't turn it off)
- xml (enabled by default - don't turn it off)
- json (habilitada por defecto - no la desactives)
- xml (habilitada por defecto - no la desactives)
- [mysqlnd](https://php.net/manual/en/mysqlnd.install.php)
### MySQL compatible database
### Base de datos compatible con MySQL
> We recommend using [MariaDB](https://mariadb.org).
> Recomendamos usar [MariaDB](https://mariadb.org).
::: warning
::: aviso Aviso
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 solo funciona con base de datos compatible con MySQL 5.7 o superior. Se
romperá con la version previa MySQL v5.6 por ejemplo, ya que su vida terminó el
5 de febrero de 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.
Necesitarás el nombre del anfitrión del servidor, nombre de la base de datos,
usuario y contraseña para completar el proceso de instalación. Si no los tienes,
por favor, contacta al administrador del servidor.
#### Privileges
#### Privilegios
User must have at least these privileges on the database for Castopod to work:
`CREATE`, `ALTER`, `DELETE`, `EXECUTE`, `INDEX`, `INSERT`, `SELECT`, `UPDATE`.
Los usuarios deben tener al menos estos privilegios en la base de datos para que
Castopod funcione: `CREAR`, `ALTERAR`, `BORRAR`, `EJECUTAR`, `INDICE`,
`INSERTAR`, `SELECCIONAR`, `ACTUALIZAR`.
### (Optional) FFmpeg v4.1.8 or higher for Video Clips
### (Opcional) FFmpeg v4.1.8 o superior para clips de video
[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:
Se requiere [FFmpeg](https://www.ffmpeg.org/) versión 4.1.8 o superior si
quieres general clips de video. Se debe instalar las siguientes extensiones:
- **FreeType 2** library for
- Librería **FreeType 2** para
[gd](https://www.php.net/manual/en/image.installation.php).
### (Optional) Other recommendations
### (Opcional) Otras recomendaciones
- Redis for better cache performances.
- CDN for static files caching and better performances.
- e-mail gateway for lost passwords.
- Redis para mejores rendimientos de caché.
- CDN para almacenamiento en caché de archivos estáticos y mejores rendimientos.
- puerta de enlace de email para pérdidas de contraseña.
## Install instructions
## Instrucciones de instalación
### Pre-requisites
### Prerequisitos
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 havent 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. Consigue un Servidor Web con [requerimientos](#requirements) instalados
1. Crea una base de datos MySQL para Castopod con un usuario que tenga acceso y
privilegios de modificación (para más información, ver
[MySQL base de datos compatible](#mysql-compatible-database)).
2. Activa HTTPS en tu domino con un _certificado SSL_.
3. Descarga y descomprime el último [paquete Castopod](https://castopod.org/) en
el servidor de la web si aún no lo has hecho.
- ⚠️ Establece la raiz del documento del servidor web en la subcarpeta
`pública/` en la carpeta `castopod`.
4. Añade **cron tasks** en tu servidor web para varios procesos en segundo plano
(reemplaza las rutas accorde con):
- For social features to work properly, this task is used to broadcast social
activities to your followers on the fediverse:
- Para que las características sociales funcionen correctamente, esta tarea
se utiliza para transmitir las actividades sociales a tus seguidores en el
Fediverso:
```bash
* * * * * /path/to/php /path/to/castopod/public/index.php scheduled-activities
* * * * * /path/to/php /path/to/castopod/public/index.php actividades programadas
```
- For having your episodes be broadcasted on open hubs upon publication using
[WebSub](https://en.wikipedia.org/wiki/WebSub):
- Para que tus episodios sean transmitidos en hubs abiertos sobre
publicaciones usando [WebSub](https://en.wikipedia.org/wiki/WebSub):
```bash
* * * * * /usr/local/bin/php /castopod/public/index.php scheduled-websub-publish
* * * * * /usr/local/bin/php /castopod/public/index.php publicaciones-websub-programadas
```
- For Video Clips to be created (see
[FFmpeg requirements](#ffmpeg-v418-or-higher-for-video-clips)):
- Para crear Clips de video (ver
[requerimientos FFmpeg ](#ffmpeg-v418-or-higher-for-video-clips)):
```bash
* * * * * /path/to/php /path/to/castopod/public/index.php scheduled-video-clips
* * * * * /path/to/php /path/to/castopod/public/index.php clips-devideo-programados
```
> These tasks run **every minute**. You may set the frequency depending on
> your needs: every 5, 10 minutes or more.
> Estas tareas se ejecutan **cada minuto**. Debes establecer la frecuencia
> dependiendo de tus necesidades: cada 5, 10 minutos o más.
### (recommended) Install Wizard
### (recomendado) Instalar 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.
1. Ejecuta el script de instalación de Castopod yendo a la página de instalación
de wizard (`https://your_domain_name.com/cp-install`) en tu navegador web
preferido.
2. Sigue las instrucciones de la pantalla.
3. ¡Empieza a crear podcasting!
::: Nota de información
::: Nota informativa
El script de instalación escribe un archivo `.env` en la raíz del paquete. If
you cannot go through the install wizard, you can
[create and update the `.env` file manually](#alternative-manual-configuration).
El script de instalación escribe un archivo `.env` en la raiz de paquete. Si no
puedes completar la instalación de wizard, puedes
[crear y actualizar el archivo `.env` manualmente](#alternative-manual-configuration).
:::
## Community packages
## Paquetes de la comunidad
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.
Si no quieres molestarte en instalar Castopod manualmente, puedes usar uno de
los paquetes creados y mantenidos por la comunidad de código abierto.
### Install with YunoHost
### Instalar con 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/) es una distribuidora basada en Debian
GNU/Linux compuesta por paquetes de software libres y de código abierto. 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" />
<img src="https://install-app.yunohost.org/install-with-yunohost.svg" alt="Instalar Castopod con 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
@ -146,18 +159,18 @@ Repo</a>
</div>
### Install with Docker
### Instalar con Docker
If you wish to use Docker to install Castopod, it is possible thanks to
Si desea utilizar Docker para instalar Castopod, ¡es posible gracias a
[Romain de Laage](https://mamot.fr/@rdelaage)!
<a href="https://gitlab.utc.fr/picasoft/projets/services/castopod" target="_blank" rel="noopener noreferrer" class="inline-flex items-center px-4 py-2 mx-auto font-semibold text-center text-white rounded-md shadow gap-x-1 bg-[#1282d7] hover:no-underline hover:bg-[#0f6eb5]">Install
with
<a href="https://gitlab.utc.fr/picasoft/projets/services/castopod" target="_blank" rel="noopener noreferrer" class="inline-flex items-center px-4 py-2 mx-auto font-semibold text-center text-white rounded-md shadow gap-x-1 bg-[#1282d7] hover:no-underline hover:bg-[#0f6eb5]">Instalar
con
Docker<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>
::: info Note
::: Nota de información
Given high demand for docker, we plan on maintaining an official Castopod Docker
image directly into the Castopod repository.
Dada la alta demanda de docker, planeamos mantener una imagen oficial del Docker
de Castopod directamente en el repositorio de Castopod.
:::

View File

@ -1,92 +1,100 @@
---
title: Update
title: Actualización
sidebarDepth: 3
---
# How to update Castopod?
# ¿Cómo actualizar 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 ⚡.
Después de instalar Castopod, es posible que quieras actualizar tu instancia a
la última versión para disfrutar de las últimas características ✨, correcciones
de errores 🐛 y mejoras de rendimiento ⚡.
## Automatic update instructions
## Instrucciones de actualización automática
> Coming soon... 👀
> Próximamente... 👀
## Manual update instructions
## Instrucciones de actualización manual
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
1. Vaya a la página de
[lanzamientos](https://code.castopod.org/adaures/castopod/-/releases) y vea
si su instancia está actualizada con la última versión de Castopod
- cf.
[Where can I find my Castopod version?](#where-can-i-find-my-castopod-version)
[¿Dónde puedo encontrar mi versión de Castopod?](#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
2. Descargue el último paquete de lanzamiento llamado `Paquete Castopod`, puede
elegir entre los archivos `zip` o `tar.gz`
- ⚠️ Make sure you download the Castopod Package and **NOT** the Source Code
- ⚠️ Asegúrate de descargar el paquete de Castopod y **NO** el código fuente
3. On your server:
3. En tu servidor:
- Remove all files except `.env` and `public/media`
- Copy the new files from the downloaded package into your server
- Eliminar todos los archivos excepto `.env` y la carpeta `public/media`
- Copie los nuevos archivos del paquete descargado en su servidor
::: info Note
::: Nota de información
You may need to reset files permissions as during the install process.
Check [Security Concerns](./security.md).
Es posible que necesite restablecer los permisos de los archivos después el
proceso de instalación. Compruebe
[preocupaciones de seguridad](./security.md).
:::
4. Releases may come with additional update instructions (see
[releases page](https://code.castopod.org/adaures/castopod/-/releases)). They
are usually database migration scripts in `.sql` format to update your
database schema.
4. Las versiones pueden venir con instrucciones de actualización adicionales
(véase la página de
[lanzamientos](https://code.castopod.org/adaures/castopod/-/releases)).
Generalmente son scripts de migración de base de datos en formato `.sql` para
actualizar su esquema de base de datos.
- 👉 Make sure you run the scripts on your phpmyadmin panel or using command
line to update the database along with the package files!
- I haven't updated my instance in a long time… What should I do?
- 👉 ¡Asegúrate de ejecutar los scripts en tu panel phpmyadmin o usando la
línea de comandos para actualizar la base de datos junto con los archivos
de paquete!
- cf.
5. If you are using redis, clear your cache.
6. ✨ Enjoy your fresh instance, you're all done!
No he actualizado mi instancia en mucho tiempo… ¿Qué debo hacer?</p></li> </ul>
## Frequently asked questions (FAQ)
5. Si estás usando redis, limpia tu caché.
### Where can I find my Castopod version?
6. ✨ ¡Disfruta de tu instancia recién instalada, todo listo!
Go to your Castopod admin panel, the version is displayed on the bottom left
corner.
## Preguntas Frecuentes (FAQ)
Alternatively, you can find the version in the `app > Config > Constants.php`
file.
### ¿Dónde puedo encontrar mi versión de Castopod?
### [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)
Ve al panel de administración de Castopod, la versión se muestra en la esquina
inferior izquierda.
No problem! 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.
Alternativamente, puedes encontrar la versión en el archivo
`app > Config > Constants.php`.
> You may want to backup your instance depending on how long you haven't updated
> Castopod.
### No he actualizado mi instancia en mucho tiempo… ¿Qué debo hacer?
For example, if you're on `v1.0.0-alpha.42` and would like to upgrade to
¡No hay problema! Sólo obtenga la última versión tal y como se describe
anteriormente. Simplemente cuando vaya a través de las instrucciones de
lanzamiento (4), realice la actualización secuencialmente, desde el más antiguo
hasta el más reciente.
> Puede que quieras hacer una copia de seguridad de tu instancia dependiendo del
> tiempo que no hayas actualizado Castopod.
Por ejemplo, si estás en `v1.0.0-alpha.42` y te gustaría actualizar a
`v1.0.0-beta.1`:
0. (highly recommended) Make a backup of your files and database.
0. (altamente recomendado) Haga una copia de seguridad de sus archivos y base de
datos.
1. Download the latest release, overwrite your files whilst keeping `.env` and
1. Descarga la última versión, sobrescribe tus archivos manteniendo `.env` y
`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`.
2. Repase las instrucciones de actualización de cada versión secuencialmente (de
más antiguo a más reciente) comenzando con `v1.0.0-alpha. 3`,
`v1.0.0-alpha.44`, `v1.0.0-alpha.45`, …, `v1.0.0-beta.1`.
3. ✨ Enjoy your fresh instance, you're all done!
3. ✨ ¡Disfruta de tu instancia recién instalada, todo listo!
### Should I make a backup before updating?
### ¿Debo hacer una copia de seguridad antes de actualizar?
We advise you do, so you don't lose everything if anything goes wrong!
Te aconsejamos que hagas, así que no lo pierdas todo si algo sale mal!
More generally, we advise you make regular backups of your Castopod files and
database to prevent you from losing it all
De manera más general, te aconsejamos hacer copias de seguridad regulares de tus
archivos de Castopod y base de datos para evitar que pierdas todo

View File

@ -29,8 +29,8 @@ por podcasters alrededor de&nbsp;el mundo!
- 🌱 &nbsp;Gratis & de código abierto (AGPL v3 Licencia)
- 🔐 &nbsp;Centrado en la soberanía de los datos: su contenido, audiencia, y
analíticas le pertenecen a usted, y solo a &nbsp;usted&nbsp;
- &nbsp;Funciones de Podcasting 2.0: GUID, protección y bloqueo del podcast,
transcripciones, fondos, capítulos, ubicación, personas, sonidos, …
- 🪄 &nbsp;Podcasting 2.0 features: GUID, locked, transcripts, funding,
chapters, location, persons, soundbites, …
- :speech \_balloon: &nbsp;Red social integrada:
- 🚀 &nbsp;Castopod es parte del Fediverso, una red social descentralizada
- ❤️ &nbsp;Crear mensajes, compartir, favoritos y comentarios en episodios
@ -204,23 +204,16 @@ contribuyentes. Si quieres ayudar, por favor considera colaborar con
[Licencia pública general GNU v3.0](https://choosealicense.com/licenses/agpl-3.0/)
Copyright © 2020-presente, [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
[release-badge]:
https://img.shields.io/gitlab/v/release/2?color=brightgreen&gitlab_url=https%3A%2F%2Fcode.castopod.org%2F&include_prereleases&label=release
[license]: https://code.castopod.org/adaures/castopod/-/blob/beta/LICENSE.md
[license-badge]:
https://img.shields.io/github/license/ad-aures/castopod?color=blue
[contributions]: https://code.castopod.org/adaures/castopod/-/issues
[contributions-badge]:
https://img.shields.io/badge/contributions-welcome-brightgreen.svg
[semantic-release]: https://github.com/semantic-release/semantic-release
[semantic-release-badge]:
https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg
[discord]: https://castopod.org/discord
[discord-badge]: https://img.shields.io/badge/chat-on%20discord-7389D8
[stars]: https://github.com/ad-aures/castopod/stargazers
[stars-badge]:
https://img.shields.io/github/stars/ad-aures/castopod?style=social
[crowdin]: https://translate.castopod.org/project/castopod
[crowdin-badge]: https://badges.crowdin.net/castopod/localized.svg

View File

@ -0,0 +1,170 @@
---
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.
::: info Note
This section of the documentation will help you set up Castopod for production.
If you are looking to partake in the development of Castopod, you may skip to
the contributing section.
:::
## Requirements
- PHP v8.0 or higher
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
- HTTPS support
### PHP v8.0 or higher
PHP version 8.0 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`.
### (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 havent 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):
- For social features to work properly, this task is used to broadcast social
activities to your followers on the fediverse:
```bash
* * * * * /path/to/php /path/to/castopod/public/index.php scheduled-activities
```
- For having your episodes be broadcasted on open hubs upon publication using
[WebSub](https://en.wikipedia.org/wiki/WebSub):
```bash
* * * * * /usr/local/bin/php /castopod/public/index.php scheduled-websub-publish
```
- For Video Clips to be created (see
[FFmpeg requirements](#ffmpeg-v418-or-higher-for-video-clips)):
```bash
* * * * * /path/to/php /path/to/castopod/public/index.php scheduled-video-clips
```
> These tasks run **every minute**. You may set the frequency depending on
> your needs: every 5, 10 minutes or more.
### (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 update the `.env` file manually](#alternative-manual-configuration).
:::
## 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>
### Install with Docker
If you wish to use Docker to install Castopod, it is possible thanks to
[Romain de Laage](https://mamot.fr/@rdelaage)!
<a href="https://gitlab.utc.fr/picasoft/projets/services/castopod" target="_blank" rel="noopener noreferrer" class="inline-flex items-center px-4 py-2 mx-auto font-semibold text-center text-white rounded-md shadow gap-x-1 bg-[#1282d7] hover:no-underline hover:bg-[#0f6eb5]">Install
with
Docker<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>
::: info Note
Given high demand for docker, we plan on maintaining an official Castopod Docker
image directly into the Castopod repository.
:::

View 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
```

View File

@ -0,0 +1,93 @@
---
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 ⚡.
## Automatic update instructions
> Coming soon... 👀
## Manual update instructions
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
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. Releases may come with additional update instructions (see
[releases page](https://code.castopod.org/adaures/castopod/-/releases)). They
are usually database migration scripts in `.sql` format to update your
database schema.
- 👉 Make sure you run the scripts on your phpmyadmin panel or using command
line to update the database along with the package files!
- 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)
5. If you are using redis, clear your cache.
6. ✨ Enjoy your fresh instance, you're all done!
## 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…

216
docs/src/fa/index.md Normal file
View File

@ -0,0 +1,216 @@
---
sidebarDepth: 2
---
# Welcome 👋
[![release-badge]][release]&nbsp;[![license-badge]][license]&nbsp;[![contributions-badge]][contributions]&nbsp;[![semantic-release-badge]][semantic-release]&nbsp;[![crowdin-badge]][crowdin]&nbsp;[![discord-badge]][discord]&nbsp;[![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.
::: info Status
Castopod is currently in **beta** but already quite stable and used by
podcasters around&nbsp;the&nbsp;world!
:::
<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
- 🌱 &nbsp;Free & open-source (AGPL v3 License)
- 🔐 &nbsp;Focused on data sovereignty: your content, audience, and analytics
belong to you, and&nbsp;you&nbsp;only
- 🪄 &nbsp;Podcasting 2.0 features: GUID, locked, transcripts, funding,
chapters, location, persons, soundbites, …
- 💬 &nbsp;Built-in social network:
- 🚀 &nbsp;Castopod is part of the Fediverse, a decentralized social network
- ❤️ &nbsp;Create posts, share, favourite, and comment on episodes
- 📈 &nbsp;Built-in analytics:
- ⚖️ &nbsp;GDPR / CCPA / LGPD compliant
- 🪙 &nbsp;Standard IABv2 audience measurement
- 🏡 &nbsp;On-premises analytics, no third party involved
- 📢 &nbsp;Built-in marketing tools:
- ✅ &nbsp;SEO ready (open-graph meta-tags, JSON-LD, …)
- 📱 &nbsp;PWA: install as a standalone app
- 🎨 &nbsp;Customizable theme colors
- 🎬 &nbsp;Generate ready-to-share Video clips from episodes
- 🔉 &nbsp;Generate soundbites
- ▶️ &nbsp;Embeddable player, embed your episodes on any website
- 💸 &nbsp;Monetization:
- 🔗 &nbsp;Funding links
- 📲 &nbsp;listen-to-click ads
- 🤝 &nbsp;value4value / WebMonetization
- 📡 &nbsp;Publish your episodes everywhere with RSS:
- 📱 &nbsp;On all indexes and apps: Podcast Index, Apple Podcasts, Spotify,
Google Podcasts, Deezer, Podcast Addict, Podfriend, …
- ⚡ &nbsp;Broadcast your episodes instantly with WebSub
- 📥 &nbsp;Podcast import: move your existing podcast into Castopod
- 📤 &nbsp;Move your podcast out of Castopod
- 🔀 &nbsp;Multi-tenant: host as many podcasts as you want
- 👥 &nbsp;Multi-user: add contributors and set roles
- 🌎 &nbsp;i18n support: translated in English, French & Polish with more to
come!
## 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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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.
## 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

View File

@ -9,6 +9,14 @@ Castopod a été pensé pour être facile à installer. Que vous utilisiez un
hébergement dédié ou mutualisé, vous pouvez l'installer sur la plupart des
serveurs web compatibles avec PHP-MySQL.
::: info Note
This section of the documentation will help you set up Castopod for production.
If you are looking to partake in the development of Castopod, you may skip to
the contributing section.
:::
## Prérequis
- PHP v8.0 ou supérieure
@ -17,8 +25,7 @@ serveurs web compatibles avec PHP-MySQL.
### PHP v8.0 ou supérieure
La version 8.0 ou supérieure de PHP est requise, avec les extensions suivantes
installées :
PHP version 8.0 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)
@ -27,8 +34,7 @@ installées :
**PNG** et bibliothèques **WEBP**.
- [exif](https://www.php.net/manual/fr/exif.installation.php)
De plus, assurez-vous que les extensions suivantes sont activées dans votre PHP
:
Additionally, make sure that the following extensions are enabled in your PHP:
- json (activé par défaut - ne le désactivez pas)
- xml (activé par défaut - ne pas le désactiver)
@ -38,30 +44,27 @@ De plus, assurez-vous que les extensions suivantes sont activées dans votre PHP
> Nous vous recommandons d'utiliser [MariaDB](https://mariadb.org).
::: avertissement
::: warning Warning
Castopod ne fonctionne qu'avec les bases de données compatibles MySQL 5.7 ou
supérieures. Les versions 5.6 (dont le support a cessé le 5 février 2021) ou
précédentes de MySQL ne fonctionneront pas.
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.
:::
Vous aurez besoin du nom d'hôte du serveur, du nom de la base de données, du nom
d'utilisateur et du mot de passe pour terminer le processus d'installation. Si
vous ne disposez pas de ces informations, veuillez contacter votre
administrateur.
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.
#### Droits d'accès
L'utilisateur doit avoir au moins ces droits d'accès sur la base de données pour
que Castopod fonctionne : `CREATE`, `ALTER`, `DELETE`, `EXECUTE`, `INDEX`,
`INSERT`, `SELECT`, `UPDATE`.
User must have at least these privileges on the database for Castopod to work:
`CREATE`, `ALTER`, `DELETE`, `EXECUTE`, `INDEX`, `INSERT`, `SELECT`, `UPDATE`.
### (Facultatif) FFmpeg v4.1.8 ou supérieur pour les clips vidéo
[FFmpeg](https://www.ffmpeg.org/) version 4.1.8 ou supérieure est requis si vous
souhaitez générer des Clips Vidéo. Les extensions suivantes doivent être
installées :
[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:
- bibliothèque **FreeType 2** pour
[gd](https://www.php.net/manual/en/image.installation.php).
@ -121,24 +124,24 @@ installées :
2. Suivez les instructions affichée.
3. Commencer à baladodiffuser!
::: info Nota Bene
::: info Note
Le script install crée un fichier `.env` à la racine du paquet. Si vous ne
pouvez pas passer par l'assistant d'installation, vous pouvez
[créer et mettre à jour le fichier `.env` manuellement](#alternative-manual-configuration).
The install script writes a `.env` file in the package root. If you cannot go
through the install wizard, you can
[create and update the `.env` file manually](#alternative-manual-configuration).
:::
## Paquets fournis par la communauté
Si vous ne voulez pas vous soucier d'installer Castopod manuellement, vous
pouvez utiliser un des paquets créés et maintenus par la communauté open-source.
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.
### Installer avec YunoHost
[YunoHost](https://yunohost.org/) est une distribution basée sur Debian
GNU/Linux composée de paquets logiciels libres et open-source. Il simplifie
l'auto-hébergement pour vous.
[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">
@ -155,16 +158,16 @@ Github</a>
### Installer avec Docker
Si vous souhaitez utiliser Docker pour installer Castopod, c'est possible grâce
à [Romain de Laage](https://mamot.fr/@rdelaage)!
If you wish to use Docker to install Castopod, it is possible thanks to
[Romain de Laage](https://mamot.fr/@rdelaage)!
<a href="https://gitlab.utc.fr/picasoft/projets/services/castopod" target="_blank" rel="noopener noreferrer" class="inline-flex items-center px-4 py-2 mx-auto font-semibold text-center text-white rounded-md shadow gap-x-1 bg-[#1282d7] hover:no-underline hover:bg-[#0f6eb5]">Installer
avec
Docker<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>
::: info Nota Bene
::: info Note
Étant donné la forte demande de Docker, nous prévoyons de maintenir une image
officielle de Castopod Docker directement dans le dépôt Castopod.
Given high demand for docker, we plan on maintaining an official Castopod Docker
image directly into the Castopod repository.
:::

View File

@ -16,7 +16,7 @@ petite taille.
::: info Statut
Castopod est actuellement en **version beta** mais est déjà suffisamment stable
et est utilisé par des podcasters partout autour du monde&nbsp;!
et est utilisé par des podcasters autour partout dans le monde&nbsp;!
:::
@ -27,8 +27,8 @@ et est utilisé par des podcasters partout autour du monde&nbsp;!
## Fonctionnalités
- 🌱 &nbsp;Libre, gratuit & open-source (Licence AGPL v3)
- 🔐 &nbsp;Focalisé sur la souveraineté des données: votre contenu, votre
audience et vos statistiques vous appartiennent, et à vous seulement
- 🔐 &nbsp;focalisé sur la souveraineté des données: votre contenu, votre
audience et vos statiistiques vous appartiennent, et à vous seulement
- 🪄&nbsp;Fonctionnalités de Podcasting 2.0 : GUID, verrouillage,
transcriptions, financement, chapitres, géo-localisation, intervenants,
extraits sonores, …
@ -61,8 +61,8 @@ et est utilisé par des podcasters partout autour du monde&nbsp;!
- 🔀 &nbsp;Multi-locataire: hébergez autant de podcasts que vous le souhaitez
- 👥 &nbsp;Multi-utilisateur : ajoutez des contributeurs et définissez leurs
rôles
- 🌎 &nbsp;Multilingue: traduit en Anglais, Français, Polonais, Allemand &
Brésilien… et bien d'autres à venir!
- 🌎 &nbsp;support i18n: traduit en Anglais, Français, Polonais, Allemand &
Brésilien… et bientôt d'autres à venir!
## Pourquoi Castopod?
@ -89,9 +89,9 @@ Ce projet s'appuie sur la communauté open-source, plus spécifiquement sur le
## Comparaison avec d'autres solutions
Nous pensons qu'une solution n'est pas forcément adaptée à tous, tout dépend vos
besoins. Voici donc un comparatif avec d'autres outils qui vous aidera à juger
si Castopod est fait pour vous.
Nous pensons qu'une solution n'est pas adaptée à tous, tout dépend vos besoins.
Voici donc un comparatif avec d'autres outils qui vous aidera à juger si
Castopod est fait pour vous.
### Castopod vs Wordpress
@ -107,7 +107,7 @@ plupart des serveurs web.
Wordpress est un excellent outil pour créer votre site web et de l'étendre avec
des plugins pour faire ce que vous souhaitez. C'est un CMS à part entière qui
vous permet de mettre en ligne tout type de site web.
vous permet de mettre en line tout type de site web.
Castopod quant à lui est destiné à répondre aux besoins spécifiques des
podcasteurs, en se concentrant sur les podcasts et rien d'autre. Vous n'avez

View File

@ -0,0 +1,170 @@
---
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.
::: info Note
This section of the documentation will help you set up Castopod for production.
If you are looking to partake in the development of Castopod, you may skip to
the contributing section.
:::
## Requirements
- PHP v8.0 or higher
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
- HTTPS support
### PHP v8.0 or higher
PHP version 8.0 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`.
### (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 havent 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):
- For social features to work properly, this task is used to broadcast social
activities to your followers on the fediverse:
```bash
* * * * * /path/to/php /path/to/castopod/public/index.php scheduled-activities
```
- For having your episodes be broadcasted on open hubs upon publication using
[WebSub](https://en.wikipedia.org/wiki/WebSub):
```bash
* * * * * /usr/local/bin/php /castopod/public/index.php scheduled-websub-publish
```
- For Video Clips to be created (see
[FFmpeg requirements](#ffmpeg-v418-or-higher-for-video-clips)):
```bash
* * * * * /path/to/php /path/to/castopod/public/index.php scheduled-video-clips
```
> These tasks run **every minute**. You may set the frequency depending on
> your needs: every 5, 10 minutes or more.
### (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 update the `.env` file manually](#alternative-manual-configuration).
:::
## 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>
### Install with Docker
If you wish to use Docker to install Castopod, it is possible thanks to
[Romain de Laage](https://mamot.fr/@rdelaage)!
<a href="https://gitlab.utc.fr/picasoft/projets/services/castopod" target="_blank" rel="noopener noreferrer" class="inline-flex items-center px-4 py-2 mx-auto font-semibold text-center text-white rounded-md shadow gap-x-1 bg-[#1282d7] hover:no-underline hover:bg-[#0f6eb5]">Install
with
Docker<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>
::: info Note
Given high demand for docker, we plan on maintaining an official Castopod Docker
image directly into the Castopod repository.
:::

View 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
```

View File

@ -0,0 +1,93 @@
---
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 ⚡.
## Automatic update instructions
> Coming soon... 👀
## Manual update instructions
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
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. Releases may come with additional update instructions (see
[releases page](https://code.castopod.org/adaures/castopod/-/releases)). They
are usually database migration scripts in `.sql` format to update your
database schema.
- 👉 Make sure you run the scripts on your phpmyadmin panel or using command
line to update the database along with the package files!
- 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)
5. If you are using redis, clear your cache.
6. ✨ Enjoy your fresh instance, you're all done!
## 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…

216
docs/src/gd/index.md Normal file
View File

@ -0,0 +1,216 @@
---
sidebarDepth: 2
---
# Welcome 👋
[![release-badge]][release]&nbsp;[![license-badge]][license]&nbsp;[![contributions-badge]][contributions]&nbsp;[![semantic-release-badge]][semantic-release]&nbsp;[![crowdin-badge]][crowdin]&nbsp;[![discord-badge]][discord]&nbsp;[![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.
::: info Status
Castopod is currently in **beta** but already quite stable and used by
podcasters around&nbsp;the&nbsp;world!
:::
<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
- 🌱 &nbsp;Free & open-source (AGPL v3 License)
- 🔐 &nbsp;Focused on data sovereignty: your content, audience, and analytics
belong to you, and&nbsp;you&nbsp;only
- 🪄 &nbsp;Podcasting 2.0 features: GUID, locked, transcripts, funding,
chapters, location, persons, soundbites, …
- 💬 &nbsp;Built-in social network:
- 🚀 &nbsp;Castopod is part of the Fediverse, a decentralized social network
- ❤️ &nbsp;Create posts, share, favourite, and comment on episodes
- 📈 &nbsp;Built-in analytics:
- ⚖️ &nbsp;GDPR / CCPA / LGPD compliant
- 🪙 &nbsp;Standard IABv2 audience measurement
- 🏡 &nbsp;On-premises analytics, no third party involved
- 📢 &nbsp;Built-in marketing tools:
- ✅ &nbsp;SEO ready (open-graph meta-tags, JSON-LD, …)
- 📱 &nbsp;PWA: install as a standalone app
- 🎨 &nbsp;Customizable theme colors
- 🎬 &nbsp;Generate ready-to-share Video clips from episodes
- 🔉 &nbsp;Generate soundbites
- ▶️ &nbsp;Embeddable player, embed your episodes on any website
- 💸 &nbsp;Monetization:
- 🔗 &nbsp;Funding links
- 📲 &nbsp;listen-to-click ads
- 🤝 &nbsp;value4value / WebMonetization
- 📡 &nbsp;Publish your episodes everywhere with RSS:
- 📱 &nbsp;On all indexes and apps: Podcast Index, Apple Podcasts, Spotify,
Google Podcasts, Deezer, Podcast Addict, Podfriend, …
- ⚡ &nbsp;Broadcast your episodes instantly with WebSub
- 📥 &nbsp;Podcast import: move your existing podcast into Castopod
- 📤 &nbsp;Move your podcast out of Castopod
- 🔀 &nbsp;Multi-tenant: host as many podcasts as you want
- 👥 &nbsp;Multi-user: add contributors and set roles
- 🌎 &nbsp;i18n support: translated in English, French & Polish with more to
come!
## 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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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.
## 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

View File

@ -8,6 +8,14 @@ sidebarDepth: 3
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.
::: info Note
This section of the documentation will help you set up Castopod for production.
If you are looking to partake in the development of Castopod, you may skip to
the contributing section.
:::
## Requirements
- PHP v8.0 or higher
@ -35,7 +43,7 @@ Additionally, make sure that the following extensions are enabled in your PHP:
> We recommend using [MariaDB](https://mariadb.org).
::: warning
::: 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

View File

@ -8,6 +8,14 @@ sidebarDepth: 3
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.
::: info Note
This section of the documentation will help you set up Castopod for production.
If you are looking to partake in the development of Castopod, you may skip to
the contributing section.
:::
## Requirements
- PHP v8.0 or higher
@ -35,7 +43,7 @@ Additionally, make sure that the following extensions are enabled in your PHP:
> We recommend using [MariaDB](https://mariadb.org).
::: warning
::: 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

View File

@ -8,6 +8,14 @@ sidebarDepth: 3
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.
::: info Note
This section of the documentation will help you set up Castopod for production.
If you are looking to partake in the development of Castopod, you may skip to
the contributing section.
:::
## Requirements
- PHP v8.0 or higher
@ -35,7 +43,7 @@ Additionally, make sure that the following extensions are enabled in your PHP:
> We recommend using [MariaDB](https://mariadb.org).
::: warning
::: 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

View File

@ -9,6 +9,14 @@ Det er meininga at Castopod skal vera lett å installera. Uansett om du bruker
eige eller delt vevhotell, kan du installera på dei fleste maskiner som har PHP
og MySQL.
::: info Note
This section of the documentation will help you set up Castopod for production.
If you are looking to partake in the development of Castopod, you may skip to
the contributing section.
:::
## Krav
- PHP v8.0 eller nyare
@ -17,7 +25,7 @@ og MySQL.
### PHP v8.0 eller nyare
PHP versjon 8.0 er eit krav, med desse utvidingane:
PHP version 8.0 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)
@ -26,8 +34,7 @@ PHP versjon 8.0 er eit krav, med desse utvidingane:
**PNG**- og **WEBP**-biblioteka.
- [exif](https://www.php.net/manual/en/exif.installation.php)
I tillegg må du passa på at desse utvidingane er skrudde på i PHP-installasjonen
din:
Additionally, make sure that the following extensions are enabled in your PHP:
- json (vanlegvis aktivt - ikkje skru det av)
- xml (vanlegvis aktivt - ikkje skru det av)
@ -37,28 +44,27 @@ din:
> Me tilrår [MariaDB](https://mariadb.org).
::: warning Åtvaring
::: warning Warning
Castopod verkar berre med databasar som støttar MySQL 5.7 eller nyare. MySQL 5.6
eller eldre vil ikkje fungera, ettersom den versjonen vart forelda i
februar 2021.
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.
:::
Du treng vertsnamnet til tenaren, databasenamnet, brukarnamnet og passordet til
databasen for å fullføra installeringa. Viss du ikkje har desse, må du kontakta
administratoren for tenarmaskina di.
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.
#### Tilgangsrettar
Brukaren må minst ha desse tilgangsrettane på databasen for at Castopod skal
fungera: `CREATE`, `ALTER`, `DELETE`, `EXECUTE`, `INDEX`, `INSERT`, `SELECT`,
`UPDATE`.
User must have at least these privileges on the database for Castopod to work:
`CREATE`, `ALTER`, `DELETE`, `EXECUTE`, `INDEX`, `INSERT`, `SELECT`, `UPDATE`.
### (Eventuelt) FFmpeg v4.1.8 eller nyare for filmklypp
Du treng [FFmpeg](https://www.ffmpeg.org/) versjon 4.1.8 viss du vil laga
filmklypp. Desse utvidingane må vera installerte:
[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**-biblioteket for
[gd](https://www.php.net/manual/en/image.installation.php).
@ -115,25 +121,24 @@ filmklypp. Desse utvidingane må vera installerte:
2. Fylg framgangsmåten på skjermen.
3. Start å podkasta!
::: info
::: info Note
Installasjonsskriptet lagar ei`.env`-fil i rotmappa til pakka. Viss du ikkje kan
bruka autoinstalleringa, kan du
[oppretta og oppdatera `.env`-fila manuelt](#alternative-manual-configuration).
The install script writes a `.env` file in the package root. If you cannot go
through the install wizard, you can
[create and update the `.env` file manually](#alternative-manual-configuration).
:::
## Pakker frå brukarsamfunnet
Viss du ikkje vil bry deg med å installera Castopod manuelt, kan du bruka ei av
pakkene som brukarsamfunnet har laga. Det er tilhengjarar og brukarar av open
kjeldekode som lagar og vedlikeheld desse pakkene.
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.
### Installer med Yunohost
[Yunohost](https://yunohost.org/) er ein Linux-distribusjon som er bygd på
Debian GNU/Linux og som inneheld frie og opne program. Yunohost tek seg av det
meste som har med oppsett av eigen vevtenar å gjera.
[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">
@ -149,16 +154,16 @@ meste som har med oppsett av eigen vevtenar å gjera.
### Installer med Docker
Viss du vil bruka Docker til å installera Castopod, er det mogleg takk vere
If you wish to use Docker to install Castopod, it is possible thanks to
[Romain de Laage](https://mamot.fr/@rdelaage)!
<a href="https://gitlab.utc.fr/picasoft/projets/services/castopod" target="_blank" rel="noopener noreferrer" class="inline-flex items-center px-4 py-2 mx-auto font-semibold text-center text-white rounded-md shadow gap-x-1 bg-[#1282d7] hover:no-underline hover:bg-[#0f6eb5]">Installer
med
Docker<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>
::: info
::: info Note
Etter som mange spør etter Docker-installasjon, planlegg me å laga ei offisiell
Docker-pakke for Castopod her i vårt eige arkiv.
Given high demand for docker, we plan on maintaining an official Castopod Docker
image directly into the Castopod repository.
:::

View File

@ -22,16 +22,21 @@ over heile verda&nbsp;bruker&nbsp;det!
:::
<div class="flex items-center">
<a href="/nn-NO/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">Installer<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>
<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">Installer<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>
## Funksjonar
- 🌱 &nbsp;Fri og open (AGPL v3-lisens)
- 🌱 &nbsp;Fri og open (AGPL v3-lisens) <<<<<<< HEAD
- 🔐 &nbsp;Legg vekt på at du eig dine eigne data: innhaldet, publikum og
analysedata høyrer deg til, og&nbsp;berre&nbsp;deg
- 🪄 &nbsp;Podkasting 2.0-funksjonar: GUID, låsing, transkribering,
finansiering, kapittel, stader, personar, lydbetar…
finansiering, kapittel, stader, personar, lydbetar… =======
- 🔐 &nbsp;Legg vekt på at du eig dine eigne data: innhaldet, publikum og
analysedata høyrer deg til, og&nbsp;berre&nbsp;deg
- 🪄 &nbsp;Podcasting 2.0 features: GUID, locked, transcripts, funding,
chapters, location, persons, soundbites, …
> > > > > > > 88098377 (New translations index.md (Norwegian Nynorsk))
- 💬 &nbsp;Innebygd sosialt nettverk:
- 🚀 &nbsp;Castopod er ein del av fødiverset, som er eit desentralisert
sosialt nettverk
@ -199,7 +204,7 @@ lesa korleis du
[GNU Affero General Public License v3.0](https://choosealicense.com/licenses/agpl-3.0/)
Copyright © 2020-present, [Ad Aures](https://adaures.com/).
Copyright © 2020-d.d., [Ad Aures](https://adaures.com/).
[release]: https://code.castopod.org/adaures/castopod/-/releases
[release-badge]:

View File

@ -8,6 +8,14 @@ sidebarDepth: 3
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.
::: info Note
This section of the documentation will help you set up Castopod for production.
If you are looking to partake in the development of Castopod, you may skip to
the contributing section.
:::
## Requirements
- PHP v8.0 or higher
@ -35,7 +43,7 @@ Additionally, make sure that the following extensions are enabled in your PHP:
> We recommend using [MariaDB](https://mariadb.org).
::: warning
::: 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

View File

@ -206,6 +206,11 @@ 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
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

View File

@ -8,6 +8,14 @@ sidebarDepth: 3
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.
::: info Note
This section of the documentation will help you set up Castopod for production.
If you are looking to partake in the development of Castopod, you may skip to
the contributing section.
:::
## Requirements
- PHP v8.0 or higher
@ -35,7 +43,7 @@ Additionally, make sure that the following extensions are enabled in your PHP:
> We recommend using [MariaDB](https://mariadb.org).
::: warning
::: 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

View File

@ -9,6 +9,14 @@ Castopod foi pensado para ser fácil de instalar. Seja usando hospedagem dedicad
ou compartilhada, você pode instalá-lo na maioria dos servidores web compatíveis
com PHP-MySQL.
::: info Nota
Esta seção da documentação o ajudará a configurar o Castopod para produção. Se
você deseja participar do desenvolvimento do Castopod, pode pular para a seção
de contribuição.
:::
## Requisitos
- PHP v8.0 ou superior
@ -17,7 +25,7 @@ com PHP-MySQL.
### PHP v8.0 ou superior
É necessário PHP versão 8.0 ou superior com as seguintes extensões instaladas:
É necessário PHP versão 8.0 ou superior, com as seguintes extensões instaladas:
- [intl](https://php.net/manual/en/intl.requirements.php)
- [libcurl](https://php.net/manual/en/curl.requirements.php)
@ -39,9 +47,9 @@ seu PHP:
::: warning Aviso
Castopod só funciona com bancos de dados compatíveis com MySQL 5.7 ou superior.
Vai quebrar com a versão anteiror do MySQL, v5.6, por exemplo, pois teve seu
ciclo encerrado em 5 de fevereiro de 2021.
Castopod só funciona com bancos de dados MySQL 5.7 ou superior compatíveis. Vai
quebrar com a versão anterior MySQL v5.6, por exemplo, pois foi encerrada em 5
de fevereiro de 2021.
:::
@ -51,14 +59,14 @@ entre em contato com o administrador do servidor.
#### Privilégios
O usuário deve ter pelo menos estes privilégios no banco de dados para que o
Castopod funcione: `CREATE`, `ALTER`, `DELETE`, `EXECUTE`, `INDEX`, `INSERT`,
O usuário deve ter pelo menos esses privilégios no banco de dados do Castopod
para funcionar: `CREATE`, `ALTER`, `DELETE`, `EXECUTE`, `INDEX`, `INSERT`,
`SELECT`, `UPDATE`.
### (Opcional) FFmpeg v4.1.8 ou superior para Clipes de Vídeo
[FFmpeg](https://www.ffmpeg.org/) versão 4.1.8 ou superior é necessário se você
deseja gerar Clipes de Vídeo. As seguintes extensões devem ser instaladas:
deseja gerar Video Clips. As seguintes extensões devem ser instaladas:
- Biblioteca **FreeType 2** para
[gd](https://www.php.net/manual/en/image.installation.php).
@ -133,7 +141,7 @@ usar um dos pacotes criados e mantidos pela comunidade de código aberto.
### Instalar com YunoHost
[YunoHost](https://yunohost.org/) é uma distribuição baseada no Debian GNU/Linux
composta por pacotes de software livre e de código aberto. Ele gerencia as
composto por pacotes de software livre e de código aberto. Ele gerencia as
dificuldades de auto-hospedagem para você.
<div class="flex flex-wrap items-center gap-4">

View File

@ -21,7 +21,7 @@ podcasters em todo o mundo!
:::
<div class="flex items-center">
<a href="/pt-BR/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">Instalar<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>
<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">Instalar<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>
## Funcionalidades
@ -29,8 +29,8 @@ podcasters em todo o mundo!
- 🌱 &nbsp;Livre & de código aberto (Licença AGPL v3)
- 🔐 &nbsp;Focado na soberania de dados: seu conteúdo, público e análises
pertence a você, e somente você
- 🪄 &nbsp;Recursos de Podcasting 2.0: GUID, bloqueado, transcrições,
financiamento, capítulos, localização, pessoas, clipes de áudio, …
- 🪄 &nbsp;Podcasting 2.0 features: GUID, locked, transcripts, funding,
chapters, location, persons, soundbites, …
- 💬 &nbsp;Rede social integrada:
- 🚀 &nbsp;Castopod é parte do Fediverso, uma rede social descentralizada
- ❤️ &nbsp;Crie publicações, compartilhe, favorite e comente em episódios
@ -188,11 +188,11 @@ sobre o Castopod:
- [LinkedIn](https://linkedin.com/company/castopod)
- [Facebook](https://www.facebook.com/castopod)
## Patrocinadores
## Apoiadores
O desenvolvimento contínuo do Castopod é possível com o apoio de seus
patrocinadores. Se você quiser ajudar, por favor considere
[patrocinar o desenvolvimento do Castopod](https://opencollective.com/castopod/contribute).
apoiadores. Se você quiser ajudar, por favor considere
[apoiar o desenvolvimento do Castopod](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="Logo de Ad Aures" class="h-16" /></a>
@ -203,24 +203,17 @@ patrocinadores. Se você quiser ajudar, por favor considere
[Licença Pública Geral GNU Affero v3.0](https://choosealicense.com/licenses/agpl-3.0/)
Copyright © 2020-present, [Ad Aures](https://adaures.com/).
Copyright © 2020-presente, [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
[release-badge]:
https://img.shields.io/gitlab/v/release/2?color=brightgreen&gitlab_url=https%3A%2F%2Fcode.castopod.org%2F&include_prereleases&label=release
[license]: https://code.castopod.org/adaures/castopod/-/blob/beta/LICENSE.md
[license-badge]:
https://img.shields.io/github/license/ad-aures/castopod?color=blue
[contributions]: https://code.castopod.org/adaures/castopod/-/issues
[contributions-badge]:
https://img.shields.io/badge/contributions-welcome-brightgreen.svg
[semantic-release]: https://github.com/semantic-release/semantic-release
[semantic-release-badge]:
https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg
[discord]: https://castopod.org/discord
[discord-badge]: https://img.shields.io/badge/chat-on%20discord-7389D8
[stars]: https://github.com/ad-aures/castopod/stargazers
[stars-badge]:
https://img.shields.io/github/stars/ad-aures/castopod?style=social
[crowdin]: https://translate.castopod.org/project/castopod
[crowdin-badge]: https://badges.crowdin.net/castopod/localized.svg

View File

@ -8,6 +8,14 @@ sidebarDepth: 3
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.
::: info Note
This section of the documentation will help you set up Castopod for production.
If you are looking to partake in the development of Castopod, you may skip to
the contributing section.
:::
## Requirements
- PHP v8.0 or higher
@ -35,7 +43,7 @@ Additionally, make sure that the following extensions are enabled in your PHP:
> We recommend using [MariaDB](https://mariadb.org).
::: warning
::: 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

View File

@ -8,6 +8,14 @@ sidebarDepth: 3
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.
::: info Note
This section of the documentation will help you set up Castopod for production.
If you are looking to partake in the development of Castopod, you may skip to
the contributing section.
:::
## Requirements
- PHP v8.0 or higher
@ -35,7 +43,7 @@ Additionally, make sure that the following extensions are enabled in your PHP:
> We recommend using [MariaDB](https://mariadb.org).
::: warning
::: 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

View File

@ -0,0 +1,170 @@
---
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.
::: info Note
This section of the documentation will help you set up Castopod for production.
If you are looking to partake in the development of Castopod, you may skip to
the contributing section.
:::
## Requirements
- PHP v8.0 or higher
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
- HTTPS support
### PHP v8.0 or higher
PHP version 8.0 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`.
### (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 havent 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):
- For social features to work properly, this task is used to broadcast social
activities to your followers on the fediverse:
```bash
* * * * * /path/to/php /path/to/castopod/public/index.php scheduled-activities
```
- For having your episodes be broadcasted on open hubs upon publication using
[WebSub](https://en.wikipedia.org/wiki/WebSub):
```bash
* * * * * /usr/local/bin/php /castopod/public/index.php scheduled-websub-publish
```
- For Video Clips to be created (see
[FFmpeg requirements](#ffmpeg-v418-or-higher-for-video-clips)):
```bash
* * * * * /path/to/php /path/to/castopod/public/index.php scheduled-video-clips
```
> These tasks run **every minute**. You may set the frequency depending on
> your needs: every 5, 10 minutes or more.
### (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 update the `.env` file manually](#alternative-manual-configuration).
:::
## 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>
### Install with Docker
If you wish to use Docker to install Castopod, it is possible thanks to
[Romain de Laage](https://mamot.fr/@rdelaage)!
<a href="https://gitlab.utc.fr/picasoft/projets/services/castopod" target="_blank" rel="noopener noreferrer" class="inline-flex items-center px-4 py-2 mx-auto font-semibold text-center text-white rounded-md shadow gap-x-1 bg-[#1282d7] hover:no-underline hover:bg-[#0f6eb5]">Install
with
Docker<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>
::: info Note
Given high demand for docker, we plan on maintaining an official Castopod Docker
image directly into the Castopod repository.
:::

View 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
```

View File

@ -0,0 +1,93 @@
---
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 ⚡.
## Automatic update instructions
> Coming soon... 👀
## Manual update instructions
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
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. Releases may come with additional update instructions (see
[releases page](https://code.castopod.org/adaures/castopod/-/releases)). They
are usually database migration scripts in `.sql` format to update your
database schema.
- 👉 Make sure you run the scripts on your phpmyadmin panel or using command
line to update the database along with the package files!
- 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)
5. If you are using redis, clear your cache.
6. ✨ Enjoy your fresh instance, you're all done!
## 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…

216
docs/src/sk/index.md Normal file
View File

@ -0,0 +1,216 @@
---
sidebarDepth: 2
---
# Welcome 👋
[![release-badge]][release]&nbsp;[![license-badge]][license]&nbsp;[![contributions-badge]][contributions]&nbsp;[![semantic-release-badge]][semantic-release]&nbsp;[![crowdin-badge]][crowdin]&nbsp;[![discord-badge]][discord]&nbsp;[![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.
::: info Status
Castopod is currently in **beta** but already quite stable and used by
podcasters around&nbsp;the&nbsp;world!
:::
<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
- 🌱 &nbsp;Free & open-source (AGPL v3 License)
- 🔐 &nbsp;Focused on data sovereignty: your content, audience, and analytics
belong to you, and&nbsp;you&nbsp;only
- 🪄 &nbsp;Podcasting 2.0 features: GUID, locked, transcripts, funding,
chapters, location, persons, soundbites, …
- 💬 &nbsp;Built-in social network:
- 🚀 &nbsp;Castopod is part of the Fediverse, a decentralized social network
- ❤️ &nbsp;Create posts, share, favourite, and comment on episodes
- 📈 &nbsp;Built-in analytics:
- ⚖️ &nbsp;GDPR / CCPA / LGPD compliant
- 🪙 &nbsp;Standard IABv2 audience measurement
- 🏡 &nbsp;On-premises analytics, no third party involved
- 📢 &nbsp;Built-in marketing tools:
- ✅ &nbsp;SEO ready (open-graph meta-tags, JSON-LD, …)
- 📱 &nbsp;PWA: install as a standalone app
- 🎨 &nbsp;Customizable theme colors
- 🎬 &nbsp;Generate ready-to-share Video clips from episodes
- 🔉 &nbsp;Generate soundbites
- ▶️ &nbsp;Embeddable player, embed your episodes on any website
- 💸 &nbsp;Monetization:
- 🔗 &nbsp;Funding links
- 📲 &nbsp;listen-to-click ads
- 🤝 &nbsp;value4value / WebMonetization
- 📡 &nbsp;Publish your episodes everywhere with RSS:
- 📱 &nbsp;On all indexes and apps: Podcast Index, Apple Podcasts, Spotify,
Google Podcasts, Deezer, Podcast Addict, Podfriend, …
- ⚡ &nbsp;Broadcast your episodes instantly with WebSub
- 📥 &nbsp;Podcast import: move your existing podcast into Castopod
- 📤 &nbsp;Move your podcast out of Castopod
- 🔀 &nbsp;Multi-tenant: host as many podcasts as you want
- 👥 &nbsp;Multi-user: add contributors and set roles
- 🌎 &nbsp;i18n support: translated in English, French & Polish with more to
come!
## 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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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.
## 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

View File

@ -8,6 +8,14 @@ sidebarDepth: 3
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.
::: info Note
This section of the documentation will help you set up Castopod for production.
If you are looking to partake in the development of Castopod, you may skip to
the contributing section.
:::
## Requirements
- PHP v8.0 or higher
@ -35,7 +43,7 @@ Additionally, make sure that the following extensions are enabled in your PHP:
> We recommend using [MariaDB](https://mariadb.org).
::: warning
::: 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

View File

@ -26,6 +26,8 @@ return [
'publish-edit' => 'edit publication',
'unpublish' => 'unpublish',
'delete' => 'احذف',
'deleted' => 'deleted',
'delete-permanently' => 'delete permanently',
'fediverse' => 'الفديفرس',
'block-lists' => 'قوائم حجب',
'users' => 'مستخدمون',

View File

@ -38,6 +38,15 @@ return [
'not_published' => 'غير منشورة',
],
'list' => [
'search' => [
'placeholder' => 'Search for an episode',
'clear' => 'Clear search',
'submit' => 'Search',
],
'number_of_episodes' => '{numberOfEpisodes, plural,
one {# episode}
other {# episodes}
}',
'episode' => 'الحلقة',
'visibility' => 'الظهور',
'comments' => 'التعليقات',
@ -47,6 +56,24 @@ return [
'createSuccess' => 'تم إنشاء الحلقة بنجاح!',
'editSuccess' => 'تم تحديث الحلقة بنجاح!',
'publishCancelSuccess' => 'تم إلغاء نشر الحلقة بنجاح!',
'unpublishBeforeDeleteTip' => 'You must unpublish the episode before deleting it.',
'deletePublishedEpisodeError' => 'Please unpublish the episode before deleting it.',
'deleteSuccess' => 'Episode successfully deleted!',
'deleteError' => 'Failed to delete episode {type, select,
transcript {transcript}
chapters {chapters}
image {cover}
audio {audio}
other {media}
}.',
'deleteFileError' => 'Failed to delete {type, select,
transcript {transcript}
chapters {chapters}
image {cover}
audio {audio}
other {media}
} file {file_path}. You may manually remove it from your disk.',
'sameSlugError' => 'An episode with the chosen slug already exists.',
],
'form' => [
'file_size_error' =>
@ -57,7 +84,7 @@ return [
'cover' => 'غلاف الحلقة',
'cover_hint' =>
'If you do not set a cover, the podcast cover will be used instead.',
'cover_size_hint' => 'Cover must be squared with at least 1400px wide and tall.',
'cover_size_hint' => 'Cover must be squared and at least 1400px wide and tall.',
'title' => 'العنوان',
'title_hint' =>
'Should contain a clear and concise episode name. Do not specify the episode or season numbers here.',
@ -147,9 +174,9 @@ return [
],
'delete_form' => [
'disclaimer' =>
"Deleting the episode will delete all the posts associated with it and remove it from the podcast's RSS feed.",
"Deleting the episode will delete all media files, comments, video clips and soundbites associated with it.",
'understand' => 'I understand, I want to delete the episode',
'submit' => 'احذف',
'submit' => 'Delete',
],
'embed' => [
'title' => 'Embeddable player',

View File

@ -24,7 +24,7 @@ return [
'form' => [
'avatar' => 'الصورة الرمزية',
'avatar_size_hint' =>
'Avatar must be squared with at least 400px wide and tall.',
'Avatar must be squared and at least 400px wide and tall.',
'full_name' => 'الإسم الكامل',
'full_name_hint' => 'This is the full name or alias of the person.',
'unique_name' => 'Unique name',

View File

@ -26,14 +26,34 @@ return [
'createSuccess' => 'Podcast has been successfully created!',
'editSuccess' => 'Podcast has been successfully updated!',
'importSuccess' => 'Podcast has been successfully imported!',
'deleteSuccess' => 'Podcast @{podcast_handle} successfully deleted!',
'deletePodcastMediaError' => 'Failed to delete podcast {type, select,
cover {cover}
banner {banner}
other {media}
}.',
'deleteEpisodeMediaError' => 'Failed to delete podcast episode {episode_slug} {type, select,
transcript {transcript}
chapters {chapters}
image {cover}
audio {audio}
other {media}
}.',
'deletePodcastMediaFolderError' => 'Failed to delete podcast media folder {folder_path}. You may manually remove it from your disk.',
'podcastFeedUpdateSuccess' => 'Successful update: {number_of_new_episodes, plural,
one {# episode was}
other {# episodes were}
} added to the podcast!',
'podcastFeedUpToDate' => 'Podcast is already up to date.',
'podcastNotImported' => 'Podcast could not be updated as it was not imported.',
],
'form' => [
'identity_section_title' => 'Podcast identity',
'identity_section_subtitle' => 'These fields allow you to get noticed.',
'cover' => 'Podcast cover',
'cover_size_hint' => 'Cover must be squared with at least 1400px wide and tall.',
'cover_size_hint' => 'Cover must be squared and at least 1400px wide and tall.',
'banner' => 'Podcast banner',
'banner_size_hint' => 'Banner must have a 3:1 ratio with at least 1500px wide.',
'banner_size_hint' => 'Banner must have a 3:1 ratio and be at least 1500px wide.',
'banner_delete' => 'Delete podcast banner',
'title' => 'العنوان',
'handle' => 'Handle',
@ -90,6 +110,9 @@ return [
'custom_rss_hint' => 'This will be injected within the ❬channel❭ tag.',
'new_feed_url' => 'New feed URL',
'new_feed_url_hint' => 'Use this field when you move to another domain or podcast hosting platform. By default, the value is set to the current RSS URL if the podcast is imported.',
'old_feed_url' => 'Old feed URL',
'update_feed' => 'Update feed',
'update_feed_tip' => 'Import this podcast\'s latest episodes',
'partnership' => 'Partnership',
'partner_id' => 'ID',
'partner_link_url' => 'Link URL',
@ -219,6 +242,12 @@ return [
'film_reviews' => 'Film Reviews',
'tv_reviews' => 'TV Reviews',
],
'delete_form' => [
'disclaimer' =>
"Deleting the podcast will delete all episodes, media files, posts and analytics associated with it. This action is irreversible, you will not be able to retrieve them afterwards.",
'understand' => 'I understand, I want the podcast to be permanently deleted',
'submit' => 'Delete',
],
'by' => 'By {publisher}',
'season' => 'Season {seasonNumber}',
'list_of_episodes_year' => '{year} episodes ({episodeCount})',

View File

@ -10,7 +10,7 @@ declare(strict_types=1);
return [
'warning' =>
'This procedure may take a long time. As the current version does not show any progress while it runs, you will not see anything updated until it is done. In case of timeout error, increase `max_execution_time` value.',
'This procedure may take a long time.<br/>As the current version does not show any progress while it runs, you will not see anything updated until it is done.<br/>In case of timeout error, increase `max_execution_time` value.',
'old_podcast_section_title' => 'The podcast to import',
'old_podcast_section_subtitle' =>
'Make sure you own the rights for this podcast before importing it. Copying and broadcasting a podcast without the proper rights is piracy and is liable to prosecution.',

View File

@ -17,6 +17,7 @@ return [
'episodes' => 'الحلقات',
'episode-list' => 'جميع الحلقات',
'episode-create' => 'حلقة جديدة',
'episode-deleted' => 'Recycle bin',
'analytics' => 'Analytics',
'podcast-analytics' => 'Audience overview',
'podcast-analytics-webpages' => 'Web pages visits',

View File

@ -15,7 +15,7 @@ return [
'site_icon' => 'Site icon',
'site_icon_delete' => 'Delete site icon',
'site_icon_hint' => 'Site icons are what you see on your browser tabs, bookmarks bar, and when you add a website as a shortcut on mobile devices.',
'site_icon_helper' => 'Icon must be squared with at least 512px wide and tall.',
'site_icon_helper' => 'Icon must be squared and at least 512px wide and tall.',
'site_name' => 'Site name',
'site_description' => 'Site description',
'submit' => 'حفظ',

View File

@ -26,6 +26,8 @@ return [
'publish-edit' => 'kemmañ an embannadur',
'unpublish' => 'diembannañ',
'delete' => 'dilemel',
'deleted' => 'dilamet',
'delete-permanently' => 'dilemel da viken',
'fediverse' => 'kevrebed',
'block-lists' => 'roll ar re stanket',
'users' => 'implijerien·ezed',

View File

@ -39,6 +39,15 @@ return [
'not_published' => 'Diembann',
],
'list' => [
'search' => [
'placeholder' => 'Search for an episode',
'clear' => 'Clear search',
'submit' => 'Search',
],
'number_of_episodes' => '{numberOfEpisodes, plural,
one {# episode}
other {# episodes}
}',
'episode' => 'Rann',
'visibility' => 'Gwelusted',
'comments' => 'Evezhiadennoù',
@ -48,6 +57,24 @@ return [
'createSuccess' => 'Krouet eo bet ar rann gant berzh!',
'editSuccess' => 'Hizivaet eo bet ar rann gant berzh!',
'publishCancelSuccess' => 'Nullet eo bet embannadur ar rann gant berzh!',
'unpublishBeforeDeleteTip' => 'Ret eo deoc\'h diembannañ ar rann a-raok dilemel anezhi.',
'deletePublishedEpisodeError' => 'Diembannit ar rann a-raok dilemel anezhi mar plij.',
'deleteSuccess' => 'Dilamet eo bet ar rann gant berzh!',
'deleteError' => 'Failed to delete episode {type, select,
transcript {transcript}
chapters {chapters}
image {cover}
audio {audio}
other {media}
}.',
'deleteFileError' => 'Failed to delete {type, select,
transcript {transcript}
chapters {chapters}
image {cover}
audio {audio}
other {media}
} file {file_path}. You may manually remove it from your disk.',
'sameSlugError' => 'Bez ez eus eus ur rann gant ar berradur-mañ (slug) dija.',
],
'form' => [
'file_size_error' =>
@ -58,7 +85,7 @@ return [
'cover' => 'Golo ar rann',
'cover_hint' =>
'Ma n\'ho peus ket kaset ur golo e vo implijet hini ar podkast en e blas.',
'cover_size_hint' => 'Ar golo a rankfe bezañ ur c\'harrez 1400px e vent da nebeutañ.',
'cover_size_hint' => 'Cover must be squared and at least 1400px wide and tall.',
'title' => 'Titl',
'title_hint' =>
'Dleout a rafe anv ar rann, sklaer ha berr. Arabat lakaat niverenn ar rann pe ar c\'houlzad amañ.',
@ -148,7 +175,7 @@ return [
],
'delete_form' => [
'disclaimer' =>
"Dilemel ar rann a zilamo an holl gemennadennoù liammet outi ha skarzhet e vo eus lanv RSS ar podkast.",
"Gant ar rann e vo dilamet an holl restroù media, evezhiadennoù, tennadoù video ha son liammet outi.",
'understand' => 'Komprennet eo, dilemel ar rann a fell din',
'submit' => 'Dilemel',
],

View File

@ -9,22 +9,22 @@ declare(strict_types=1);
*/
return [
'back_to_home' => 'Back to home',
'page' => 'Page',
'all_pages' => 'All pages',
'create' => 'New page',
'go_to_page' => 'Go to page',
'edit' => 'Edit page',
'delete' => 'Delete page',
'back_to_home' => 'Distreiñ d\'ar bennbajennad',
'page' => 'Pajenn',
'all_pages' => 'An holl bajennoù',
'create' => 'Krouiñ ur bajenn',
'go_to_page' => 'Mont d\'ar bajenn',
'edit' => 'Kemm ar bajenn',
'delete' => 'Dilemel ar bajenn',
'form' => [
'title' => 'Title',
'permalink' => 'Permalink',
'content' => 'Content',
'submit_create' => 'Create page',
'submit_edit' => 'Save',
'title' => 'Titl',
'permalink' => 'Peurliamm',
'content' => 'Danvez',
'submit_create' => 'Krouiñ ar bajenn',
'submit_edit' => 'Enrollañ',
],
'messages' => [
'createSuccess' => 'The page “{pageTitle}” was created successfully!',
'editSuccess' => 'The page was successfully updated!',
'createSuccess' => 'Krouet eo bet ar bajenn "{pageTitle}" gant berzh!',
'editSuccess' => 'Hizivaet eo bet ar bajenn gant berzh!',
],
];

View File

@ -9,13 +9,13 @@ declare(strict_types=1);
*/
return [
'pageNavigation' => 'Page navigation',
'first' => 'First',
'previous' => 'Previous',
'next' => 'Next',
'last' => 'Last',
'older' => 'Older',
'newer' => 'Newer',
'invalidTemplate' => '{0} is not a valid Pager template.',
'invalidPaginationGroup' => '{0} is not a valid Pagination group.',
'pageNavigation' => 'Merdeiñ',
'first' => 'Kentañ',
'previous' => 'Kent',
'next' => 'Da heul',
'last' => 'Diwezhañ',
'older' => 'Koshañ',
'newer' => 'Nevesañ',
'invalidTemplate' => 'N\'eo ket {0} ur patrom reizh.',
'invalidPaginationGroup' => 'N\'eo ket {0} ur strollad reizh.',
];

View File

@ -9,22 +9,22 @@ declare(strict_types=1);
*/
return [
'persons' => 'Persons',
'all_persons' => 'All persons',
'no_person' => 'Nobody found!',
'create' => 'Create a person',
'view' => 'View person',
'edit' => 'Edit person',
'delete' => 'Delete person',
'persons' => 'Emellerien·ezed',
'all_persons' => 'An holl emellerien·ezed',
'no_person' => 'Emeller·ez ebet!',
'create' => 'Krouiñ un emeller·ez',
'view' => 'Gwelet an emeller·ez',
'edit' => 'Kemmañ an emeller·ez',
'delete' => 'Dilemel an emeller·ez',
'messages' => [
'createSuccess' => 'Person has been successfully created!',
'editSuccess' => 'Person has been successfully updated!',
'deleteSuccess' => 'Person has been removed!',
'createSuccess' => 'Krouet eo bet an emeller·ez gant berzh!',
'editSuccess' => 'Hizivaet eo bet an emeller·ez gant berzh!',
'deleteSuccess' => 'Tennet eo bet an emeller·ez!',
],
'form' => [
'avatar' => 'Avatar',
'avatar_size_hint' =>
'Avatar must be squared with at least 400px wide and tall.',
'Avatar must be squared and at least 400px wide and tall.',
'full_name' => 'Full name',
'full_name_hint' => 'This is the full name or alias of the person.',
'unique_name' => 'Unique name',

View File

@ -26,19 +26,39 @@ return [
'createSuccess' => 'Krouet eo bet ar podkast gant berzh!',
'editSuccess' => 'Hizivaet eo bet ar podkast gant berzh!',
'importSuccess' => 'Enporzhet eo bet ar podkast gant berzh!',
'deleteSuccess' => 'Dilamet eo bet ar podkast @{podcast_handle} gant berzh!',
'deletePodcastMediaError' => 'Failed to delete podcast {type, select,
cover {cover}
banner {banner}
other {media}
}.',
'deleteEpisodeMediaError' => 'Failed to delete podcast episode {episode_slug} {type, select,
transcript {transcript}
chapters {chapters}
image {cover}
audio {audio}
other {media}
}.',
'deletePodcastMediaFolderError' => 'Failed to delete podcast media folder {folder_path}. You may manually remove it from your disk.',
'podcastFeedUpdateSuccess' => 'Successful update: {number_of_new_episodes, plural,
one {# episode was}
other {# episodes were}
} added to the podcast!',
'podcastFeedUpToDate' => 'Podcast is already up to date.',
'podcastNotImported' => 'Podcast could not be updated as it was not imported.',
],
'form' => [
'identity_section_title' => 'Podcast identity',
'identity_section_subtitle' => 'These fields allow you to get noticed.',
'identity_section_title' => 'Titouroù diwar-benn ar podkast',
'identity_section_subtitle' => 'Ar maeziennoù a laka ac\'hanoc\'h da vezañ remerket.',
'cover' => 'Golo ar podkast',
'cover_size_hint' => 'Cover must be squared with at least 1400px wide and tall.',
'banner' => 'Podcast banner',
'banner_size_hint' => 'Banner must have a 3:1 ratio with at least 1500px wide.',
'banner_delete' => 'Delete podcast banner',
'cover_size_hint' => 'Cover must be squared and at least 1400px wide and tall.',
'banner' => 'Giton ar podkast',
'banner_size_hint' => 'Banner must have a 3:1 ratio and be at least 1500px wide.',
'banner_delete' => 'Dilemel giton ar podkast',
'title' => 'Titl',
'handle' => 'Handle',
'handle' => 'Anv ar podkast (handle)',
'handle_hint' =>
'Used to identify the podcast. Uppercase, lowercase, numbers and underscores are accepted.',
'Implijet evit anavezout ar podkast. Lizherennoù bras pe munut, niveroù hag islinenn (_) degemeret.',
'type' => [
'label' => 'Doare',
'episodic' => 'Episodic',
@ -90,6 +110,9 @@ return [
'custom_rss_hint' => 'This will be injected within the ❬channel❭ tag.',
'new_feed_url' => 'New feed URL',
'new_feed_url_hint' => 'Use this field when you move to another domain or podcast hosting platform. By default, the value is set to the current RSS URL if the podcast is imported.',
'old_feed_url' => 'Old feed URL',
'update_feed' => 'Update feed',
'update_feed_tip' => 'Import this podcast\'s latest episodes',
'partnership' => 'Partnership',
'partner_id' => 'ID',
'partner_link_url' => 'Link URL',
@ -219,6 +242,12 @@ return [
'film_reviews' => 'Film Reviews',
'tv_reviews' => 'TV Reviews',
],
'delete_form' => [
'disclaimer' =>
"Deleting the podcast will delete all episodes, media files, posts and analytics associated with it. This action is irreversible, you will not be able to retrieve them afterwards.",
'understand' => 'I understand, I want the podcast to be permanently deleted',
'submit' => 'Delete',
],
'by' => 'By {publisher}',
'season' => 'Season {seasonNumber}',
'list_of_episodes_year' => '{year} episodes ({episodeCount})',

View File

@ -10,7 +10,7 @@ declare(strict_types=1);
return [
'warning' =>
'This procedure may take a long time. As the current version does not show any progress while it runs, you will not see anything updated until it is done. In case of timeout error, increase `max_execution_time` value.',
'This procedure may take a long time.<br/>As the current version does not show any progress while it runs, you will not see anything updated until it is done.<br/>In case of timeout error, increase `max_execution_time` value.',
'old_podcast_section_title' => 'The podcast to import',
'old_podcast_section_subtitle' =>
'Make sure you own the rights for this podcast before importing it. Copying and broadcasting a podcast without the proper rights is piracy and is liable to prosecution.',

View File

@ -17,6 +17,7 @@ return [
'episodes' => 'Episodes',
'episode-list' => 'All episodes',
'episode-create' => 'New episode',
'episode-deleted' => 'Recycle bin',
'analytics' => 'Analytics',
'podcast-analytics' => 'Audience overview',
'podcast-analytics-webpages' => 'Web pages visits',

Some files were not shown because too many files have changed in this diff Show More