chore: new Crowdin updates

This commit is contained in:
crowdin 2022-09-06 14:55:46 +00:00 committed by Yassine Doghri
parent f3c1ddb3b1
commit 3fc9734161
117 changed files with 5918 additions and 611 deletions

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' => "Comentari de {actorDisplayName} per {episodeTitle}",
'back_to_comments' => 'Retornar als comentaris',
'form' => [
'episode_message_placeholder' => 'Escriviu un comentari...',
'reply_to_placeholder' => 'Respondre a @{actorUsername}',
'submit' => 'Enviar',
'submit_reply' => 'Respondre',
],
'likes' => '{numberOfLikes, plural,
one {# m\'agrada}
other {# m\'agrada}
}',
'replies' => '{numberOfReplies, plural,
one {# resposta}
other {# respostes}
}',
'like' => 'M\'agrada',
'reply' => 'Respondre',
'view_replies' => 'Veure respostes ({numberOfReplies})',
'block_actor' => 'Bloquejar l\'usuari @{actorUsername}',
'block_domain' => 'Bloquejar el domini @{actorDomain}',
'delete' => 'Esborrar el comentari',
];

View File

@ -0,0 +1,30 @@
<?php
declare(strict_types=1);
/**
* @copyright 2020 Ad Aures
* @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
* @link https://castopod.org/
*/
return [
'yes' => 'Sí',
'no' => 'No',
'cancel' => 'Cancel·lar',
'optional' => 'Opcional',
'close' => 'Tancar',
'home' => 'Inici',
'explicit' => 'Explícit',
'powered_by' => 'Powered by {castopod}',
'go_back' => 'Tornar enrere',
'play_episode_button' => [
'play' => 'Reproduir',
'playing' => 'S\'està reproduint',
],
'read_more' => 'Més informació',
'read_less' => 'Menys informació',
'see_more' => 'Veure més',
'see_less' => 'Veure menys',
'legal_notice' => 'Avís Legal',
];

View File

@ -0,0 +1,33 @@
<?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' => 'Temporada {seasonNumber}',
'season_abbr' => 'S{seasonNumber}',
'number' => 'Episodi {episodeNumber}',
'number_abbr' => 'Ep. {episodeNumber}',
'season_episode' => 'Temporada {seasonNumber} episodi {episodeNumber}',
'season_episode_abbr' => 'S{seasonNumber}:E{episodeNumber}',
'persons' => '{personsCount, plural,
one {# persona}
other {# persones}
}',
'persons_list' => 'Persones',
'back_to_episodes' => 'Tornar als episodis de {podcast}',
'comments' => 'Comentaris',
'activity' => 'Activitat',
'description' => 'Descripció de l\'episodi',
'number_of_comments' => '{numberOfComments, plural,
one {# comentari}
other {# comentaris}
}',
'all_podcast_episodes' => 'Tots els episodis del podcast',
'back_to_podcast' => 'Tornar al 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' => 'El vostre alias',
'your_handle_hint' => 'Escriviu el vostre @nomusuari@domini que vulgueu emprar per interactuar.',
'follow' => [
'label' => 'Seguir',
'title' => 'Seguir a {actorDisplayName}',
'subtitle' => 'Seguireu a:',
'accountNotFound' => 'No s\'ha trobat el compte.',
'remoteFollowNotAllowed' => 'Sembla que el servidor del compte no permet seguiments remots...',
'submit' => 'Procedir a seguir',
],
'favourite' => [
'title' => "Publicacions favorites de {actorDisplayName}",
'subtitle' => 'Aneu a marcar com a favorit:',
'submit' => 'Procedir a marcar com a favorit ',
],
'reblog' => [
'title' => "Compartir la publicació de {actorDisplayName}",
'subtitle' => 'Aneu a compartir:',
'submit' => 'Procedir a compartir',
],
'reply' => [
'title' => "Respondre a la publicació de {actorDisplayName}",
'subtitle' => 'Aneu a respondre a:',
'submit' => 'Procedir a respondre',
],
];

20
app/Language/ca/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' => 'Tots els podcasts',
'sort_by' => 'Ordenar per',
'sort_options' => [
'activity' => 'Activitat recent',
'created_desc' => 'El més recent primer',
'created_asc' => 'El més antic primer',
],
'no_podcast' => 'No s\'han trobat podcasts',
];

17
app/Language/ca/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' => 'Tornar a l\'inici',
'map' => [
'title' => 'Mapa',
'description' => 'Descobriu episodis de podcasts a {siteName} que es col·loquen en un mapa! Viatjeu pel mapa i escolteu episodis que parlen de llocs concrets.',
],
];

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' => 'Fil RSS del podcast',
'season' => 'Temporada {seasonNumber}',
'list_of_episodes_year' => 'Episodis del {year} ({episodeCount})',
'list_of_episodes_season' =>
'Episodis de la temporada {seasonNumber} ({episodeCount})',
'no_episode' => 'No s\'han trobat episodis.',
'follow' => 'Seguir',
'followTitle' => 'Seguir a {actorDisplayName} al Fediverse!',
'followers' => '{numberOfFollowers, plural,
one {# seguidor}
other {# seguidors}
}',
'posts' => '{numberOfPosts, plural,
one {# publicació}
other {# publicacions}
}',
'activity' => 'Activitat',
'episodes' => 'Episodis',
'episodes_title' => 'Episodis de {podcastTitle}',
'about' => 'Quant a',
'stats' => [
'title' => 'Estadístiques',
'number_of_seasons' => '{0, plural,
one {# temporada}
other {# temporades}
}',
'number_of_episodes' => '{0, plural,
one {# episodi}
other {# episodis}
}',
'first_published_at' => 'El primer episodi va ser publicat el {0, date, medium}',
],
'sponsor' => 'Patrocinador',
'funding_links' => 'Enllaços de finançament per {podcastTitle}',
'find_on' => 'Trobar {podcastTitle} a',
'listen_on' => 'Escoltant',
'persons' => '{personsCount, plural,
one {# persona}
other {# persones}
}',
'persons_list' => 'Persones',
];

40
app/Language/ca/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' => "Publicat per {actorDisplayName}",
'back_to_actor_posts' => 'Tornar a les publicacions de {actor}',
'actor_shared' => '{actor} ha compartit',
'reply_to' => 'Respondre a @{actorUsername}',
'form' => [
'message_placeholder' => 'Escriviu un missatge...',
'episode_message_placeholder' => 'Escriviu un missatge per l\'episodi…',
'episode_url_placeholder' => 'URL de l\'episodi',
'reply_to_placeholder' => 'Respondre a @{actorUsername}',
'submit' => 'Enviar',
'submit_reply' => 'Respondre',
],
'favourites' => '{numberOfFavourites, plural,
one {# favorit}
other {# favorits}
}',
'reblogs' => '{numberOfReblogs, plural,
one {# compartició}
other {# comparticions}
}',
'replies' => '{numberOfReplies, plural,
one {# resposta}
other {# respostes}
}',
'expand' => 'Expandir publicació',
'block_actor' => 'Bloquejar a l\'usuari @{actorUsername}',
'block_domain' => 'Bloquejar al domini @{actorDomain}',
'delete' => 'Esborrar publicació',
];

View File

@ -9,26 +9,24 @@ declare(strict_types=1);
*/
return [
'title' => "{actorDisplayName}'s comment for {episodeTitle}",
'back_to_comments' => 'Back to comments',
'title' => "Komentar {actorDisplayName} pada {episodeTitle}",
'back_to_comments' => 'Kembali ke komentar',
'form' => [
'episode_message_placeholder' => 'Write a comment…',
'reply_to_placeholder' => 'Reply to @{actorUsername}',
'submit' => 'Send',
'submit_reply' => 'Reply',
'episode_message_placeholder' => 'Tulis komentar…',
'reply_to_placeholder' => 'Membalas @{actorUsername}',
'submit' => 'Kirim',
'submit_reply' => 'Balas',
],
'likes' => '{numberOfLikes, plural,
one {# like}
other {# likes}
other {# suka}
}',
'replies' => '{numberOfReplies, plural,
one {# reply}
other {# replies}
other {# balasan}
}',
'like' => 'Like',
'reply' => 'Reply',
'view_replies' => 'View replies ({numberOfReplies})',
'block_actor' => 'Block user @{actorUsername}',
'block_domain' => 'Block domain @{actorDomain}',
'delete' => 'Delete comment',
'like' => 'Sukai',
'reply' => 'Balas',
'view_replies' => 'Lihat balasan ({numberOfReplies})',
'block_actor' => 'Blokir pengguna @{actorUsername}',
'block_domain' => 'Blokir domain @{actorDomain}',
'delete' => 'Hapus komentar',
];

View File

@ -9,22 +9,22 @@ declare(strict_types=1);
*/
return [
'yes' => 'Yes',
'no' => 'No',
'cancel' => 'Cancel',
'optional' => 'Optional',
'close' => 'Close',
'home' => 'Home',
'explicit' => 'Explicit',
'powered_by' => 'Powered by {castopod}',
'go_back' => 'Go back',
'yes' => 'Ya',
'no' => 'Tidak',
'cancel' => 'Batal',
'optional' => 'Opsional',
'close' => 'Tutup',
'home' => 'Beranda',
'explicit' => 'Eksplisit',
'powered_by' => 'Didukung oleh {castopod}',
'go_back' => 'Kembali',
'play_episode_button' => [
'play' => 'Play',
'playing' => 'Playing',
'play' => 'Putar',
'playing' => 'Sedang Diputar',
],
'read_more' => 'Read more',
'read_less' => 'Read less',
'see_more' => 'See more',
'see_less' => 'See less',
'legal_notice' => 'Legal notice',
'read_more' => 'Baca lebih lanjut',
'read_less' => 'Baca lebih singkat',
'see_more' => 'Lihat lebih banyak',
'see_less' => 'Lihat lebih sedikit',
'legal_notice' => 'Pemberitahuan hukum',
];

View File

@ -9,25 +9,23 @@ declare(strict_types=1);
*/
return [
'season' => 'Season {seasonNumber}',
'season' => 'Musim {seasonNumber}',
'season_abbr' => 'S{seasonNumber}',
'number' => 'Episode {episodeNumber}',
'number_abbr' => 'Ep. {episodeNumber}',
'season_episode' => 'Season {seasonNumber} episode {episodeNumber}',
'number_abbr' => 'Eps. {episodeNumber}',
'season_episode' => 'Musim {seasonNumber} episode {episodeNumber}',
'season_episode_abbr' => 'S{seasonNumber}:E{episodeNumber}',
'persons' => '{personsCount, plural,
one {# person}
other {# persons}
other {# orang}
}',
'persons_list' => 'Persons',
'back_to_episodes' => 'Back to episodes of {podcast}',
'comments' => 'Comments',
'activity' => 'Activity',
'description' => 'Episode description',
'persons_list' => 'Orang',
'back_to_episodes' => 'Kembali ke episode-episode pada {podcast}',
'comments' => 'Komentar',
'activity' => 'Aktivitas',
'description' => 'Keterangan episode',
'number_of_comments' => '{numberOfComments, plural,
one {# comment}
other {# comments}
other {# komentar}
}',
'all_podcast_episodes' => 'All podcast episodes',
'back_to_podcast' => 'Go back to podcast',
'all_podcast_episodes' => 'Semua episode siniar',
'back_to_podcast' => 'Kembali ke siniar',
];

View File

@ -12,26 +12,26 @@ 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.',
'label' => 'Ikuti',
'title' => 'Ikuti {actorDisplayName}',
'subtitle' => 'Anda akan mengikuti:',
'accountNotFound' => 'Akun tidak ditemukan.',
'remoteFollowNotAllowed' => 'Seems like the account server does not allow remote follows…',
'submit' => 'Proceed to follow',
'submit' => 'Lanjut mengikuti',
],
'favourite' => [
'title' => "Favourite {actorDisplayName}'s post",
'subtitle' => 'You are going to favourite:',
'submit' => 'Proceed to favourite',
'title' => "Favoritkan postingan {actorDisplayName}",
'subtitle' => 'Anda akan memfavoritkan:',
'submit' => 'Lanjut memfavoritkan',
],
'reblog' => [
'title' => "Share {actorDisplayName}'s post",
'subtitle' => 'You are going to share:',
'submit' => 'Proceed to share',
'title' => "Bagikan postingan {actorDisplayName}",
'subtitle' => 'Anda akan membagikan:',
'submit' => 'Lanjut membagikan',
],
'reply' => [
'title' => "Reply to {actorDisplayName}'s post",
'subtitle' => 'You are going to reply to:',
'submit' => 'Proceed to reply',
'title' => "Balas postingan {actorDisplayName}",
'subtitle' => 'Anda akan membalas:',
'submit' => 'Lanjut membalas',
],
];

View File

@ -9,12 +9,12 @@ declare(strict_types=1);
*/
return [
'all_podcasts' => 'All podcasts',
'sort_by' => 'Sort by',
'all_podcasts' => 'Semua siniar',
'sort_by' => 'Urutkan berdasarkan',
'sort_options' => [
'activity' => 'Recent activity',
'created_desc' => 'Newest first',
'created_asc' => 'Oldest first',
'activity' => 'Aktivitas baru-baru ini',
'created_desc' => 'Terbaru lebih dulu',
'created_asc' => 'Terlama lebih dulu',
],
'no_podcast' => 'No podcast found',
'no_podcast' => 'Tak ada siniar yang ditemukan',
];

View File

@ -9,7 +9,7 @@ declare(strict_types=1);
*/
return [
'back_to_home' => 'Back to home',
'back_to_home' => 'Kembali ke beranda',
'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

@ -10,44 +10,39 @@ declare(strict_types=1);
return [
'feed' => 'RSS Podcast feed',
'season' => 'Season {seasonNumber}',
'season' => 'Musim {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!',
'Episode-episode pada musim {seasonNumber} ({episodeCount})',
'no_episode' => 'Tak ditemukan episode!',
'follow' => 'Ikuti',
'followTitle' => 'Ikuti {actorDisplayName} di fediverse!',
'followers' => '{numberOfFollowers, plural,
one {# follower}
other {# followers}
other {# pengikut}
}',
'posts' => '{numberOfPosts, plural,
one {# post}
other {# posts}
other {# postingan}
}',
'activity' => 'Activity',
'episodes' => 'Episodes',
'episodes_title' => 'Episodes of {podcastTitle}',
'about' => 'About',
'activity' => 'Aktivitas',
'episodes' => 'Episode',
'episodes_title' => 'Episode-episode {podcastTitle}',
'about' => 'Tentang',
'stats' => [
'title' => 'Stats',
'title' => 'Statistik',
'number_of_seasons' => '{0, plural,
one {# season}
other {# seasons}
other {# musim}
}',
'number_of_episodes' => '{0, plural,
one {# episode}
other {# episodes}
other {# episode}
}',
'first_published_at' => 'First episode published on {0, date, medium}',
'first_published_at' => 'Episode pertama diterbitkan pada {0, date, medium}',
],
'sponsor' => 'Sponsor',
'funding_links' => 'Funding links for {podcastTitle}',
'find_on' => 'Find {podcastTitle} on',
'find_on' => 'Cari {podcastTitle} di',
'listen_on' => 'Listen on',
'persons' => '{personsCount, plural,
one {# person}
other {# persons}
other {# orang}
}',
'persons_list' => 'Persons',
'persons_list' => 'Orang',
];

View File

@ -11,30 +11,28 @@ declare(strict_types=1);
return [
'title' => "{actorDisplayName}'s post",
'back_to_actor_posts' => 'Back to {actor} posts',
'actor_shared' => '{actor} shared',
'reply_to' => 'Reply to @{actorUsername}',
'actor_shared' => '{actor} membagikan',
'reply_to' => 'Balas @{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',
'message_placeholder' => 'Tulis pesan…',
'episode_message_placeholder' => 'Tulis pesan untuk episode ini…',
'episode_url_placeholder' => 'URL episode',
'reply_to_placeholder' => 'Balas @{actorUsername}',
'submit' => 'Kirim',
'submit_reply' => 'Balas',
],
'favourites' => '{numberOfFavourites, plural,
one {# favourite}
other {# favourites}
other {# favorit}
}',
'reblogs' => '{numberOfReblogs, plural,
one {# share}
other {# shares}
}',
'replies' => '{numberOfReplies, plural,
one {# reply}
other {# replies}
other {# balasan}
}',
'expand' => 'Expand post',
'block_actor' => 'Block user @{actorUsername}',
'block_domain' => 'Block domain @{actorDomain}',
'delete' => 'Delete post',
'expand' => 'Perluas postingan',
'block_actor' => 'Blokir pengguna @{actorUsername}',
'block_domain' => 'Blokir domain @{actorDomain}',
'delete' => 'Hapus postingan',
];

View File

@ -30,8 +30,8 @@ return [
other {# príspevkov}
}',
'activity' => 'Aktivita',
'episodes' => 'Epizódy',
'episodes_title' => 'Epizódy {podcastTitle}',
'episodes' => 'Časti',
'episodes_title' => 'Časti {podcastTitle}',
'about' => 'O',
'stats' => [
'title' => 'Štatistiky',
@ -42,10 +42,10 @@ return [
other {# sérií}
}',
'number_of_episodes' => '{0, plural,
one {# epizóda}
few {# epizódy}
many {# epizód}
other {# epizód}
one {# časť}
few {# častí}
many {# častí}
other {# časti}
}',
'first_published_at' => 'Prvá epizóda publikovaná {0, date, medium}',
],

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} 在 {episodeTitle} 的评论",
'back_to_comments' => '返回评论页面',
'form' => [
'episode_message_placeholder' => '写点儿评论吧...',
'reply_to_placeholder' => '回复给 @{actorUsername}',
'submit' => '发送',
'submit_reply' => '回复',
],
'likes' => '{numberOfLikes, plural,
one {# 喜欢}
other {# 喜欢}
}',
'replies' => '{numberOfReplies, plural,
one {# 回复}
other {# 回复}
}',
'like' => '喜欢',
'reply' => '回复',
'view_replies' => '查看回复 ({numberOfReplies})',
'block_actor' => '屏蔽用户 @{actorUsername}',
'block_domain' => '屏蔽来自 @{actorDomain} 的内容',
'delete' => '删除评论',
];

View File

@ -0,0 +1,30 @@
<?php
declare(strict_types=1);
/**
* @copyright 2020 Ad Aures
* @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
* @link https://castopod.org/
*/
return [
'yes' => '是',
'no' => '否',
'cancel' => '取消',
'optional' => '可选',
'close' => '关闭',
'home' => '主页',
'explicit' => '限制级',
'powered_by' => '由 {castopod} 提供支持',
'go_back' => '返回',
'play_episode_button' => [
'play' => '播放',
'playing' => '正在播放',
],
'read_more' => '阅读更多',
'read_less' => '阅读简略',
'see_more' => '了解更多',
'see_less' => '隐藏部分',
'legal_notice' => '法律声明',
];

View File

@ -0,0 +1,33 @@
<?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' => '第{seasonNumber} 季',
'season_abbr' => '第{seasonNumber} 季',
'number' => '第 {episodeNumber} 集',
'number_abbr' => '第 {episodeNumber} 集',
'season_episode' => '第 {seasonNumber} 季第 {episodeNumber} 集',
'season_episode_abbr' => '第 {seasonNumber} 季第 {episodeNumber} 集',
'persons' => '{personsCount, plural,
one {# 人}
other {# 人}
}',
'persons_list' => '人',
'back_to_episodes' => '回到剧集 {podcast} 中',
'comments' => '评论',
'activity' => '活动',
'description' => '剧集描述',
'number_of_comments' => '{numberOfComments, plural,
one {# 评论}
other {# 评论}
}',
'all_podcast_episodes' => '所有播客剧集',
'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_hint' => '输入 @username@domain 执行你想要进行的操作。',
'follow' => [
'label' => '关注',
'title' => '关注 {actorDisplayName}',
'subtitle' => '你将会关注:',
'accountNotFound' => '无法找到此帐户。',
'remoteFollowNotAllowed' => '好像此帐户服务器不允许远程关注…',
'submit' => '继续关注',
],
'favourite' => [
'title' => "喜欢 {actorDisplayName} 的帖子",
'subtitle' => '你将会喜欢:',
'submit' => '已添加到喜欢',
],
'reblog' => [
'title' => "分享 {actorDisplayName} 的帖子",
'subtitle' => '你将要分享:',
'submit' => '继续分享',
],
'reply' => [
'title' => "回复 {actorDisplayName} 的帖子",
'subtitle' => '你将会回复到:',
'submit' => '继续回复',
],
];

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' => '全部播客',
'sort_by' => '排序方式',
'sort_options' => [
'activity' => '近期活动',
'created_desc' => '按时间顺序最新的优先',
'created_asc' => '按时间顺序最旧的优先',
],
'no_podcast' => '没有找到播客',
];

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' => '返回主页',
'map' => [
'title' => '地图',
'description' => '发现 {siteName} 上的播客剧集!浏览相关信息,并收听相关剧集。',
],
];

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' => '播客订阅源',
'season' => '第 {seasonNumber} 季',
'list_of_episodes_year' => '{year} 剧集 ({episodeCount})',
'list_of_episodes_season' =>
'第 {seasonNumber} 季(第 {episodeCount} 集)',
'no_episode' => '没有找到剧集!',
'follow' => '关注',
'followTitle' => '在联邦宇宙中关注 {actorDisplayName} ',
'followers' => '{numberOfFollowers, plural,
one {# 关注者}
other {# 关注者}
}',
'posts' => '{numberOfPosts, plural,
one {# 帖子}
other {# 帖子}
}}',
'activity' => '活动',
'episodes' => '剧集',
'episodes_title' => '{podcastTitle} 的剧集',
'about' => '关于',
'stats' => [
'title' => '统计信息',
'number_of_seasons' => '{0, plural,
one {# 季}
other {# 季}
}',
'number_of_episodes' => '{0, plural,
one {# 剧集}
other {# 剧集}
}',
'first_published_at' => '首集发布于 {0, date, medium}',
],
'sponsor' => '赞助者',
'funding_links' => '{podcastTitle} 的赞助链接',
'find_on' => '查找 {podcastTitle} 于',
'listen_on' => '收听',
'persons' => '{personsCount, plural,
one {# 人}
other {# 人}
}',
'persons_list' => '人',
];

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} 的帖子",
'back_to_actor_posts' => '返回 {actor} 的帖子',
'actor_shared' => '{actor} 已分享',
'reply_to' => '回复给 @{actorUsername}',
'form' => [
'message_placeholder' => '输入消息...',
'episode_message_placeholder' => '为剧集写一条消息…',
'episode_url_placeholder' => '剧集网址',
'reply_to_placeholder' => '回复给 @{actorUsername}',
'submit' => '发送',
'submit_reply' => '回复',
],
'favourites' => '{numberOfFavourites, plural,
one {# 喜欢}
other {# 喜欢}
}',
'reblogs' => '{numberOfReblogs, plural,
one {# 分享}
other {# 分享}
}',
'replies' => '{numberOfReplies, plural,
one {# 回复}
other {# 回复}
}',
'expand' => '展开帖子',
'block_actor' => '屏蔽用户 @{actorUsername}',
'block_domain' => '屏蔽来自 @{actorDomain} 的内容',
'delete' => '删除帖子',
];

View File

@ -0,0 +1,144 @@
---
title: Imatges Docker oficials
sidebarDepth: 3
---
# Imatges Docker oficials
Castopod envia 2 imatges de Docker al Docker Hub durant el seu procés de creació
automatitzada:
- [** code>castopod/app</code>**](https://hub.docker.com/r/castopod/app): el
paquet incloent Castopod i totes les dependències
- [**`castopod/web-server`**](https://hub.docker.com/r/castopod/web-server): una
configuració de Nginx per a Castopod
A més, Castopod requereix una base de dades compatible amb MySQL. Es pot afegir
una base de dades Redis com a gestor de memòria cau.
## Etiquetes compatibles
- `develop` [no-estable], darrera versió de la branca de desenvolupament
// més etiquetes per venir!
## Exemple d'ús
1. Instal·leu [docker](https://docs.docker.com/get-docker/) i
[docker-compose](https://docs.docker.com/compose/install/)
2. Creeu un fitxer `docker-compose.yml` amb el següent:
```yml
version: "3.7"
services:
app:
image: castopod/app:develop
container_name: "castopod-app"
volumes:
- castopod-media:/opt/castopod/public/media
environment:
MYSQL_DATABASE: castopod
MYSQL_USER: castopod
MYSQL_PASSWORD: canvieu-me
CP_BASEURL: "http://castopod.exemple.com"
CP_ANALYTICS_SALT: canvieu-me
CP_CACHE_HANDLER: redis
CP_REDIS_HOST: redis
networks:
- castopod-app
- castopod-db
restart: unless-stopped
web-server:
image: castopod/web-server:develop
container_name: "castopod-web-server"
volumes:
- castopod-media:/var/www/html/media
networks:
- castopod-app
ports:
- 8080:80
restart: unless-stopped
mariadb:
image: mariadb:10.5
container_name: "castopod-mariadb"
networks:
- castopod-db
volumes:
- castopod-db:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: canvieu-me
MYSQL_DATABASE: castopod
MYSQL_USER: castopod
MYSQL_PASSWORD: canvieu-me
restart: unless-stopped
redis:
image: redis:7.0-alpine
container_name: "castopod-redis"
volumes:
- castopod-cache:/data
networks:
- castopod-app
volumes:
castopod-media:
castopod-db:
castopod-cache:
networks:
castopod-app:
castopod-db:
```
Heu d'adaptar algunes variables a les vostres necessitats (per exemple,
`CP_BASEURL`, `MYSQL_ROOT_PASSWORD`, `MYSQL_PASSWORD` i
`CP_ANALYTICS_SALT`).
3. Configureu un `reverse proxy` per a TLS (SSL/HTTPS)
TLS és obligatori perquè ActivityPub funcioni. Aquest feina es pot gestionar
fàcilment amb un `reverse proxy`, per exemple amb
[Caddy](https://caddyserver.com/):
```
#castopod
castopod.exemple.com {
reverse_proxy localhost:8080
}
```
4. Executeu `docker-compose up -d`, espereu que s'inicialitzi i aneu a
`https://castopod.exemple.com/cp-install` per acabar de configurar Castopod!
5. Ja esteu a punt, podeu començar a fer podcasts! 🎙️🚀
## Variables d'entorn
- **castopod/app**
| Nom de la variable | Tipus (`default`) |
| -------------------------- | ---------------------------------- |
| **`CP_BASEURL`** | string (`undefined`) |
| **`CP_MEDIA_BASEURL`** | ?string (`(buit)`) |
| **`CP_ADMIN_GATEWAY`** | ?string (`"cp-admin"`) |
| **`CP_AUTH_GATEWAY`** | ?string (`"cp-auth"`) |
| **`CP_ANALYTICS_SALT`** | string (`undefined`) |
| **`CP_DATABASE_HOSTNAME`** | ?string (`"mariadb"`) |
| **`CP_DATABASE_NAME`** | string (`MYSQL_DATABASE`) |
| **`CP_DATABASE_USERNAME`** | string (`MYSQL_USER`) |
| **`CP_DATABASE_PASSWORD`** | string (`MYSQL_PASSWORD`) |
| **`CP_DATABASE_PREFIX`** | ?string (`"cp_"`) |
| **`CP_CACHE_HANDLER`** | ?[`"file"` o `"redis"`] (`"file"`) |
| **`CP_REDIS_HOST`** | ?string (`"localhost"`) |
| **`CP_REDIS_PASSWORD`** | ?string (`null`) |
| **`CP_REDIS_PORT`** | ?number (`6379`) |
| **`CP_REDIS_DATABASE`** | ?number (`0`) |
- **castopod/web-server**
| Nom de la variable | Type (`default`) |
| --------------------- | ----------------- |
| **`CP_APP_HOSTNAME`** | ?string (`"app"`) |

View File

@ -0,0 +1,161 @@
---
title: Instal·lació
sidebarDepth: 3
---
# Com instal·lar Castopod?
Castopod va ser pensat per ser fàcil d'instal·lar. Ja sigui utilitzant un
allotjament dedicat o un compartit, podeu instal·lar-lo a la majoria de
servidors web compatibles amb PHP-MySQL.
::: tip Nota
Hem publicat imatges oficials de Docker per a Castopod!
Si preferiu utilitzar Docker, podeu ometre això i anar directament a la
[documentació de Docker](./docker.md) per a Castopod.
:::
## Requisits
- PHP v8.0 o superior
- MySQL versió 5.7 o superior o MariaDB versió 10.2 o superior
- Support d'HTTPS
### PHP v8.0 o superior
Es requereix PHP versió 8.0 o superior, amb les extensions següents
instal·lades:
- [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) amb les llibreries
**JPEG**, **PNG** i **WEBP**.
- [exif](https://www.php.net/manual/en/exif.installation.php)
A més, assegureu-vos que les extensions següents estiguin habilitades al vostre
PHP:
- json (activat per defecte; no el desactiveu)
- xml (activat per defecte; no el desactiveu)
- [mysqlnd](https://php.net/manual/en/mysqlnd.install.php)
### Base de dades compatible amb MySQL
> Us recomanem que utilitzeu [MariaDB](https://mariadb.org).
::: warning Avís
Castopod només funciona amb bases de dades compatibles amb MySQL 5.7 o superior.
No funcionarà amb l'anterior MySQL v5.6, per exemple, ja que el seu final de
vida va ser el 5 de febrer de 2021.
:::
Necessitareu el nom d'amfitrió del servidor (hostname), el nom de la base de
dades, el nom d'usuari i la contrasenya per completar el procés d'instal·lació.
Si no els teniu, poseu-vos en contacte amb l'administrador del vostre servidor.
#### Privilegis
L'usuari ha de tenir almenys aquests privilegis a la base de dades perquè
Castopod funcioni: `CREATE`, `ALTER`, `DELETE`, `EXECUTE`, `INDEX`, `INSERT`,
`SELECT`, `UPDATE`.
### (Opcional) FFmpeg v4.1.8 o superior per fer videoclips
Si voleu generar videoclips, cal [FFmpeg](https://www.ffmpeg.org/) versió 4.1.8
o superior. Cal instal·lar les següents extensions:
- La llibreria **FreeType 2** per
[gd](https://www.php.net/manual/en/image.installation.php).
### (Opcional) Altres recomanacions
- Redis per a un millor rendiment de la memòria cau.
- CDN per a la memòria cau de fitxers estàtics i millors rendiments.
- Passarel·la de correu electrònic per a contrasenyes perdudes.
## Instruccions d'instal·lació
### Pre-requisits
0. Obteniu un servidor web amb els [requisits](#requirements) instal·lats
1. Creeu una base de dades MySQL per a Castopod amb un usuari amb privilegis
d'accés i modificació (per a més informació, vegeu
[base de dades compatible MySQL](#mysql-compatible-database)).
2. Activeu HTTPS al vostre domini amb un _certificat SSL_.
3. Baixeu i descomprimiu el darrer [paquet Castopod](https://castopod.org/) al
servidor web si encara no ho heu fet.
- ⚠️ Establiu l'arrel del document del servidor web a la subcarpeta
`castopod/public/`.
4. Afegiu **tasques cron** al vostre servidor web per a diversos processos en
segon pla (substituïu les rutes d'acord a la vostra configuració de fitxers):
- Perquè les funcions socials funcionin correctament, aquesta tasca
s'utilitza per transmetre activitats socials als vostres seguidors al
Fediverse:
```bash
* * * * * /ruta/al/php /ruta/al/castopod/public/index.php scheduled-activities
```
- Per transmetre els vostres episodis en hubs oberts després de la publicació
mitjançant [WebSub](https://en.wikipedia.org/wiki/WebSub):
```bash
* * * * * /ruta/al/php /rutal/al/castopod/public/index.php scheduled-websub-publish
```
- Per crear clips de vídeo (consulteu
[requisits de FFmpeg](#ffmpeg-v418-or-higher-for-video-clips)):
```bash
* * * * * /ruta/al/php /ruta/al/castopod/public/index.php scheduled-video-clips
```
> Aquestes tasques s'executen **cada minut**. Podeu configurar la freqüència
> segons les vostres necessitats: cada 5, 10 minuts o més.
### (recomanat) Assistent d'instal·lació
1. Executeu l'script d'instal·lació de Castopod anant a la pàgina web de
l'assistent d'instal·lació (`https://exemple.com/cp-install`) al vostre
navegador web preferit.
2. Seguiu les instruccions a la vostra pantalla.
3. Comenceu a fer podcasts!
::: info Nota
L'script d'instal·lació escriu un fitxer `.env` a l'arrel del paquet. Si no
podeu fer còrrer l'assistent web d'instal·lació, podeu
[crear i actualitzar el fitxer `.env` manualment](#alternative-manual-configuration).
:::
## Paquets de la comunitat
Si no us voleu molestar amb la instal·lació manual de Castopod, podeu utilitzar
un dels paquets creats i mantinguts per la comunitat de codi obert.
### Instal·lar amb YunoHost
[YunoHost](https://yunohost.org/) és una distribució basada en Debian GNU/Linux
formada per paquets de programari lliure i de codi obert. Gestiona les
dificultats de l'auto-allotjament per tu.
<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="Instal·lar Castopod amb 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>Repositori
a Github</a>
</div>

View File

@ -0,0 +1,26 @@
---
title: Seguretat
---
# Detalls de seguretat
Castopod està fet amb [CodeIgniter4](https://codeigniter.com/), un framework PHP
que fomenta les
[bones pràctiques de seguretat](https://codeigniter.com/user_guide/concepts/security.html).
Per maximitzar la seguretat de la vostra instància i evitar qualsevol atac
maliciós, us recomanem que actualitzeu tots els permisos dels fitxers de
Castopod després de la instal·lació o actualitzacions (per evitar qualsevol
error de permís previ):
- el directori `writable/` ha de ser **llegible** i **escrivible**.
- el directori `public/media/` ha de ser **llegible** i **escrivible**.
- qualsevol altre fitxer ha de ser definit com a **només-lectura**.
Per exemple, si utilitzeu Apache o NGINX amb Ubuntu, podeu fer el següent:
```bash
sudo chown -R root:root /ruta/cap/a/castopod
sudo chown -R www-data:www-data /ruta/cap/a/castopod/writable
sudo chown -R www-data:www-data /ruta/cap/a/castopod/public/media
```

View File

@ -0,0 +1,94 @@
---
title: Actualitzar
sidebarDepth: 3
---
# Com actualitzar Castopod?
Després d'instal·lar Castopod, és possible que vulgueu actualitzar la vostra
instància a la darrera versió per gaudir de les últimes funcions ✨, correccions
d'errors 🐛 i millores de rendiment ⚡.
## Instruccions d'actualització automàtica
> Aviat... 👀
## Instruccions d'actualització manual
1. Aneu a la
[pàgina de llançaments](https://code.castopod.org/adaures/castopod/-/releases)
i comproveu si la vostra instància està actualitzada amb la darrera versió de
Castopod
- [On puc trobar la meva versió de Castopod?](#where-can-i-find-my-castopod-version)
2. Baixeu l'últim paquet de llançament anomenat `Castopod Package`, podeu triar
entre els fitxers `zip` o `tar.gz`
- ⚠️ Assegureu-vos de descarregar el paquet Castopod i **NO** el codi font
3. Al vostre servidor:
- Elimina tots els fitxers excepte `.env` i `public/media`
- Copieu els fitxers nous del paquet descarregat al vostre servidor
::: info Nota
És possible que hàgiu de restablir els permisos dels fitxers durant el
procés d'instal·lació. Comproveu els [Detalls de seguretat](./security.md).
:::
4. Les diferents versions poden incloure instruccions d'actualització
addicionals (vegeu la
[pàgina de versions](https://code.castopod.org/adaures/castopod/-/releases)).
Normalment són scripts de migració de bases de dades en format `.sql` per
actualitzar l'esquema de la base de dades.
- 👉 Assegureu-vos que executeu els scripts al vostre panell phpmyadmin o
utilitzeu la línia d'ordres per actualitzar la base de dades juntament amb
els fitxers del paquet.
- [Fa molt de temps que no actualitzo la meva instància... Què hauria de fer?](#i-havent-updated-my-instance-in-a-long-time-what-should-i-do)
5. Si utilitzeu redis, esborreu la memòria cau.
6. ✨ Gaudiu de la vostra nova instància, tot fet i preparat!
## Preguntes més freqüents (FAQ)
### On puc trobar la meva versió de Castopod?
Aneu al vostre panell de control de Castopod, la versió es mostra a la cantonada
inferior esquerra.
Alternativament, podeu trobar la versió al fitxer
`app > Config > Constants.php`.
### Fa temps que no actualitzo la meva instància... Què hauria de fer?
Cap problema. Només heu d'obtenir l'última versió tal com es descriu
anteriorment. Només, quan seguiu les instruccions de la versió en qüestió (4),
realitzeu-les de manera seqüencial, de la més antiga a la més nova.
> És possible que vulgueu fer una còpia de seguretat de la vostra instància en
> funció del temps que no heu actualitzat Castopod.
Per exemple, si sou a `v1.0.0-alpha.42` i voleu actualitzar a `v1.0.0-beta.1`:
0. (molt recomanable) Feu una còpia de seguretat dels vostres fitxers i base de
dades.
1. Baixeu la darrera versió, sobreescriu els vostres fitxers mantenint `.env` i
`public/media`.
2. Seguiu les instruccions d'actualització de cada versió seqüencialment (de la
més antiga a la més recent) començant per `v1.0.0-alpha.43`,
`v1.0.0-alpha.44`, `v1.0.0-alpha.45`, ..., `v1.0.0-beta.1`.
3. ✨ Gaudiu de la vostra nova instància, tot fet i preparat!
### Hauria de fer una còpia de seguretat abans d'actualitzar?
T'aconsellem que ho facis, perquè no ho perdis tot si alguna cosa va malament!
De manera més general, us aconsellem que feu còpies de seguretat periòdiques
dels vostres fitxers i base de dades de Castopod per evitar que ho perdeu tot...

298
docs/src/ca/index.md Normal file
View File

@ -0,0 +1,298 @@
---
sidebarDepth: 2
---
# Benvinguts 👋
[![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 és una plataforma d'allotjament gratuïta i de codi obert creada per a
podcasters que volen involucrar i interactuar amb el seu públic.
Castopod és fàcil d'instal·lar i s'ha creat amb
[CodeIgniter4](https://codeigniter.com/), un marc PHP potent amb una empremta
molt petita.
::: info Estat
Castopod es troba actualment en **beta**, però ja és bastant estable i
l'utilitzen els podcasters d'arreu del món!
:::
<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">Instal·lar<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>
## Característiques
- 🌱 &nbsp;Gratis i de codi obert (llicència AGPL v3)
- 🔐 &nbsp;Centrat en la sobirania de les dades: el vostre contingut, audiència
i estadístiques us pertanyen, i només a vosaltres
- 🪄 &nbsp;Funcions de podcasting 2.0: GUID, bloqueigos, transcripcions,
finançament, capítols, geo-localització, persones, fragments d'àudio, …
- 💬 &nbsp;Xarxa social integrada:
- 🚀 &nbsp;Castopod forma part de Fediverse, una xarxa social descentralitzada
- ❤️ &nbsp;Creeu publicacions, compartiu-les, afegiu-hi com a preferits i
comenteu episodis
- 📈 &nbsp;Estadístiques integrades:
- ⚖️ &nbsp;Complint amb GDPR / CCPA / LGPD
- 🪙 &nbsp;Mesura d'audiència segons l'estàndard IABv2
- 🏡 &nbsp;Estadístiques locals, sense cap tercer implicat
- 📢 &nbsp;Eines de màrqueting integrades:
- ✅ &nbsp;Preparada per a SEO (metaetiquetes de gràfics oberts, JSON-LD, …)
- 📱 &nbsp;PWA: instal·lable pels oients com a aplicació autònoma
- 🎨 &nbsp;Colors del tema personalitzables
- 🎬 &nbsp;Genereu videoclips d'episodis preparats per compartir
- 🔉 &nbsp;Genera fragments d'àudio de cada episodi
- ▶️ &nbsp;Reproductor incrustable, per incrustar els episodis a qualsevol
lloc web
- 💸 &nbsp;Monetització:
- 🔗 &nbsp;Enllaços de finançament
- 📲 &nbsp;Anuncis per escoltar-fent-clic
- 🤝 &nbsp;Integració amb value4value i WebMonetization
- 📡 &nbsp;Publiqueu els vostres episodis a tot arreu amb RSS:
- 📱 &nbsp;A tots els directoris i aplicacions: Podcast Index, Apple Podcasts,
Spotify, Google Podcasts, Deezer, Podcast Addict, Podfriend, …
- ⚡ &nbsp;Emeteu els vostres episodis a l'instant amb WebSub
- 📥 &nbsp;Importació de podcasts: moveu el vostre podcast existent a Castopod
- 📤 &nbsp;Traieu el vostre podcast fora de Castopod
- 🔀 &nbsp;Multi-podcast: allotgeu tants programes com vulgueu en un mateix lloc
- 👥 &nbsp;Multi-usuari: afegiu col·laboradors i definiu rols
- 🌎 &nbsp;Suport i18n: traduït a l'anglès, català, espanyol, xinès, francès,
polonès, alemany, portuguès brasiler ... i
[més per venir](https://translate.castopod.org)!
## Motivació
L'ecosistema de podcasting ès descentralitzat per naturalesa: podeu crear el
vostre podcast com a fitxer RSS, publicar-lo a la web i compartir-lo a tot arreu
en línia.
De fet, és un dels únics mitjans que s'han mantingut durant molt de temps
(dècades!).
A mesura que els usos evolucionen, cada vegada hi ha més gent que s'incorpora
als podcasts: ja siguin els creadors que troben noves maneres de compartir les
seves idees o els oients a la recerca de millors continguts.
Essent el podcasting cada cop més utilitzat, algunes empreses intenten
canviar-lo cap a un mitjà més controlat i centralitzat, creant plataformes de
publicació sota el seu control.
Castopod es va crear amb l'objectiu de proporcionar una alternativa oberta i
sostenible per a que allotjeu els vostres podcasts, promovent la
descentralització i així garantir que la creativitat dels podcasters pugui
expressar-se.
Aquest projecte és impulsat per la comunitat de codi obert, i concretament pels
moviments [Fediverse](https://fediverse.party/en/fediverse/) i [Podcasting
2.0](https://podcastindex .org/).
## Comparació amb altres solucions
Creiem que una mateixa solució no és necessàriament adequada per a tothom, depèn
molt de les vostres necessitats. Per tant, aquí us mostrem comparacions amb
altres eines per ajudar-vos a determinar si Castopod és l'adequat per a
vosaltres.
### Castopod vs Wordpress
Casopod es coneix sovint com "el Wordpress per a podcasts" a causa de les
similituds entre els dos. D'alguna manera això és cert. I, de fet, Castopod es
va inspirar molt en l'ecosistema de Wordpress, veient la facilitat d'adopció per
part de la comunitat i el nombre de llocs web que l'executen.
Igual que Wordpress, Castopod és gratuït i de codi obert, fet amb PHP amb una
base de dades MySQL i està empaquetat de manera que es pot instal·lar fàcilment
a la majoria del servidors web.
Wordpress és una manera fantàstica de crear el vostre lloc web i ampliar-lo amb
complements per obtenir el que voleu. És un CMS complet que us ajuda a tenir
qualsevol tipus de lloc web en línia.
D'altra banda, Castopod està pensat per atendre les necessitats dels podcasters
específicament, centrant-se en el podcasting i res més. No necessiteu cap
complement o connector per començar el vostre viatge de podcasting.
Això permet optimitzar els processos específics del podcasting: des de la
creació dels teus podcasts i la publicació de nous episodis fins a la difusió,
el màrqueting i l'anàlisi estadística.
Finalment, depenent de les vostres necessitats, Wordpress i Castopod poden
conviure fins i tot, ja que comparteixen els mateixos requisits!
### Castopod vs Funkwhale
Funkwhale és un servidor de música de codi obert, modern i auto-allotjat. Igual
que Castopod, Funkwhale es troba al Fediverse, una xarxa social descentralitzada
que permet la interoperabilitat entre ambdues.
Funkwhale es va construir inicialment al voltant de la música. I més tard, a
mesura que el projecte anava evolucionant, es va introduir la possibilitat
d'allotjar podcasts.
A diferència de Funkwhale, Castopod ha estat dissenyat i construït exclusivament
al voltant del podcasting. Això permet una implementació més fàcil de funcions
relacionades amb l'ecosistema del podcasting, com ara les funcions del
podcasting 2.0 (transcripcions, capítols, geo-localitzacions, persones, ...).
Per tant, probablement hauríeu d'utilitzar Funkwhale si voleu allotjar la vostra
música i utilitzar Castopod si voleu allotjar els vostres podcasts.
### Castopod vs altres plataformes de podcast
Hi ha moltes solucions per allotjar els vostres podcasts, algunes de les quals
són realment fantàstiques i [moltes](https://podcastindex.org/apps) s'estan
incorporant al carro Podcasting 2.0. com Castopod!
Cadascuna d'aquestes solucions difereix entre si, podeu comparar-les amb la
[llista de funcions](#features).
Dit això, hi ha dues diferències principals amb altres solucions de podcasting:
- Castopod es pot auto-allotjar i és la única solució que us permet mantenir el
control total sobre el que produïu. A més, com que és de codi obert, fins i
tot podeu personalitzar-lo com vulgueu.
- Castopod és l'única solució que actualment integra tant una xarxa social
descentralitzada amb ActivityPub com moltes de les funcions de podcasting 2.0,
amb l'esperança de salvar la bretxa entre les dues.
## Col·laborar
Us agrada Castopod i voleu ajudar? Fes una ullada a la documentació següent per
començar.
### Codi de conducta
Castopod ha adoptat un codi de conducta que esperem que els participants del
projecte compleixin. Si us plau, llegiu el
[manual CODE_OF_CONDUCT](https://code.castopod.org/adaures/castopod/-/blob/beta/CODE_OF_CONDUCT.md)
perquè pugueu entendre quines accions seran o no tolerades.
### Guia de col·laboració
Llegiu la nostra [guia de col·laboració](./contributing/guidelines.md) per
conèixer el nostre procés de desenvolupament, com proposar correccions d'errors
i millores, i com construir i prova els teus canvis a Castopod.
## Col·laboradors ✨
Gràcies a aquestes persones meravelloses
([clau emoji](https://allcontributors.org/docs/en/emoji-key)):
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tr>
<td align="center"><a href="https://github.com/yassinedoghri"><img src="https://code.castopod.org/uploads/-/system/user/avatar/3/avatar.png?s=100" width="100px;" alt=""/><br /><sub><b>Yassine Doghri</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Code">💻</a> <a href="https://code.castopod.org/adaures/castopod/issues?author_username=yassinedoghri" title="Bug reports">🐛</a> <a href="https://code.castopod.org/adaures/castopod/commits/master" title="Documentation">📖</a> <a href="https://code.castopod.org/adaures/castopod/merge_requests?scope=all&state=all&approver_usernames[]=yassinedoghri" title="Reviewed Pull Requests">👀</a> <a href="#maintenance-yassinedoghri" title="Maintenance">🚧</a> <a href="#content-yassinedoghri" title="Content">🖋</a> <a href="#design-yassinedoghri" title="Design">🎨</a> <a href="#a11y-yassinedoghri" title="Accessibility">️️️️♿️</a> <a href="https://translate.castopod.org" title="Translation">🌍</a> <a href="#question-yassinedoghri" title="Answering Questions">💬</a> <a href="#mentoring-yassinedoghri" title="Mentoring">🧑‍🏫</a> <a href="#infra-yassinedoghri" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#ideas-yassinedoghri" title="Ideas, Planning, & Feedback">🤔</a> <a href="#projectManagement-yassinedoghri" title="Project Management">📆</a> <a href="https://blog.castopod.org/author/yassinedoghri/" title="Blogposts">📝</a></td>
<td align="center"><a href="https://code.castopod.org/benjamin"><img src="https://code.castopod.org/uploads/-/system/user/avatar/2/avatar.png?s=100" width="100px;" alt=""/><br /><sub><b>Benjamin Bellamy</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Code">💻</a> <a href="https://code.castopod.org/adaures/castopod/issues?author_username=benjamin" title="Bug reports">🐛</a> <a href="https://code.castopod.org/adaures/castopod/merge_requests?scope=all&state=all&approver_usernames[]=benjamin" title="Reviewed Pull Requests">👀</a> <a href="#content-benjamin" title="Content">🖋</a> <a href="https://translate.castopod.org" title="Translation">🌍</a> <a href="#question-benjamin" title="Answering Questions">💬</a> <a href="#infra-benjamin" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#ideas-benjamin" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://blog.castopod.org/author/benjamin-bellamy/" title="Blogposts">📝</a> <a href="#projectManagement-benjamin" title="Project Management">📆</a> <a href="#talk-benjamin" title="Talks">📢</a></td>
<td align="center"><a href="https://github.com/ola-hn"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt=""/><br /><sub><b>Ola Hneini</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Code">💻</a> <a href="https://code.castopod.org/adaures/castopod/merge_requests?scope=all&state=all&approver_usernames[]=ola" title="Reviewed Pull Requests">👀</a> <a href="https://code.castopod.org/adaures/castopod/commits/master" title="Documentation">📖</a> <a href="#maintenance-ola" title="Maintenance">🚧</a> <a href="#question-ola" title="Answering Questions">💬</a> <a href="#ideas-ola" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center"><a href="https://mamot.fr/@rdelaage"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt=""/><br /><sub><b>Romain de Laage</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Code">💻</a> <a href="#infra-rdelaage" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://code.castopod.org/adaures/castopod/commits/master" title="Documentation">📖</a> <a href="https://translate.castopod.org" title="Translation">🌍</a> <a href="#ideas-rdelaage" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center"><a href="https://twitter.com/lyonelbernard"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt=""/><br /><sub><b>Lyonel Bernard</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=Lyonel" title="Bug reports">🐛</a> <a href="#question-Lyonel" title="Answering Questions">💬</a> <a href="#audio-Lyonel" title="Audio">🔊</a> <a href="#ideas-Lyonel" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center"><a href="https://www.crypticchameleon.com/"><img src="https://secure.gravatar.com/avatar/7c2a721b52d0763673a600e8f01bd745?s=80&d=identicon?s=100" width="100px;" alt=""/><br /><sub><b>Christopher Lagonick-Weitzel</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=ctlw83" title="Bug reports">🐛</a> <a href="#question-ctlw83" title="Answering Questions">💬</a> <a href="#audio-ctlw83" title="Audio">🔊</a> <a href="#ideas-ctlw83" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center"><a href="https://ernestoacosta.me/"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt=""/><br /><sub><b>Ernesto Acosta</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=ernestoacostame" title="Bug reports">🐛</a> <a href="#audio-ernestoacostame" title="Audio">🔊</a> <a href="https://translate.castopod.org" title="Translation">🌍</a> <a href="#question-ernestoacostame" title="Answering Questions">💬</a> <a href="#ideas-ernestoacostame" title="Ideas, Planning, & Feedback">🤔</a></td>
</tr>
<tr>
<td align="center"><a href="https://code.castopod.org/Behel"><img src="https://secure.gravatar.com/avatar/ad63ee8ef8e3db8253d21e5012d2724f?s=80&d=identicon?s=100" width="100px;" alt=""/><br /><sub><b>Bastien Luneteau</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Code">💻</a> <a href="https://code.castopod.org/adaures/castopod/issues?author_username=Behel" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://www.cecillie.fr/"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt=""/><br /><sub><b>Cécile Ricordeau</b></sub></a><br /><a href="#design-cecillie" title="Design">🎨</a></td>
<td align="center"><a href="https://code.castopod.org/PatrykMis"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt=""/><br /><sub><b>Patryk Miś</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
<td align="center"><a href="https://code.castopod.org/mspanc"><img src="https://secure.gravatar.com/avatar/eed8337939641eac5ad0b570bd6acf96?s=80&d=identicon?s=100" width="100px;" alt=""/><br /><sub><b>Marcin Lewandowski</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=mspanc" title="Bug reports">🐛</a> <a href="#ideas-mspanc" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center"><a href="https://code.castopod.org/SJanik"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt=""/><br /><sub><b>Sebastian Janik</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Code">💻</a></td>
<td align="center"><a href="https://code.castopod.org/patryk"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt=""/><br /><sub><b>Patryk Karczmarczyk</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Code">💻</a></td>
<td align="center"><a href="https://code.castopod.org/ddenis"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt=""/><br /><sub><b>denis d</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=ddenis" title="Bug reports">🐛</a> <a href="#ideas-ddenis" title="Ideas, Planning, & Feedback">🤔</a></td>
</tr>
<tr>
<td align="center"><a href="https://code.castopod.org/douglaskastle"><img src="https://secure.gravatar.com/avatar/b7e652ba4b6bcd440afa069e7f7bc9e6?s=80&d=identicon?s=100" width="100px;" alt=""/><br /><sub><b>Douglas Kastle</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=douglaskastle" title="Bug reports">🐛</a> <a href="#ideas-douglaskastle" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center"><a href="https://code.castopod.org/cExplorer"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt=""/><br /><sub><b>cExplorer</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=cExplorer" title="Bug reports">🐛</a> <a href="https://translate.castopod.org" title="Translation">🌍</a></td>
<td align="center"><a href="https://code.castopod.org/imacrea"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt=""/><br /><sub><b>ImaCrea</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=imacrea" title="Bug reports">🐛</a> <a href="#ideas-imacrea" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center"><a href="https://code.castopod.org/jonas"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt=""/><br /><sub><b>Jonas S</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Code">💻</a></td>
<td align="center"><a href="https://code.castopod.org/yannL"><img src="https://secure.gravatar.com/avatar/9c46600ce566ec6d526370d8e104b1c8?s=80&d=identicon?s=100" width="100px;" alt=""/><br /><sub><b>LEFEBVRE Yann</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=yannL" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://code.castopod.org/spaetz"><img src="https://secure.gravatar.com/avatar/278e1af65e82993efd0ba7bbbacf6435?s=80&d=identicon?s=100" width="100px;" alt=""/><br /><sub><b>Sebastian Späth</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=spaetz" title="Bug reports">🐛</a> <a href="#ideas-spaetz" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center"><a href="https://code.castopod.org/rocky"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt=""/><br /><sub><b>rocky III</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=rocky" title="Bug reports">🐛</a></td>
</tr>
<tr>
<td align="center"><a href="https://code.castopod.org/Regenpfeifer"><img src="https://code.castopod.org/uploads/-/system/user/avatar/103/avatar.png?s=100" width="100px;" alt=""/><br /><sub><b>Hermann Josef Eckl</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=Regenpfeifer" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://code.castopod.org/cyrilledel"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt=""/><br /><sub><b>Delhaye Cyrille</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=cyrilledel" title="Bug reports">🐛</a> <a href="#ideas-cyrilledel" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center"><a href="https://twitter.com/otetranome"><img src="https://code.castopod.org/uploads/-/system/user/avatar/113/avatar.png?s=100" width="100px;" alt=""/><br /><sub><b>João Leandro</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a> <a href="#ideas-otetranome" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center"><a href="https://achouvardas.eu/"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt=""/><br /><sub><b>Angelos Chouvardas</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
<td align="center"><a href="https://mastodon.fjerland.no/@eivind"><img src="https://mastodon.fjerland.no/system/accounts/avatars/107/769/768/295/192/222/original/e5c985fea6487dcb.jpg?s=100" width="100px;" alt=""/><br /><sub><b>Eivind</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
<td align="center"><a href="https://mastodon.fedi.bzh/@ewen"><img src="https://mastodon.fedi.bzh/system/accounts/avatars/000/000/002/original/6f387690a504ae46.jpg?s=100" width="100px;" alt=""/><br /><sub><b>Ewen</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a> <a href="#ideas-3wen" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center"><a href="https://crowdin.com/profile/forght"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15073833/large/82d1e2e443a6df7edc43a7405dfeeb75_default.png?s=100" width="100px;" alt=""/><br /><sub><b>forght</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
</tr>
<tr>
<td align="center"><a href="https://crowdin.com/profile/glottis0q"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15209934/large/8b17ef6a7399f0b82a8198f87c224195.png?s=100" width="100px;" alt=""/><br /><sub><b>glottis0q</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
<td align="center"><a href="https://mstdn.fr/@ButterflyOfFire"><img src="https://static.mstdn.fr/static/accounts/avatars/000/065/901/original/e18d44b28edd0ada.png?s=100" width="100px;" alt=""/><br /><sub><b>ButterflyOfFire</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/lil5"><img src="https://avatars.githubusercontent.com/u/17646836?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Lucian I. Last</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
<td align="center"><a href="https://crowdin.com/profile/luuzviir"><img src="https://crowdin-static.downloads.crowdin.com/avatar/13166188/large/d03ab0abc7ce354b210d836955cd3805_default.png?s=100" width="100px;" alt=""/><br /><sub><b>LuuzViir</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
<td align="center"><a href="https://crowdin.com/profile/cthtc"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15211502/large/ed0651060cb8474a9519b5168bd377c1_default.png?s=100" width="100px;" alt=""/><br /><sub><b>CTHTC</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
<td align="center"><a href="https://crowdin.com/profile/retrograde"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15021651/large/b10c4057f85bf4de49c7fdf01354ecde.jpeg?s=100" width="100px;" alt=""/><br /><sub><b>Russian Retro</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
<td align="center"><a href="https://crowdin.com/profile/mareklach"><img src="https://crowdin-static.downloads.crowdin.com/avatar/13572324/large/3eeba8d569c247ace33862bf4ef4748f.jpeg?s=100" width="100px;" alt=""/><br /><sub><b>Marek L'ach</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
</tr>
<tr>
<td align="center"><a href="https://crowdin.com/profile/gunchleoc"><img src="https://crowdin-static.downloads.crowdin.com/avatar/13043878/large/3223f7b606296a8b1c92c5de39c459a2_default.png?s=100" width="100px;" alt=""/><br /><sub><b>GunChleoc</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
<td align="center"><a href="https://crowdin.com/profile/gabisnow"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15214858/large/5b083bdf9c9e9de67cc6ee72a6c8db18_default.png?s=100" width="100px;" alt=""/><br /><sub><b>GabiSnow</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
<td align="center"><a href="https://crowdin.com/profile/bendaha"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15331656/large/cd92450d2c20202299fb3a0075903e20_default.png?s=100" width="100px;" alt=""/><br /><sub><b>bendaha</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
<td align="center"><a href="https://crowdin.com/profile/samuelroland"><img src="https://crowdin-static.downloads.crowdin.com/avatar/14980053/large/3e154a37d03d6e98ae402ed3f930f4f5.png?s=100" width="100px;" alt=""/><br /><sub><b>Samuel Roland</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
<td align="center"><a href="https://dimitriregnier.net/"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt=""/><br /><sub><b>Dimitri Regnier</b></sub></a><br /><a href="#ideas-dimregnier" title="Ideas, Planning, & Feedback">🤔</a></td>
</tr>
</table>
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->
Aquest projecte segueix l'especificació
[all-contributors](https://github.com/all-contributors/all-contributors).
Benvingudes les col·laboracions de qualsevol mena!
## Contacte
Podeu contactar amb nosaltres per demanar ajuda o fer qualsevol pregunta que
tingueu via:
- [Discord](https://castopod.org/discord) (per a la interacció directa amb
desenvolupadors i la comunitat)
- [Seguiment d'incidències](https://code.castopod.org/adaures/castopod/-/issues)
(per a sol·licituds de noves funcionalitats i informes d'errors)
Alternativament, podeu seguir-nos a les plataformes de xarxes socials per rebre
notícies sobre Castopod:
- [podlibre.social](https://podlibre.social/@Castopod) (instància de Mastodon)
- [Twitter](https://twitter.com/castopod)
- [LinkedIn](https://linkedin.com/company/castopod)
- [Facebook](https://www.facebook.com/castopod)
## Patrocinadors
El desenvolupament continu de Castopod és possible amb el suport dels seus
patrocinadors. Si voleu ajudar, considereu
[patrocinar el desenvolupament de 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="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>
## Llicència
[GNU Affero General Public License v3.0](https://choosealicense.com/licenses/agpl-3.0/)
Copyright © 2020-avui, [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,19 +8,19 @@ sidebarDepth: 3
Castopod lanza 2 imágenes Docker al Docker Hub durante su proceso de
construcción automatizada:
- [**`castopod/aplicación`**](https://hub.docker.com/r/castopod/app): el paquete
de aplicación
- [**`castopod/servidor-web`**](https://hub.docker.com/r/castopod/web-server):
una configuración Nginx para Castopod
- [**`castopod/app`**](https://hub.docker.com/r/castopod/app): el paquete
completo de Castopod con todas las dependencias.
- [**`castopod/web-server`**](https://hub.docker.com/r/castopod/web-server): una
configuración Nginx para Castopod
Adicionalmente, Castopod requiere una base de datos compatible con MySQL. Una
base de datos Redis puede ser añadida como gestor de caché.
Adicionalmente, Castopod requiere una base de datos compatible con MySQL.
También se puede añadir una base de datos Redis como gestor de caché.
## Etiquetas admitidas
- `desarrollo` [unstable], última rama de desarrollo construida
- `develop` [unstable], última rama de desarrollo construida
// más etiquetas por llegar!
// más etiquetas por venir!
## Ejemplo de uso
@ -29,116 +29,116 @@ base de datos Redis puede ser añadida como gestor de caché.
2. Crear un archivo `docker-compose.yml` con lo siguiente:
```yml
versión: "3.7"
version: "3.7"
servicios:
applicación:
imagen: castopod/app:develop
nombre_contenedor: "castopod-app"
volúmenes:
services:
app:
image: castopod/app:develop
container_name: "castopod-app"
volumes:
- castopod-media:/opt/castopod/public/media
ambiente:
environment:
MYSQL_DATABASE: castopod
MYSQL_USER: castopod
MYSQL_PASSWORD: cámbiame
MYSQL_PASSWORD: changeme
CP_BASEURL: "http://castopod.example.com"
CP_ANALYTICS_SALT: cámbiame
CP_ANALYTICS_SALT: changeme
CP_CACHE_HANDLER: redis
CP_REDIS_HOST: redis
redes:
networks:
- castopod-app
- castopod-db
reiniciar: unless-stopped
restart: unless-stopped
servidor-web:
imagen: castopod/web-server:develop
nombre_contenedor: "castopod-web-server"
volúmenes:
web-server:
image: castopod/web-server:develop
container_name: "castopod-web-server"
volumes:
- castopod-media:/var/www/html/media
redes:
networks:
- castopod-app
puertos:
ports:
- 8080:80
reiniciar: unless-stopped
restart: unless-stopped
mariadb:
imagen: mariadb:10.5
nombre_contenedor: "castopod-mariadb"
redes:
image: mariadb:10.5
container_name: "castopod-mariadb"
networks:
- castopod-db
volúmenes:
volumes:
- castopod-db:/var/lib/mysql
ambiente:
MYSQL_ROOT_PASSWORD: cámbiame
environment:
MYSQL_ROOT_PASSWORD: changeme
MYSQL_DATABASE: castopod
MYSQL_USER: castopod
MYSQL_PASSWORD: cámbiame
reiniciar: unless-stopped
MYSQL_PASSWORD: changeme
restart: unless-stopped
redis:
imagen: redis:7.0-alpine
nombre_contenedor: "castopod-redis"
volúmenes:
image: redis:7.0-alpine
container_name: "castopod-redis"
volumes:
- castopod-cache:/data
redes:
networks:
- castopod-app
volúmenes:
volumes:
castopod-media:
castopod-db:
castopod-cache:
redes:
networks:
castopod-app:
castopod-db:
```
Debes adaptar algunas variables a tus necesidades (ej. `CP_BASEURL`,
`MYSQL_ROOT_PASSWORD`, `MYSQL_PASSWORD` and `CP_ANALYTICS_SALT`).
`MYSQL_ROOT_PASSWORD`, `MYSQL_PASSWORD` y `CP_ANALYTICS_SALT`).
3. Configura un proxy inverso para TLS (SSL/HTTPS)
3. Configura un servidor proxy inverso para TLS (SSL/HTTPS).
TLS es obligatorio para que ActivityPub funcione. Este trabajo puede ser
TLS es imprescindible para que ActivityPub funcione. Este trabajo puede ser
fácilmente manejado por un proxy inverso, por ejemplo con
[Caddy](https://caddyserver.com/):
```
#castopod
castopod.example.com {
castopod.mi_dominio.com {
reverse_proxy localhost:8080
}
```
4. Ejecuta `docker-compose -d`, espera a que se inicie y ve a
`https://castopod.example.com/cp-install` para terminar de configurar
`https://castopod.mi_dominio.com/cp-install` para terminar de configurar
Castopod!
5. Todo listo, empieza a podcastear! 🎙️🚀
5. Todo listo, empieza a hacer podcasting! 🎙️🚀
## Variables del Entorno
## Variables de Entorno
- **castopod/app**
| Nombre de la Variable | Escribe (`predeterminado`) |
| ----------------------------- | ----------------------------------- |
| **`CP_URLBASE`** | string (`indefinido`) |
| **`CP_MEDIA_URLBASE`** | ?string (`(vacío)`) |
| **`CP_PUERTA_ADMINISTRADOR`** | ?string (`"cp-admin"`) |
| **`CP_AUTH_PUERTA`** | ?string (`"cp-auth"`) |
| **`CP_ANALÍTICAS_SALT`** | string (`indefinido`) |
| **`CP_DATABASE_HOSTNAME`** | ?string (`"mariadb"`) |
| **`CP_DATABASE_NAME`** | string (`MYSQL_DATABASE`) |
| **`CP_DATABASE_USERNAME`** | string (`MYSQL_USER`) |
| **`CP_DATABASE_PASSWORD`** | string (`MYSQL_PASSWORD`) |
| **`CP_DATABASE_PREFIX`** | ?string (`"cp_"`) |
| **`CP_CACHE_HANDLER`** | ?[`"file"` or `"redis"`] (`"file"`) |
| **`CP_REDIS_HOST`** | ?string (`"localhost"`) |
| **`CP_REDIS_PASSWORD`** | ?string (`null`) |
| **`CP_REDIS_PORT`** | ?number (`6379`) |
| **`CP_REDIS_DATABASE`** | ?number (`0`) |
| Nombre de la Variable | Tipo (`predeterminado`) |
| -------------------------- | ---------------------------------- |
| **`CP_URLBASE`** | string (`undefined`) |
| **`CP_MEDIA_URLBASE`** | ?string (`(vacío)`) |
| **`CP_ADMIN_GATEWAY`** | ?string (`"cp-admin"`) |
| **`CP_AUTH_GATEWAY`** | ?string (`"cp-auth"`) |
| **`CP_ANALYTICS_SALT`** | string (`indefinido`) |
| **`CP_DATABASE_HOSTNAME`** | ?string (`"mariadb"`) |
| **`CP_DATABASE_NAME`** | string (`MYSQL_DATABASE`) |
| **`CP_DATABASE_USERNAME`** | string (`MYSQL_USER`) |
| **`CP_DATABASE_PASSWORD`** | string (`MYSQL_PASSWORD`) |
| **`CP_DATABASE_PREFIX`** | ?string (`"cp_"`) |
| **`CP_CACHE_HANDLER`** | ?[`"file"` o `"redis"`] (`"file"`) |
| **`CP_REDIS_HOST`** | ?string (`"localhost"`) |
| **`CP_REDIS_PASSWORD`** | ?string (`null`) |
| **`CP_REDIS_PORT`** | ?number (`6379`) |
| **`CP_REDIS_DATABASE`** | ?number (`0`) |
- **castopod/web-server**
| Variable name | Type (`default`) |
| --------------------- | ----------------- |
| **`CP_APP_HOSTNAME`** | ?string (`"app"`) |
| Nombre de la variable | Tipo (`predeterminado`) |
| --------------------- | ----------------------- |
| **`CP_APP_HOSTNAME`** | ?string (`"app"`) |

View File

@ -9,16 +9,16 @@ 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.
::: tip Note
::: tip Nota
We've released official Docker images for Castopod!
¡Hemos publicado imágenes oficiales de Docker para Castopod!
If you prefer using Docker, you may skip this and go straight to the
[docker documentation](./docker.md) for Castopod.
Si prefieres usar Docker, puedes saltarte esto e ir directamente a la
[documentación sobre docker](./docker.md) para Castopod.
:::
## Requerimientos
## Requisitos
- PHP v8.0 o superior
- MySQL versión 5.7 o superior o MariaDB versión 10.2 o superior
@ -26,7 +26,8 @@ If you prefer using Docker, you may skip this and go straight to the
### PHP v8.0 o superior
PHP version 8.0 or higher is required, with the following extensions installed:
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)
@ -35,7 +36,7 @@ PHP version 8.0 or higher is required, with the following extensions installed:
**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:
Además, asegúrate de que las siguientes extensiones están habilitadas en tu PHP:
- json (habilitada por defecto - no la desactives)
- xml (habilitada por defecto - no la desactives)
@ -43,29 +44,31 @@ Additionally, make sure that the following extensions are enabled in your PHP:
### Base de datos compatible con MySQL
> Recomendamos usar [MariaDB](https://mariadb.org).
> Se recomienda usar [MariaDB](https://mariadb.org).
::: warning Warning
::: warning Alerta
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 compatibles con MySQL 5.7 o superior.
No funcionará por ejemplo con la version previa MySQL v5.6, ya que su vida útil
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 la dirección/nombre del servidor (hostname), el nombre de la base de
datos, el usuario y la contraseña para completar el proceso de instalación. Si
no cuentas con esta información, contacta con el administrador de tu servidor.
#### Privilegios
User must have at least these privileges on the database for Castopod to work:
`CREATE`, `ALTER`, `DELETE`, `EXECUTE`, `INDEX`, `INSERT`, `SELECT`, `UPDATE`.
El usuario de la base de datos debe tener al menos estos privilegios sobre la
base de datos para que Castopod funcione: `CREATE`, `ALTER`, `DELETE`,
`EXECUTE`, `INDEX`, `INSERT`, `SELECT`, `UPDATE`.
### (Opcional) FFmpeg v4.1.8 o superior para clips de video
### (Opcional) FFmpeg v4.1.8 o superior para poder generar clips de vídeo (recortes de vídeo)
[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:
Es necesario tener instalado [FFmpeg](https://www.ffmpeg.org/) versión 4.1.8 o
superior si desea generar recorte de vídeos. Se debe instalar las siguientes
extensiones:
- Librería **FreeType 2** para
[gd](https://www.php.net/manual/en/image.installation.php).
@ -74,85 +77,85 @@ want to generate Video Clips. The following extensions must be installed:
- 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.
- Pasarela de correo para recuperación de contraseñas olvidadas.
## Instrucciones de instalación
### Prerequisitos
### Pre-requisitos
0. Consigue un Servidor Web con [requerimientos](#requirements) instalados
0. Consigue un servidor web que cuente con todos los [requisitos](#requirements)
recomendados.
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):
[base de datos compatible con MySQL](#mysql-compatible-database)).
2. Activa HTTPS en tu dominio web mediante un _certificado SSL_.
3. Descarga y descomprime en tu servidor la última versión de
[Castopod](https://castopod.org/), si aún no lo has hecho.
- ⚠️ Edita la configuración de tu servidor para que el "document root" sea la
subcarpeta `castopod/public/`.
4. Añade tareas en el **cron** de tu servidor web para hacer funcionar varios
procesos de Castopod en segundo plano (reemplaza las rutas de acuerdo a la
estructura de directorios de tu servidor):
- Para que las características sociales funcionen correctamente, esta tarea
se utiliza para transmitir las actividades sociales a tus seguidores en el
Fediverso:
- 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 actividades programadas
* * * * * /ruta/al/php /ruta/a/castopod/public/index.php scheduled-activities
```
- Para que tus episodios sean transmitidos en hubs abiertos sobre
publicaciones usando [WebSub](https://en.wikipedia.org/wiki/WebSub):
- Para que tus episodios sean transmitidos a los hubs abiertos que usan el
nuevo protocolo [WebSub](https://en.wikipedia.org/wiki/WebSub) (2018):
```bash
* * * * * /usr/local/bin/php /castopod/public/index.php publicaciones-websub-programadas
* * * * * /ruta/al/php /castopod/public/index.php scheduled-websub-publish
```
- Para crear Clips de video (ver
[requerimientos FFmpeg ](#ffmpeg-v418-or-higher-for-video-clips)):
- Para generar Recortes de video (ver
[requisitos FFmpeg ](#ffmpeg-v418-or-higher-for-video-clips)):
```bash
* * * * * /path/to/php /path/to/castopod/public/index.php clips-devideo-programados
* * * * * /ruta/al/php /path/to/castopod/public/index.php scheduled-video-clips
```
> Estas tareas se ejecutan **cada minuto**. Debes establecer la frecuencia
> dependiendo de tus necesidades: cada 5, 10 minutos o más.
> Estas tareas así definidas se ejecutarán **cada minuto**. Pero puedes
> definir una frecuencia más acorde a tus necesidades: cada 5, 10 minutos o
> más. Ejemplo: si reemplazas el último asterisco por \*/30 se ejecutará cada
> 30 minutos.
> ([más ejemplos](https://blog.carreralinux.com.ar/2016/09/ejemplos-de-cron-tareas-linux/))
### (recomendado) Instalar Wizard
### (recomendado) Asistente web de instalación
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!
1. Ejecuta el script de instalación de Castopod visitando en tu navegador web
esta dirección: `https://tu_nombre_de_dominio.com/cp-install`
2. Sigue las instrucciones en pantalla.
3. ¡Empieza a hacer podcasting!
::: info Note
::: info Nota
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).
El script de instalación crea un archivo `.env` en la raíz de castopod. Si no
puedes usar el asistente web de instalación, puedes
[crear y configurar manualmente el archivo `.env`](#alternative-manual-configuration).
:::
## 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 utilizar uno
de los paquetes creados y mantenidos por la comunidad de código abierto.
### 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 distribución GNU/Linux basada en Debian
compuesta por paquetes de software libre y de código abierto. Te ayuda a
gestionar las partes difíciles de autoalojamiento.
<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="Instalar Castopod con 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
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>
<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">
</div>

View File

@ -2,180 +2,191 @@
sidebarDepth: 2
---
# Bienvenido 👋
# Bienvenid@ 👋
[![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 es una plataforma de alojamiento libre & de código abierto hecha para
podcasters que quieren comprometerse e interactuar con su audiencia.
Castopod es una plataforma gratuita y de código abierto para hospedar podcasts
hecha para podcasters que quieren involucrar e interactuar más con su audiencia.
Castopod es fácil de instalar y se construyó sobre
[CodeIgniter4](https://codeigniter.com/), un potente framework PHP con un muy
pequeña huella.
Castopod es fácil de instalar y se ha desarrollado sobre
[CodeIgniter4](https://codeigniter.com/), un potente y muy ligero framework PHP.
::: Estado de información
::: info Estado del desarrollo
Castopod está actualmente en **beta** pero ya es bastante estable y es utilizado
por podcasters alrededor de&nbsp;el mundo!
Castopod actualmente está en **beta** pero ya es bastante estable y está sinedo
utilizado por podcasters alrededor del mundo.
:::
<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">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">Instalación<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>
## Características
- 🌱 &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;Podcasting 2.0 features: GUID, locked, transcripts, funding,
chapters, location, persons, soundbites, …
- :speech \_balloon: &nbsp;Red social integrada:
- 🌱 &nbsp;Gratis & de código abierto (licencia AGPL v3).
- 🔐 &nbsp;Centrado en la soberanía de los datos: tu contenido, tu audiencia, y
tus estadísticas te pertenecen a ti y solo a ti.
- 🪄 &nbsp;Funciones de Podcasting 2.0: GUID (interfaz gráfica de usuario),
protección y bloqueo del podcast, transcripciones, monetización, episodios,
geo-localización, personas, fragmentos de audio, …
- 💬 &nbsp;Integración con redes sociales:
- 🚀 &nbsp;Castopod es parte del Fediverso, una red social descentralizada
- ❤️ &nbsp;Crear mensajes, compartir, favoritos y comentarios en episodios
- 📈 &nbsp;Análisis integrados:
- ❤️ &nbsp;Se puede crear mensajes, compartir, agregar a favoritos y comentar
en episodios
- 📈 &nbsp;Análisis estadísticos integrados:
- ⚖️ &nbsp;Compatible con GDPR / CCPA / LGPD
- &nbsp;Medida estándar de audiencia IABv2
- 🏡 &nbsp;Estadísticas sin terceros involucrados
- 🪙 &nbsp;Medida de audiencia con el estándar IABv2
- 🏡 &nbsp;Estadísticas sin terceras partes involucradas
- 📢 &nbsp;Herramientas de marketing incorporadas:
- ✅ &nbsp;SEO listo (meta-etiquetas de open-graph, JSON-LD, …)
- 📱 &nbsp;PWA: instalar como una aplicación independiente
- 🎨 &nbsp;Colores del tema personalizables
- 🎬 &nbsp;Genera videoclips listos para compartir a partir de episodios
- 🔉 &nbsp;Genera fragmentos de sonido
- ▶️ &nbsp;Reproductor incrustable, inserta tus episodios en cualquier sitio
web
- ✅ &nbsp;Listo para SEO (meta-etiquetas de open-graph, JSON-LD, …)
- 📱 &nbsp;PWA: instalable como una aplicación independiente
- 🎨 &nbsp;Personalizar los colores del tema
- 🎬 &nbsp;Generar recortes de vídeo listos para compartir, a partir de tus
episodios
- 🔉 &nbsp;Generar fragmentos de audio (Soundbites) para la promoción de tus
episodios.
- ▶️ &nbsp;Reproductor incrustable, con el que insertar tus episodios en
cualquier sitio web!
- 💸 &nbsp;Monetización:
- 🔗 &nbsp;Enlaces de financiación
- 📲 &nbsp;anuncios de click para escuchar
- 🤝 &nbsp;valor por valor/ Monetización web
- 📲 &nbsp;Anuncios publicitarios del tipo click-para-escuchar
- 🤝 &nbsp;value4value / WebMonetization (criptomonedas para creadores de
contenido).
- 📡 &nbsp;Publica tus episodios en todas partes con RSS:
- 📱 &nbsp;En todos los directorios y aplicaciones: Podcast Index, Apple
Podcasts, Spotify, Google Podcasts, Deezer, Podcast Addict, Podfriend, …
- ⚡ &nbsp;Emite tus episodios al instante con WebSub
- 📥 &nbsp;Importación de Podcast: mueve tu podcast existente a Castopod
- 📤 &nbsp;Mueve tu podcast fuera de Castopod
- 🔀 &nbsp;Multi-podcast: alojar tantos podcasts como quieras
- 👥 &nbsp;Multi-usuario: añadir colaboradores y establecer roles
- 🌎 &nbsp;i18n support: translated in English, French, Polish, German,
Brazilian Portuguese & Spanish… with
[more to come](https://translate.castopod.org)!
- ⚡ &nbsp;Emite tus episodios al instante con WebSub.
- 📥 &nbsp;Importación de podcasts: mueve tu podcast existente en otro servicio
a tu servidor Castopod.
- 📤 &nbsp;Mueve tu podcast fuera de Castopod.
- 🔀 &nbsp;Multi-podcast: aloja tantos podcasts como quieras en una misma
instancia/panel de CASTOPOD.
- 👥 &nbsp;Multi-usuario: añade colaboradores y define roles.
- 🌎 &nbsp;Soporte multilingüe i18n: traducido al Inglés, Francés, Polaco,
Alemán, Portugués brasileño, Español, Noruego, … ¡y
[más por venir](https://translate.castopod.org)!
## Motivación
El ecosistema de podcasting es descentralizado por naturaleza: puedes crear tu
El ecosistema de podcasting es descentralizado por naturaleza: puedes crear tu
podcast como un archivo RSS, publicarlo en la web y compartirlo en todas partes.
De hecho, es uno de los únicos medios de comunicación que se han mantenido así
durante mucho tiempo.
A medida que los usos evolucionan, más y más personas se involucran en los
podcasts: ya sea que son los creadores que encuentran nuevas formas de compartir
sus ideas, o los oyentes en busca para un mejor contenido.
A medida que los usos evolucionan, más y más personas se introducen en el mundo
del podcast: ya sea que sean creadores que buscando nuevas formas de compartir
sus ideas, u oyentes en busca de mejores contenidos.
Con el uso más amplio del podcast, algunas empresas están intentando desplazarlo
hacia un medio más controlado y centralizado.
A medida que aumenta el uso del podcast, algunas empresas están tratando de
convertirlo en un medio más controlado y centralizado.
Castopod fue creado en un esfuerzo por proporcionar una alternativa abierta y
sostenible. para alojar sus podcasts, promover la descentralización para
garantizar que los podcasters y su creatividad pueda expresarse.
Castopod fue creado en un esfuerzo por aportar una alternativa abierta y
sostenible para alojar tus podcasts, promoviendo la descentralización y así
garantizar que los podcasters y su creatividad pueda expresarse sin
restricciones.
Este proyecto es promovido por la comunidad de código abierto, y específicamente
por los movimientos [Fediverso](https://fediverse.party/en/fediverse/) y
Este proyecto goza del apoyo de la comunidad de código abierto, y
específicamente de los movimientos del
[Fediverso](https://fediverse.party/en/fediverse/) y el
[Podcasting 2.0](https://podcastindex.org/).
## Comparación con otras soluciones
Creemos que una solución no es necesariamente adecuada para todos, ya que
depende de tus necesidades. Por lo tanto, aquí hay comparaciones con otras
herramientas para ayudarte a medir si Castopod es el adecuado para&nbsp;ti.
Creemos que una misma solución no es necesariamente adecuada para todos, ya que
depende de las necesidades de cada quien. Por lo tanto, vamos a comparar
Castopod con otras herramientas para ayudarte a medir si es el más adecuado para
ti.
### Castopod contra Wordpress
### Castopod vs. Wordpress
Castopod se denomina a menudo "el Wordpress para podcasts" debido a las
similitudes entre ambos. En cierto modo esto es cierto. Y en realidad, Castopod
se inspiró en gran medida en el ecosistema de Wordpress, viendo la facilidad de
adopción de la comunidad y el número de sitios web que funcionan&nbsp;ella.
Castopod a menudo lo llaman "el Wordpress para podcasts" debido a las
similitudes entre ambos. En cierto modo es cierto. Y es que en realidad,
Castopod se inspiró en gran medida en el ecosistema de Wordpress, viendo la
facilidad de adopción de la comunidad y el número de sitios web que funcionan
con WP.
Al igual que Wordpress, Castopod es libre & de código abierto, construido usando
PHP con una base de datos MySQL y está empaquetado de una manera que puede
instalar fácilmente en la mayoría de servidores web.
Al igual que Wordpress, Castopod es software libre, gratuito y de código
abierto, construido con PHP y una base de datos MySQL, y empaquetado de una
manera que puede instalar fácilmente en la mayoría de los servidores web.
Wordpress ofrece una gran manera de crear su sitio web y extenderlo con plugins
para obtener lo que quiere. Es un CMS completo que lo ayuda a obtener cualquier
tipo de sitio web en línea.
Wordpress ofrece una buena manera de crear tu sitio web y extenderlo con plugins
para obtener lo que quieres. Es un CMS completo que te ayuda a tener en línea
cualquier tipo de sitio web.
Por otro lado, Castopod está pensado para abordar las necesidades de los
podcasters específicamente, centrándose en el podcasting y nada más. No
necesitas ningún plugin para empezar con tu podcasting&nbsp;journey.
Por otro lado, Castopod está pensado para atender específicamente las
necesidades de los podcasters, centrándose en el podcasting y nada más. No
necesitas ningún plugin para empezar con tu viaje por el mundo del podcast.
Esto permite optimizar los procesos específicos del podcasting: desde la
creación de tus podcasts y la publicación de nuevos episodios hasta la
transmisión, marketing y análisis.
transmisión, marketing y análisis estadístico.
Por último, dependiendo de sus necesidades, Wordpress y Castopod incluso puede
vivir lado a lado ya que comparten los mismos requisitos!
Por último, dependiendo de sus necesidades, Wordpress y Castopod incluso pueden
convivir codo con codo en el mismo servidor, ¡ya que comparten los mismos
requisitos!
### Castopod vs Funkwhale
### Castopod vs. Funkwhale
Funkwhale es un servidor de música autoalojado, moderno y gratuito y de código
abierto. Así como Castopod, Funkwhale está en el fediverso, una red social
descentralizada que permite interoperabilidad entre ambos.
Funkwhale es un servidor de música auto-hospedado, moderno y gratuito y de
código abierto. Igual que Castopod, Funkwhale está en el fediverso, una red
social descentralizada, permitiendo la interoperabilidad entre ambos.
Funkwhale se construyó inicialmente en torno a la música. Y más adelante, al
Funkwhale se desarrolló inicialmente en torno a la música. Y más adelante, al
evolucionar como proyecto, se introdujo la capacidad de alojar podcasts.
A diferencia de Funkwhale, Castopod ha sido diseñado y construido exclusivamente
en torno al podcasting. Esto permite una implementación más fácil para
características relacionadas con el ecosistema de podcasting , tales como las
características de podcasting 2.0 (transcripciones, capítulos, ubicaciones,
personas, …).
A diferencia de Funkwhale, Castopod ha sido diseñado y desarrollado
exclusivamente para el podcasting. Esto permite una implementación más fácil
para funciones relacionadas con el ecosistema del podcasting, tales como las del
podcasting 2.0 (transcripciones, episodios, geo-localizaciones, personas, …).
Por lo tanto, probablemente deberías usar Funkwhale si quieres alojar tu música
y usar Castopod si quieres alojar tus podcasts.
### Castopod vs otras plataformas de podcast
### Castopod vs. otras plataformas de podcast
Hay muchas soluciones para que usted aloje sus podcasts, algunos de los cuales
son realmente geniales y [muchos de ellos](https://podcastindex. org/apps) están
saltando al vagón del Podcasting 2.0, como Castopod!
Hay muchas soluciones para alojar tus podcasts, algunas de las cuales son
realmente geniales y [muchas de ellas](https://podcastindex. org/apps) están
dando el salto al tren del Podcasting 2.0, ¡como ya ha hecho Castopod!
Cada una de estas soluciones difiere entre sí, puedes comparar con la
Cada una de estas soluciones difiere entre sí, puedes compararlas en esta
[lista de características](#features).
Dicho esto, hay dos diferencias principales con otras soluciones de podcasting:
- Castopod puede ser autoalojado y es la única solución que te permite mantener
control completo sobre lo que produces. También, como es de código abierto,
puedes incluso personalizarlo como desees.
- Castopod puede ser auto-hospedado en tu propio servidor y es la única solución
que te permite mantener un control completo sobre los contenidos que produces.
También, como es de código abierto, puedes incluso personalizarlo como desees
y necesites.
- Castopod es la única solución que actualmente integra tanto una red social
descentralizada con ActivityPub como muchas de las características del
podcasting 2.0, con la esperanza de cerrar la brecha entre ambos.
- Castopod es la única solución que hasta el momento integra tanto una red
social descentralizada con ActivityPub así como muchas de las características
del podcasting 2.0, con la esperanza de cerrar la brecha entre ambos.
## Contribuciones
## Cómo colaborar
¿Te encanta Castopod y te gustaría ayudar? Eche un vistazo a la siguiente
documentación para que usted&nbsp;comience.
¿Te encanta Castopod y te gustaría ayudar? Echa un vistazo a la siguiente
documentación para que puedas empezar.
### Código de conducta
Castopod ha adoptado un Código de Conducta que esperamos que los participantes
del proyecto cumplan. Por favor, lea el
[manual CODE_OF_CONDUCT](https://code.castopod.org/adaures/castopod/-/blob/beta/CODE_OF_CONDUCT.md)
para que pueda entender qué acciones serán y no serán&nbsp;toleradas.
Castopod ha adoptado un Código de Conducta al que esperamos que los
participantes del proyecto se adhieran. Por favor, lea el
[manual del CÓDIGO DE CONDUCTA](https://code.castopod.org/adaures/castopod/-/blob/beta/CODE_OF_CONDUCT.md)
para que pueda entender qué acciones serán y no serán toleradas.
### Guía de Contribución
### Guía para colaborar
Lee nuestra [guía de contribución](./contributing/guidelines.md) para aprender
más sobre nuestro proceso de desarrollo. cómo proponer correcciones de errores y
mejoras, y cómo compilar y probar sus cambios en Castopod.
Lee nuestra [guía para colaborar](./contributing/guidelines.md) para aprender
más sobre nuestro proceso de desarrollo, cómo proponer correcciones de errores y
sugerir mejoras, y cómo compilar y probar tus cambios en Castopod.
## Contributors ✨
## Colaboradores ✨
Thanks goes to these wonderful people
([emoji key](https://allcontributors.org/docs/en/emoji-key)):
Los agradecimientos van a estas estupendas personas
([clave emoji](https://allcontributors.org/docs/en/emoji-key)):
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
@ -240,43 +251,43 @@ Thanks goes to these wonderful people
<!-- ALL-CONTRIBUTORS-LIST:END -->
This project follows the
[all-contributors](https://github.com/all-contributors/all-contributors)
specification. Contributions of any kind welcome!
Este proyecto sigue la especificación
[all-contributors](https://github.com/all-contributors/all-contributors). ¡Son
bienvenidas colaboraciones de cualquier tipo!
## Contact
## Contacto
You may reach us for help or ask any question you have on:
Puedes contactarnos para ayuda o hacer cualquier pregunta que tengas en:
- [Discord](https://castopod.org/discord) (para interacción directa con
desarrolladores y la comunidad)
- [Rastreador de problemas](https://code.castopod.org/adaures/castopod/-/issues)
(para solicitudes de características & informes de errores)
- [Seguimiento de incidencias](https://code.castopod.org/adaures/castopod/-/issues)
(para informar de errores y solicitar nuevas funcionalidades)
Alternatively, you can follow us on social media platforms to get news about
Castopod:
También puedes seguirnos en redes sociales para obtener noticias sobre Castopod:
- [podlibre.social](https://podlibre.social/@Castopod) (Instancia de Mastodon)
- [Twitter](https://twitter.com/castopod)
- [LinkedIn](https://linkedin.com/company/castopod)
- [Facebook](https://www.facebook.com/castopod)
- [podlibre.social](https://podlibre.social/@castopod) (instancia de Mastodon)
- [[Twitter](https://twitter.com/castopod)](https://twitter.com/castopod)
- [[LinkedIn](https://linkedin.com/company/ad-aures)](https://linkedin.com/company/castopod)
- [Facebook (próximamente?)](https://www.facebook.com/castopod)
## Sponsors
## Patrocinadores
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).
El desarrollo en curso de Castopod es posible gracias al apoyo de sus
patrocinadores. Si quieres ayudar, por favor considera
[cooperar económicamente](https://opencollective.com/castopod/contribute) con el
desarrollo de Castopod.
<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>
<a href="https://nlnet.nl/project/Castopod/" target="_blank" rel="noopener noreferrer"><img src="/images/sponsors/nlnet.svg" alt="Logo de NLnet" class="h-16" /></a>
</div>
## License
## Licencia
[GNU Affero General Public License 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

View File

@ -2,12 +2,12 @@
sidebarDepth: 2
---
# Welcome 👋
# Selamat Datang 👋
[![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 adalah platform hosting yang gratis & sumber terbuka untuk pembuat
siniar yang ingin berinteraksi dengan pendengar mereka.
Castopod is easy to install and was built on top of
[CodeIgniter4](https://codeigniter.com/), a powerful PHP framework with a very
@ -15,27 +15,28 @@ small footprint.
::: info Status
Castopod is currently in **beta** but already quite stable and used by
podcasters around&nbsp;the&nbsp;world!
Castopod saat ini masih dalam fase **beta** namun sudah cukup stabil dan telah
digunakan oleh pembuat siniar di seluruh dunia!
:::
<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">Pasang<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
## Fitur-fitur
- 🌱 &nbsp;Free & open-source (AGPL v3 License)
- 🌱 &nbsp;Gratis & sumber terbuka (Lisensi AGPL v3)
- 🔐 &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;Jaringan sosial bawaan:
- 🚀 &nbsp;Castopod termasuk bagian dari Fediverse, jaringan sosial
terdesentralisasi
- ❤️ &nbsp;Create posts, share, favourite, and comment on episodes
- 📈 &nbsp;Built-in analytics:
- ⚖️ &nbsp;GDPR / CCPA / LGPD compliant
- 📈 &nbsp;Analitik bawaan:
- ⚖️ &nbsp;Sesuai dengan GDPR / CCPA / LGPD
- 🪙 &nbsp;Standard IABv2 audience measurement
- 🏡 &nbsp;On-premises analytics, no third party involved
- 📢 &nbsp;Built-in marketing tools:
@ -49,7 +50,7 @@ podcasters around&nbsp;the&nbsp;world!
- 🔗 &nbsp;Funding links
- 📲 &nbsp;listen-to-click ads
- 🤝 &nbsp;value4value / WebMonetization
- 📡 &nbsp;Publish your episodes everywhere with RSS:
- 📡 &nbsp;Terbitkan episode-episode Anda dimana pun dengan 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
@ -61,7 +62,7 @@ podcasters around&nbsp;the&nbsp;world!
Brazilian Portuguese & Spanish… with
[more to come](https://translate.castopod.org)!
## Motivation
## Motivasi
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.
@ -83,18 +84,18 @@ 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
## Perbandingan dengan solusi lain
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.
Kami percaya bahwa tidak semua solusi sesuai untuk semua orang, ini sangat
bergantung pada kebutuhan Anda. Jadi, inilah perbandingan dengan alat-alat lain
untuk membantu Anda untuk mengetahui apa Castopod sesuai untuk&nbsp;Anda.
### 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.
Castopod sering disebut sebagai "Wordpress-nya siniar" karena kemiripan antara
Castopod dan Wordpress. 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
@ -117,9 +118,9 @@ 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 adalah server musik modern yang dihosting sendiri, gratis dan sumber
terbuka. 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.
@ -151,10 +152,9 @@ That being said, there are two main differences with other podcasting solutions:
social network with ActivityPub as well as many of the podcasting 2.0
features, hoping to bridge the gap between the two.
## Contributing
## Berkontribusi
Love Castopod and would like to help? Take a look at the following documentation
to get you&nbsp;started.
Suka Castopod dan ingin membantu? Lihat dokumentasi berikut untuk mulai.
### Code of conduct
@ -163,13 +163,13 @@ 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
### Panduan berkontribusi
Read our [contributing guide](./contributing/guidelines.md) to learn about our
development process, how to propose bugfixes and improvements, and how to build
and test your changes to Castopod.
## Contributors
## Kontributor-kontributor
Thanks goes to these wonderful people
([emoji key](https://allcontributors.org/docs/en/emoji-key)):
@ -241,9 +241,10 @@ This project follows the
[all-contributors](https://github.com/all-contributors/all-contributors)
specification. Contributions of any kind welcome!
## Contact
## Kontak
You may reach us for help or ask any question you have on:
Anda dapat menghubungi kami untuk mendapatkan bantuan atau untuk menanyakan
pertanyaan di:
- [Discord](https://castopod.org/discord) (for direct interaction with
developers and the community)
@ -258,22 +259,22 @@ Castopod:
- [LinkedIn](https://linkedin.com/company/castopod)
- [Facebook](https://www.facebook.com/castopod)
## Sponsors
## Sponsor-sponsor
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>
<a href="https://adaures.com/" target="_blank" rel="noopener noreferrer"><img src="/images/sponsors/adaures.svg" alt="Logo Ad Aures" class="h-16" /></a>
<a href="https://nlnet.nl/project/Castopod/" target="_blank" rel="noopener noreferrer"><img src="/images/sponsors/nlnet.svg" alt="Logo NLnet" class="h-16" /></a>
</div>
## License
## Lisensi
[GNU Affero General Public License v3.0](https://choosealicense.com/licenses/agpl-3.0/)
Copyright © 2020-present, [Ad Aures](https://adaures.com/).
Hak Cipta © 2020-sekarang, [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

View File

@ -0,0 +1,141 @@
---
title: 官方 Docker 镜像
sidebarDepth: 3
---
# 官方 Docker 镜像
Castopod 在 Docker Hub 自动构建 程序中将 Docker 镜像推送至 Docker Hub
- [**`castopod/app`**](https://hub.docker.com/r/castopod/app):应用程序包,包含
所有 Castopod 依赖关系
- [**`castopod/web-server`**](https://hub.docker.com/r/castopod/web-server)Castopod
的 Nginx 配置
此外Castopod 需要一个与 MySQL 兼容的数据库。 Redis 数据库 可以添加为缓存处理器
## 目前支持的标签
- `develop` [unstable], 最新开发分支版本
更多标签即将到来!
## 用法示例:
1. 安装 [Docker](https://docs.docker.com/get-docker/) 和
[docker-compose](https://docs.docker.com/compose/install/)
2. 创建 `docker-compose.yml` 文件,并添加以下内容:
```yml
version: "3.7"
services:
app:
image: castopod/app:develop
container_name: "castopod-app"
volumes:
- castopod-media:/opt/castopod/public/media
environment:
MYSQL_DATABASE: castopod
MYSQL_USER: castopod
MYSQL_PASSWORD: changeme
CP_BASEURL: "http://castopod.example.com"
CP_ANALYTICS_SALT: changeme
CP_CACHE_HANDLER: redis
CP_REDIS_HOST: redis
networks:
- castopod-app
- castopod-db
restart: unless-stopped
web-server:
image: castopod/web-server:develop
container_name: "castopod-web-server"
volumes:
- castopod-media:/var/www/html/media
networks:
- castopod-app
ports:
- 8080:80
restart: unless-stopped
mariadb:
image: mariadb:10.5
container_name: "castopod-mariadb"
networks:
- castopod-db
volumes:
- castopod-db:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: changeme
MYSQL_DATABASE: castopod
MYSQL_USER: castopod
MYSQL_PASSWORD: changeme
restart: unless-stopped
redis:
image: redis:7.0-alpine
container_name: "castopod-redis"
volumes:
- castopod-cache:/data
networks:
- castopod-app
volumes:
castopod-media:
castopod-db:
castopod-cache:
networks:
castopod-app:
castopod-db:
```
你还需要调整一些变量。(例如:`CP_BASEURL` `MYSQL_ROOT_PASSWORD`
`MYSQL_PASSSWORD``CP_ANALYTICS_SALT`
3. 设置 TLS 反向代理 (SSL/HTTPS)
TLS 是 ActivePub 工作的强制性要求。 此操作可用通过反向代理轻松解决,例如使用
[Caddy](https://caddyserver.com/) 处理:
```
#castopod
castopod.example.com {
reverse_proxy localhost:8080
}
```
4. 运行命令 `docker-compose up -d` 等待初始化后跳转到
`https://castopod.example.com/cp-install` 来完成 Castopod 的设置!
5. 一切准备就绪,开始博客吧! 🎙️🚀
## 环境变量
- **castopod/app**
| 变量名称 | 类型 (`默认值`) |
| -------------------------- | ----------------------------------- |
| **`CP_BASEURL`** | string (`undefined`) |
| **`CP_MEDIA_BASEURL`** | ?string (`(empty)`) |
| **`CP_ADMIN_GATEWAY`** | ?string (`"cp-admin"`) |
| **`CP_AUTH_GATEWAY`** | ?string (`"cp-auth"`) |
| **`CP_ANALYTICS_SALT`** | string (`undefined`) |
| **`CP_DATABASE_HOSTNAME`** | ?string (`"mariadb"`) |
| **`CP_DATABASE_NAME`** | string (`MYSQL_DATABASE`) |
| **`CP_DATABASE_USERNAME`** | string (`MYSQL_USER`) |
| **`CP_DATABASE_PASSWORD`** | string (`MYSQL_PASSWORD`) |
| **`CP_DATABASE_PREFIX`** | ?string (`"cp_"`) |
| **`CP_CACHE_HANDLER`** | ?[`"file"` or `"redis"`] (`"file"`) |
| **`CP_REDIS_HOST`** | ?string (`"localhost"`) |
| **`CP_REDIS_PASSWORD`** | ?string (`null`) |
| **`CP_REDIS_PORT`** | ?number (`6379`) |
| **`CP_REDIS_DATABASE`** | ?number (`0`) |
- **castopod/web-server**
| 变量名称 | 类型 (`默认值`) |
| --------------------- | ----------------- |
| **`CP_APP_HOSTNAME`** | ?string (`"app"`) |

View File

@ -0,0 +1,146 @@
---
title: 安装
sidebarDepth: 3
---
# 如何安装 Castopod
Castopod 的安装非常简单。 你能在大多数兼容的 PHP-MySQL 的服务器上安装 Castopod
无论是专用还是 共享主机。
::: 注意
我们已经发布 Castopod 的官方 Docker 镜像!
如果你更喜欢使用 Docker则可以跳过此步骤直接前往 Castopod 的
[Docker 文档](./docker.md)。
:::
## 要求
- PHP 8.0 或更高版本
- MySQL 5.7 或更高版本与 MariaDB 10.2 或更高版本
- HTTPS 支持
### PHP 8.0 或更高版本
需要 PHP 8.0 或更高版本,并安装以下扩展:
- [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) 与 **JPEG**,
**PNG****WEBP** 库。
- [exif](https://www.php.net/manual/en/exif.installation.php)
此外,请确保在 PHP 中启用以下扩展:
- json (默认启用-不要关闭)
- xml (默认启用-不要关闭)
- [mysqlnd](https://php.net/manual/en/mysqlnd.install.php)
### 兼容 MySQL 的数据库
> 我们建议使用 [MariaDB](https://mariadb.org)。
::: 警告
Castopod 仅适用于受支持的 MySQL 5.7 或更高版本的兼容数据库。 例如MySQL 5.6 已
经不受支持,因为它于 2021 年 2 月 5 日已停止更新。
:::
你需要填写服务器主机名、数据库名称、用户名和密码才能完成安装过程。 如果没有这些
,请与你的服务器管理员联系。
#### 权限
用户至少需要在数据库中有这些权限Castopod 才能工作: `CREATE`, `ALTER`,
`DELETE`, `EXECUTE`, `INDEX`, `INSERT`, `SELECT`, `UPDATE`
### 可选FFmpeg v4.1.8 或更高版本,用于视频素材
如果你需要视频素材,则需要 [FFFmpeg](https://www.ffmpeg.org/) 4.1.8 或更高版本。
必须安装以下扩展:
- **FreeType 2** 来自库
[gd](https://www.php.net/manual/en/image.installation.php)
### (可选)其他建议
- 使用 Redis 提高缓存性能。
- CDN 用于静态文件缓存以实现更好的性能。
- 电子邮件用于找回密码。
## 安装说明
### 准备环境
0. 需要一台已经实现 [环境要求](#requirements)的 Web 服务器
1. 为 Castopod 创建一个 MySQL 数据库,其中用户具有访问和修改权限(有关详细信息,
请参阅 [MySQL 兼容数据库](#mysql-compatible-database))。
2. 使用 _SSL 证书_ 在您的域激活 HTTPS。
3. 下载最新的 [Castopod](https://castopod.org/) 到 web 服务器并解压(如果尚未下
载)。
- ⚠️ 将 web 服务器根目录设置为 `castopod` 文件夹中的 `public/` 子文件夹。
4. 在 Web 服务器上为各种后台进程添加 **cron 任务** (相应地替换路径)
- 为了使社交功能正常工作,此任务用于向联邦宇宙中的关注者发送活动:
```bash
* * * * * /path/to/php /path/to/castopod/public/index.php scheduled-activities
```
- 使用 [WebSub](https://en.wikipedia.org/wiki/WebSub) 在发布时将您的剧集广播
在公共平台:
```bash
* * * * * /usr/local/bin/php /castopod/public/index.php scheduled-websub-publish
```
- 如果需要使用视频素材(请参阅
[FFmpeg 要求](#ffmpeg-v418-or-higher-for-video-clips))
```bash
* * * * * /path/to/php /path/to/castopod/public/index.php scheduled-video-clips
```
> 这些任务 **每分钟**运行一次。 你可以根据需要设置频率:每 5 分钟10 分钟或
> 更长的时间。
### (推荐) 安装向导
1. 前往你最喜欢的浏览器并跳转至安装向导页面
(`https://your_domain_name.com/cp-install`)运行 Castopod 安装脚本。
2. 请按照屏幕上的说明进行操作。
3. 开始播客!
::: 注意
安装脚本将会在根目录中创建一个 `.env` 文件并写入数据。 如果无法执行安装向导,可
以 [手动创建并更新 `.env` 文件](#alternative-manual-configuration)。
:::
## 社区套餐
如果你不想手动安装 Castopod可以使用开源社区创建和维护的软件包。
### 使用 YunoHost 安装
[Yunohost](https://yunohost.org/) 是一个基于 Debian GNU/Linux 的发行版,由自由和
开源软件包组成。 它可以为你解决自托管的困难。
<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="从 YunoHost 安装 Castopod" 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>

View File

@ -0,0 +1,23 @@
---
title: 安全性
---
# 安全问题
Castopod 构建于 [CodeIgniter4](https://codeigniter.com/), PHP 框架上,鼓励
[更好的安全实践](https://codeigniter.com/user_guide/concepts/security.html)。
为了最大限度地提高你实例的安全性并防止任何恶意攻击。 我们 建议你在安装或更新后检
查所有的 Castopod 文件权限(避免任何之前的权限错误)
- `writable/` 文件夹权限为 **可读****可写**
- `public/media/` 文件夹权限为 **可读****可写**
- 任何其他文件都必须设置为**只读**。
例如,如果你在 Ubuntu 上使用 Apache 或 NGINX你可以这样做
```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,79 @@
---
title: 更新
sidebarDepth: 3
---
# 如何更新 Castopod
安装 Castopod 后,你可能希望将实例更新到最新版本 版本以享受最新功能 ✨, 修复错误
🐛 和性能提升 ⚡。
## 自动更新说明
> 即将到来... 👀
## 手动更新说明
1. 跳转至 [发布页面](https://code.castopod.org/adaures/castopod/-/releases) 并且
查看自己的实例是否为最新版本的 Castopod
- 参考
[在哪里可以找到我的 Castopod 版本号?](#where-can-i-find-my-castopod-version)
2. 下载命名为 `Castopod Package`的最新版本,你可以选择 `zip``tar.gz` 压缩包
- ⚠️ 请确保你下载的是 Castopod 软件包而 **不是** 源代码
3. 在你的服务器上:
- 删除除 `.env` 文件和 `public/media` 目录之外的所有文件
- 将下载软件包中的新文件复制到你的服务器中
::: 注意
你可能在更新过程中需要重置文件权限。 检查 [安全问题](./security.md)。
:::
4. 新版本可能有额外的更新说明(请参阅
[发布页面](https://code.castopod.org/adaures/castopod/-/releases))。 通常以
`.sql` 格式的数据库迁移脚本更新你的数据库结构。
- 👉 确保在 phpmyadmin 面板上运行脚本或使用命令 行来更新数据库以及包文件!
- 参阅
[我很长时间没有更新我的实例… 我该怎么办?](#i-havent-updated-my-instance-in-a-long-time-what-should-i-do)
5. 如果你正在使用 redis请清除缓存。
6. ✨ 享受你的新实例, 你已经更新完毕!
## 常见问题FAQ
### 在哪里可以找到我的 Castopod 版本号?
跳转到你的 Castopod 管理面板,版本号显示在左下角。
或者,你可以在 `应用程序 > 配置 > Constants.php` 文件中找到版本号。
### 我很长时间没有更新我的实例… 我该怎么办?
没问题! 只需如上所述获取最新版本。 在执行上文步骤 (4) 时,将脚本按旧到新依次执
行。
> 你可能想要备份你的实例,这取决于您多久没有更新过 Castopod 。
例如,如果你在 `v1.0.0-alpha.42` 并想要升级到 `v1.0.0-beta.1`
0. (强烈推荐) 备份你的文件和数据库。
1. 下载最新版本,覆盖您的文件,同时保留 `.env` 文件和 `public/media` 文件夹。
2. 从 `v1.0.0-alpha.43` 开始,按顺序执行每个版本更新指令(从老版本到 最新版本)
然后是 `v1.0.0-alpha.44``v1.0.0-alpha.45`,…,直到 `v1.0.0-beta.1`
3. ✨ 享受你的新实例, 你已经更新完毕!
### 我是否应该在更新前备份?
我们建议你这样做,这样就不会在出现任何问题时丢失数据!
更笼统地说,我们建议你定期备份您的 Castopod 文件和 数据库,防止丢失所有内容……

261
docs/src/zh-Hans/index.md Normal file
View File

@ -0,0 +1,261 @@
---
sidebarDepth: 2
---
# 欢迎 👋
[![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 是一个免费的开源播客托管平台,为那些想要和听众接触与互动的播客们制作的
Castopod 易于安装,并使用 [CodeIgniter4](https://codeigniter.com/) 构建, 这是一
个强大的 PHP 框架,并且占用极小。
::: 状态
Castopod 虽然目前处于 **测试阶段** ,但相当稳定,已经被世界各地的播客使用!
:::
<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">安装<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>
## 功能特色
- 🌱 &nbsp;免费与开源AGPL v3 许可证)
- 🔐 &nbsp;专注于数据主权:你的内容、受众和分析属于你,而且只属于你
- 🪄 &nbsp;播客 2.0 功能GUID锁定报表资金章节位置信息人员原声摘要
...
- 💬 &nbsp;内置社交网络:
- 🚀 &nbsp;Castopod 是联邦宇宙的一部分,联邦宇宙是一个去中心化的社交网络
- ❤️ &nbsp;创建帖子、分享、收藏和评论剧集。
- 📈 &nbsp;内置分析:
- ⚖️ &nbsp;符合 GDPR / CCPA / LGPD 标准
- 🪙 &nbsp;标准 IABv2 受众测量
- 🏡 &nbsp;本地分析,不涉及第三方
- 📢 &nbsp;内置营销工具:
- ✅ &nbsp;SEO 开箱即用open-graph meta-tagsJSON-LD 等)
- 📱 &nbsp;PWA作为独立应用安装
- 🎨 &nbsp;自定义的主题颜色
- 🎬 &nbsp;从单个剧集生成随时可以共享的视频素材
- 🔉 &nbsp;生成原声摘要
- ▶️ &nbsp;嵌入式播放器,将你的剧集嵌入任何网站
- 💸 &nbsp;货币:
- 🔗 &nbsp;资金链接
- 📲 &nbsp;点击收听广告
- 🤝 &nbsp;value4value / 网络货币化
- 📡 &nbsp;使用 RSS 将你的剧集发布到任何地方
- 📱 &nbsp;支持众多索引和应用程序Podcast IndexApple
PodcastsSpotifyGoogle PodcastsDeezerPodcast AddictPodfriend...
- ⚡ &nbsp;使用 WebSub 即时广播你的剧集
- 📥 &nbsp;播客导入:将现有播客移至 Castopod
- 📤 &nbsp;也支持将播客移出 Castopod
- 🔀 &nbsp;多租户:根据需要托管任意数量的播客
- 👥 &nbsp;多用户:添加贡献者并设置角色
- 🌎 &nbsp;i18n 支持:翻译成英语,法语,波兰语,德语,巴西葡萄牙语和西班牙语
...[还有更多](https://translate.castopod.org)
## 创作动机
播客生态系统本质上是去中心化的:你可以创建自己的播客订阅源,将其发布到网络上并在
线共享。
事实上,它是唯一长期保持这种状态的媒体之一。
随着习惯的发展,越来越多的人开始接触播客:允许创作者寻找新的方式来分享他们的想法
,或是让听众获得更好的内容。
随着播客的使用越来越广泛,一些公司正试图控制播客与集中化。
Castopod 的创建旨在提供一种开放且可持续的替代方案来托管你的播客,促进权力下放,
确保播客可以用创造力表达自己。
此项目由开源社区推动的,特别是
由[联邦宇宙](https://fediverse.party/en/fediverse/) 和
[播客 2.0](https://podcastindex.org/) 推动。
## 与其他解决方案的对比
我们相信此解决方案不一定适合所有人,它只取决于你是否需要。 因此,下面是与其他解
决方案的比较,可帮助判断 Castopod 是否适合你。
### Castopod 对比 Wordpress
Castopod 经常被称为 “播客中的 Wordpress”因为两者有很多相似之处。 在某些方面,
确实如此。 实际上Castopod 受到 WordPress 生态的极大启发,看到了采用社区的易用
性 以及运行它的网站数量。
就像 Wordpress 一样Castopod 是免费且开源的PHP 构建并使用 MySQL 数据库,可以
在大多数 Web 服务器上轻松安装。
Wordpress 是创建你的网站,并使用插件扩展以获得想要内容的好办法。 这是一个成熟的
CMS可以帮助你在线访问任何类型的网站。
另一方面Castopod 旨在专门满足播客的需求,专注于播客,而不是其他。 你不需要任何
插件即可轻松开始播客之旅。
还拥有对播客的独特优化:从播客的创建和新剧集的发布一直到广播,营销和分析。
最后根据你的需要Wordpress 和 Castopod 甚至可以共存,因为他们有相同的配置环境
### Castopod 对比 Funkwhale
Funkwhale 是一个自托管、现代界面、免费开源的音乐服务器。 就像 Castopod 一样
Funkwhale 也位于联邦宇宙中,这是一个去中心化的社交网络,允许两者的互联。
Funkwhale 最初是围绕音乐制作的。 后来,随着项目的发展,引入了托管播客的能力。
与 Funkwhale 不同Castopod 是只围绕播客设计和构建的。 这样可以更简单地实现与播
客相关的生态系统,例如播客 2.0 功能(报表、 章节、地点、人员…)。
因此,如果你想托管你的音乐库,你可能应该使用 Funkwhale如果您想主持一个播客
使用 Castopod。
### Castopod 与其他播客
有许多非常棒的解决方案可供你托管播客,并
且[很多](https://podcastindex.org/apps)正在搭上播客 2.0 的便车,就像 Castopod 一
样!
这些解决方案各不相同,你可以对比 [功能列表](#features)。
话虽如此Castopod 与其他播客解决方案有两个主要区别:
- Castopod 是自托管的,唯一允许你控制所有数据的方案。 并且,由于是开源的,甚至可
以按自己的想法修改。
- Castopod 是目前唯一一个同时集成去中心化的,带有 ActivePub 的社交网络以及很多播
客 2.0 功能集成的解决方案,希望弥合两者之间的差距。
## 贡献
喜欢 Castopod 并且想帮忙吗? 请查看以下文档以帮助你入门。
### 行为准则
Castopod 已经通过了一项行为准则,并希望所有的参与者都能够遵循本行为准则。 请阅
读[行为准则](https://code.castopod.org/adaures/castopod/-/blob/beta/CODE_OF_CONDUCT.md)
以便了解哪些行为被允许,哪些行为不会被容忍。
### 贡献指南
阅读我们的 [贡献指南](./contributing/guidelines.md) ,了解我们的开发过程。提出错
误修正和改进想法,以及如何构建和测试 Castopod 。
## 贡献者 ✨
感谢这些了不起的人
([表情符号键](https://allcontributors.org/docs/en/emoji-key)):
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tr>
<td align="center"><a href="https://github.com/yassinedoghri"><img src="https://code.castopod.org/uploads/-/system/user/avatar/3/avatar.png?s=100" width="100px;" alt=""/><br /><sub><b>Yassine Doghri</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Code">💻</a> <a href="https://code.castopod.org/adaures/castopod/issues?author_username=yassinedoghri" title="Bug reports">🐛</a> <a href="https://code.castopod.org/adaures/castopod/commits/master" title="Documentation">📖</a> <a href="https://code.castopod.org/adaures/castopod/merge_requests?scope=all&state=all&approver_usernames[]=yassinedoghri" title="Reviewed Pull Requests">👀</a> <a href="#maintenance-yassinedoghri" title="Maintenance">🚧</a> <a href="#content-yassinedoghri" title="Content">🖋</a> <a href="#design-yassinedoghri" title="Design">🎨</a> <a href="#a11y-yassinedoghri" title="Accessibility">️️️️♿️</a> <a href="https://translate.castopod.org" title="Translation">🌍</a> <a href="#question-yassinedoghri" title="Answering Questions">💬</a> <a href="#mentoring-yassinedoghri" title="Mentoring">🧑‍🏫</a> <a href="#infra-yassinedoghri" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#ideas-yassinedoghri" title="Ideas, Planning, & Feedback">🤔</a> <a href="#projectManagement-yassinedoghri" title="Project Management">📆</a> <a href="https://blog.castopod.org/author/yassinedoghri/" title="Blogposts">📝</a></td>
<td align="center"><a href="https://code.castopod.org/benjamin"><img src="https://code.castopod.org/uploads/-/system/user/avatar/2/avatar.png?s=100" width="100px;" alt=""/><br /><sub><b>Benjamin Bellamy</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Code">💻</a> <a href="https://code.castopod.org/adaures/castopod/issues?author_username=benjamin" title="Bug reports">🐛</a> <a href="https://code.castopod.org/adaures/castopod/merge_requests?scope=all&state=all&approver_usernames[]=benjamin" title="Reviewed Pull Requests">👀</a> <a href="#content-benjamin" title="Content">🖋</a> <a href="https://translate.castopod.org" title="Translation">🌍</a> <a href="#question-benjamin" title="Answering Questions">💬</a> <a href="#infra-benjamin" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#ideas-benjamin" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://blog.castopod.org/author/benjamin-bellamy/" title="Blogposts">📝</a> <a href="#projectManagement-benjamin" title="Project Management">📆</a> <a href="#talk-benjamin" title="Talks">📢</a></td>
<td align="center"><a href="https://github.com/ola-hn"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt=""/><br /><sub><b>Ola Hneini</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Code">💻</a> <a href="https://code.castopod.org/adaures/castopod/merge_requests?scope=all&state=all&approver_usernames[]=ola" title="Reviewed Pull Requests">👀</a> <a href="https://code.castopod.org/adaures/castopod/commits/master" title="Documentation">📖</a> <a href="#maintenance-ola" title="Maintenance">🚧</a> <a href="#question-ola" title="Answering Questions">💬</a> <a href="#ideas-ola" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center"><a href="https://mamot.fr/@rdelaage"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt=""/><br /><sub><b>Romain de Laage</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Code">💻</a> <a href="#infra-rdelaage" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://code.castopod.org/adaures/castopod/commits/master" title="Documentation">📖</a> <a href="https://translate.castopod.org" title="Translation">🌍</a> <a href="#ideas-rdelaage" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center"><a href="https://twitter.com/lyonelbernard"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt=""/><br /><sub><b>Lyonel Bernard</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=Lyonel" title="Bug reports">🐛</a> <a href="#question-Lyonel" title="Answering Questions">💬</a> <a href="#audio-Lyonel" title="Audio">🔊</a> <a href="#ideas-Lyonel" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center"><a href="https://www.crypticchameleon.com/"><img src="https://secure.gravatar.com/avatar/7c2a721b52d0763673a600e8f01bd745?s=80&d=identicon?s=100" width="100px;" alt=""/><br /><sub><b>Christopher Lagonick-Weitzel</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=ctlw83" title="Bug reports">🐛</a> <a href="#question-ctlw83" title="Answering Questions">💬</a> <a href="#audio-ctlw83" title="Audio">🔊</a> <a href="#ideas-ctlw83" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center"><a href="https://ernestoacosta.me/"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt=""/><br /><sub><b>Ernesto Acosta</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=ernestoacostame" title="Bug reports">🐛</a> <a href="#audio-ernestoacostame" title="Audio">🔊</a> <a href="https://translate.castopod.org" title="Translation">🌍</a> <a href="#question-ernestoacostame" title="Answering Questions">💬</a> <a href="#ideas-ernestoacostame" title="Ideas, Planning, & Feedback">🤔</a></td>
</tr>
<tr>
<td align="center"><a href="https://code.castopod.org/Behel"><img src="https://secure.gravatar.com/avatar/ad63ee8ef8e3db8253d21e5012d2724f?s=80&d=identicon?s=100" width="100px;" alt=""/><br /><sub><b>Bastien Luneteau</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Code">💻</a> <a href="https://code.castopod.org/adaures/castopod/issues?author_username=Behel" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://www.cecillie.fr/"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt=""/><br /><sub><b>Cécile Ricordeau</b></sub></a><br /><a href="#design-cecillie" title="Design">🎨</a></td>
<td align="center"><a href="https://code.castopod.org/PatrykMis"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt=""/><br /><sub><b>Patryk Miś</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
<td align="center"><a href="https://code.castopod.org/mspanc"><img src="https://secure.gravatar.com/avatar/eed8337939641eac5ad0b570bd6acf96?s=80&d=identicon?s=100" width="100px;" alt=""/><br /><sub><b>Marcin Lewandowski</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=mspanc" title="Bug reports">🐛</a> <a href="#ideas-mspanc" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center"><a href="https://code.castopod.org/SJanik"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt=""/><br /><sub><b>Sebastian Janik</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Code">💻</a></td>
<td align="center"><a href="https://code.castopod.org/patryk"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt=""/><br /><sub><b>Patryk Karczmarczyk</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Code">💻</a></td>
<td align="center"><a href="https://code.castopod.org/ddenis"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt=""/><br /><sub><b>denis d</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=ddenis" title="Bug reports">🐛</a> <a href="#ideas-ddenis" title="Ideas, Planning, & Feedback">🤔</a></td>
</tr>
<tr>
<td align="center"><a href="https://code.castopod.org/douglaskastle"><img src="https://secure.gravatar.com/avatar/b7e652ba4b6bcd440afa069e7f7bc9e6?s=80&d=identicon?s=100" width="100px;" alt=""/><br /><sub><b>Douglas Kastle</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=douglaskastle" title="Bug reports">🐛</a> <a href="#ideas-douglaskastle" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center"><a href="https://code.castopod.org/cExplorer"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt=""/><br /><sub><b>cExplorer</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=cExplorer" title="Bug reports">🐛</a> <a href="https://translate.castopod.org" title="Translation">🌍</a></td>
<td align="center"><a href="https://code.castopod.org/imacrea"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt=""/><br /><sub><b>ImaCrea</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=imacrea" title="Bug reports">🐛</a> <a href="#ideas-imacrea" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center"><a href="https://code.castopod.org/jonas"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt=""/><br /><sub><b>Jonas S</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/commits/master" title="Code">💻</a></td>
<td align="center"><a href="https://code.castopod.org/yannL"><img src="https://secure.gravatar.com/avatar/9c46600ce566ec6d526370d8e104b1c8?s=80&d=identicon?s=100" width="100px;" alt=""/><br /><sub><b>LEFEBVRE Yann</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=yannL" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://code.castopod.org/spaetz"><img src="https://secure.gravatar.com/avatar/278e1af65e82993efd0ba7bbbacf6435?s=80&d=identicon?s=100" width="100px;" alt=""/><br /><sub><b>Sebastian Späth</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=spaetz" title="Bug reports">🐛</a> <a href="#ideas-spaetz" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center"><a href="https://code.castopod.org/rocky"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt=""/><br /><sub><b>rocky III</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=rocky" title="Bug reports">🐛</a></td>
</tr>
<tr>
<td align="center"><a href="https://code.castopod.org/Regenpfeifer"><img src="https://code.castopod.org/uploads/-/system/user/avatar/103/avatar.png?s=100" width="100px;" alt=""/><br /><sub><b>Hermann Josef Eckl</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=Regenpfeifer" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://code.castopod.org/cyrilledel"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt=""/><br /><sub><b>Delhaye Cyrille</b></sub></a><br /><a href="https://code.castopod.org/adaures/castopod/issues?author_username=cyrilledel" title="Bug reports">🐛</a> <a href="#ideas-cyrilledel" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center"><a href="https://twitter.com/otetranome"><img src="https://code.castopod.org/uploads/-/system/user/avatar/113/avatar.png?s=100" width="100px;" alt=""/><br /><sub><b>João Leandro</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a> <a href="#ideas-otetranome" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center"><a href="https://achouvardas.eu/"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt=""/><br /><sub><b>Angelos Chouvardas</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
<td align="center"><a href="https://mastodon.fjerland.no/@eivind"><img src="https://mastodon.fjerland.no/system/accounts/avatars/107/769/768/295/192/222/original/e5c985fea6487dcb.jpg?s=100" width="100px;" alt=""/><br /><sub><b>Eivind</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
<td align="center"><a href="https://mastodon.fedi.bzh/@ewen"><img src="https://mastodon.fedi.bzh/system/accounts/avatars/000/000/002/original/6f387690a504ae46.jpg?s=100" width="100px;" alt=""/><br /><sub><b>Ewen</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a> <a href="#ideas-3wen" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center"><a href="https://crowdin.com/profile/forght"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15073833/large/82d1e2e443a6df7edc43a7405dfeeb75_default.png?s=100" width="100px;" alt=""/><br /><sub><b>forght</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
</tr>
<tr>
<td align="center"><a href="https://crowdin.com/profile/glottis0q"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15209934/large/8b17ef6a7399f0b82a8198f87c224195.png?s=100" width="100px;" alt=""/><br /><sub><b>glottis0q</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
<td align="center"><a href="https://mstdn.fr/@ButterflyOfFire"><img src="https://static.mstdn.fr/static/accounts/avatars/000/065/901/original/e18d44b28edd0ada.png?s=100" width="100px;" alt=""/><br /><sub><b>ButterflyOfFire</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/lil5"><img src="https://avatars.githubusercontent.com/u/17646836?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Lucian I. Last</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
<td align="center"><a href="https://crowdin.com/profile/luuzviir"><img src="https://crowdin-static.downloads.crowdin.com/avatar/13166188/large/d03ab0abc7ce354b210d836955cd3805_default.png?s=100" width="100px;" alt=""/><br /><sub><b>LuuzViir</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
<td align="center"><a href="https://crowdin.com/profile/cthtc"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15211502/large/ed0651060cb8474a9519b5168bd377c1_default.png?s=100" width="100px;" alt=""/><br /><sub><b>CTHTC</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
<td align="center"><a href="https://crowdin.com/profile/retrograde"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15021651/large/b10c4057f85bf4de49c7fdf01354ecde.jpeg?s=100" width="100px;" alt=""/><br /><sub><b>Russian Retro</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
<td align="center"><a href="https://crowdin.com/profile/mareklach"><img src="https://crowdin-static.downloads.crowdin.com/avatar/13572324/large/3eeba8d569c247ace33862bf4ef4748f.jpeg?s=100" width="100px;" alt=""/><br /><sub><b>Marek L'ach</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
</tr>
<tr>
<td align="center"><a href="https://crowdin.com/profile/gunchleoc"><img src="https://crowdin-static.downloads.crowdin.com/avatar/13043878/large/3223f7b606296a8b1c92c5de39c459a2_default.png?s=100" width="100px;" alt=""/><br /><sub><b>GunChleoc</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
<td align="center"><a href="https://crowdin.com/profile/gabisnow"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15214858/large/5b083bdf9c9e9de67cc6ee72a6c8db18_default.png?s=100" width="100px;" alt=""/><br /><sub><b>GabiSnow</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
<td align="center"><a href="https://crowdin.com/profile/bendaha"><img src="https://crowdin-static.downloads.crowdin.com/avatar/15331656/large/cd92450d2c20202299fb3a0075903e20_default.png?s=100" width="100px;" alt=""/><br /><sub><b>bendaha</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
<td align="center"><a href="https://crowdin.com/profile/samuelroland"><img src="https://crowdin-static.downloads.crowdin.com/avatar/14980053/large/3e154a37d03d6e98ae402ed3f930f4f5.png?s=100" width="100px;" alt=""/><br /><sub><b>Samuel Roland</b></sub></a><br /><a href="https://translate.castopod.org" title="Translation">🌍</a></td>
<td align="center"><a href="https://dimitriregnier.net/"><img src="https://castopod.org/assets/images/castopod-avatar.jpg?s=100" width="100px;" alt=""/><br /><sub><b>Dimitri Regnier</b></sub></a><br /><a href="#ideas-dimregnier" title="Ideas, Planning, & Feedback">🤔</a></td>
</tr>
</table>
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->
此项目遵循 [所有贡献者](https://github.com/all-contributors/all-contributors) 规
范。 欢迎任何形式的贡献!
## 联系
你可以联系我们寻求帮助或提出任何问题:
- [Discord](https://castopod.org/discord) (用于与开发人员和社区直接互动)
- [问题跟踪器](https://code.castopod.org/adaures/castopod/-/issues)(用于功能请
求和错误报告)
或者,你可以在社交媒体上关注我们,以获取有关 Castopod 的新闻:
- [podlibre.social](https://podlibre.social/@Castopod) Mastodon 实例)
- [推特](https://twitter.com/castopod)
- [领英](https://linkedin.com/company/castopod)
- [脸书](https://www.facebook.com/castopod)
## 赞助商
Castopod 的发展离不开赞助商的支持。 如果你想要帮助我们,请考
虑[赞助 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="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>
## 许可证
[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

@ -0,0 +1,49 @@
<?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 [
'label' => 'Ruta de navegació',
config('Admin')
->gateway => 'Inici',
'podcasts' => 'podcasts',
'episodes' => 'episodis',
'contributors' => 'col·laboradors',
'pages' => 'pàgines',
'settings' => 'preferències',
'theme' => 'tema',
'add' => 'afegir',
'new' => 'nova',
'edit' => 'editar',
'persons' => 'persones',
'publish' => 'publicar',
'publish-edit' => 'editar la publicació',
'unpublish' => 'desfer la publicació',
'delete' => 'eliminar',
'fediverse' => 'Fediverse',
'block-lists' => 'llista de bloquejats',
'users' => 'usuaris',
'my-account' => 'el meu compte',
'change-password' => 'canviar la contrasenya',
'import' => 'importar un feed',
'platforms' => 'plataformes',
'social' => 'xarxes socials',
'funding' => 'financiació',
'analytics' => 'estadístiques',
'locations' => 'ubicacions',
'webpages' => 'pàgines web',
'unique-listeners' => 'oients únics',
'players' => 'reproductors',
'listening-time' => 'temps d\'escolta',
'time-periods' => 'períodes de temps',
'soundbites' => 'fragments d\'àudio',
'video-clips' => 'vídeoclips',
'embed' => 'reproductor incrustable',
'notifications' => 'notificacions',
];

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 [
'by_service_weekly' => 'Baixades d\'episodis per servei (durant la setmana passada)',
'by_player_weekly' => 'Baixades d\'episodis per reproductor (durant la setmana passada)',
'by_player_yearly' => 'Baixades d\'episodis per reproductor (durant l\'any passat)',
'by_device_weekly' => 'Baixades d\'episodis per dispositiu (durant la setmana passada)',
'by_os_weekly' => 'Baixades d\'episodis per sistema operatiu (durant la setmana passada)',
'podcast_by_region' => 'Baixades d\'episodis per regió (durant la setmana passada)',
'unique_daily_listeners' => 'Oients únics diaris',
'unique_monthly_listeners' => 'Oients únics mensuals',
'by_browser' => 'Pàgines vistes per navegador (durant la setmana passada)',
'podcast_by_day' => 'Baixades diàries d\'episodis',
'podcast_by_month' => 'Baixades mensuals d\'episodis',
'episode_by_day' => 'Baixades diàries d\'episodi (primers 60 dies)',
'episode_by_month' => 'Baixades mensuals d\'episodis',
'episodes_by_day' =>
'Baixades dels 5 darrers episodis (durant els seus primers 60 dies)',
'by_country_weekly' => 'Baixades d\'episodis per país (durant la setmana passada)',
'by_country_yearly' => 'Baixades d\'episodis per país (durant l\'any passat)',
'by_domain_weekly' => 'Pàgines vistes per origen (durant la setmana passada)',
'by_domain_yearly' => 'Pàgines vistes per origen (durant l\'any passat)',
'by_entry_page' => 'Pàgines vistes per pàgina d\'arribada (durant la setmana passada)',
'podcast_bots' => 'Bots (exploradors)',
'daily_listening_time' => 'Temps acumulat d\'escolta diària',
'monthly_listening_time' => 'Temps acumulat d\'escolta mensual',
'by_weekday' => 'Per dia de la setmana (darrers 60 dies) ',
'by_hour' => 'Per hora del dia (darrers 60 dies)',
'podcast_by_bandwidth' => 'Ample de banda emprat diàriament (en MB)',
'total_storage_by_month' => 'Emmagatzematge mensual (en MB)',
'total_bandwidth_by_month' => 'Ample de banda emprat mensualment (en MB)',
];

View File

@ -0,0 +1,51 @@
<?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' => 'Sí',
'no' => 'No',
'cancel' => 'Cancel·lar',
'optional' => 'Opcional',
'more' => 'Més',
'no_data' => 'No s\'han trobat dades.',
'close' => 'Tancar',
'edit' => 'Editar',
'copy' => 'Copiar',
'copied' => 'Copiat.',
'home' => 'Inici',
'explicit' => 'Explícit',
'powered_by' => 'Powered by {castopod}',
'actions' => 'Accions',
'pageInfo' => 'Pàgina {currentPage} de {pageCount}',
'go_back' => 'Tornar enrere',
'forms' => [
'editor' => [
'write' => 'Escriure',
'preview' => 'Vista prèvia',
'help' => 'Powered by markdown',
],
'multiSelect' => [
'selectText' => 'Premeu per seleccionar',
'loadingText' => 'S\'està carregant…',
'noResultsText' => 'No s\'han trobat resultats.',
'noChoicesText' => 'No hi ha opcions per triar',
'maxItemText' => 'No es poden afegir més elements',
],
'upload_file' => 'Pujar un fitxer',
'remote_url' => 'URL remota',
],
'play_episode_button' => [
'play' => 'Reproduir',
'playing' => 'S\'està reproduint',
],
'size_limit' => 'Límit de mida: {0}.',
'choose_interact' => 'Escolliu com interactuar',
'view' => 'Vista',
];

View File

@ -0,0 +1,41 @@
<?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 [
'podcast_contributors' => 'Col·laboradors del podcast',
'view' => "Aportació de {username} a {podcastTitle}",
'add' => 'Afegir un col·laborador',
'add_contributor' => 'Afegir un col·laborador de {0}',
'edit_role' => 'Actualitzar el rol de {0}',
'edit' => 'Editar',
'remove' => 'Eliminar',
'list' => [
'username' => 'Nom de l\'usuari',
'role' => 'Rol',
],
'form' => [
'user' => 'Usuari',
'user_placeholder' => 'Seleccionar un usuari…',
'role' => 'Rol',
'role_placeholder' => 'Seleccionar el seu rol…',
'submit_add' => 'Afegir un col·laborador',
'submit_edit' => 'Actualitzar el rol',
],
'roles' => [
'podcast_admin' => 'Administrador del podcast',
],
'messages' => [
'removeOwnerError' => "No podeu eliminar al propietari del podcast!",
'removeSuccess' =>
'S\'ha eliminat a {username} de {podcastTitle}',
'alreadyAddedError' =>
"El col·laborador que esteu intentant afegir ja ha estat afegit!",
],
];

View File

@ -0,0 +1,264 @@
<?php
declare(strict_types=1);
/**
* ISO 3166 country codes
*
* @copyright 2020 Ad Aures
* @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
* @link https://castopod.org/
*/
return [
'AD' => 'Andorra',
'AE' => 'Emirats Àrabs Units',
'AF' => 'Afganistan',
'AG' => 'Antigua i Barbuda',
'AI' => 'Anguilla',
'AL' => 'Albània',
'AM' => 'Armènia',
'AO' => 'Angola',
'AQ' => 'Antàrtida',
'AR' => 'Argentina',
'AS' => 'Samoa Americana',
'AT' => 'Àustria',
'AU' => 'Austràlia',
'AW' => 'Aruba',
'AX' => 'Illes Åland',
'AZ' => 'Azerbaidjan',
'BA' => 'Bòsnia i Herzegovina',
'BB' => 'Barbados',
'BD' => 'Bangladesh',
'BE' => 'Bèlgica',
'BF' => 'Burkina Faso',
'BG' => 'Bulgària',
'BH' => 'Bahrain',
'BI' => 'Burundi',
'BJ' => 'Benín',
'BL' => 'Saint Barthélemy',
'BM' => 'Bermudes',
'BN' => 'Brunei Darussalam',
'BO' => 'Bolívia',
'BQ' => 'Bonaire, Saint Eustatius i Saba',
'BR' => 'Brasil',
'BS' => 'Bahames',
'BT' => 'Bhutan',
'BV' => 'Illa Bouvet',
'BW' => 'Botswana',
'BY' => 'Bielorússia',
'BZ' => 'Belize',
'CA' => 'Canadà',
'CC' => 'Illes Cocos (Keeling)',
'CD' => 'Congo, República Democràtica del',
'CF' => 'República Centreafricana',
'CG' => 'Congo',
'CH' => 'Suïssa',
'CI' => "Costa d'Ivori",
'CK' => 'Illes Cook',
'CL' => 'Xile',
'CM' => 'Camerun',
'CN' => 'Xina',
'CO' => 'Colòmbia',
'CR' => 'Costa Rica',
'CU' => 'Cuba',
'CV' => 'Cap Verd',
'CW' => 'Curaçao',
'CX' => 'Illa Christmas',
'CY' => 'Xipre',
'CZ' => 'República Txeca',
'DE' => 'Alemanya',
'DJ' => 'Djibouti',
'DK' => 'Dinamarca',
'DM' => 'Dominica',
'DO' => 'República Dominicana',
'DZ' => 'Algèria',
'EC' => 'Equador',
'EE' => 'Estònia',
'EG' => 'Egipte',
'EH' => 'Sàhara Occidental',
'ER' => 'Eritrea',
'ES' => 'Espanya',
'ET' => 'Etiòpia',
'FI' => 'Finlàndia',
'FJ' => 'Illes Fiji',
'FK' => 'Illes Malvines (Falkland)',
'FM' => 'Micronèsia, Estats Federats de',
'FO' => 'Illes Fèroe',
'FR' => 'França',
'GA' => 'Gabon',
'GB' => 'Regne Unit',
'GD' => 'Granada',
'GE' => 'Geòrgia',
'GF' => 'Guaiana Francesa',
'GG' => 'Guernsey',
'GH' => 'Ghana',
'GI' => 'Gibraltar',
'GL' => 'Groenlàndia',
'GM' => 'Gàmbia',
'GN' => 'Guinea',
'GP' => 'Guadalupe',
'GQ' => 'Guinea Equatorial',
'GR' => 'Grècia',
'GS' => 'Illes Geòrgia del Sud i Sandwich del Sud',
'GT' => 'Guatemala',
'GU' => 'Guam',
'GW' => 'Guinea-Bissau',
'GY' => 'Guaiana',
'HK' => 'Hong Kong',
'HM' => 'Illa Heard i Illes McDonald',
'HN' => 'Hondures',
'HR' => 'Croàcia',
'HT' => 'Haití',
'HU' => 'Hongria',
'ID' => 'Indonèsia',
'IE' => 'Irlanda',
'IL' => 'Israel',
'IM' => 'Illa de Man',
'IN' => 'Índia',
'IO' => 'Territori Britànic de lOceà Índic',
'IQ' => 'Iraq',
'IR' => 'República Islàmica d\'Iran',
'IS' => 'Islàndia',
'IT' => 'Itàlia',
'JE' => 'Jersey',
'JM' => 'Jamaica',
'JO' => 'Jordània',
'JP' => 'Japó',
'KE' => 'Kènia',
'KG' => 'Kirguizistan',
'KH' => 'Cambodja',
'KI' => 'Kiribati',
'KM' => 'Comores',
'KN' => 'Saint Kitts i Nevis',
'KP' => "Corea, República Popular Democràtica de",
'KR' => 'Corea, República de',
'KW' => 'Kuwait',
'KY' => 'Illes Caiman',
'KZ' => 'Kazakhstan',
'LA' => "República Democràtica Popular Laos",
'LB' => 'Líban',
'LC' => 'Saint Lucia',
'LI' => 'Liechtenstein',
'LK' => 'Sri Lanka',
'LR' => 'Libèria',
'LS' => 'Lesoto',
'LT' => 'Lituània',
'LU' => 'Luxemburg',
'LV' => 'Letònia',
'LY' => 'Líbia',
'MA' => 'Marroc',
'MC' => 'Mònaco',
'MD' => 'Moldàvia',
'ME' => 'Montenegro',
'MF' => 'Saint Martin (part francesa)',
'MG' => 'Madagascar',
'MH' => 'Illes Marshall',
'MK' => 'Macedònia',
'ML' => 'Mali',
'MM' => 'Myanmar',
'MN' => 'Mongòlia',
'MO' => 'Macau',
'MP' => 'Illes Mariannes del Nord',
'MQ' => 'Martinica',
'MR' => 'Mauritània',
'MS' => 'Montserrat',
'MT' => 'Malta',
'MU' => 'Maurici',
'MV' => 'Maldives',
'MW' => 'Malaui',
'MX' => 'Mèxic',
'MY' => 'Malàisia',
'MZ' => 'Moçambic',
'N/A' => 'No aplicable (IP local...)',
'NA' => 'Namíbia',
'NC' => 'Nova Caledònia',
'NE' => 'Níger',
'NF' => 'Illa Norfolk',
'NG' => 'Nigèria',
'NI' => 'Nicaragua',
'NL' => 'Països Baixos',
'NO' => 'Noruega',
'NP' => 'Nepal',
'NR' => 'Naüru',
'NU' => 'Niue',
'NZ' => 'Nova Zelanda',
'OM' => 'Oman',
'PA' => 'Panamà',
'PE' => 'Perú',
'PF' => 'Polinèsia Francesa',
'PG' => 'Papua Nova Guinea',
'PH' => 'Filipines',
'PK' => 'Pakistan',
'PL' => 'Polònia',
'PM' => 'Saint Pierre i Miquelon',
'PN' => 'Illes Pitcairn',
'PR' => 'Puerto Rico',
'PS' => 'Palestina',
'PT' => 'Portugal',
'PW' => 'Palau',
'PY' => 'Paraguai',
'QA' => 'Qatar',
'RE' => 'Illa de la Reunió',
'RO' => 'Romania',
'RS' => 'Sèrbia',
'RU' => 'Rússia',
'RW' => 'Ruanda',
'SA' => 'Aràbia Saudita',
'SB' => 'Illes Salomó',
'SC' => 'Seychelles',
'SD' => 'Sudan',
'SE' => 'Suècia',
'SG' => 'Singapur',
'SH' => 'Santa Helena, Ascensió i Tristan da Cunha',
'SI' => 'Eslovènia',
'SJ' => 'Svalbard i Jan Mayen',
'SK' => 'Eslovàquia',
'SL' => 'Sierra Leona',
'SM' => 'San Marino',
'SN' => 'Senegal',
'SO' => 'Somàlia',
'SR' => 'Surinam',
'SS' => 'Sudan del Sud',
'ST' => 'São Tomé i Príncipe',
'SV' => 'El Salvador',
'SX' => 'Sint Maarten (part neerlandesa)',
'SY' => 'Síria',
'SZ' => 'Swazilàndia',
'TC' => 'Illes Turks i Caicos',
'TD' => 'Txad',
'TF' => 'Territoris Francesos del Sud',
'TG' => 'Togo',
'TH' => 'Tailàndia',
'TJ' => 'Tatgiquistan',
'TK' => 'Tokelau',
'TL' => 'Timor Oriental',
'TM' => 'Turkmenistan',
'TN' => 'Tunísia',
'TO' => 'Tonga',
'TR' => 'Turquia',
'TT' => 'Trinidad i Tobago',
'TV' => 'Tuvalu',
'TW' => 'Taiwan',
'TZ' => 'Tanzània',
'UA' => 'Ucraïna',
'UG' => 'Uganda',
'UM' => 'Illes Perifèriques Menors dels Eua',
'US' => 'Estats Units d\'Amèrica',
'UY' => 'Uruguai',
'UZ' => 'Uzbekistan',
'VA' => 'Ciutat del Vaticà',
'VC' => 'Saint Vincent i les Grenadines',
'VE' => 'Veneçuela',
'VG' => 'Illes Verges britàniques',
'VI' => 'Illes Verges Nord-americanes',
'VN' => 'Vietnam',
'VU' => 'Vanuatu',
'WF' => 'Wallis i Futuna',
'WS' => 'Samoa',
'YE' => 'Iemen',
'YT' => 'Mayotte',
'ZA' => 'Sud-àfrica',
'ZM' => 'Zàmbia',
'ZW' => 'Zimbabwe',
];

View File

@ -0,0 +1,28 @@
<?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 [
'home' => 'Panell de control',
'welcome_message' => 'Benvinguts al panell de control.',
'podcasts' => [
'title' => 'Podcasts',
'not_found' => 'No hi ha podcasts publicats',
'last_published' => 'Darrera publicació el {lastPublicationDate}',
],
'episodes' => [
'title' => 'Episodis',
'not_found' => 'No hi ha episodis publicats',
'last_published' => 'Darrera publicació el {lastPublicationDate}',
],
'storage' => [
'title' => 'Emmagatzematge',
'subtitle' => '{totalUploaded} de {totalStorage}',
],
];

View File

@ -0,0 +1,202 @@
<?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' => 'Temporada {seasonNumber}',
'season_abbr' => 'S{seasonNumber}',
'number' => 'Episodi {episodeNumber}',
'number_abbr' => 'Ep. {episodeNumber}',
'season_episode' => 'Temporada {seasonNumber} episodi {episodeNumber}',
'season_episode_abbr' => 'S{seasonNumber}E{episodeNumber}',
'number_of_comments' => '{numberOfComments, plural,
one {# comentari}
other {# comentaris}
}',
'all_podcast_episodes' => 'Tots els episodis del podcast',
'back_to_podcast' => 'Tornar al podcast',
'edit' => 'Editar',
'publish' => 'Publicar',
'publish_edit' => 'Editar la publicació',
'unpublish' => 'Desfer la publicació',
'publish_error' => 'L\'episodi ja està publicat.',
'publish_edit_error' => 'L\'episodi ja està publicat.',
'publish_cancel_error' => 'L\'episodi ja està publicat.',
'unpublish_error' => 'L\'episodi no està publicat.',
'delete' => 'Eliminar',
'go_to_page' => 'Anar a la pàgina ',
'create' => 'Afegir un episodi',
'publication_status' => [
'published' => 'Publicat',
'with_podcast' => 'Publicat',
'scheduled' => 'Programat',
'not_published' => 'No publicat',
],
'with_podcast_hint' => 'Per ser publicat al mateix temps que el podcast',
'list' => [
'search' => [
'placeholder' => 'Cerca d\'un episodi',
'clear' => 'Netejar la cerca',
'submit' => 'Cercar',
],
'number_of_episodes' => '{numberOfEpisodes, plural,
one {# episodi}
other {# episodis}
}',
'episode' => 'Episodi',
'visibility' => 'Visibilitat',
'comments' => 'Comentaris',
'actions' => 'Accions',
],
'messages' => [
'createSuccess' => 'S\'ha creat l\'episodi correctament.',
'editSuccess' => 'L\'episodi s\'ha actualitzat.',
'publishSuccess' => '{publication_status, select,
published {L\'episodi s\'ha creat correctament.}
scheduled {S\'ha programat la publicació de l\'episodi.}
with_podcast {Aquest episodi serà publicat al mateix temps que el podcast.}
other {Aquest episodi no està publicat.}
}',
'publishCancelSuccess' => 'S\'ha cancel·lat la publicació de l\'episodi.',
'unpublishBeforeDeleteTip' => 'Heu de desfer la publicació de l\'episodi abans d\'esborrar-lo.',
'scheduleDateError' => 'S\'ha de definir una data de publicació!',
'deletePublishedEpisodeError' => 'Heu de desfer la publicació de l\'episodi abans d\'esborrar-lo.',
'deleteSuccess' => 'S\'ha esborrat l\'episodi.',
'deleteError' => 'No s\'ha pogut esborrar {type, select,
transcript {la transcripció}
chapters {els capítols}
image {la portada}
audio {l\'àudio}
other {el material}
} de l\'episodi.',
'deleteFileError' => 'No s\'ha pogut esborrar el fitxer {file_path} {type, select,
transcript {de la transcripció}
chapters {dels episodis}
image {de la portada}
audio {de l\'àudio}
other {del material}
}. Podeu esborrar-los manualment del disc.',
'sameSlugError' => 'Ja existeix un episodi amb aquest àlies.',
],
'form' => [
'file_size_error' =>
'El vostre fitxer és massa gran per ser pujat al servidor! La mida màxima és {0}. Augmenteu els valors de `memory_limit`, `upload_max_filesize` i `post_max_size` al vostre fitxer de configuració php i després reinicieu el vostre servidor web per carregar el vostre fitxer.',
'audio_file' => 'Fitxer dàudio',
'audio_file_hint' => 'Trieu un fitxer d\'àudio .mp3 o .m4a',
'info_section_title' => 'Informació de l\'episodi',
'cover' => 'Portada de l\'episodi',
'cover_hint' =>
'Si no configureu cap portada, s\'utilitzarà la portada del podcast.',
'cover_size_hint' => 'La portada ha de ser quadrada i com a mínim de 1400 px d\'amplada i alçada.',
'title' => 'Títol',
'title_hint' =>
'Hauria de contenir un nom de l\'episodi clar i concís. No especifiqueu aquí els números d\'episodi o temporada.',
'permalink' => 'Enllaç permanent',
'season_number' => 'Temporada ',
'episode_number' => 'Episodi',
'type' => [
'label' => 'Tipus',
'full' => 'Complet',
'full_hint' => 'Contingut complet (l\'episodi)',
'trailer' => 'Tràiler',
'trailer_hint' => 'Contingut breu i promocional que presenta una vista prèvia d\'aquest programa',
'bonus' => 'Bonificació',
'bonus_hint' => 'Contingut addicional per al programa (per exemple, informació entre bastidors o entrevistes amb el repartiment) o contingut promocional creuat per a un altre programa',
],
'parental_advisory' => [
'label' => 'Avís parental',
'hint' => 'L\'episodi conté contingut explícit?',
'undefined' => 'indefinit',
'clean' => 'Net',
'explicit' => 'Explícit',
],
'show_notes_section_title' => 'Mostrar les notes',
'show_notes_section_subtitle' =>
'Fins a 4000 caràcters, sigueu clar i concís. Les notes del programa ajuden els oients potencials a trobar l\'episodi.',
'description' => 'Descripció',
'description_footer' => 'Al peu de la descripció',
'description_footer_hint' =>
'Aquest text s\'afegeix al final de la descripció de cada episodi, és un bon lloc per introduir els vostres enllaços socials, per exemple.',
'additional_files_section_title' => 'Fitxers addicionals',
'additional_files_section_subtitle' =>
'Aquests fitxers poden ser utilitzats per altres plataformes per oferir una millor experiència al vostre públic. Consulteu el {podcastNamespaceLink} per obtenir més informació.',
'location_section_title' => 'Ubicació',
'location_section_subtitle' => 'De quin lloc tracta aquest episodi?',
'location_name' => 'Nom i adreça de la ubicació',
'location_name_hint' => 'Pot ser una ubicació real o fictícia',
'transcript' => 'Transcripció (subtítols)',
'transcript_hint' => 'Només es permet fitxers .srt',
'transcript_download' => 'Baixar la transcripció',
'transcript_file' => 'Fitxer de la transcripció (.srt)',
'transcript_remote_url' => 'URL remota per a la transcripció',
'transcript_file_delete' => 'Eliminar el fitxer de la transcripció',
'chapters' => 'Capítols',
'chapters_hint' => 'El fitxer ha de tenir el format de capítols JSON.',
'chapters_download' => 'Baixar els capítols',
'chapters_file' => 'Fitxer dels capítols',
'chapters_remote_url' => 'URL remota del fitxer de capítols',
'chapters_file_delete' => 'Eliminar el fitxer de capítols',
'advanced_section_title' => 'Paràmetres avançats',
'advanced_section_subtitle' =>
'Si necessiteu etiquetes RSS que Castopod no manega, configureu-les aquí.',
'custom_rss' => 'Etiquetes RSS personalitzades pel podcast',
'custom_rss_hint' => 'Això s\'injectarà dins de l\'etiqueta ❬item❭.',
'block' => 'L\'episodi s\'ha d\'amagar dels catàlegs públics',
'block_hint' =>
'L\'estat de visibilitat de l\'episodi: activar aquesta opció evita que l\'episodi aparegui a Apple Podcasts, Google Podcasts i qualsevol aplicació de tercers que extreu programes d\'aquests directoris. (No garantit)',
'submit_create' => 'Crear un episodi',
'submit_edit' => 'Desar l\'episodi',
],
'publish_form' => [
'back_to_episode_dashboard' => 'Tornar al panell de control dels episodis',
'post' => 'La vostra publicació d\'anunci',
'post_hint' =>
"Escriviu un missatge per anunciar la publicació del vostre episodi. El missatge s'emetrà a tots els vostres seguidors al Fediverse i apareixerà a la pàgina d'inici del vostre podcast.",
'message_placeholder' => 'Escriviu un missatge...',
'publication_date' => 'Data de publicació',
'publication_method' => [
'now' => 'Ara',
'schedule' => 'Programar',
'with_podcast' => 'Publicar juntament amb el podcast',
],
'scheduled_publication_date' => 'Data de publicació programada',
'scheduled_publication_date_clear' => 'Netejar la data de publicació',
'scheduled_publication_date_hint' =>
'Podeu programar el llançament de l\'episodi fixant una data de publicació futura. Aquest camp ha de tenir el format AAAA-MM-DD HH:mm',
'submit' => 'Publicar',
'submit_edit' => 'Editar la publicació',
'cancel_publication' => 'Cancel·lar la publicació',
'message_warning' => 'No heu escrit cap missatge per la publicació del vostre anunci!',
'message_warning_hint' => 'Tenir un missatge augmenta la implicació social, donant lloc a una millor visibilitat del vostre episodi.',
'message_warning_submit' => 'Publicar de totes maneres',
],
'unpublish_form' => [
'disclaimer' =>
"Si desfeu la publicació de l'episodi, se suprimiran tots els comentaris i publicacions associades amb ell i s'eliminarà del fil RSS del podcast.",
'understand' => 'Entenc, vull desfer la publicació de l\'episodi',
'submit' => 'Desfer la publicació',
],
'delete_form' => [
'disclaimer' =>
"Si suprimiu l'episodi, se suprimiran tots els fitxers multimèdia, comentaris, videoclips i fragments d'àudio associats amb ell.",
'understand' => 'Entenc, vull suprimir aquest episodi',
'submit' => 'Eliminar',
],
'embed' => [
'title' => 'Reproductor incrustable',
'label' =>
'Trieu un color de tema, copieu el reproductor incrustable al porta-retalls i enganxeu-lo al vostre lloc web.',
'clipboard_iframe' => 'Copiar el reproductor incrustable al porta-retalls',
'clipboard_url' => 'Copiar l\'adreça al porta-retalls',
'dark' => 'Fosc',
'dark-transparent' => 'Fosc i transparent',
'light' => 'Clar',
'light-transparent' => 'Clar i transparent',
],
];

View File

@ -0,0 +1,23 @@
<?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 [
'go_to_page' => 'Veure la pàgina de l\'episodi',
'dashboard' => 'Panell de control de l\'episodi',
'episode-view' => 'Inici',
'episode-edit' => 'Editar l\'episodi',
'episode-persons-manage' => 'Administrar persones',
'embed-add' => 'Reproductor incrustable',
'clips' => 'Retalls',
'video-clips-list' => 'Vídeoclips',
'video-clips-create' => 'Nou videoclip',
'soundbites-list' => 'Fragments d\'àudio',
'soundbites-create' => 'Nou fragment',
];

View File

@ -0,0 +1,32 @@
<?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 [
'messages' => [
'actorNotFound' => 'No s\'ha trobat el compte!',
'blockActorSuccess' => '{actor} ha estat bloquejat.',
'unblockActorSuccess' => '{actor} ha estat desbloquejat.',
'blockDomainSuccess' => '{domain} ha estat bloquejat.',
'unblockDomainSuccess' => '{domain} ha estat desbloquejat.',
],
'blocked_actors' => 'Comptes bloquejats',
'blocked_domains' => 'Dominis bloquejats',
'block_lists_form' => [
'handle' => 'Àlias del compte',
'handle_hint' => 'Escriviu el @nomusuari@domini del compte.',
'domain' => 'Nom del domini',
'submit' => 'Bloquejat!',
],
'list' => [
'actor' => 'Compte',
'domain' => 'Nom del domini',
'unblock' => 'Desbloquejar',
],
];

View File

@ -0,0 +1,14 @@
<?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' => 'Tots els podcasts',
'no_podcast' => 'No s\'han trobat podcasts',
];

View File

@ -0,0 +1,61 @@
<?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 [
'manual_config' => 'Configuració manual',
'manual_config_subtitle' =>
'Creeu un fitxer `.env` amb la vostra configuració i actualitzeu la pàgina per continuar amb la instal·lació.',
'form' => [
'instance_config' => 'Configuració de la instància',
'hostname' => 'Nom del servidor (hostname)',
'media_base_url' => 'URL de base pel multimèdia',
'media_base_url_hint' =>
'Si utilitzeu un CDN i/o un servei d\'anàlisi de tràfic extern, podeu configurar-los aquí.',
'admin_gateway' => 'Configurar la porta d\'enllaç (gateway)',
'admin_gateway_hint' =>
'La ruta per accedir a l\'àrea d\'administració (p. ex., https://exemple.com/cp-admin). Està configurat per defecte com a cp-admin, us recomanem que el canvieu per motius de seguretat.',
'auth_gateway' => 'Autenticació a la porta d\'enllaç',
'auth_gateway_hint' =>
'La ruta per accedir a les pàgines d\'autenticació (p. ex. https://exemple.com/cp-auth). Està configurada per defecte com a cp-auth, us recomanem que el canvieu per motius de seguretat.',
'database_config' => 'Configuració de la Base de Dades',
'database_config_hint' =>
'Castopod s\'ha de connectar a la vostra base de dades MySQL (o MariaDB). Si no teniu aquesta informació necessària, poseu-vos en contacte amb l\'administrador del vostre servidor.',
'db_hostname' => 'Nom del servidor (host) de la base de dades',
'db_name' => 'Nom de la base de dades',
'db_username' => 'Usuari de la base de dades',
'db_password' => 'Contrasenya de la base de dades',
'db_prefix' => 'Prefix de la base de dades',
'db_prefix_hint' =>
"El prefix emprat als noms de les taules de Castopod, deixeu-lo com està si no sabeu què significa.",
'cache_config' => 'Configuració de la memòria cau',
'cache_config_hint' =>
'Trieu el vostre gestor de memòria cau preferit. Deixeu-lo com a valor predeterminat si no teniu ni idea del que significa.',
'cache_handler' => 'Gestor de memòria cau',
'cacheHandlerOptions' => [
'file' => 'Fitxer',
'redis' => 'Redis',
'predis' => 'Predis',
],
'next' => 'Següent',
'submit' => 'Finalitzar la instal·lació',
'create_superadmin' => 'Crear el vostre compte de super-usuari',
'email' => 'Correu electrònic',
'username' => 'Nom de l\'usuari',
'password' => 'Contrasenya',
],
'messages' => [
'createSuperAdminSuccess' =>
'El vostre compte de superadministrador s\'ha creat correctament. Inicieu sessió per començar a fer podcasts!',
'databaseConnectError' =>
'Castopod no s\'ha pogut connectar a la vostra base de dades. Editeu la configuració de la vostra base de dades i torneu-ho a provar.',
'writeError' =>
"No s'ha pogut crear/escriure el fitxer `.env`. Heu de crear-lo manualment seguint la plantilla de fitxer `.env.example` del paquet Castopod.",
],
];

View File

@ -0,0 +1,18 @@
<?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 [
'info' => 'Informació del meu compte',
'changePassword' => 'Canviar la meva contrasenya',
'messages' => [
'wrongPasswordError' => "Heu introduït una contrasenya incorrecta, torneu a provar.",
'passwordChangeSuccess' => 'S\'ha canviat correctament la contrasenya.',
],
];

View File

@ -0,0 +1,41 @@
<?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 [
'toggle_sidebar' => 'Ocultar/mostrar barra lateral',
'go_to_website' => 'Anar al lloc web',
'go_to_admin' => 'Anar al panell de control',
'dashboard' => 'Panell de control',
'admin' => 'Inici',
'podcasts' => 'Podcasts',
'podcast-list' => 'Tots els podcasts',
'podcast-create' => 'Nou podcast',
'podcast-import' => 'Importar un podcast',
'persons' => 'Persones',
'person-list' => 'Totes les persones',
'person-create' => 'Persona nova',
'fediverse' => 'Fediverse',
'fediverse-blocked-actors' => 'Comptes bloquejats',
'fediverse-blocked-domains' => 'Dominis bloquejats',
'users' => 'Usuaris',
'user-list' => 'Tots els usuaris',
'user-create' => 'Nou usuari',
'pages' => 'Pàgines',
'page-list' => 'Totes les pàgines',
'page-create' => 'Pàgina nova',
'settings' => 'Preferències',
'settings-general' => 'General',
'settings-theme' => 'Tema',
'account' => [
'my-account' => 'El meu compte',
'change-password' => 'Canviar la contrasenya',
'logout' => 'Tancar la sessió',
],
];

View File

@ -0,0 +1,19 @@
<?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' => 'Notificacions',
'reply' => '{actor_username} ha respost a la vostra publicació',
'favourite' => '{actor_username} ha marcat com a preferit la vostra publicació',
'reblog' => '{actor_username} ha compartit la vostra publicació',
'follow' => '{actor_username} ha començat a seguir a {target_actor_username}',
'no_notifications' => 'Cap notificació',
'mark_all_as_read' => 'Marca tot com a llegit',
];

View File

@ -0,0 +1,30 @@
<?php
declare(strict_types=1);
/**
* @copyright 2020 Ad Aures
* @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
* @link https://castopod.org/
*/
return [
'back_to_home' => 'Tornar a l\'inici',
'page' => 'Pàgina',
'all_pages' => 'Totes les pàgines',
'create' => 'Nova pàgina',
'go_to_page' => 'Anar a la pàgina ',
'edit' => 'Editar pàgina',
'delete' => 'Suprimir la pàgina',
'form' => [
'title' => 'Títol',
'permalink' => 'Enllaç permanent',
'content' => 'Contingut',
'submit_create' => 'Crear una pàgina',
'submit_edit' => 'Desar',
],
'messages' => [
'createSuccess' => 'La pàgina "{pageTitle}" s\'ha creat correctament.',
'editSuccess' => 'La pàgina s\'ha actualitzat correctament.',
],
];

View File

@ -0,0 +1,21 @@
<?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 [
'pageNavigation' => 'Navegació de pàgina',
'first' => 'Primera',
'previous' => 'Anterior',
'next' => 'Següent',
'last' => 'Darrera',
'older' => 'Més antiga',
'newer' => 'Més recent',
'invalidTemplate' => '{0} no és una plantilla de pàgina vàlida.',
'invalidPaginationGroup' => '{0} no és un grup de de paginació vàlida',
];

View File

@ -0,0 +1,65 @@
<?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 [
'persons' => 'Persones',
'all_persons' => 'Totes les persones',
'no_person' => 'No s\'ha trobat ningú.',
'create' => 'Crear una persona',
'view' => 'Veure la persona',
'edit' => 'Editar la persona',
'delete' => 'Esborrar la persona',
'messages' => [
'createSuccess' => 'S\'ha creat la persona.',
'editSuccess' => 'S\'ha actualitzat la persona.',
'deleteSuccess' => 'S\'ha esborrat la persona.',
],
'form' => [
'avatar' => 'Avatar',
'avatar_size_hint' =>
'L\'avatar ha de ser quadrat i com a mínim de 400 px d\'amplada i alçada.',
'full_name' => 'Nom complet',
'full_name_hint' => 'Aquest és el nom complet o àlies de la persona.',
'unique_name' => 'Nom únic',
'unique_name_hint' => 'Emprat en adreces URLs',
'information_url' => 'URL informativa',
'information_url_hint' =>
'URL d\'un recurs d\'informació rellevant sobre la persona, com ara una pàgina d\'inici o un perfil a una plataforma de tercers.',
'submit_create' => 'Crear una persona',
'submit_edit' => 'Desar canvis de la persona',
],
'podcast_form' => [
'title' => 'Administrar persones',
'add_section_title' => 'Afegir una persona a aquest podcast',
'add_section_subtitle' => 'Podeu triar diverses persones i rols.',
'persons' => 'Persones',
'persons_hint' =>
'Podeu seleccionar una o diverses persones amb les mateixes funcions. Primer heu de crear les persones.',
'roles' => 'Rols',
'roles_hint' =>
'Podeu seleccionar cap, un o diversos rols per a una persona.',
'submit_add' => 'Afegir persones',
'remove' => 'Eliminar',
],
'episode_form' => [
'title' => 'Administrar persones',
'add_section_title' => 'Afegir persones a aquest episodi',
'add_section_subtitle' => 'Podeu triar diverses persones i rols.',
'persons' => 'Persones',
'persons_hint' =>
'Podeu seleccionar una o diverses persones amb les mateixes funcions. Primer heu de crear les persones.',
'roles' => 'Rols',
'roles_hint' =>
'Podeu seleccionar cap, un o diversos rols per a una persona.',
'submit_add' => 'Afegir persones',
'remove' => 'Eliminar',
],
'credits' => 'Crèdits',
];

View File

@ -0,0 +1,30 @@
<?php
declare(strict_types=1);
/**
* @copyright 2020 Ad Aures
* @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
* @link https://castopod.org/
*/
return [
'title' => 'Plataformes',
'home_url' => 'Visitar el lloc web de {platformName}',
'submit_url' => 'Enviar el vostre podcast a {platformName}',
'visible' => 'Mostrar a la pàgina d\'inici del podcast?',
'on_embed' => 'Mostrar al reproductor incrustable?',
'remove' => 'Suprimir {platformName}',
'submit' => 'Desar',
'messages' => [
'updateSuccess' => 'Els enllaços de les plataformes s\'han actualitzat correctament.',
'removeLinkSuccess' => 'S\'ha eliminat l\'enllaç de la plataforma.',
'removeLinkError' =>
'No s\'ha pogut eliminar l\'enllaç de la plataforma. Torneu a provar-ho.',
],
'description' => [
'podcasting' => 'L\'identificador del podcast en aquesta plataforma',
'social' => 'L\'identificador del compte del podcast en aquesta plataforma',
'funding' => 'Missatge de crida a l\'acció',
],
];

View File

@ -0,0 +1,307 @@
<?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' => 'Tots els podcasts',
'no_podcast' => 'No s\'han trobat podcasts!',
'create' => 'Crear un podcast',
'import' => 'Importar el podcast',
'new_episode' => 'Nou episodi',
'view' => 'Veure el podcast',
'edit' => 'Editar el podcast',
'publish' => 'Publicar el podcast',
'publish_edit' => 'Editar la publicació',
'delete' => 'Suprimir el podcast',
'see_episodes' => 'Veure els episodis',
'see_contributors' => 'Veure els col·laboradors',
'go_to_page' => 'Anar a la pàgina ',
'latest_episodes' => 'Darrers episodis',
'see_all_episodes' => 'Veure tots els episodis',
'draft' => 'Esborrany',
'messages' => [
'createSuccess' => 'Podcast creat correctament.',
'editSuccess' => 'El podcast s´ha actualitzat correctament.',
'importSuccess' => 'El podcast s\'ha importat correctament.',
'deleteSuccess' => 'El podcast @{podcast_handle} s\'ha eliminat correctament.',
'deletePodcastMediaError' => 'No s\'ha pogut eliminar {type, select,
cover {la portada}
banner {el bàner}
other {el material}
} del podcast.',
'deleteEpisodeMediaError' => 'No s\'ha pogut eliminar {type, select,
transcript {la transcripció}
chapters {els capítols}
image {la portada}
audio {l\'àudio}
other {el material}
} de l\'episodi {episode_slug}.',
'deletePodcastMediaFolderError' => 'No s\'ha pogut suprimir la carpeta multimèdia del podcast {folder_path}. Podeu eliminar-la manualment del vostre disc.',
'podcastFeedUpdateSuccess' => 'Correctar actualització: {number_of_new_episodes, plural,
one {s\'ha afegit 1 episodi}
other {s\'han afegit # episodis}
} al podcast.',
'podcastFeedUpToDate' => 'El podcast ja està actualitzat.',
'podcastNotImported' => 'No s\'ha pogut actualitzar el podcast perquè no s\'havia importat.',
'publishError' => 'Aquest podcast ja està publicat o bé està programat per a la seva publicació.',
'publishEditError' => 'Aquest podcast no està programat per a la seva publicació.',
'publishCancelSuccess' => 'La publicació del podcast s\'ha cancel·lat correctament.',
'scheduleDateError' => 'S\'ha de definir una data de publicació!',
],
'form' => [
'identity_section_title' => 'Identitat del podcast',
'identity_section_subtitle' => 'Aquests camps permeten fer-se notar.',
'cover' => 'Portada del podcast',
'cover_size_hint' => 'La portada ha de ser quadrada i com a mínim de 1400 px d\'amplada i alçada.',
'banner' => 'Bàner del podcast',
'banner_size_hint' => 'El bàner ha de tenir una proporció de 3:1 i tenir una amplada mínima de 1500 píxels.',
'banner_delete' => 'Eliminar el bàner del podcast',
'title' => 'Títol',
'handle' => 'Àlias',
'handle_hint' =>
'S\'utilitza per identificar el podcast. S\'accepten NOMÉS majúscules, minúscules, números i guions baixos.',
'type' => [
'label' => 'Tipus',
'episodic' => 'Episòdic',
'episodic_hint' => 'Si els episodis estan pensats per ser consumits sense cap ordre específic. Els episodis més recents es presentaran primer.',
'serial' => 'En sèrie',
'serial_hint' => 'Si els episodis estan pensats per ser consumits en ordre seqüencial. Primer es presentaran els episodis més antics.',
],
'description' => 'Descripció',
'classification_section_title' => 'Classificació',
'classification_section_subtitle' =>
'Aquests camps afectaran el vostre públic i competència.',
'language' => 'Idioma',
'category' => 'Categoria',
'category_placeholder' => 'Seleccioneu una categoria',
'other_categories' => 'Altres categories',
'parental_advisory' => [
'label' => 'Avís parental',
'hint' => 'L\'episodi conté contingut explícit?',
'undefined' => 'indefinit',
'clean' => 'Net',
'explicit' => 'Explícit',
],
'author_section_title' => 'Autor',
'author_section_subtitle' => 'Qui administra el podcast?',
'owner_name' => 'Nom del propietari',
'owner_name_hint' =>
'Només per a ús administratiu. Visible al fil RSS públic.',
'owner_email' => 'Correu electrònic del propietari',
'owner_email_hint' =>
'La majoria de plataformes l\'utilitzaran per verificar la propietat del podcast. Visible al fil RSS públic.',
'publisher' => 'Editor',
'publisher_hint' =>
'El grup encarregat de crear el programa. Sovint es refereix a l\'empresa matriu o a la xarxa d\'un podcast. Aquest camp de vegades s\'etiqueta com a "Autor".',
'copyright' => 'Copyright',
'location_section_title' => 'Ubicació',
'location_section_subtitle' => 'De quin lloc tracta aquest podcast?',
'location_name' => 'Nom i adreça de la ubicació',
'location_name_hint' => 'Aquest pot ser un lloc real o fictici',
'monetization_section_title' => 'Monetització',
'monetization_section_subtitle' =>
'Guanyeu diners gràcies al vostre públic.',
'payment_pointer' => '`Payment Pointer` per a `Web Monetization`',
'payment_pointer_hint' =>
'Aquí és on rebreu diners gràcies al servei `Web Monetization`',
'advanced_section_title' => 'Paràmetres avançats',
'advanced_section_subtitle' =>
'Si necessiteu etiquetes RSS que Castopod no manega, configureu-les aquí.',
'custom_rss' => 'Etiquetes RSS personalitzades per al podcast',
'custom_rss_hint' => 'Això s\'injectarà dins de l\'etiqueta ❬channel❭.',
'new_feed_url' => 'Nova adreça URL del fil RSS',
'new_feed_url_hint' => 'Utilitzeu aquest camp quan us moveu a un altre domini o plataforma d\'allotjament de podcasts. De manera predeterminada, el valor s\'estableix a l\'URL RSS actual si s\'importa el podcast.',
'old_feed_url' => 'Antiga adreça URL del fil RSS',
'update_feed' => 'Actualitzar el fil',
'update_feed_tip' => 'Importar els darrers episodis d\'aquest podcast',
'partnership' => 'Socis',
'partner_id' => 'ID',
'partner_link_url' => 'URL de l\'enllaç',
'partner_image_url' => 'URL de la imatge',
'partner_id_hint' => 'El vostre propi ID de soci',
'partner_link_url_hint' => 'L\'adreça genèrica de l\'enllaç del soci',
'partner_image_url_hint' => 'L\'adreça genèrica de la imatge del soci',
'status_section_title' => 'Estat',
'block' => 'El podcast s\'ha d\'amagar als catàlegs públics',
'block_hint' =>
'L\'estat de visibilitat del podcast: activar aquesta opció evita que el podcast aparegui a Apple Podcasts, Google Podcasts i qualsevol aplicació de tercers que extreu programes d\'aquests directoris. (No garantit)',
'complete' => 'El podcast no tindrà capítols nous',
'lock' => 'Eviteu que es el podcast sigui copiat',
'lock_hint' =>
'L\'objectiu és indicar a altres plataformes de podcasts si tenen permís per importar aquest podcast i els seus episodis. Un valor de sí significa que s\'ha de rebutjar qualsevol intent d\'importar aquest podcast a una altra plataforma.',
'submit_create' => 'Crear un podcast',
'submit_edit' => 'Desar el podcast',
],
'category_options' => [
'uncategorized' => 'sense categoria',
'arts' => 'Arts',
'business' => 'Negocis',
'comedy' => 'Comèdia',
'education' => 'Educació',
'fiction' => 'Ficció',
'government' => 'Govern',
'health_and_fitness' => 'Salut i fitness',
'history' => 'Història',
'kids_and_family' => 'Quitxalla i Família',
'leisure' => 'Lleure',
'music' => 'Música',
'news' => 'Notícies',
'religion_and_spirituality' => 'Religió i espiritualitat',
'science' => 'Ciència',
'society_and_culture' => 'Societat i cultura',
'sports' => 'Esports',
'technology' => 'Tecnologia',
'true_crime' => 'Crims reals',
'tv_and_film' => 'TV i películ·les',
'books' => 'Llibres',
'design' => 'Disseny',
'fashion_and_beauty' => 'Moda i bellesa',
'food' => 'Menjar',
'performing_arts' => 'Arts escèniques',
'visual_arts' => 'Arts visuals',
'careers' => 'Carreres',
'entrepreneurship' => 'Empreniment',
'investing' => 'Inversió',
'management' => 'Gestió',
'marketing' => 'Màrqueting',
'non_profit' => 'Sense ànim de lucre',
'comedy_interviews' => 'Entrevistes de comèdia',
'improv' => 'Millora',
'stand_up' => 'Monòlegs',
'courses' => 'Cursos',
'how_to' => 'Tutorials',
'language_learning' => 'Aprenentatge d\'idiomes',
'self_improvement' => 'Millora personal',
'comedy_fiction' => 'Comèdia de ficció',
'drama' => 'Drama',
'science_fiction' => 'Ciència-ficció',
'alternative_health' => 'Salut alternativa',
'fitness' => 'Fitness',
'medicine' => 'Medicina',
'mental_health' => 'Salut mental',
'nutrition' => 'Nutrició',
'sexuality' => 'Sexualitat',
'education_for_kids' => 'Educació infantil',
'parenting' => 'Criança',
'pets_and_animals' => 'Mascotes i animals',
'stories_for_kids' => 'Contes per la quitxalla',
'animation_and_manga' => 'Animació i manga',
'automotive' => 'Automoció',
'aviation' => 'Aviació',
'crafts' => 'Artesanies',
'games' => 'Jocs',
'hobbies' => 'Aficions',
'home_and_garden' => 'Llar i jardineria',
'video_games' => 'Videojocs',
'music_commentary' => 'Música, anàlisi',
'music_history' => 'Música, història',
'music_interviews' => 'Música, entrevistes',
'business_news' => 'Notícies sobre negocis',
'daily_news' => 'Notícies del dia',
'entertainment_news' => 'Notícies d\'entreteniment',
'news_commentary' => 'Comentaris sobre notícies',
'politics' => 'Política',
'sports_news' => 'Notícies d\'esports',
'tech_news' => 'Notícies de tecnologia',
'buddhism' => 'Budisme',
'christianity' => 'Cristianisme',
'hinduism' => 'Hinduisme',
'islam' => 'Islam',
'judaism' => 'Judaisme',
'religion' => 'Religió',
'spirituality' => 'Espiritualitat',
'astronomy' => 'Astronomia',
'chemistry' => 'Química',
'earth_sciences' => 'Ciències ambientals',
'life_sciences' => 'Ciències de la Vida',
'mathematics' => 'Matemàtiques',
'natural_sciences' => 'Ciències naturals',
'nature' => 'Natura',
'physics' => 'Física',
'social_sciences' => 'Ciències socials',
'documentary' => 'Documentals',
'personal_journals' => 'Diaris personals',
'philosophy' => 'Filosofia',
'places_and_travel' => 'Llocs i viatges',
'relationships' => 'Relacions',
'baseball' => 'Beisbol',
'basketball' => 'Bàsquet',
'cricket' => 'Criquet',
'fantasy_sports' => 'Esports de fantasia',
'football' => 'Futbol',
'golf' => 'Golf',
'hockey' => 'Hoquei',
'rugby' => 'Rugby',
'running' => 'Córrer',
'soccer' => 'Futbol soccer',
'swimming' => 'Natació',
'tennis' => 'Tennis',
'volleyball' => 'Voleibol',
'wilderness' => 'Naturalesa',
'wrestling' => 'Lluita lliure',
'after_shows' => 'Espectacles nocturns',
'film_history' => 'Història del cinema',
'film_interviews' => 'Entrevistes i cinema',
'film_reviews' => 'Ressenyes de cinema',
'tv_reviews' => 'Ressenyes de TV',
],
'publish_form' => [
'back_to_podcast_dashboard' => 'Tornar al panell de control del podcast',
'post' => 'La vostra publicació d\'anunci',
'post_hint' =>
"Escriviu un missatge per anunciar la publicació del teu podcast. El missatge apareixerà destacat a la pàgina d'inici del vostre podcast.",
'message_placeholder' => 'Escriviu un missatge...',
'submit' => 'Publicar',
'publication_date' => 'Data de publicació',
'publication_method' => [
'now' => 'Ara',
'schedule' => 'Programar',
],
'scheduled_publication_date' => 'Data de publicació programada',
'scheduled_publication_date_hint' =>
'Podeu programar el llançament del podcast fixant una data de publicació futura. Aquest camp ha de tenir el format AAAA-MM-DD HH:mm',
'submit_edit' => 'Editar la publicació',
'cancel_publication' => 'Cancel·lar la publicació',
'message_warning' => 'No heu escrit cap missatge per la publicació del vostre anunci!',
'message_warning_hint' => 'Tenir un missatge augmenta la implicació social, donant lloc a una millor visibilitat del vostre podcast.',
'message_warning_submit' => 'Publicar de totes maneres',
],
'publication_status_banner' => [
'draft_mode' => 'mode d\'esborrany',
'not_published' => 'Aquest podcast encara no s\'ha publicat.',
'scheduled' => 'La publicació d\'aquest podcast està programada el dia {publication_date}.',
],
'delete_form' => [
'disclaimer' =>
"Si suprimiu el podcast, se suprimiran tots els episodis, fitxers multimèdia, publicacions i estadístiques associats amb ell. Aquesta acció és irreversible, no els podreu recuperar després.",
'understand' => 'Entenc, vull que el podcast s\'elimini permanentment',
'submit' => 'Eliminar',
],
'by' => 'Per {publisher}',
'season' => 'Temporada {seasonNumber}',
'list_of_episodes_year' => 'Episodis del {year} ({episodeCount})',
'list_of_episodes_season' =>
'Episodis de la temporada {seasonNumber} ({episodeCount})',
'no_episode' => 'No s\'han trobat episodis.',
'follow' => 'Seguir',
'followers' => '{numberOfFollowers, plural,
one {# seguidor}
other {# seguidors}
}',
'posts' => '{numberOfPosts, plural,
one {# publicació}
other {# publicacions}
}',
'activity' => 'Activitat',
'episodes' => 'Episodis',
'sponsor' => 'Patrocinador',
'funding_links' => 'Enllaços de finançament per {podcastTitle}',
'find_on' => 'Trobar {podcastTitle} a',
'listen_on' => 'Escoltant',
];

View File

@ -0,0 +1,37 @@
<?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 [
'warning' =>
'Aquest procediment pot trigar molt de temps. Com que la versió actual no mostra cap progrés mentre s\'executa, no veureu res actualitzat fins que no s\'hagi fet. En cas d\'error de temps d\'espera, augmenteu el valor `max_execution_time` a la configuració del PHP del servidor.',
'old_podcast_section_title' => 'El podcast a importar',
'old_podcast_section_subtitle' =>
'Assegura\'t de tenir els drets d\'aquest podcast abans d\'importar-lo. Copiar i difondre un podcast sense els drets adequats és pirateria i pot ser processat.',
'imported_feed_url' => 'Adreça URL del fil',
'imported_feed_url_hint' => 'El contingut del fil ha d\'estar en format xml o rss.',
'new_podcast_section_title' => 'El nou podcast',
'advanced_params_section_title' => 'Paràmetres avançats',
'advanced_params_section_subtitle' =>
'Mantingueu els valors predeterminats si no teniu idea de per a què serveixen els camps.',
'slug_field' => 'Camp que s\'utilitzarà per calcular l\'àlies d\'un episodi',
'description_field' =>
'Camp d\'origen utilitzat per a la descripció de l\'episodi / notes del programa',
'force_renumber' => 'Forçar la renumeració dels episodis',
'force_renumber_hint' =>
'Utilitzeu aquesta funcionalitat si el vostre podcast no té números d\'episodi però voleu configurar-los durant la importació.',
'season_number' => 'Número de temporada',
'season_number_hint' =>
'Utilitzeu aquesta opció si el vostre podcast no té un número de temporada però voleu establir-ne un durant la importació. Deixeu en blanc en cas contrari.',
'max_episodes' => 'Nombre màxim d\'episodis per importar',
'max_episodes_hint' => 'Deixeu en blanc per importar tots els episodis',
'lock_import' =>
'Aquest feed està protegit. No el podeu importar. Si sou el propietari, desprotegiu-lo a la plataforma d\'origen.',
'submit' => 'Importar el podcast',
];

View File

@ -0,0 +1,35 @@
<?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 [
'go_to_page' => 'Anar a la pàgina del podcast',
'dashboard' => 'Panell de control del podcast',
'podcast-view' => 'Inici',
'podcast-edit' => 'Editar el podcast',
'podcast-persons-manage' => 'Administrar persones',
'episodes' => 'Episodis',
'episode-list' => 'Tots els episodis',
'episode-create' => 'Nou episodi',
'analytics' => 'Estadístiques',
'podcast-analytics' => 'Visió general de l\'audiència',
'podcast-analytics-webpages' => 'Visites a pàgines web',
'podcast-analytics-locations' => 'Ubicacions',
'podcast-analytics-unique-listeners' => 'Oients únics',
'podcast-analytics-players' => 'Reproductors',
'podcast-analytics-listening-time' => 'Temps d\'escolta',
'podcast-analytics-time-periods' => 'Períodes de temps',
'contributors' => 'Col·laboradors',
'contributor-list' => 'Tots els col·laboradors',
'contributor-add' => 'Afegir un col·laborador',
'platforms' => 'Plataformes de tercers',
'platforms-podcasting' => 'Podcasts',
'platforms-social' => 'Xarxes socials',
'platforms-funding' => 'Financiació',
];

View File

@ -0,0 +1,56 @@
<?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' => 'Configuració general',
'instance' => [
'title' => 'Instància',
'site_icon' => 'Icona del lloc',
'site_icon_delete' => 'Esborra la icona del lloc',
'site_icon_hint' => 'Les icones del lloc són el que veieu a les pestanyes del navegador, a la barra d\'adreces d\'interès i quan afegiu un lloc web com a drecera als dispositius mòbils.',
'site_icon_helper' => 'La icona ha de ser quadrada i com a mínim 512 píxels d\'ample i d\'alçada.',
'site_name' => 'Nom del lloc',
'site_description' => 'Descripció de la web',
'submit' => 'Desar',
'editSuccess' => 'La instància s\'ha actualitzat correctament.',
'deleteIconSuccess' => 'La icona del lloc s\'ha eliminat correctament.',
],
'images' => [
'title' => 'Imatges',
'subtitle' => 'Aquí podeu regenerar totes les imatges en funció dels originals que s\'han pujat. S\'utilitzarà si trobeu que falten algunes imatges. Aquesta tasca pot portar una estona.',
'regenerate' => 'Regenerar les imatges',
'regenerationSuccess' => 'Totes les imatges s\'han regenerat correctament.',
],
'housekeeping' => [
'title' => 'Tasques de neteja',
'subtitle' => 'Realitzar diferents tasques de neteja. Utilitzeu aquesta funció si mai trobeu problemes amb els fitxers multimèdia o la integritat de les dades. Aquestes tasques poden trigar una estona.',
'reset_counts' => 'Restablir els comptes',
'reset_counts_helper' => 'Aquesta opció tornarà a calcular i restablir tots els recomptes de dades (nombre de seguidors, publicacions, comentaris, …).',
'rewrite_media' => 'Reescriure les metadades multimèdia',
'rewrite_media_helper' => 'Aquesta opció suprimirà tots els fitxers multimèdia superflus i els recrearà (imatges, fitxers d\'àudio, transcripcions, capítols, ...)',
'clear_cache' => 'Esborrar tota la memòria cau',
'clear_cache_helper' => 'Aquesta opció esborrarà la memòria cau redis o els fitxers de memòria cau.',
'run' => 'Executar la neteja',
'runSuccess' => 'S\'ha conclòs correctament la neteja!',
],
'theme' => [
'title' => 'Tema',
'accent_section_title' => 'Color d\'èmfasi',
'accent_section_subtitle' => 'Trieu el color per determinar l\'aspecte de totes les pàgines públiques.',
'pine' => 'Pi',
'crimson' => 'Carmesí',
'amber' => 'Ambre',
'lake' => 'Llac',
'jacaranda' => 'Jacaranda',
'onyx' => 'Onyx',
'submit' => 'Desar',
'setInstanceThemeSuccess' => 'El tema s\'ha actualitzat correctament.',
],
];

View File

@ -0,0 +1,31 @@
<?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 [
'list' => [
'title' => 'Fragments d\'àudio',
'soundbite' => 'Fragment d\'àudio',
],
'messages' => [
'createSuccess' => 'El fragment d\'àudio s\'ha creat correctament.',
'deleteSuccess' => 'El fragment d\'àudio s\'ha suprimit correctament.',
],
'form' => [
'title' => 'Nou fragment',
'soundbite_title' => 'Títol del fragment',
'start_time' => 'Començar a',
'duration' => 'Durada',
'submit' => 'Crear un fragment',
],
'play' => 'Reproduir el fragment',
'stop' => 'Aturar el fragment',
'create' => 'Nou fragment',
'delete' => 'Suprimir el fragment',
];

View File

@ -0,0 +1,54 @@
<?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 [
'edit_roles' => "Editar els rols de {username}",
'forcePassReset' => 'Força el restabliment de la contrasenya',
'ban' => 'Bandejar',
'unban' => 'Re-admetre',
'delete' => 'Eliminar',
'create' => 'Nou usuari',
'view' => "Informació de {username}",
'all_users' => 'Tots els usuaris',
'list' => [
'user' => 'Usuari',
'roles' => 'Rols',
'banned' => 'Bandejat?',
],
'form' => [
'email' => 'Correu electrònic',
'username' => 'Nom de l\'usuari',
'password' => 'Contrasenya',
'new_password' => 'Nova contrasenya',
'roles' => 'Rols',
'permissions' => 'Permisos',
'submit_create' => 'Crea un usuari',
'submit_edit' => 'Desar',
'submit_password_change' => 'Canviat!',
],
'roles' => [
'superadmin' => 'Super administrador/a',
],
'messages' => [
'createSuccess' =>
'S\'ha creat l\'usuari! Es demanarà a {username} un restabliment de la contrasenya durant la primera autenticació.',
'rolesEditSuccess' =>
"S'han actualitzat correctament els rols de {username}.",
'forcePassResetSuccess' =>
'Es demanarà a {username} un restabliment de contrasenya durant la següent visita.',
'banSuccess' => '{username} ha estat bandejat.',
'unbanSuccess' => '{username} ha estat desbandejat.',
'banSuperAdminError' =>
'{username} és un superadministrador, hom simplement no bandeja a un superadministrador...',
'deleteSuperAdminError' =>
'{username} és un superadministrador, hom simplement no elimina a un superadministrador...',
'deleteSuccess' => '{username} ha estat eliminat.',
],
];

View File

@ -0,0 +1,18 @@
<?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 [
'min_dims' =>
'{field} no és una imatge, o no és prou ample o alt.',
'is_image_ratio' =>
'{field} no és una imatge o no té la proporció correcta.',
'validate_url' =>
'El camp {field} ha de ser una adreça URL vàlida (p. ex., https://exemple.com/).',
];

View File

@ -0,0 +1,72 @@
<?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 [
'list' => [
'title' => 'Vídeoclips',
'status' => [
'label' => 'Estat',
'queued' => 'en cua',
'queued_hint' => 'El clip està esperant a ser processat.',
'pending' => 'pendent',
'pending_hint' => 'El clip es generarà aviat.',
'running' => 'en execució',
'running_hint' => 'S\'està generant el clip.',
'failed' => 'ha fallat',
'failed_hint' => 'No s\'ha pogut generar el clip: error de l\'script.',
'passed' => 'passat',
'passed_hint' => 'El clip s\'ha generat correctament.',
],
'clip' => 'Clip',
'duration' => 'Duració de la tasca',
],
'title' => 'Videoclip: {videoClipLabel}',
'download_clip' => 'Baixar el clip',
'create' => 'Nou videoclip',
'go_to_page' => 'Anar a la pàgina del clip ',
'retry' => 'Intentar de nou la generació del clip',
'delete' => 'Eliminar el clip',
'logs' => 'Registres de la tasca',
'messages' => [
'alreadyExistingError' => 'El videoclip que intenteu crear ja existeix!',
'addToQueueSuccess' => 'El videoclip s\'ha afegit a la cua, a l\'espera de ser creat!',
'deleteSuccess' => 'El videoclip s\'ha eliminat correctament.',
],
'format' => [
'landscape' => 'Horitzontal',
'portrait' => 'Vertical',
'squared' => 'Quadrat',
],
'form' => [
'title' => 'Nou videoclip',
'params_section_title' => 'Paràmetres del videoclip',
'clip_title' => 'Títol del videoclip',
'format' => [
'label' => 'Trieu el format',
'landscape_hint' => 'Amb una proporció de 16:9, els vídeos horitzontals són ideals per a PeerTube, Youtube i Vimeo.',
'portrait_hint' => 'Amb una proporció de 9:16, els vídeos verticals són ideals per a TikTok, curts de Youtube i històries d\'Instagram.',
'squared_hint' => 'Amb una proporció 1:1, els vídeos quadrats són ideals per a Mastodon, Facebook, Twitter i LinkedIn.',
],
'theme' => 'Trieu un tema',
'start_time' => 'Començar a',
'duration' => 'Durada',
'trim_start' => 'Retallar l\'inici',
'trim_end' => 'Retallar el final',
'submit' => 'Crear videoclip',
],
'requirements' => [
'title' => 'Falten requisits',
'missing' => 'Et falten requisits. Assegureu-vos d\'afegir tots els elements necessaris per poder crear un vídeo per a aquest episodi.',
'ffmpeg' => 'FFmpeg',
'gd' => 'Graphics Draw (GD)',
'freetype' => 'Llibreria `FreeType` per a GD',
'transcript' => 'Fitxer de la transcripció (.srt)',
],
];

View File

@ -45,5 +45,5 @@ return [
'soundbites' => 'fragmentos de sonido',
'video-clips' => 'clips de vídeo',
'embed' => 'reproductor embebido',
'notifications' => 'notifications',
'notifications' => 'notificaciones',
];

View File

@ -35,6 +35,6 @@ return [
'by_weekday' => 'Por día de semana (para los últimos 60 días)',
'by_hour' => 'Por hora del día (para los últimos 60 días)',
'podcast_by_bandwidth' => 'Ancho de banda diario usado (en MB)',
'total_storage_by_month' => 'Monthly storage (in MB)',
'total_bandwidth_by_month' => 'Monthly used bandwidth (in MB)',
'total_storage_by_month' => 'Almacenamiento mensual (en MB)',
'total_bandwidth_by_month' => 'Ancho de banda mensual usado (en MB)',
];

View File

@ -46,6 +46,6 @@ return [
'playing' => 'Reproduciendo',
],
'size_limit' => 'Límite de tamaño: {0}.',
'choose_interact' => 'Choose how to interact',
'view' => 'View',
'choose_interact' => 'Elegir cómo interactuar',
'view' => 'Ver',
];

View File

@ -9,20 +9,20 @@ declare(strict_types=1);
*/
return [
'home' => 'Admin dashboard',
'welcome_message' => 'Welcome to the admin area!',
'home' => 'Panel de control',
'welcome_message' => '¡Bienvenid@ al área de administración!',
'podcasts' => [
'title' => 'Podcasts',
'not_found' => 'No published podcast',
'last_published' => 'Last published on {lastPublicationDate}',
'not_found' => 'Podcasts sin publicar',
'last_published' => 'Últimas publicaciones en {lastPublicationDate}',
],
'episodes' => [
'title' => 'Episodes',
'not_found' => 'No published episode',
'last_published' => 'Last published on {lastPublicationDate}',
'title' => 'Episodios',
'not_found' => 'Episodios sin publicar',
'last_published' => 'Últimas publicaciones en {lastPublicationDate}',
],
'storage' => [
'title' => 'Storage',
'subtitle' => '{totalUploaded} out of {totalStorage}',
'title' => 'Almacenamiento',
'subtitle' => '{totalUploaded} de {totalStorage}',
],
];

View File

@ -34,20 +34,20 @@ return [
'create' => 'Añadir un episodio',
'publication_status' => [
'published' => 'Publicado',
'with_podcast' => 'Published',
'with_podcast' => 'Publicado',
'scheduled' => 'Programado',
'not_published' => 'No publicado',
],
'with_podcast_hint' => 'To be published at the same time as the podcast',
'with_podcast_hint' => 'A publicar al mismo tiempo que el podcast',
'list' => [
'search' => [
'placeholder' => 'Search for an episode',
'clear' => 'Clear search',
'submit' => 'Search',
'placeholder' => 'Buscar un episodio',
'clear' => 'Limpiar la búsqueda',
'submit' => 'Buscar',
],
'number_of_episodes' => '{numberOfEpisodes, plural,
one {# episode}
other {# episodes}
one {# episodio}
other {# episodios}
}',
'episode' => 'Episodio',
'visibility' => 'Visibilidad',
@ -58,14 +58,14 @@ return [
'createSuccess' => '¡El episodio ha sido creado correctamente!',
'editSuccess' => '¡El episodio ha sido actualizado correctamente!',
'publishSuccess' => '{publication_status, select,
published {Episode successfully published!}
scheduled {Episode publication successfully scheduled!}
with_podcast {This episode will be published at the same time as the podcast.}
other {This episode is not published.}
published {¡Episodio publicado con éxito!}
scheduled {¡Publicación del episodio programada con éxito!}
with_podcast {Este episodio se publicará al mismo tiempo que el podcast.}
other {Este episodio no está publicado.}
}',
'publishCancelSuccess' => '¡La publicación del episodio ha sido cancelada correctamente!',
'unpublishBeforeDeleteTip' => 'Debe anular la publicación del episodio antes de eliminarlo.',
'scheduleDateError' => 'Schedule date must be set!',
'scheduleDateError' => '¡Se debe definir una fecha de publicación!',
'deletePublishedEpisodeError' => 'Por favor, anule la publicación del episodio antes de eliminarlo.',
'deleteSuccess' => '¡Episodio eliminado con éxito!',
'deleteError' => 'Error al eliminar episodio {type, select,
@ -75,13 +75,13 @@ return [
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.',
'deleteFileError' => 'Hubo un problema al tratar de eliminar el archivo {file_path} {type, select,
transcript {de la transcripción}
chapters {de los episodios}
image {de la portada}
audio {del audio}
other {}
}. Puedes eliminarlo manualmente de tu disco.',
'sameSlugError' => 'Ya existe un episodio con el slug elegido.',
],
'form' => [
@ -93,7 +93,7 @@ return [
'cover' => 'Portada del episodio',
'cover_hint' =>
'Si no establece una portada, la portada del podcast se utilizará en su lugar.',
'cover_size_hint' => 'Cover must be squared and at least 1400px wide and tall.',
'cover_size_hint' => 'La portada debe ser cuadrada con al menos 1400 px de ancho y alto.',
'title' => 'Título',
'title_hint' =>
'Debe contener un nombre de episodio claro y conciso. No especifique los números de episodio o temporada aquí.',
@ -147,9 +147,9 @@ return [
'Si necesita etiquetas RSS que Castopod no maneja, póngalas aquí.',
'custom_rss' => 'Etiquetas RSS personalizadas para el episodio',
'custom_rss_hint' => 'Esto se inyectará dentro de la etiqueta del {item}.',
'block' => 'Episode should be hidden from public catalogues',
'block' => 'El episodio debe ocultarse a los catálogos públicos',
'block_hint' =>
'The episode show or hide status: toggling this on prevents the episode from appearing in Apple Podcasts, Google Podcasts, and any third party apps that pull shows from these directories. (Not guaranteed)',
'El estado de visibilidad del episodio: al activar esto se impide que el episodio aparezca en Apple Podcasts, Google Podcasts y cualquier aplicación de terceros que extraiga episodios de estos directorios. (no está garantizado al 100%)',
'submit_create' => 'Crear episodio',
'submit_edit' => 'Guardar episodio',
],
@ -163,7 +163,7 @@ return [
'publication_method' => [
'now' => 'Ahora',
'schedule' => 'Programar',
'with_podcast' => 'Publish alongside podcast',
'with_podcast' => 'Publicar junto al podcast',
],
'scheduled_publication_date' => 'Fecha programada de publicación',
'scheduled_publication_date_clear' => 'Borrar fecha de publicación',
@ -178,7 +178,7 @@ return [
],
'unpublish_form' => [
'disclaimer' =>
"Unpublishing the episode will delete all the comments and posts associated with it and remove it from the podcast's RSS feed.",
"Al anular la publicación del episodio se eliminarán todos los comentarios y mensajes asociados a él y el episodio será eliminado del feed RSS del podcast.",
'understand' => 'Lo entiendo, quiero anular la publicación del episodio',
'submit' => 'Anular publicación',
],

View File

@ -9,11 +9,11 @@ declare(strict_types=1);
*/
return [
'title' => 'Notifications',
'reply' => '{actor_username} replied to your post',
'favourite' => '{actor_username} favourited your post',
'reblog' => '{actor_username} shared your post',
'follow' => '{actor_username} started following {target_actor_username}',
'no_notifications' => 'No notifications',
'mark_all_as_read' => 'Mark all as read',
'title' => 'Notificaciones',
'reply' => '{actor_username} respondió a tu publicación',
'favourite' => '{actor_username} ha marcado como favorita tu publicación',
'reblog' => '{actor_username} ha compartido tu publicación',
'follow' => '{actor_username} ha comenzado a seguir a {target_actor_username}',
'no_notifications' => 'No hay notificaciones',
'mark_all_as_read' => 'Marcar todas como leídas',
];

View File

@ -24,7 +24,7 @@ return [
'form' => [
'avatar' => 'Avatar',
'avatar_size_hint' =>
'Avatar must be squared and at least 400px wide and tall.',
'El avatar debe ser cuadrado y al menos 400 px de ancho y alto.',
'full_name' => 'Nombre completo',
'full_name_hint' => 'Este es el nombre completo o el alias de la persona.',
'unique_name' => 'Nombre único',

View File

@ -16,51 +16,51 @@ return [
'new_episode' => 'Nuevo episodio',
'view' => 'Ver Podcast',
'edit' => 'Editar el Podcast',
'publish' => 'Publish podcast',
'publish_edit' => 'Edit publication',
'publish' => 'Publicar podcast',
'publish_edit' => 'Editar la publicación',
'delete' => 'Eliminar podcast',
'see_episodes' => 'Ver episodios',
'see_contributors' => 'Ver colaboradores',
'go_to_page' => 'Ir a la página',
'latest_episodes' => 'Últimos Episodios',
'see_all_episodes' => 'Mostrar todos los episodios',
'draft' => 'Draft',
'draft' => 'Borrador',
'messages' => [
'createSuccess' => 'Podcast successfully created!',
'createSuccess' => '¡El Podcast ha sido creado con éxito!',
'editSuccess' => 'El Podcast se ha actualizado correctamente!',
'importSuccess' => 'El Podcast se ha importado correctamente!',
'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.',
'publishError' => 'This podcast is either already published or scheduled for publication.',
'publishEditError' => 'This podcast is not scheduled for publication.',
'publishCancelSuccess' => 'Podcast publication successfully cancelled!',
'scheduleDateError' => 'Schedule date must be set!',
'deleteSuccess' => '¡El Podcast @{podcast_handle} ha sido eliminado con éxito!',
'deletePodcastMediaError' => 'No se ha podido eliminar {type, select,
cover {la portada}
banner {el cartel}
other {el material}
} del podcast.',
'deleteEpisodeMediaError' => 'No se ha podido elminar {type, select,
transcript {la transcripción}
chapters {los episodios}
image {la portada}
audio {el audio}
other {el material}
} del episodio {episode_slug}.',
'deletePodcastMediaFolderError' => 'No se pudo eliminar la carpeta del material del podcast {folder_path}. Puedes eliminarla manualmente del disco.',
'podcastFeedUpdateSuccess' => '¡Actualización exitosa: {number_of_new_episodes, plural,
one {se ha añadido un episodio}
other {se han añadido # episodios}
} al podcast!',
'podcastFeedUpToDate' => 'El Podcast ya está actualizado.',
'podcastNotImported' => 'Podcast no pudo ser actualizado porque no fue importado.',
'publishError' => 'Este podcast ya ha sido publicado o está programado para su publicación.',
'publishEditError' => 'Este podcast no está programado para ser publicado.',
'publishCancelSuccess' => '¡La publicación del podcast ha sido cancelada con éxito!',
'scheduleDateError' => '¡Se debe definir una fecha de publicación!',
],
'form' => [
'identity_section_title' => 'Identidad de Podcast',
'identity_section_subtitle' => 'Estos campos le permiten recibir un aviso.',
'cover' => 'Portada de Podcast',
'cover_size_hint' => 'Cover must be squared and at least 1400px wide and tall.',
'cover_size_hint' => 'La portada debe ser cuadrada y con al menos 1400 px de ancho y alto.',
'banner' => 'Cartel del Podcast',
'banner_size_hint' => 'Banner must have a 3:1 ratio and be at least 1500px wide.',
'banner_size_hint' => 'El cartel debe tener una relación de 3:1 con al menos 1500 px de ancho.',
'banner_delete' => 'Borrar el cartel del podcast',
'title' => 'Título',
'handle' => 'Alias',
@ -117,9 +117,9 @@ return [
'custom_rss_hint' => 'Esto se inyectará dentro de la etiqueta de canal.',
'new_feed_url' => 'Nueva URL de feed',
'new_feed_url_hint' => 'Utilice este campo cuando se mueva a otro dominio o plataforma de alojamiento podcast. De forma predeterminada, el valor se establece en la URL actual de RSS si el podcast es importado.',
'old_feed_url' => 'Old feed URL',
'update_feed' => 'Update feed',
'update_feed_tip' => 'Import this podcast\'s latest episodes',
'old_feed_url' => 'Antigua URL del feed RSS',
'update_feed' => 'Actualizar el feed',
'update_feed_tip' => 'Importar los últimos episodios de este podcast',
'partnership' => 'Asociación',
'partner_id' => 'ID',
'partner_link_url' => 'URL del enlace',
@ -128,9 +128,9 @@ return [
'partner_link_url_hint' => 'La dirección genérica de enlace de socio',
'partner_image_url_hint' => 'La dirección de imagen genérica del socio',
'status_section_title' => 'Estado',
'block' => 'Podcast should be hidden from public catalogues',
'block' => 'El podcast debe ocultarse a los catálogos públicos',
'block_hint' =>
'The podcast show or hide status: toggling this on prevents the entire podcast from appearing in Apple Podcasts, Google Podcasts, and any third party apps that pull shows from these directories. (Not guaranteed)',
'El estado de visibilidad del podcast: al activar esto se impide que este podcast al completo aparezca en Apple Podcasts, Google Podcasts y cualquier aplicación de terceros que extraiga episodios de estos directorios. (no está garantizado al 100%)',
'complete' => 'El Podcast no tendrá nuevos episodios',
'lock' => 'Evitar que el podcast sea copiado',
'lock_hint' =>
@ -252,36 +252,36 @@ return [
'tv_reviews' => 'Reseñas de TV',
],
'publish_form' => [
'back_to_podcast_dashboard' => 'Back to podcast dashboard',
'post' => 'Your announcement post',
'back_to_podcast_dashboard' => 'Regresar al panel de control del podcast',
'post' => 'Tu publicación de anuncio',
'post_hint' =>
"Write a message to announce the publication of your podcast. The message will be featured in your podcast's homepage.",
'message_placeholder' => 'Write your message…',
'submit' => 'Publish',
'publication_date' => 'Publication date',
"Escribe un mensaje para anunciar la publicación de tu podcast. El mensaje aparecerá destacado en la página principal del podcast.",
'message_placeholder' => 'Redacta tu mensaje…',
'submit' => 'Publicar',
'publication_date' => 'Fecha de publicación',
'publication_method' => [
'now' => 'Now',
'schedule' => 'Schedule',
'now' => 'Ahora',
'schedule' => 'Programación',
],
'scheduled_publication_date' => 'Scheduled publication date',
'scheduled_publication_date' => 'Fecha de publicación programada',
'scheduled_publication_date_hint' =>
'You can schedule the podcast release by setting a future publication date. This field must be formatted as YYYY-MM-DD HH:mm',
'submit_edit' => 'Edit publication',
'cancel_publication' => 'Cancel publication',
'message_warning' => 'You did not write a message for your announcement post!',
'message_warning_hint' => 'Having a message increases social engagement, resulting in a better visibility for your podcast.',
'message_warning_submit' => 'Publish anyway',
'Puede programar el lanzamiento del podcast definiendo una fecha de publicación futura. Este campo debe ser formateado así YYYY-MM-DD HH:mm',
'submit_edit' => 'Editar publicación',
'cancel_publication' => 'Cancelar publicación',
'message_warning' => '¡No has escrito un mensaje para el anuncio tu publicación!',
'message_warning_hint' => 'Incluir un mensaje aumenta el interés en las redes sociales, resultando en una mayor visibilidad de tu podcast.',
'message_warning_submit' => 'Publicar de todos modos',
],
'publication_status_banner' => [
'draft_mode' => 'draft mode',
'not_published' => 'This podcast is not yet published.',
'scheduled' => 'This podcast is scheduled for publication on {publication_date}.',
'draft_mode' => 'modo borrador',
'not_published' => 'Este podcast aún no ha sido publicado.',
'scheduled' => 'Este podcast está programado para su publicación el {publication_date}.',
],
'delete_form' => [
'disclaimer' =>
"Deleting the podcast will delete all episodes, media files, posts and analytics associated with it. This action is irreversible, you will not be able to retrieve them afterwards.",
'understand' => 'I understand, I want the podcast to be permanently deleted',
'submit' => 'Delete',
"Al eliminar el podcast, se eliminarán todos los episodios, archivos multimedia, mensajes y estadísticas asociados a él. Esta acción es irreversible, no podrá recuperarlos después de la eliminación.",
'understand' => 'Entiendo, quiero que el podcast sea eliminado permanentemente',
'submit' => 'Eliminar',
],
'by' => 'Por {publisher}',
'season' => 'Temporada {seasonNumber}',
@ -291,12 +291,12 @@ return [
'no_episode' => '¡No se encontró el episodio!',
'follow' => 'Seguir',
'followers' => '{numberOfFollowers, plural,
one {# follower}
other {# followers}
one {Un seguidor}
other {# seguidores}
}',
'posts' => '{numberOfPosts, plural,
one {# post}
other {# posts}
one {Una publicación}
other {# publicaciones}
}',
'activity' => 'Actividad',
'episodes' => 'Episodios',

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.',
'Este procedimiento puede llevar mucho tiempo. Como la versión actual no muestra ningún progreso mientras se ejecuta, no verás nada actualizado hasta que termine. En el caso de recibir un mensaje de error por falta de tiempo (Timeout error), incrementa el valor `max_execution_time` en la configuración del PHP del servidor.',
'old_podcast_section_title' => 'Podcasts para importar',
'old_podcast_section_subtitle' =>
'Asegúrese de que tiene los derechos para este podcast antes de importarlo. Copiar y difundir un podcast sin los derechos apropiados es piratería y puede ser procesado.',

View File

@ -15,7 +15,7 @@ return [
'site_icon' => 'Icono del sitio',
'site_icon_delete' => 'Borrar icono del sitio',
'site_icon_hint' => 'Los iconos del sitio son lo que ves en las pestañas del navegador, la barra de marcadores y cuando agregas un sitio web como un acceso directo en los dispositivos móviles.',
'site_icon_helper' => 'Icon must be squared and at least 512px wide and tall.',
'site_icon_helper' => 'El icono debe ser cuadrado con al menos 512 px de ancho y alto.',
'site_name' => 'Nombre del sitio',
'site_description' => 'Descripción del sitio',
'submit' => 'Guardar',

View File

@ -9,7 +9,7 @@ declare(strict_types=1);
*/
return [
'label' => 'breadcrumb',
'label' => 'menú',
config('Admin')
->gateway => 'Inicio',
'podcasts' => 'podcasts',
@ -42,8 +42,8 @@ return [
'players' => 'reprodutores',
'listening-time' => 'tempo de escoita',
'time-periods' => 'período de tempo',
'soundbites' => 'soundbites',
'soundbites' => 'anaquiños',
'video-clips' => 'clips de vídeo',
'embed' => 'reprodutor para incluír',
'notifications' => 'notifications',
'notifications' => 'notificacións',
];

View File

@ -12,9 +12,9 @@ declare(strict_types=1);
return [
'AD' => 'Andorra',
'AE' => 'United Arab Emirates',
'AF' => 'Afghanistan',
'AG' => 'Antigua and Barbuda',
'AE' => 'Emiratos Árabes Unidos',
'AF' => 'Afganistán',
'AG' => 'Antigua e Barbuda',
'AI' => 'Anguilla',
'AL' => 'Albania',
'AM' => 'Armenia',

View File

@ -9,9 +9,9 @@ declare(strict_types=1);
*/
return [
'season' => 'Season {seasonNumber}',
'season' => 'Tempada {seasonNumber}',
'season_abbr' => 'S{seasonNumber}',
'number' => 'Episode {episodeNumber}',
'number' => 'Episodio {episodeNumber}',
'number_abbr' => 'Ep. {episodeNumber}',
'season_episode' => 'Tempada {seasonNumber} episodio {episodeNumber}',
'season_episode_abbr' => 'S{seasonNumber}E{episodeNumber}',
@ -86,7 +86,7 @@ return [
],
'form' => [
'file_size_error' =>
'Your file size is too big! Max size is {0}. Increase the `memory_limit`, `upload_max_filesize` and `post_max_size` values in your php configuration file then restart your web server to upload your file.',
'O ficheiro é demasiado grande! O máximo é {0}. Aumenta os valores de `memory_limit`, `upload_max_filesize` e `post_max_size` no ficheiro de configuración php e reinicia o servidor web.',
'audio_file' => 'Ficheiro de son',
'audio_file_hint' => 'Elixe un ficheiro .mp3 ou un .m4a de audio.',
'info_section_title' => 'Info do episodio',
@ -146,57 +146,57 @@ return [
'advanced_section_subtitle' =>
'Se precisas etiquetas RSS que Castopod non xestiona, establéceas aquí.',
'custom_rss' => 'Etiquetas RSS personalizadas para o episodio',
'custom_rss_hint' => 'This will be injected within the ❬item❭ tag.',
'block' => 'Episode should be hidden from public catalogues',
'custom_rss_hint' => 'Esto vai ir incluído na etiqueta ❬item❭.',
'block' => 'O episodio estará oculto para os catálogos públicos',
'block_hint' =>
'The episode show or hide status: toggling this on prevents the episode from appearing in Apple Podcasts, Google Podcasts, and any third party apps that pull shows from these directories. (Not guaranteed)',
'submit_create' => 'Create episode',
'submit_edit' => 'Save episode',
'O estado oculto ou visible: este control evita que o episodio apareza en Apple Podcasts, Google Podcasts, e calquera outra app de terceiros que obteña os programas destos directorios. (Non garantido)',
'submit_create' => 'Crear episodio',
'submit_edit' => 'Gardar episodio',
],
'publish_form' => [
'back_to_episode_dashboard' => 'Back to episode dashboard',
'post' => 'Your announcement post',
'back_to_episode_dashboard' => 'Volver ao taboleiro do episodio',
'post' => 'Publicación co anuncio',
'post_hint' =>
"Write a message to announce the publication of your episode. The message will be broadcasted to all your followers in the fediverse and be featured in your podcast's homepage.",
'message_placeholder' => 'Write your message…',
'publication_date' => 'Publication date',
"Escribe unha mensaxe para anunciar a publicación do episodio. Esta mensaxe será enviada a tódalas túas seguidoras no fediverso e aparecerá na páxina de inicio do teu podcast.",
'message_placeholder' => 'Escribe a mensaxe…',
'publication_date' => 'Data de publicación',
'publication_method' => [
'now' => 'Now',
'schedule' => 'Schedule',
'with_podcast' => 'Publish alongside podcast',
'now' => 'Agora',
'schedule' => 'Programar',
'with_podcast' => 'Publicar xunto co podcast',
],
'scheduled_publication_date' => 'Scheduled publication date',
'scheduled_publication_date_clear' => 'Clear publication date',
'scheduled_publication_date' => 'Data da publicación programada',
'scheduled_publication_date_clear' => 'Limpar data de publicación',
'scheduled_publication_date_hint' =>
'You can schedule the episode release by setting a future publication date. This field must be formatted as YYYY-MM-DD HH:mm',
'submit' => 'Publish',
'submit_edit' => 'Edit publication',
'cancel_publication' => 'Cancel publication',
'message_warning' => 'You did not write a message for your announcement post!',
'message_warning_hint' => 'Having a message increases social engagement, resulting in a better visibility for your episode.',
'message_warning_submit' => 'Publish anyways',
'Podes programar nunha data futura a publicación do episodio. Este campo debe ter formato YYYY-MM-DD HH:mm',
'submit' => 'Publicar',
'submit_edit' => 'Editar publicación',
'cancel_publication' => 'Cancelar publicación',
'message_warning' => 'Non escribiches unha mensaxe anunciando a publicación!',
'message_warning_hint' => 'Ao escribir unha mensaxe aumentas o alcance social, resultando en maior visibilidade para o teu episodio.',
'message_warning_submit' => 'Publicar igualmente',
],
'unpublish_form' => [
'disclaimer' =>
"Unpublishing the episode will delete all the comments and posts associated with it and remove it from the podcast's RSS feed.",
'understand' => 'I understand, I want to unpublish the episode',
'submit' => 'Unpublish',
"Retirando o episodio eliminarás tódolos comentarios e publicacións asociadas con el e tamén o eliminarás da fonte RSS do podcast.",
'understand' => 'Enténdoo e quero retirar o episodio',
'submit' => 'Retirar episodio',
],
'delete_form' => [
'disclaimer' =>
"Deleting the episode will delete all media files, comments, video clips and soundbites associated with it.",
'understand' => 'I understand, I want to delete the episode',
'submit' => 'Delete',
"Eliminando o episodio eliminarás tódolos ficheiros multimedia, comentarios, clips de vídeo e extractos de son asociados a el.",
'understand' => 'Enténdoo e quero eliminar o episodio',
'submit' => 'Eliminar',
],
'embed' => [
'title' => 'Embeddable player',
'title' => 'Reprodutor para incluír',
'label' =>
'Pick a theme color, copy the embeddable player to clipboard, then paste it on your website.',
'clipboard_iframe' => 'Copy embeddable player to clipboard',
'clipboard_url' => 'Copy address to clipboard',
'dark' => 'Dark',
'dark-transparent' => 'Dark transparent',
'light' => 'Light',
'light-transparent' => 'Light transparent',
'Elixe a cor do decorado, copia o código para o reprodutor a incluir e pégao no teu sitio web.',
'clipboard_iframe' => 'Copia o reprodutor ao portapapeis',
'clipboard_url' => 'Copiar enderezo ao portapapeis',
'dark' => 'Escuro',
'dark-transparent' => 'Escuro transparente',
'light' => 'Claro',
'light-transparent' => 'Claro transparente',
],
];

View File

@ -10,9 +10,9 @@ declare(strict_types=1);
return [
'messages' => [
'actorNotFound' => 'The account could not be found!',
'blockActorSuccess' => '{actor} has been blocked!',
'unblockActorSuccess' => 'Actor has been unblocked!',
'actorNotFound' => 'Non se atopou a conta!',
'blockActorSuccess' => '{actor} foi bloqueado!',
'unblockActorSuccess' => '{actor} foi desbloqueado!',
'blockDomainSuccess' => '{domain} foi bloqueado!',
'unblockDomainSuccess' => '{domain} foi desbloqueado!',
],

View File

@ -9,10 +9,10 @@ declare(strict_types=1);
*/
return [
'info' => 'My account info',
'changePassword' => 'Change my password',
'info' => 'Info da miña conta',
'changePassword' => 'Cambiar o meu contrasinal',
'messages' => [
'wrongPasswordError' => "You've entered the wrong password, try again.",
'passwordChangeSuccess' => 'Password has been successfully changed!',
'wrongPasswordError' => "Escribiches un contrasinal incorrecto, volve a intentalo.",
'passwordChangeSuccess' => 'Cambiaches correctamente o contrasinal!',
],
];

View File

@ -28,14 +28,14 @@ return [
'delete' => 'delete',
'fediverse' => 'fediverse',
'block-lists' => 'block lists',
'users' => 'users',
'my-account' => 'my account',
'change-password' => 'change password',
'users' => 'pengguna',
'my-account' => 'akun saya',
'change-password' => 'ubah kata sandi',
'import' => 'feed import',
'platforms' => 'platforms',
'social' => 'social networks',
'funding' => 'funding',
'analytics' => 'analytics',
'analytics' => 'analitik',
'locations' => 'locations',
'webpages' => 'web pages',
'unique-listeners' => 'unique listeners',

View File

@ -13,7 +13,7 @@ return [
config('Admin')
->gateway => 'Úvod',
'podcasts' => 'podcasty',
'episodes' => 'epizódy',
'episodes' => 'časti',
'contributors' => 'prispievatelia',
'pages' => 'stránky',
'settings' => 'nastavenia',
@ -45,5 +45,5 @@ return [
'soundbites' => 'zvukové ukážky',
'video-clips' => 'video klipy',
'embed' => 'vnorený',
'notifications' => 'notifications',
'notifications' => 'oboznámenia',
];

View File

@ -20,10 +20,10 @@ return [
'by_browser' => 'Používanie web stránok podľa prehliadača (za uplynulý týždeň)',
'podcast_by_day' => 'Denné prevzatia epizód',
'podcast_by_month' => 'Mesačné prevzatia epizód',
'episode_by_day' => 'Denné prevzatia epizód (prvých 60 dní)',
'episode_by_month' => 'Mesačné prevzatia epizód',
'episode_by_day' => 'Denné prevzatia častí (prvých 60 dní)',
'episode_by_month' => 'Mesačné prevzatia častí',
'episodes_by_day' =>
'5 posledných prevzatí epizód (počas ich prvých 60 dní)',
'5 posledných prevzatí častí (počas ich prvých 60 dní)',
'by_country_weekly' => 'Prevzatia epizód podľa krajiny (za uplynulý týždeň)',
'by_country_yearly' => 'Prevzatia epizód podľa krajiny (za uplynulý rok)',
'by_domain_weekly' => 'Návštevy web stránok podľa zdroja (za uplynulý týždeň)',

View File

@ -14,7 +14,7 @@ return [
'AD' => 'Andorra',
'AE' => 'Spojené Arabské Emiráty',
'AF' => 'Afghanistan',
'AG' => 'Antigua and Barbuda',
'AG' => 'Antigua a Barbuda',
'AI' => 'Anguilla',
'AL' => 'Albánsko',
'AM' => 'Arménsko',
@ -26,7 +26,7 @@ return [
'AU' => 'Austrália',
'AW' => 'Aruba',
'AX' => 'Åland Islands',
'AZ' => 'Azerbaijan',
'AZ' => 'Azerbajan',
'BA' => 'Bosna a Hercegovina',
'BB' => 'Barbados',
'BD' => 'Bangladéš',
@ -58,10 +58,10 @@ return [
'CK' => 'Cook Islands',
'CL' => 'Chile',
'CM' => 'Cameroon',
'CN' => 'China',
'CO' => 'Colombia',
'CR' => 'Costa Rica',
'CU' => 'Cuba',
'CN' => 'Čína',
'CO' => 'Kolumbia',
'CR' => 'Kostarika',
'CU' => 'Kuba',
'CV' => 'Cape Verde',
'CW' => 'Curaçao',
'CX' => 'Vianočný Ostrov',
@ -84,10 +84,10 @@ return [
'FJ' => 'Fidži',
'FK' => 'Falklandské ostrovy (Malvíny)',
'FM' => 'Micronesia, Federated States of',
'FO' => 'Faroe Islands',
'FO' => 'Faerské Ostrovy',
'FR' => 'Francúzsko',
'GA' => 'Gabon',
'GB' => 'United Kingdom',
'GB' => 'Spojené Kráľovstvo',
'GD' => 'Grenada',
'GE' => 'Gruzínsko',
'GF' => 'French Guiana',
@ -114,20 +114,20 @@ return [
'ID' => 'Indonézia',
'IE' => 'Írsko',
'IL' => 'Israel',
'IM' => 'Isle of Man',
'IM' => 'Ostrov Man',
'IN' => 'India',
'IO' => 'British Indian Ocean Territory',
'IQ' => 'Iraq',
'IR' => 'Iran, Islamic Republic of',
'IS' => 'Iceland',
'IT' => 'Italy',
'IO' => 'Britské indickooceánske územie',
'IQ' => 'Irak',
'IR' => 'Irán, Islamská republika',
'IS' => 'Island',
'IT' => 'Taliansko',
'JE' => 'Jersey',
'JM' => 'Jamaica',
'JO' => 'Jordan',
'JP' => 'Japan',
'KE' => 'Kenya',
'KG' => 'Kyrgyzstan',
'KH' => 'Cambodia',
'JM' => 'Jamajka',
'JO' => 'Jordánsko',
'JP' => 'Japonsko',
'KE' => 'Keňa',
'KG' => 'Kirgizsko',
'KH' => 'Kambodža',
'KI' => 'Kiribati',
'KM' => 'Comoros',
'KN' => 'Saint Kitts and Nevis',
@ -172,7 +172,7 @@ return [
'MZ' => 'Mozambique',
'N/A' => 'Not Applicable (local IP…)',
'NA' => 'Namibia',
'NC' => 'New Caledonia',
'NC' => 'Nová Kaledónia',
'NE' => 'Niger',
'NF' => 'Norfolk Island',
'NG' => 'Nigéria',
@ -194,15 +194,15 @@ return [
'PM' => 'Saint Pierre and Miquelon',
'PN' => 'Pitcairn',
'PR' => 'Puerto Rico',
'PS' => 'Palestine, State of',
'PT' => 'Portugal',
'PS' => 'Palestínske okupované územia',
'PT' => 'Portugalsko',
'PW' => 'Palau',
'PY' => 'Paraguay',
'QA' => 'Qatar',
'RE' => 'Réunion',
'RO' => 'Romania',
'RS' => 'Serbia',
'RU' => 'Russian Federation',
'RU' => 'Ruská Federácia',
'RW' => 'Rwanda',
'SA' => 'Saudi Arabia',
'SB' => 'Solomon Islands',

View File

@ -17,9 +17,9 @@ return [
'last_published' => 'Last published on {lastPublicationDate}',
],
'episodes' => [
'title' => 'Episodes',
'not_found' => 'No published episode',
'last_published' => 'Last published on {lastPublicationDate}',
'title' => 'Časti',
'not_found' => 'Žiadna zverejnená časť',
'last_published' => 'Naposledy zverejnené dňa {lastPublicationDate}',
],
'storage' => [
'title' => 'Storage',

View File

@ -93,15 +93,15 @@ return [
'Your file size is too big! Max size is {0}. Increase the `memory_limit`, `upload_max_filesize` and `post_max_size` values in your php configuration file then restart your web server to upload your file.',
'audio_file' => 'Zvukový súbor',
'audio_file_hint' => 'Vyberte zvukový súbor .mp3, alebo .m4a.',
'info_section_title' => 'Episode info',
'cover' => 'Episode cover',
'info_section_title' => 'Informácie o časti',
'cover' => 'Obal k časti',
'cover_hint' =>
'If you do not set a cover, the podcast cover will be used instead.',
'cover_size_hint' => 'Cover must be squared and at least 1400px wide and tall.',
'title' => 'Title',
'title' => 'Názov',
'title_hint' =>
'Should contain a clear and concise episode name. Do not specify the episode or season numbers here.',
'permalink' => 'Permalink',
'permalink' => 'Trvalý odkaz',
'season_number' => 'Season',
'episode_number' => 'Epizóda',
'type' => [
@ -118,7 +118,7 @@ return [
'hint' => 'Does the episode contain explicit content?',
'undefined' => 'undefined',
'clean' => 'Clean',
'explicit' => 'Explicit',
'explicit' => 'Chúlostivé',
],
'show_notes_section_title' => 'Show notes',
'show_notes_section_subtitle' =>

View File

@ -9,13 +9,13 @@ declare(strict_types=1);
*/
return [
'go_to_page' => 'View episode page',
'go_to_page' => 'Zobraziť stránku časti',
'dashboard' => 'Episode dashboard',
'episode-view' => 'Home',
'episode-edit' => 'Edit episode',
'episode-view' => 'Domov',
'episode-edit' => 'Upraviť časť',
'episode-persons-manage' => 'Manage persons',
'embed-add' => 'Vnorený prehrávač',
'clips' => 'Clips',
'clips' => 'Klipy',
'video-clips-list' => 'Video clips',
'video-clips-create' => 'New video clip',
'soundbites-list' => 'Soundbites',

View File

@ -49,10 +49,10 @@ return [
'remove' => 'Remove',
],
'episode_form' => [
'title' => 'Manage persons',
'title' => 'Spravovať osobnosti',
'add_section_title' => 'Add persons to this episode',
'add_section_subtitle' => 'You may pick several persons and roles.',
'persons' => 'Persons',
'persons' => 'Osobnosti',
'persons_hint' =>
'Môžete vybrať jednu alebo viac osôb s tou istou rolou. Najprv by ste mali osobnosti vytvoriť.',
'roles' => 'Roly',

View File

@ -13,7 +13,7 @@ return [
'no_podcast' => 'No podcast found!',
'create' => 'Create podcast',
'import' => 'Import podcast',
'new_episode' => 'New Episode',
'new_episode' => 'Nová časť',
'view' => 'View podcast',
'edit' => 'Edit podcast',
'publish' => 'Publish podcast',
@ -22,8 +22,8 @@ return [
'see_episodes' => 'See episodes',
'see_contributors' => 'See contributors',
'go_to_page' => 'Go to page',
'latest_episodes' => 'Latest episodes',
'see_all_episodes' => 'See all episodes',
'latest_episodes' => 'Posledné časti',
'see_all_episodes' => 'Pozrieť všetky časti',
'draft' => 'Draft',
'messages' => [
'createSuccess' => 'Podcast successfully created!',

View File

@ -0,0 +1,49 @@
<?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 [
'label' => '面包屑导航',
config('Admin')
->gateway => '主页',
'podcasts' => '播客',
'episodes' => '剧集',
'contributors' => '贡献者',
'pages' => '页',
'settings' => '设置',
'theme' => '主题',
'add' => '添加',
'new' => '新建',
'edit' => '编辑',
'persons' => '人',
'publish' => '发布',
'publish-edit' => '编辑发布',
'unpublish' => '取消发布',
'delete' => '删除',
'fediverse' => '联邦宇宙',
'block-lists' => '封禁列表',
'users' => '用户',
'my-account' => '我的帐户',
'change-password' => '修改密码',
'import' => '订阅源导入',
'platforms' => '平台',
'social' => '社交网络',
'funding' => '资金支持',
'analytics' => '统计数据',
'locations' => '位置',
'webpages' => '网页',
'unique-listeners' => '独特的听众',
'players' => '播放',
'listening-time' => '收听时间',
'time-periods' => '时间段',
'soundbites' => '原声摘要',
'video-clips' => '视频素材',
'embed' => '嵌入式播放器',
'notifications' => '通知',
];

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 [
'by_service_weekly' => '按服务分类的剧集下载量(过去一周)',
'by_player_weekly' => '按播放量的剧集下载量(过去一周)',
'by_player_yearly' => '按播放量的剧集下载量(过去一年)',
'by_device_weekly' => '按设备分类的剧集下载量(过去一周)',
'by_os_weekly' => '按操作系统分类的剧集下载量(过去一周)',
'podcast_by_region' => '按地区的剧集下载量(过去一周)',
'unique_daily_listeners' => '每日独立听众',
'unique_monthly_listeners' => '每月独立听众',
'by_browser' => '网页端使用情况(过去一周)',
'podcast_by_day' => '剧集每日下载量',
'podcast_by_month' => '剧集每月下载量',
'episode_by_day' => '剧集每日下载(前60天)',
'episode_by_month' => '剧集每月下载',
'episodes_by_day' =>
'5 个最新剧集下载(前60天)',
'by_country_weekly' => '按国家/地区的剧集下载量(过去一周)',
'by_country_yearly' => '按国家/地区的剧集下载量(过去一年)',
'by_domain_weekly' => '网页端访问情况(过去一周)',
'by_domain_yearly' => '网页端访问情况(过去一年)',
'by_entry_page' => '登录页面的访问情况(过去一周)',
'podcast_bots' => '机器人(爬虫)',
'daily_listening_time' => '每日累计收听时间',
'monthly_listening_time' => '每月累计收听时间',
'by_weekday' => '按工作日(过去60天)',
'by_hour' => '按一天中的时间(过去60天)',
'podcast_by_bandwidth' => '每日使用带宽(MB)',
'total_storage_by_month' => '每月存储量 (MB)',
'total_bandwidth_by_month' => '每月使用带宽(MB)',
];

View File

@ -0,0 +1,51 @@
<?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' => '否',
'cancel' => '取消',
'optional' => '可选',
'more' => '更多',
'no_data' => '找不到数据!',
'close' => '关闭',
'edit' => '编辑',
'copy' => '复制',
'copied' => '复制成功!',
'home' => '主页',
'explicit' => '限制级',
'powered_by' => '由 {castopod} 提供支持',
'actions' => '操作',
'pageInfo' => '第 {currentPage} 页,共 {pageCount} 页',
'go_back' => '返回',
'forms' => [
'editor' => [
'write' => '内容编辑',
'preview' => '预览',
'help' => '由 Markdown 驱动',
],
'multiSelect' => [
'selectText' => '点击选择',
'loadingText' => '载入中...',
'noResultsText' => '没有找到结果',
'noChoicesText' => '没有可供选择的选项',
'maxItemText' => '无法添加更多项目',
],
'upload_file' => '上传文件',
'remote_url' => '远程网址',
],
'play_episode_button' => [
'play' => '播放',
'playing' => '正在播放',
],
'size_limit' => '大小限制:{0}。',
'choose_interact' => '选择互动方式',
'view' => '查看',
];

View File

@ -0,0 +1,41 @@
<?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 [
'podcast_contributors' => '播客贡献者',
'view' => "{username} 对 {podcastTitle} 的贡献",
'add' => '添加贡献者',
'add_contributor' => '为 {0} 添加贡献者',
'edit_role' => '更新 {0} 的角色',
'edit' => '编辑',
'remove' => '移除',
'list' => [
'username' => '用户名',
'role' => '角色',
],
'form' => [
'user' => '用户',
'user_placeholder' => '选择一个用户...',
'role' => '角色',
'role_placeholder' => '选择角色…',
'submit_add' => '添加贡献者',
'submit_edit' => '更新角色',
],
'roles' => [
'podcast_admin' => '播客管理员',
],
'messages' => [
'removeOwnerError' => "你无法删除播客所有者!",
'removeSuccess' =>
'你从 {username} 移除 {podcastTitle}',
'alreadyAddedError' =>
"你尝试添加的贡献者已添加!",
],
];

View File

@ -0,0 +1,264 @@
<?php
declare(strict_types=1);
/**
* ISO 3166 country codes
*
* @copyright 2020 Ad Aures
* @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
* @link https://castopod.org/
*/
return [
'AD' => '安道尔',
'AE' => '阿拉伯联合酋长国',
'AF' => '阿富汗',
'AG' => '安提瓜和巴布达',
'AI' => '安圭拉',
'AL' => '阿尔巴尼亚',
'AM' => '亚美尼亚',
'AO' => '安哥拉',
'AQ' => '南极洲',
'AR' => '阿根廷',
'AS' => '美属萨摩亚',
'AT' => '奥地利',
'AU' => '澳大利亚',
'AW' => '阿鲁巴',
'AX' => '奥兰群岛',
'AZ' => '阿塞拜疆',
'BA' => '波黑',
'BB' => '巴巴多斯',
'BD' => '孟加拉国',
'BE' => '比利时',
'BF' => '布基纳法索',
'BG' => '保加利亚',
'BH' => '巴林',
'BI' => '布隆迪',
'BJ' => '贝宁',
'BL' => '圣巴泰勒米',
'BM' => '百慕大',
'BN' => '文莱达鲁萨兰国',
'BO' => '玻利维亚',
'BQ' => '荷兰加勒比区',
'BR' => '巴西',
'BS' => '巴哈马',
'BT' => '不丹',
'BV' => '布韦岛',
'BW' => '博茨瓦纳',
'BY' => '白俄罗斯',
'BZ' => '伯利兹',
'CA' => '加拿大',
'CC' => '科科斯(基林) 群岛',
'CD' => '刚果(金)',
'CF' => '中非共和国',
'CG' => '刚果',
'CH' => '瑞士',
'CI' => "科特迪瓦",
'CK' => '库克群岛',
'CL' => '智利',
'CM' => '喀麦隆',
'CN' => '中国',
'CO' => '哥伦比亚',
'CR' => '哥斯达黎加',
'CU' => '古巴',
'CV' => '佛得角',
'CW' => '库拉索',
'CX' => '圣诞岛',
'CY' => '塞浦路斯',
'CZ' => '捷克',
'DE' => '德国',
'DJ' => '吉布提',
'DK' => '丹麦',
'DM' => '多米尼克',
'DO' => '多米尼加',
'DZ' => '阿尔及利亚',
'EC' => '厄瓜多尔',
'EE' => '爱沙尼亚',
'EG' => '埃及',
'EH' => '西撒哈拉',
'ER' => '厄立特里亚',
'ES' => '西班牙',
'ET' => '埃塞俄比亚',
'FI' => '芬兰',
'FJ' => '斐济',
'FK' => '福克兰群岛(马尔维纳斯)',
'FM' => '密克罗尼西亚联邦',
'FO' => '法罗群岛',
'FR' => '法国',
'GA' => '加蓬',
'GB' => '英国',
'GD' => '格林纳达',
'GE' => '格鲁吉亚',
'GF' => '法属圭亚那',
'GG' => '根西岛',
'GH' => '加纳',
'GI' => '直布罗陀',
'GL' => '格陵兰',
'GM' => '冈比亚',
'GN' => '几内亚',
'GP' => '法属瓜德罗普岛',
'GQ' => '赤道几内亚',
'GR' => '希腊',
'GS' => '南乔治亚和南桑威奇群岛',
'GT' => '危地马拉',
'GU' => '关岛',
'GW' => '几内亚比绍',
'GY' => '圭亚那',
'HK' => '中国香港',
'HM' => '赫德岛和麦克唐纳群岛',
'HN' => '洪都拉斯',
'HR' => '克罗地亚',
'HT' => '海地',
'HU' => '匈牙利',
'ID' => '印度尼西亚',
'IE' => '爱尔兰',
'IL' => '以色列',
'IM' => '马恩岛',
'IN' => '印度',
'IO' => '英属印度洋领地',
'IQ' => '伊拉克',
'IR' => '伊朗',
'IS' => '冰岛',
'IT' => '意大利',
'JE' => '泽西',
'JM' => '牙买加',
'JO' => '约旦',
'JP' => '日本',
'KE' => '肯尼亚',
'KG' => '吉尔吉斯斯坦',
'KH' => '柬埔寨',
'KI' => '基里巴斯',
'KM' => '科摩罗',
'KN' => '圣基茨和尼维斯',
'KP' => "朝鲜",
'KR' => '韩国',
'KW' => '科威特',
'KY' => '开曼群岛',
'KZ' => '哈萨克斯坦',
'LA' => "老挝",
'LB' => '黎巴嫩',
'LC' => '圣卢西亚',
'LI' => '列支敦士登',
'LK' => '斯里兰卡',
'LR' => '利比里亚',
'LS' => '莱索托',
'LT' => '立陶宛',
'LU' => '卢森堡',
'LV' => '拉脱维亚',
'LY' => '利比亚',
'MA' => '摩洛哥',
'MC' => '摩纳哥',
'MD' => '摩尔多瓦',
'ME' => '黑山',
'MF' => '法属圣马丁',
'MG' => '马达加斯加',
'MH' => '马绍尔群岛',
'MK' => '马其顿、前南斯拉夫共和国',
'ML' => '马里',
'MM' => '缅甸',
'MN' => '蒙古',
'MO' => '中国澳门',
'MP' => '北马里亚纳群岛',
'MQ' => '马提尼克岛',
'MR' => '毛里塔尼亚',
'MS' => '蒙特塞拉特',
'MT' => '马耳他',
'MU' => '毛里求斯',
'MV' => '马尔代夫',
'MW' => '马拉维',
'MX' => '墨西哥',
'MY' => '马来西亚',
'MZ' => '莫桑比克',
'N/A' => '不适用(本地IP…)',
'NA' => '纳米比亚',
'NC' => '新喀里多尼亚',
'NE' => '尼日尔',
'NF' => '诺福尔克岛',
'NG' => '尼日利亚',
'NI' => '尼加拉瓜',
'NL' => '荷兰',
'NO' => '挪威',
'NP' => '尼泊尔',
'NR' => '瑙鲁',
'NU' => '纽埃',
'NZ' => '新西兰',
'OM' => '阿曼',
'PA' => '巴拿马',
'PE' => '秘鲁',
'PF' => '法属波利尼西亚',
'PG' => '巴布亚新几内亚',
'PH' => '菲律宾',
'PK' => '巴基斯坦',
'PL' => '波兰',
'PM' => '圣皮埃尔和密克隆',
'PN' => '皮特凯恩群岛',
'PR' => '波多黎各',
'PS' => '巴勒斯坦',
'PT' => '葡萄牙',
'PW' => '帕劳',
'PY' => '巴拉圭',
'QA' => '卡塔尔',
'RE' => '留尼旺',
'RO' => '罗马尼亚',
'RS' => '塞尔维亚',
'RU' => '俄罗斯',
'RW' => '卢旺达',
'SA' => '沙特阿拉伯',
'SB' => '所罗门群岛',
'SC' => '塞舌尔',
'SD' => '苏丹',
'SE' => '瑞典',
'SG' => '新加坡',
'SH' => '圣赫勒拿、阿森松与特里斯坦达库尼亚',
'SI' => '斯洛文尼亚',
'SJ' => '斯瓦尔巴和扬马延岛',
'SK' => '斯洛伐克',
'SL' => '塞拉利昂',
'SM' => '圣马力诺',
'SN' => '塞内加尔',
'SO' => '索马里',
'SR' => '苏里南',
'SS' => '南苏丹',
'ST' => '圣多美和普林西比',
'SV' => '萨尔瓦多',
'SX' => '荷属圣马丁',
'SY' => '叙利亚',
'SZ' => '斯威士兰',
'TC' => '特克斯和凯科斯群岛',
'TD' => '乍得',
'TF' => '法属南半球领地',
'TG' => '多哥',
'TH' => '泰国',
'TJ' => '塔吉克斯坦',
'TK' => '托克劳',
'TL' => '东帝汶',
'TM' => '土库曼斯坦',
'TN' => '突尼斯',
'TO' => '汤加',
'TR' => '土耳其',
'TT' => '特立尼达和多巴哥',
'TV' => '图瓦卢',
'TW' => '中国台湾',
'TZ' => '坦桑尼亚',
'UA' => '乌克兰',
'UG' => '乌干达',
'UM' => '美国本土外小岛屿',
'US' => '美国',
'UY' => '乌拉圭',
'UZ' => '乌兹别克斯坦',
'VA' => '梵蒂冈',
'VC' => '圣文森特和格林纳丁斯',
'VE' => '委内瑞拉',
'VG' => '英属维京群岛',
'VI' => '美属维京群岛',
'VN' => '越南',
'VU' => '瓦努阿图',
'WF' => '瓦利斯和富图纳',
'WS' => '萨摩亚',
'YE' => '也门',
'YT' => '马约特',
'ZA' => '南非',
'ZM' => '赞比亚',
'ZW' => '津巴布韦',
];

View File

@ -0,0 +1,28 @@
<?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 [
'home' => '管理面板',
'welcome_message' => '欢迎来到管理区域!',
'podcasts' => [
'title' => '播客',
'not_found' => '没有已发布的播客',
'last_published' => '最后发布于 {lastPublicationDate}',
],
'episodes' => [
'title' => '剧集',
'not_found' => '没有已发布的剧集',
'last_published' => '最后发布于 {lastPublicationDate}',
],
'storage' => [
'title' => '存储',
'subtitle' => '{totalUploaded} 共 {totalStorage}',
],
];

View File

@ -0,0 +1,202 @@
<?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' => '第 {seasonNumber} 季',
'season_abbr' => '第 {seasonNumber} 季',
'number' => '第 {episodeNumber} 集',
'number_abbr' => '第 {episodeNumber} 集',
'season_episode' => '第 {seasonNumber} 季第 {episodeNumber} 集',
'season_episode_abbr' => '第 {seasonNumber} 季第 {episodeNumber} 集',
'number_of_comments' => '{numberOfComments, plural,
other {# 评论}
other {# 评论}
}',
'all_podcast_episodes' => '所有播客剧集',
'back_to_podcast' => '返回播客',
'edit' => '编辑',
'publish' => '发布',
'publish_edit' => '编辑发布',
'unpublish' => '取消发布',
'publish_error' => '剧集已被发布。',
'publish_edit_error' => '剧集已被发布。',
'publish_cancel_error' => '剧集已被发布。',
'unpublish_error' => '剧集尚未发布。',
'delete' => '删除',
'go_to_page' => '转到页面',
'create' => '添加剧集',
'publication_status' => [
'published' => '已发布',
'with_podcast' => '已发布',
'scheduled' => '已预约',
'not_published' => '未发布',
],
'with_podcast_hint' => '与播客同时发布',
'list' => [
'search' => [
'placeholder' => '搜索剧集',
'clear' => '清除搜索内容',
'submit' => '搜索',
],
'number_of_episodes' => '{numberOfEpisodes, plural,
other {# 剧集}
other {# 剧集}
}',
'episode' => '剧集',
'visibility' => '可见性',
'comments' => '评论',
'actions' => '操作',
],
'messages' => [
'createSuccess' => '剧集已创建!',
'editSuccess' => '剧集已更新!',
'publishSuccess' => '{publication_status, select,
published {剧集已成功发布!}
scheduled {剧集已成功预约!}
with_podcast {剧集将与播客同时发布。}
other {此剧集未发布。}
}',
'publishCancelSuccess' => '成功取消剧集发布!',
'unpublishBeforeDeleteTip' => '你必须在删除之前取消发布剧集。',
'scheduleDateError' => '计划日期必须设置!',
'deletePublishedEpisodeError' => '请在删除之前取消发布该剧集。',
'deleteSuccess' => '已删除剧集!',
'deleteError' => '未能删除剧集 {type, select,
transcript {字幕}
chapters {章节}
image {封面}
audio {音频}
other {媒体}
}',
'deleteFileError' => '无法删除 {type, select,
transcript {字幕}
chapters {章节}
image {封面}
audio {音频}
other {媒体}
} 文件 {file_path}。您可以手动将其从磁盘删除。',
'sameSlugError' => '选中的剧集已存在。',
],
'form' => [
'file_size_error' =>
'你的文件太大了!最大尺寸是 {0}。 在你的 php 配置文件中增加`memory_limit`, `upload_max_filesize` 和 `post_max_size` 值,然后重启你的 web 服务器上传文件。',
'audio_file' => '音频文件',
'audio_file_hint' => '选择一个 .mp3 或 .m4a 音频文件。',
'info_section_title' => '剧集信息',
'cover' => '剧集封面',
'cover_hint' =>
'如果你没有设置封面,将使用播客封面。',
'cover_size_hint' => '封面必须是方形,而且至少 1400 px 宽度和高度。',
'title' => '标题',
'title_hint' =>
'应包含清晰简洁的剧集名称。 不要在此处指定剧集或季编号。',
'permalink' => '永久链接',
'season_number' => '季',
'episode_number' => '剧集',
'type' => [
'label' => '类型',
'full' => '全屏',
'full_hint' => '完整内容 (剧集)',
'trailer' => '预告片',
'trailer_hint' => '代表当前剧集的的摘要',
'bonus' => '奖金',
'bonus_hint' => '剧集趣闻(例如,幕后信息与对演员的采访)或另一个剧集的推荐',
],
'parental_advisory' => [
'label' => '警告标记',
'hint' => '剧集是否包含限制级内容?',
'undefined' => '未定义',
'clean' => '清理',
'explicit' => '限制级',
],
'show_notes_section_title' => '显示备注',
'show_notes_section_subtitle' =>
'清晰简洁,最多 4000 个字。显示笔记能帮助潜在的听众找到剧集。',
'description' => '描述',
'description_footer' => '说明页脚',
'description_footer_hint' =>
'此文本添加在每集描述的末尾,例如,是输入你链接的好位置。',
'additional_files_section_title' => '附件',
'additional_files_section_subtitle' =>
'这些文件可能被其他播客平台用来生成提供更好的体验。 想要了解,请参阅 {podcastNamespaceLink}。',
'location_section_title' => '位置',
'location_section_subtitle' => '这个剧集在哪里?',
'location_name' => '位置名称或地址',
'location_name_hint' => '真或假位置都可以',
'transcript' => '字幕(字幕/隐藏字幕)',
'transcript_hint' => '仅允许使用 .srt。',
'transcript_download' => '下载字幕',
'transcript_file' => '字幕文件(.srt)',
'transcript_remote_url' => '用于字幕的网址',
'transcript_file_delete' => '删除字幕文件',
'chapters' => '章节',
'chapters_hint' => '文件必须为 JSON 格式。',
'chapters_download' => '下载章节',
'chapters_file' => '章节文件',
'chapters_remote_url' => '章节文件网址',
'chapters_file_delete' => '删除章节文件',
'advanced_section_title' => '高级参数',
'advanced_section_subtitle' =>
'如果你不需要 Castopod 处理某些订阅源标签,请在此处设置。',
'custom_rss' => '剧集的自定义订阅标签',
'custom_rss_hint' => '这将被注入到 ❬item❭ 标签中。',
'block' => '剧集应该在公共目录中隐藏',
'block_hint' =>
'剧集显示或隐藏状态:打开此选项可防止整个剧集出现在 Apple 播客、Google 播客以及从此目录中提取剧集的任何第三方应用程序中。(不保证)',
'submit_create' => '创建剧集',
'submit_edit' => '保存剧集',
],
'publish_form' => [
'back_to_episode_dashboard' => '返回剧集控制面板',
'post' => '你的公告播文',
'post_hint' =>
"写一条消息来宣布你有剧集发布。 此消息将向联邦宇宙中所有你的关注者推送,并在你的播客主页中出现。",
'message_placeholder' => '写下你的消息…',
'publication_date' => '发布日期',
'publication_method' => [
'now' => '现在',
'schedule' => '计划',
'with_podcast' => '与播客一起发布',
],
'scheduled_publication_date' => '计划发布日期',
'scheduled_publication_date_clear' => '清除发布日期',
'scheduled_publication_date_hint' =>
'你可以通过设置未来发布日期来安排剧集发布。此字段必须格式为 YYYY-MM-DD HH:mm',
'submit' => '发布',
'submit_edit' => '编辑发布',
'cancel_publication' => '取消发布',
'message_warning' => '你没有为你的公告播文写一条消息!',
'message_warning_hint' => '有消息发送可以增加社交参与度,从而提高你的剧集曝光度。',
'message_warning_submit' => '仍然发布',
],
'unpublish_form' => [
'disclaimer' =>
"取消发布该剧集将删除相关的所有评论和播文,并将其从播客的订阅源中删除。",
'understand' => '我明白,我想取消发布此剧集',
'submit' => '取消发布',
],
'delete_form' => [
'disclaimer' =>
"删除剧集将删除相关的所有媒体文件、评论、视频素材和原声摘要。",
'understand' => '我明白,我想删除剧集',
'submit' => '删除',
],
'embed' => [
'title' => '嵌入式播放器',
'label' =>
'选择主题色,将嵌入式播放器复制到剪贴板,然后粘贴到你的网站。',
'clipboard_iframe' => '复制嵌入播放器到剪贴板',
'clipboard_url' => '复制地址到剪贴板',
'dark' => '暗色',
'dark-transparent' => '暗色透明',
'light' => '亮色',
'light-transparent' => '亮色透明',
],
];

View File

@ -0,0 +1,23 @@
<?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 [
'go_to_page' => '查看剧集页面',
'dashboard' => '剧集控制面板',
'episode-view' => '主页',
'episode-edit' => '编辑剧集',
'episode-persons-manage' => '管理员',
'embed-add' => '嵌入式播放器',
'clips' => '素材',
'video-clips-list' => '视频素材',
'video-clips-create' => '新建视频素材',
'soundbites-list' => '原声摘要',
'soundbites-create' => '新建原声摘要',
];

View File

@ -0,0 +1,32 @@
<?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 [
'messages' => [
'actorNotFound' => '无法找到此帐户!',
'blockActorSuccess' => '{actor} 已被封禁!',
'unblockActorSuccess' => '该用户已被解除封禁',
'blockDomainSuccess' => '{domain} 已被封禁!',
'unblockDomainSuccess' => '{domain} 已解除封禁。',
],
'blocked_actors' => '已屏蔽帐户',
'blocked_domains' => '已屏蔽域名',
'block_lists_form' => [
'handle' => '帐户名称',
'handle_hint' => '输入 @username@domain 帐户。',
'domain' => '域名',
'submit' => '封禁!',
],
'list' => [
'actor' => '帐户',
'domain' => '域名',
'unblock' => '解除封禁',
],
];

View File

@ -0,0 +1,14 @@
<?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' => '全部播客',
'no_podcast' => '没有找到播客',
];

View File

@ -0,0 +1,61 @@
<?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 [
'manual_config' => '手动配置',
'manual_config_subtitle' =>
'创建一个带有你设置的“.env”文件并刷新页面以继续安装。',
'form' => [
'instance_config' => '实例配置',
'hostname' => '主机名',
'media_base_url' => '媒体基础 URL',
'media_base_url_hint' =>
'如果你使用 CDN 和/或外部分析服务,可以在此处设置它们。',
'admin_gateway' => '管理网关',
'admin_gateway_hint' =>
'访问管理区域的路由(例如https://example.com/cp-admin)。默认设置为 cp-admin处于安全原因我们建议你修改它。',
'auth_gateway' => '认证网关',
'auth_gateway_hint' =>
'访问认证页面的路由(例如https://example.com/cp-auth)。默认设置为 cp-auth处于安全原因我们建议你修改它。',
'database_config' => '数据库配置',
'database_config_hint' =>
'Castopod 需要连接到你的 MySQL (or MariaDB) 数据库。如果你没有这些所需信息,请联系你的服务器管理员。',
'db_hostname' => '数据库主机',
'db_name' => '数据库名',
'db_username' => '数据库用户名',
'db_password' => '数据库密码',
'db_prefix' => '数据库前缀',
'db_prefix_hint' =>
"Castopod 表名的前缀,如果您不知道它的含义,请保持默认。",
'cache_config' => '缓存配置',
'cache_config_hint' =>
'选择你喜欢的缓存处理程序。如果你不知道它的含义,请保留默认值。',
'cache_handler' => '缓存处理方法',
'cacheHandlerOptions' => [
'file' => '文件',
'redis' => 'Redis',
'predis' => 'Predis',
],
'next' => '下一步',
'submit' => '完成安装',
'create_superadmin' => '创建你的超级管理员帐户',
'email' => '邮箱',
'username' => '用户名',
'password' => '密码',
],
'messages' => [
'createSuperAdminSuccess' =>
'你的超级管理员帐户已创建。登录开始播客!',
'databaseConnectError' =>
'Castopod 无法连接到你的数据库。编辑你的数据库配置,然后重试。',
'writeError' =>
"无法创建或写入 `.env` 文件。你必须手动按照 Castopod 中的 `.env.example` 文件模板创建它。",
],
];

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