chore(i18n): new Crowdin updates

This commit is contained in:
crowdin 2023-07-27 10:49:25 +00:00 committed by Yassine Doghri
parent 8ae292933a
commit dfa93ff8e3
64 changed files with 382 additions and 393 deletions

View File

@ -25,6 +25,7 @@ return [
one {# post} one {# post}
other {# posts} other {# posts}
}', }',
'links' => 'Links',
'activity' => 'النشاط', 'activity' => 'النشاط',
'episodes' => 'الحلقات', 'episodes' => 'الحلقات',
'episodes_title' => 'حلقات {podcastTitle}', 'episodes_title' => 'حلقات {podcastTitle}',

View File

@ -61,6 +61,7 @@ return [
84 {# c\'hemennadenn} 84 {# c\'hemennadenn}
89 {# c\'hemennadenn} 89 {# c\'hemennadenn}
}', }',
'links' => 'Links',
'activity' => 'Oberiantiz', 'activity' => 'Oberiantiz',
'episodes' => 'Rannoù', 'episodes' => 'Rannoù',
'episodes_title' => 'Rannoù {podcastTitle}', 'episodes_title' => 'Rannoù {podcastTitle}',

View File

@ -25,6 +25,7 @@ return [
one {# publicació} one {# publicació}
other {# publicacions} other {# publicacions}
}', }',
'links' => 'Links',
'activity' => 'Activitat', 'activity' => 'Activitat',
'episodes' => 'Episodis', 'episodes' => 'Episodis',
'episodes_title' => 'Episodis de {podcastTitle}', 'episodes_title' => 'Episodis de {podcastTitle}',

View File

@ -25,6 +25,7 @@ return [
one {# post} one {# post}
other {# posts} other {# posts}
}', }',
'links' => 'Links',
'activity' => 'Activity', 'activity' => 'Activity',
'episodes' => 'Episodes', 'episodes' => 'Episodes',
'episodes_title' => 'Episodes of {podcastTitle}', 'episodes_title' => 'Episodes of {podcastTitle}',

View File

@ -25,6 +25,7 @@ return [
one {# Beitrag} one {# Beitrag}
other {# Beiträge} other {# Beiträge}
}', }',
'links' => 'Links',
'activity' => 'Aktivitäten', 'activity' => 'Aktivitäten',
'episodes' => 'Episoden', 'episodes' => 'Episoden',
'episodes_title' => 'Folgen von {podcastTitle}', 'episodes_title' => 'Folgen von {podcastTitle}',

View File

@ -25,6 +25,7 @@ return [
one {# δημοσίευση} one {# δημοσίευση}
other {# δημοσιεύσεις} other {# δημοσιεύσεις}
}', }',
'links' => 'Links',
'activity' => 'Δραστηριότητα', 'activity' => 'Δραστηριότητα',
'episodes' => 'Επεισόδια', 'episodes' => 'Επεισόδια',
'episodes_title' => 'Επεισόδια του {podcastTitle}', 'episodes_title' => 'Επεισόδια του {podcastTitle}',

View File

@ -25,6 +25,7 @@ return [
one {# publicación} one {# publicación}
other {# publicaciones} other {# publicaciones}
}', }',
'links' => 'Links',
'activity' => 'Actividad', 'activity' => 'Actividad',
'episodes' => 'Episodios', 'episodes' => 'Episodios',
'episodes_title' => 'Episodios de {podcastTitle}', 'episodes_title' => 'Episodios de {podcastTitle}',

View File

@ -18,12 +18,10 @@ return [
'submit_reply' => 'پاسخ', 'submit_reply' => 'پاسخ',
], ],
'likes' => '{numberOfLikes, plural, 'likes' => '{numberOfLikes, plural,
one {# like} other {# پسند}
other {# likes}
}', }',
'replies' => '{numberOfReplies, plural, 'replies' => '{numberOfReplies, plural,
one {# reply} other {# پاسخ}
other {# replies}
}', }',
'like' => 'پسند', 'like' => 'پسند',
'reply' => 'پاسخ', 'reply' => 'پاسخ',

View File

@ -15,7 +15,7 @@ return [
'optional' => 'اختیاری', 'optional' => 'اختیاری',
'close' => 'بستن', 'close' => 'بستن',
'home' => 'خانه', 'home' => 'خانه',
'explicit' => 'Explicit', 'explicit' => 'صریح',
'powered_by' => 'نیرو گرفته از {castopod}', 'powered_by' => 'نیرو گرفته از {castopod}',
'go_back' => 'بازگشت', 'go_back' => 'بازگشت',
'play_episode_button' => [ 'play_episode_button' => [

View File

@ -16,8 +16,7 @@ return [
'season_episode' => 'قسمت {episodeNumber} فصل {seasonNumber}', 'season_episode' => 'قسمت {episodeNumber} فصل {seasonNumber}',
'season_episode_abbr' => 'ف{seasonNumber}: ق{episodeNumber}', 'season_episode_abbr' => 'ف{seasonNumber}: ق{episodeNumber}',
'persons' => '{personsCount, plural, 'persons' => '{personsCount, plural,
one {# person} other {# نفر}
other {# persons}
}', }',
'persons_list' => 'نفر', 'persons_list' => 'نفر',
'back_to_episodes' => 'بازگشت به قسمت‌های {podcast}', 'back_to_episodes' => 'بازگشت به قسمت‌های {podcast}',
@ -25,8 +24,7 @@ return [
'activity' => 'فعّالیت', 'activity' => 'فعّالیت',
'description' => 'شرح قسمت', 'description' => 'شرح قسمت',
'number_of_comments' => '{numberOfComments, plural, 'number_of_comments' => '{numberOfComments, plural,
one {# comment} other {# نظر}
other {# comments}
}', }',
'all_podcast_episodes' => 'تمامی قسمت‌های پادکست', 'all_podcast_episodes' => 'تمامی قسمت‌های پادکست',
'back_to_podcast' => 'بازگشت به پادکست', 'back_to_podcast' => 'بازگشت به پادکست',

View File

@ -9,8 +9,8 @@ declare(strict_types=1);
*/ */
return [ return [
'your_handle' => 'Your handle', 'your_handle' => 'شناسه‌تان',
'your_handle_hint' => 'Enter the @username@domain you want to act from.', 'your_handle_hint' => '@username@domainای که می‌خواهید کنشتان از آن باشد را وارد کنید.',
'follow' => [ 'follow' => [
'label' => 'پی‌گیری', 'label' => 'پی‌گیری',
'title' => 'پی‌گیری {actorDisplayName}', 'title' => 'پی‌گیری {actorDisplayName}',

View File

@ -18,13 +18,12 @@ return [
'follow' => 'پی‌گیری', 'follow' => 'پی‌گیری',
'followTitle' => 'پی‌گیری {actorDisplayName} روی فدیورس!', 'followTitle' => 'پی‌گیری {actorDisplayName} روی فدیورس!',
'followers' => '{numberOfFollowers, plural, 'followers' => '{numberOfFollowers, plural,
one {# follower} other {# پی‌گیر}
other {# followers}
}', }',
'posts' => '{numberOfPosts, plural, 'posts' => '{numberOfPosts, plural,
one {# post} other {# فرسته}
other {# posts}
}', }',
'links' => 'Links',
'activity' => 'فعّالیت', 'activity' => 'فعّالیت',
'episodes' => 'قسمت‌ها', 'episodes' => 'قسمت‌ها',
'episodes_title' => 'قسمت‌های {podcastTitle}', 'episodes_title' => 'قسمت‌های {podcastTitle}',
@ -32,12 +31,10 @@ return [
'stats' => [ 'stats' => [
'title' => 'آمار', 'title' => 'آمار',
'number_of_seasons' => '{0, plural, 'number_of_seasons' => '{0, plural,
one {# season} other {# فصل}
other {# seasons}
}', }',
'number_of_episodes' => '{0, plural, 'number_of_episodes' => '{0, plural,
one {# episode} other {# قسمت}
other {# episodes}
}', }',
'first_published_at' => 'قسمت نخست منتشر شده روی {0, date, medium}', 'first_published_at' => 'قسمت نخست منتشر شده روی {0, date, medium}',
], ],
@ -46,8 +43,7 @@ return [
'find_on' => 'یافتن {podcastTitle} روی', 'find_on' => 'یافتن {podcastTitle} روی',
'listen_on' => 'شنیدن روی', 'listen_on' => 'شنیدن روی',
'persons' => '{personsCount, plural, 'persons' => '{personsCount, plural,
one {# person} other {# نفر}
other {# persons}
}', }',
'persons_list' => 'نفر', 'persons_list' => 'نفر',
]; ];

View File

@ -22,16 +22,13 @@ return [
'submit_reply' => 'پاسخ', 'submit_reply' => 'پاسخ',
], ],
'favourites' => '{numberOfFavourites, plural, 'favourites' => '{numberOfFavourites, plural,
one {# favourite} other {# برگزیده}
other {# favourites}
}', }',
'reblogs' => '{numberOfReblogs, plural, 'reblogs' => '{numberOfReblogs, plural,
one {# share} other {# هم‌رسانی}
other {# shares}
}', }',
'replies' => '{numberOfReplies, plural, 'replies' => '{numberOfReplies, plural,
one {# reply} other {# پاسخ}
other {# replies}
}', }',
'expand' => 'گسترش فرسته', 'expand' => 'گسترش فرسته',
'block_actor' => 'انسداد کاربر @{actorUsername}', 'block_actor' => 'انسداد کاربر @{actorUsername}',

View File

@ -25,6 +25,7 @@ return [
one {# publication} one {# publication}
other {# publications} other {# publications}
}', }',
'links' => 'Links',
'activity' => 'Activité', 'activity' => 'Activité',
'episodes' => 'Épisodes', 'episodes' => 'Épisodes',
'episodes_title' => 'Épisodes de {podcastTitle}', 'episodes_title' => 'Épisodes de {podcastTitle}',

View File

@ -25,6 +25,7 @@ return [
one {# publication} one {# publication}
other {# publications} other {# publications}
}', }',
'links' => 'Links',
'activity' => 'Activité', 'activity' => 'Activité',
'episodes' => 'Épisodes', 'episodes' => 'Épisodes',
'episodes_title' => 'Épisodes de {podcastTitle}', 'episodes_title' => 'Épisodes de {podcastTitle}',

View File

@ -25,6 +25,7 @@ return [
one {# post} one {# post}
other {# posts} other {# posts}
}', }',
'links' => 'Links',
'activity' => 'Activity', 'activity' => 'Activity',
'episodes' => 'Episodes', 'episodes' => 'Episodes',
'episodes_title' => 'Episodes of {podcastTitle}', 'episodes_title' => 'Episodes of {podcastTitle}',

View File

@ -29,6 +29,7 @@ return [
few {# postaichean} few {# postaichean}
other {# post} other {# post}
}', }',
'links' => 'Links',
'activity' => 'Gnìomhachd', 'activity' => 'Gnìomhachd',
'episodes' => 'Eapasodan', 'episodes' => 'Eapasodan',
'episodes_title' => 'Eapasodan aig {podcastTitle}', 'episodes_title' => 'Eapasodan aig {podcastTitle}',

View File

@ -25,6 +25,7 @@ return [
one {# publicación} one {# publicación}
other {# publicacións} other {# publicacións}
}', }',
'links' => 'Links',
'activity' => 'Actividade', 'activity' => 'Actividade',
'episodes' => 'Episodios', 'episodes' => 'Episodios',
'episodes_title' => 'Episodios de {podcastTitle}', 'episodes_title' => 'Episodios de {podcastTitle}',

View File

@ -23,6 +23,7 @@ return [
'posts' => '{numberOfPosts, plural, 'posts' => '{numberOfPosts, plural,
other {# postingan} other {# postingan}
}', }',
'links' => 'Links',
'activity' => 'Aktivitas', 'activity' => 'Aktivitas',
'episodes' => 'Episode', 'episodes' => 'Episode',
'episodes_title' => 'Episode-episode {podcastTitle}', 'episodes_title' => 'Episode-episode {podcastTitle}',

View File

@ -25,6 +25,7 @@ return [
one {# post} one {# post}
other {# posts} other {# posts}
}', }',
'links' => 'Links',
'activity' => 'Attività', 'activity' => 'Attività',
'episodes' => 'Episodi', 'episodes' => 'Episodi',
'episodes_title' => 'Episodi di {podcastTitle}', 'episodes_title' => 'Episodi di {podcastTitle}',

View File

@ -25,6 +25,7 @@ return [
one {# post} one {# post}
other {# posts} other {# posts}
}', }',
'links' => 'Links',
'activity' => 'Activity', 'activity' => 'Activity',
'episodes' => 'Episodes', 'episodes' => 'Episodes',
'episodes_title' => 'Episodes of {podcastTitle}', 'episodes_title' => 'Episodes of {podcastTitle}',

View File

@ -25,6 +25,7 @@ return [
one {# post} one {# post}
other {# posts} other {# posts}
}', }',
'links' => 'Links',
'activity' => 'Activity', 'activity' => 'Activity',
'episodes' => 'Episodes', 'episodes' => 'Episodes',
'episodes_title' => 'Episodes of {podcastTitle}', 'episodes_title' => 'Episodes of {podcastTitle}',

View File

@ -25,6 +25,7 @@ return [
one {# bericht} one {# bericht}
other {# berichten} other {# berichten}
}', }',
'links' => 'Links',
'activity' => 'Activiteit', 'activity' => 'Activiteit',
'episodes' => 'Afleveringen', 'episodes' => 'Afleveringen',
'episodes_title' => 'Afleveringen van {podcastTitle}', 'episodes_title' => 'Afleveringen van {podcastTitle}',

View File

@ -25,6 +25,7 @@ return [
one {# innlegg} one {# innlegg}
other {# innlegg} other {# innlegg}
}', }',
'links' => 'Links',
'activity' => 'Aktivitet', 'activity' => 'Aktivitet',
'episodes' => 'Episodar', 'episodes' => 'Episodar',
'episodes_title' => 'Episodar av {podcastTitle}', 'episodes_title' => 'Episodar av {podcastTitle}',

View File

@ -25,6 +25,7 @@ return [
one {# post} one {# post}
other {# posts} other {# posts}
}', }',
'links' => 'Links',
'activity' => 'Activity', 'activity' => 'Activity',
'episodes' => 'Episodes', 'episodes' => 'Episodes',
'episodes_title' => 'Episodes of {podcastTitle}', 'episodes_title' => 'Episodes of {podcastTitle}',

View File

@ -27,6 +27,7 @@ return [
few {# osoby} few {# osoby}
other {# osób} other {# osób}
}', }',
'links' => 'Links',
'activity' => 'Aktywność', 'activity' => 'Aktywność',
'episodes' => 'Odcinki', 'episodes' => 'Odcinki',
'episodes_title' => 'Odcinki {podcastTitle}', 'episodes_title' => 'Odcinki {podcastTitle}',

View File

@ -25,6 +25,7 @@ return [
one {# publicação} one {# publicação}
other {# publicações} other {# publicações}
}', }',
'links' => 'Links',
'activity' => 'Atividade', 'activity' => 'Atividade',
'episodes' => 'Episódios', 'episodes' => 'Episódios',
'episodes_title' => 'Episódios de {podcastTitle}', 'episodes_title' => 'Episódios de {podcastTitle}',

View File

@ -25,6 +25,7 @@ return [
one {# post} one {# post}
other {# posts} other {# posts}
}', }',
'links' => 'Links',
'activity' => 'Activity', 'activity' => 'Activity',
'episodes' => 'Episodes', 'episodes' => 'Episodes',
'episodes_title' => 'Episodes of {podcastTitle}', 'episodes_title' => 'Episodes of {podcastTitle}',

View File

@ -27,6 +27,7 @@ return [
few {# postări} few {# postări}
other {# postări} other {# postări}
}', }',
'links' => 'Links',
'activity' => 'Activitate', 'activity' => 'Activitate',
'episodes' => 'Episoade', 'episodes' => 'Episoade',
'episodes_title' => 'Episoadele podcastului {podcastTitle}', 'episodes_title' => 'Episoadele podcastului {podcastTitle}',

View File

@ -25,6 +25,7 @@ return [
one {# post} one {# post}
other {# posts} other {# posts}
}', }',
'links' => 'Links',
'activity' => 'Активность', 'activity' => 'Активность',
'episodes' => 'Выпуски', 'episodes' => 'Выпуски',
'episodes_title' => 'Выпуски {podcastTitle}', 'episodes_title' => 'Выпуски {podcastTitle}',

View File

@ -29,6 +29,7 @@ return [
many {# príspevkov} many {# príspevkov}
other {# príspevkov} other {# príspevkov}
}', }',
'links' => 'Links',
'activity' => 'Aktivita', 'activity' => 'Aktivita',
'episodes' => 'Časti', 'episodes' => 'Časti',
'episodes_title' => 'Časti {podcastTitle}', 'episodes_title' => 'Časti {podcastTitle}',

View File

@ -25,6 +25,7 @@ return [
few {# objave} few {# objave}
other {# objava} other {# objava}
}', }',
'links' => 'Links',
'activity' => 'Aktivnost', 'activity' => 'Aktivnost',
'episodes' => 'Epizode', 'episodes' => 'Epizode',
'episodes_title' => 'Epizode {podcastTitle}', 'episodes_title' => 'Epizode {podcastTitle}',

View File

@ -25,6 +25,7 @@ return [
one {# inlägg} one {# inlägg}
other {# inlägg} other {# inlägg}
}', }',
'links' => 'Links',
'activity' => 'Aktivitet', 'activity' => 'Aktivitet',
'episodes' => 'Avsnitt', 'episodes' => 'Avsnitt',
'episodes_title' => 'Avsnitt av {podcastTitle}', 'episodes_title' => 'Avsnitt av {podcastTitle}',

View File

@ -25,6 +25,7 @@ return [
one {# post} one {# post}
other {# posts} other {# posts}
}', }',
'links' => 'Links',
'activity' => 'Activity', 'activity' => 'Activity',
'episodes' => 'Episodes', 'episodes' => 'Episodes',
'episodes_title' => 'Episodes of {podcastTitle}', 'episodes_title' => 'Episodes of {podcastTitle}',

View File

@ -25,7 +25,7 @@ return [
'activity' => '活动', 'activity' => '活动',
'description' => '剧集描述', 'description' => '剧集描述',
'number_of_comments' => '{numberOfComments, plural, 'number_of_comments' => '{numberOfComments, plural,
one {# 评论} other {# 评论}
other {# 评论} other {# 评论}
}', }',
'all_podcast_episodes' => '所有播客剧集', 'all_podcast_episodes' => '所有播客剧集',

View File

@ -9,7 +9,7 @@ declare(strict_types=1);
*/ */
return [ return [
'feed' => '播客订阅源', 'feed' => '播客 RSS 摘要',
'season' => '第 {seasonNumber} 季', 'season' => '第 {seasonNumber} 季',
'list_of_episodes_year' => '{year} 剧集 ({episodeCount})', 'list_of_episodes_year' => '{year} 剧集 ({episodeCount})',
'list_of_episodes_season' => 'list_of_episodes_season' =>
@ -25,6 +25,7 @@ return [
one {# 帖子} one {# 帖子}
other {# 帖子} other {# 帖子}
}}', }}',
'links' => 'Links',
'activity' => '活动', 'activity' => '活动',
'episodes' => '剧集', 'episodes' => '剧集',
'episodes_title' => '{podcastTitle} 的剧集', 'episodes_title' => '{podcastTitle} 的剧集',

View File

@ -20,13 +20,13 @@ Se você prefere usar o Docker, você pode pular isso e ir direto para a
## Requisitos ## Requisitos
- PHP v8.1 only - Somente PHP v8.1
- MySQL versão 5.7 ou superior ou MariaDB versão 10.2 ou superior - MySQL versão 5.7 ou superior ou MariaDB versão 10.2 ou superior
- Suporte a HTTPS - Suporte a HTTPS
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's - An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
incoming requests incoming requests
### PHP v8.1 only ### Somento PHP v8.1
PHP version 8.1 is required, with the following extensions installed: PHP version 8.1 is required, with the following extensions installed:

View File

@ -7,8 +7,8 @@ sidebarDepth: 3
Castopod 在其自动构建期间会将 3 个 Docker 映像推送到 Docker Hub Castopod 在其自动构建期间会将 3 个 Docker 映像推送到 Docker Hub
- [**`castopod/castopod`**](https://hub.docker.com/r/castopod/castopod): an all - [**`castopod/castopod`**](https://hub.docker.com/r/castopod/castopod);一个使
in one castopod image using nginx unit 用 nginx 单元的整合 Castopod 镜像
- [**`castopod/app`**](https://hub.docker.com/r/castopod/app):应用程序包,包含 - [**`castopod/app`**](https://hub.docker.com/r/castopod/app):应用程序包,包含
所有 Castopod 依赖关系 所有 Castopod 依赖关系
- [**`castopod/web-server`**](https://hub.docker.com/r/castopod/web-server)Castopod - [**`castopod/web-server`**](https://hub.docker.com/r/castopod/web-server)Castopod
@ -108,7 +108,7 @@ Castopod 在其自动构建期间会将 3 个 Docker 映像推送到 Docker Hub
## 环境变量 ## 环境变量
- **castopod/castopod** and **castopod/app** - **castopod/castopod** **castopod/app**
| 变量名称 | 类型 (`默认值`) | Default | | 变量名称 | 类型 (`默认值`) | Default |
| ------------------------------------- | ----------------------- | ---------------- | | ------------------------------------- | ----------------------- | ---------------- |

View File

@ -19,15 +19,14 @@ Castopod 的安装非常简单。 你能在大多数兼容的 PHP-MySQL 的服
## 要求 ## 要求
- PHP v8.1 only - PHP v8.1
- MySQL 5.7 或更高版本与 MariaDB 10.2 或更高版本 - MySQL 5.7 或更高版本与 MariaDB 10.2 或更高版本
- HTTPS 支持 - HTTPS 支持
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's - 用于验证的 [NTP 同步时钟](https://wiki.debian.org/NTP) 传入请求
incoming requests
### PHP v8.1 only ### PHP v8.1
PHP version 8.1 is required, with the following extensions installed: 需要 PHP 8.1,并安装以下扩展:
- [intl](https://php.net/manual/en/intl.requirements.php) - [intl](https://php.net/manual/en/intl.requirements.php)
- [libcurl](https://php.net/manual/en/curl.requirements.php) - [libcurl](https://php.net/manual/en/curl.requirements.php)
@ -86,22 +85,19 @@ Castopod 仅适用于受支持的 MySQL 5.7 或更高版本的兼容数据库。
3. 下载最新的 [Castopod](https://castopod.org/) 到 web 服务器并解压(如果尚未下 3. 下载最新的 [Castopod](https://castopod.org/) 到 web 服务器并解压(如果尚未下
载)。 载)。
- ⚠️ 将 web 服务器根目录设置为 `castopod` 文件夹中的 `public/` 子文件夹。 - ⚠️ 将 web 服务器根目录设置为 `castopod` 文件夹中的 `public/` 子文件夹。
4. Add **cron tasks** on your web server for various background processes 4. 在 Web 服务器上为各种后台进程添加 **cron 任务** (相应地替换路径):
(replace the paths accordingly):
```bash ```bash
* * * * * /path/to/php /path/to/castopod/spark tasks:run >> /dev/null 2>&1 * * * * * /path/to/php /path/to/castopod/spark tasks:run >> /dev/null 2>&1
``` ```
**Note** - If you do not add this cron task, the following Castopod features **注意** - 如果您不添加此 cron 任务,则以下 Castopod 功能不工作:
will not work:
- Importing a podcast from an existing RSS feed - 从现有的 RSS 摘要导入播客文件
- Broadcasting social activities to your followers in the fediverse - 在联邦宇宙中向您的关注者广播社交活动
- Broadcasting episodes to open hubs using - 使用 [WebSub](https://en.wikipedia.org/wiki/WebSub) 开放订阅打开广播剧集
[WebSub](https://en.wikipedia.org/wiki/WebSub) - 生成视频素材 -
- Generating video clips - [需要 FFmpeg](#optional-ffmpeg-v418-or-higher-for-video-clips)
[requires FFmpeg](#optional-ffmpeg-v418-or-higher-for-video-clips)
### (推荐) 安装向导 ### (推荐) 安装向导
@ -146,11 +142,10 @@ email.SMTPPass="你的邮件密码"
| **`SMTPPort`** | number | `25` | | **`SMTPPort`** | number | `25` |
| **`SMTPCrypto`** | [`"tls"` or `"ssl"`] | `"tls"` | | **`SMTPCrypto`** | [`"tls"` or `"ssl"`] | `"tls"` |
### Media storage ### 媒体存储
By default, files are saved to the `public/media` folder using the file system. 默认情况下,文件使用文件系统保存到 `公共/媒体` 文件夹中。 如果您需要将 `media`
If you need to relocate the `media` folder to a different location, you can 文件夹重新定位到其他位置,您可以在您的 `.env` 文件中指定它,如下所示:
specify it in your `.env` file as shown below:
```ini ```ini
# […] # […]
@ -159,13 +154,12 @@ media.root="media"
media.storage="/mnt/storage" media.storage="/mnt/storage"
``` ```
In this example, the files will be saved to the /mnt/storage/media folder. Make 在此示例中,文件将保存到 /mnt/storage/media 文件夹。 请确保同时更新您的 Web 服务
sure to also update your web server configuration to reflect this change. 器配置以应用此更改。
### S3 ### S3
If you prefer storing your media files on an S3 compatible storage, you may 如果您想要将媒体文件存储在 S3 兼容存储上,可以在您的 `.env` 中指定:
specify it in your `.env`:
```ini ```ini
# […] # […]
@ -177,9 +171,9 @@ media.s3.secret="your_s3_secret"
media.s3.region="your_s3_region" media.s3.region="your_s3_region"
``` ```
#### S3 config options #### S3 配置选项
| Variable name | Type | Default | | 变量名称 | 类型 | 默认 |
| ----------------------- | ------- | ----------- | | ----------------------- | ------- | ----------- |
| **`endpoint`** | string | `undefined` | | **`endpoint`** | string | `undefined` |
| **`key`** | string | `undefined` | | **`key`** | string | `undefined` |
@ -192,14 +186,12 @@ media.s3.region="your_s3_region"
## 社区套餐 ## 社区套餐
If you don't want to bother with installing Castopod manually, you may use one 如果你不想手动安装 Castopod可以使用一个由开源社区创建和维护的软件包。
of the packages created and maintained by the open-source community.
### Install with YunoHost ### 使用 YunoHost 安装
[YunoHost](https://yunohost.org/) is a distribution based on Debian GNU/Linux [YunoHost](https://yunohost.org/) 是一个基于 Debian GNU/Linux 的发行版,由免费和
made up of free and open-source software packages. It manages the hardships of 开源软件包组成。 它可以为你解决自托管的困难。
self-hosting for you.
<div class="flex flex-wrap items-center gap-4"> <div class="flex flex-wrap items-center gap-4">

View File

@ -41,7 +41,7 @@ Castopod 易于安装,并使用 [CodeIgniter4](https://codeigniter.com/) 构
- 📲 &nbsp;点击收听广告 - 📲 &nbsp;点击收听广告
- 🤝 &nbsp;value4value / 网络货币化 - 🤝 &nbsp;value4value / 网络货币化
- 💎 &nbsp;高级版播客 - 💎 &nbsp;高级版播客
- 📡 &nbsp;使用 RSS 将你的剧集发布到任何地方 - 📡 &nbsp;使用 RSS 将你的剧集发布到任何地方
- 📱 &nbsp;支持众多索引和应用程序Podcast IndexApple - 📱 &nbsp;支持众多索引和应用程序Podcast IndexApple
PodcastsSpotifyGoogle PodcastsDeezerPodcast AddictPodfriend... PodcastsSpotifyGoogle PodcastsDeezerPodcast AddictPodfriend...
- ⚡ &nbsp;使用 WebSub 即时广播你的剧集 - ⚡ &nbsp;使用 WebSub 即时广播你的剧集
@ -54,85 +54,70 @@ Castopod 易于安装,并使用 [CodeIgniter4](https://codeigniter.com/) 构
## 创作动机 ## 创作动机
The podcasting ecosystem is decentralized by nature: you can create your podcast 播客生态系统本质上是去中心化的:你可以创建自己的播客 RSS 文件,将其发布到网络上
as an RSS file, publish it on the web and have it shared everywhere online. 并在线共享。
It is in fact one of the only media to have stayed this way for a long time. 事实上,它是唯一长期保持这种状态的媒体之一。
As usages are evolving, more and more people are getting into podcasts: whether 随着习惯的发展,越来越多的人开始接触播客:允许创作者寻找新的方式来分享他们的想法
it is creators finding new ways to share their ideas, or listeners in the search ,或是让听众获得更好的内容。
for better content.
With podcasting becoming more widely used, some companies are trying to shift it 随着播客的使用越来越广泛,一些公司正试图控制播客与集中化。
towards a more controlled and centralized medium.
Castopod was created in an effort to provide an open and sustainable alternative Castopod 的创建旨在提供一种开放且可持续的替代方案来托管你的播客,促进权力下放,
to hosting your podcasts, promoting decentralization to ensure that podcasters 确保播客可以用创造力表达自己。
creativity can express itself.
This project is pushed by the open-source community, and specifically by the 此项目由开源社区推动的,特别是
[Fediverse](https://fediverse.party/en/fediverse/) and 由[联邦宇宙](https://fediverse.party/en/fediverse/) 和
[Podcasting 2.0](https://podcastindex.org/) movements. [播客 2.0](https://podcastindex.org/) 推动。
## 与其他解决方案的对比 ## 与其他解决方案的对比
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 决方案的比较,可帮助判断 Castopod 是否适合你。
gauge whether Castopod is the right fit for&nbsp;you.
### Castopod 对比 Wordpress ### Castopod 对比 Wordpress
Castopod is often referred to as "the Wordpress for podcasts" because of the Castopod 经常被称为 “播客中的 Wordpress”因为两者有很多相似之处。 在某些方面,
similarities between the two. In some ways this is true. And actually, Castopod 确实如此。 实际上Castopod 受到 WordPress 生态的极大启发,看到了采用社区的易用
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 就像 Wordpress 一样Castopod 是免费 & 开源的PHP 构建并使用 MySQL 数据库,可以
MySQL database and is packaged in a way that you can easily install on most web 在大多数 Web 服务器上轻松安装。
servers.
Wordpress is a great way to create your website and extend it with plugins to Wordpress 是创建你的网站,并使用插件扩展以获得想要内容的好办法。 这是一个成熟的
get what you want. It is a full fledged CMS that helps you get any type of CMS可以帮助你在线访问任何类型的网站。
website online.
On the other hand, Castopod is meant to address the podcasters needs 另一方面Castopod 旨在专门满足播客的需求,专注于播客,而不是其他。 你不需要任何
specifically, focusing on podcasting, and nothing else. You don't need any 插件即可轻松开始播客之旅。
plugin to get you started on your podcasting&nbsp;journey.
This allows optimizing the processes specific to podcasting: ranging from the 还拥有对播客的独特优化:从播客的创建和新剧集的发布一直到广播,营销和分析。
creation of your podcasts and the publication of new episodes all the way to
broadcasting, marketing and analytics.
Finally, depending on your needs, Wordpress and Castopod can even live side by 最后根据你的需要Wordpress 和 Castopod 甚至可以共存,因为他们有相同的配置环境
side as they share the same requirements!
### Castopod 对比 Funkwhale ### Castopod 对比 Funkwhale
Funkwhale is a self-hosted, modern free and open-source music server. Just as Funkwhale 是一个自托管、现代界面、免费开源的音乐服务器。 就像 Castopod 一样
Castopod, Funkwhale is on the fediverse, a decentralized social network allowing Funkwhale 也位于联邦宇宙中,这是一个去中心化的社交网络,允许两者的互联。
interoperability between the two.
Funkwhale was initially built around music. And later on, as the project Funkwhale 最初是围绕音乐制作的。 后来,随着项目的发展,引入了托管播客的能力。
evolved, the ability to host podcasts was introduced.
Unlike Funkwhale, Castopod has been designed and built around podcasting 与 Funkwhale 不同Castopod 是只围绕播客设计和构建的。 这样可以更简单地实现与播
exclusively. This allows easier implementation for features related to the 客相关的生态系统,例如播客 2.0 功能(报表、 章节、地点、人员…)。
podcasting ecosystem, such as the podcasting 2.0 features (transcripts,
chapters, locations, persons, …).
So, you should probably use Funkwhale if you want to host your music, and use 因此,如果你想托管你的音乐库,你可能应该使用 Funkwhale如果您想主持一个播客
Castopod if you want to host your podcasts. 使用 Castopod。
### Castopod 与其他播客 ### Castopod 与其他播客
There are many solutions for you to host your podcasts, some of which are really 有许多非常棒地解决方案可供你托管播客,并
great and [a lot of them](https://podcastindex.org/apps) are jumping into the 且[很多](https://podcastindex.org/apps)正在搭上播客 2.0 的便车,就像 Castopod 一
Podcasting 2.0 wagon just like Castopod! 样!
Each of these solutions differ from one another, you may compare with the 这些解决方案各不相同,你可以对比 [功能列表](#features)。
[list of features](#features).
That being said, there are two main differences with other podcasting solutions: 话虽如此Castopod 与其他播客解决方案有两个主要区别:
- Castopod 是自托管的,唯一允许你控制所有数据的方案。 并且,由于是开源的,甚至可 - Castopod 是自托管的,唯一允许你控制所有数据的方案。 并且,由于是开源的,甚至可
以按自己的想法修改。 以按自己的想法修改。
@ -142,26 +127,23 @@ That being said, there are two main differences with other podcasting solutions:
## 贡献 ## 贡献
Love Castopod and would like to help? Take a look at the following documentation 喜欢 Castopod 并且想帮忙吗? 请查看以下文档以帮助你入门。 请查看以下文档以帮助你
to get you&nbsp;started. 入门。
### 行为准则 ### 行为准则
Castopod has adopted a Code of Conduct that we expect project participants to Castopod 已经通过了一项行为准则,并希望所有的参与者都能够遵循本行为准则。 请阅
adhere to. Please read the 读[行为准则](https://code.castopod.org/adaures/castopod/-/blob/beta/CODE_OF_CONDUCT.md)
[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.
### 贡献指南 ### 贡献指南
Read our [contributing guide](../contributing/guidelines.md) to learn about our 阅读我们的 [贡献指南](../contributing/guidelines.md) ,了解我们的开发过程。 提出
development process, how to propose bugfixes and improvements, and how to build 错 误修正和改进想法,以及如何构建和测试 Castopod 。
and test your changes to Castopod.
## 贡献者 ✨ ## 贡献者 ✨
Thanks goes to these wonderful people 感谢这些了不起的人([表情符号键](https://allcontributors.org/docs/en/emoji-key)):
([emoji key](https://allcontributors.org/docs/en/emoji-key)):
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start --> <!-- prettier-ignore-start -->
@ -242,20 +224,18 @@ Thanks goes to these wonderful people
<!-- ALL-CONTRIBUTORS-LIST:END --> <!-- ALL-CONTRIBUTORS-LIST:END -->
This project follows the 此项目遵循 [所有贡献者](https://github.com/all-contributors/all-contributors) 规
[all-contributors](https://github.com/all-contributors/all-contributors) 范。 欢迎任何形式的贡献!
specification. Contributions of any kind welcome!
## 联系 ## 联系
You may reach us for help or ask any question you have on: 你可以联系我们寻求帮助或提出任何问题:
- [Discord](https://castopod.org/discord) (用于与开发人员和社区直接互动) - [Discord](https://castopod.org/discord) (用于与开发人员和社区直接互动)
- [问题跟踪器](https://code.castopod.org/adaures/castopod/-/issues)(用于功能请 - [问题跟踪器](https://code.castopod.org/adaures/castopod/-/issues)(用于功能请
求和错误报告) 求和错误报告)
Alternatively, you can follow us on social media platforms to get news about 或者,你可以在社交媒体上关注我们,以获取有关 Castopod 的新闻:
Castopod:
- [podlibre.social](https://podlibre.social/@Castopod) Mastodon 实例) - [podlibre.social](https://podlibre.social/@Castopod) Mastodon 实例)
- [推特](https://twitter.com/castopod) - [推特](https://twitter.com/castopod)
@ -264,9 +244,8 @@ Castopod:
## 赞助商 ## 赞助商
The ongoing development of Castopod is made possible with the support of its Castopod 的发展离不开赞助商的支持。 如果你想要帮助我们,请考
backers. If you'd like to help, please consider 虑[赞助 Castopod 的开发](https://opencollective.com/castopod/contribute).
[sponsoring Castopod's development](https://opencollective.com/castopod/contribute).
<div class="flex flex-wrap gap-x-16 gap-y-8"> <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://adaures.com/" target="_blank" rel="noopener noreferrer"><img src="/images/sponsors/adaures.svg" alt="Ad Aures Logo" class="h-16" /></a>
@ -277,7 +256,7 @@ backers. If you'd like to help, please consider
[GNU Affero General Public License v3.0](https://choosealicense.com/licenses/agpl-3.0/) [GNU Affero General Public License v3.0](https://choosealicense.com/licenses/agpl-3.0/)
Copyright © 2020-present, [Ad Aures](https://adaures.com/). 版权 ©️ 2020 至今, [Audes](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/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/github/license/ad-aures/castopod?color=blue
https://img.shields.io/badge/contributions-welcome-brightgreen.svg https://img.shields.io/badge/contributions-welcome-brightgreen.svg

View File

@ -9,6 +9,6 @@ declare(strict_types=1);
*/ */
return [ return [
'all_podcasts' => 'All podcasts', 'all_podcasts' => 'تمامی پادکست‌ها',
'no_podcast' => 'No podcast found', 'no_podcast' => 'هیچ پادکستی پیدا نشد',
]; ];

View File

@ -9,46 +9,46 @@ declare(strict_types=1);
*/ */
return [ return [
'manual_config' => 'Manual configuration', 'manual_config' => 'پیکربندی دستی',
'manual_config_subtitle' => 'manual_config_subtitle' =>
'Create a `.env` file with your settings and refresh the page to continue installation.', 'Create a `.env` file with your settings and refresh the page to continue installation.',
'form' => [ 'form' => [
'instance_config' => 'Instance configuration', 'instance_config' => 'پیکربندی نمونه',
'hostname' => 'Hostname', 'hostname' => 'نام میزبان',
'media_base_url' => 'Media base URL', 'media_base_url' => 'نشانی پایهٔ رسانه',
'media_base_url_hint' => 'media_base_url_hint' =>
'If you use a CDN and/or an external analytics service, you may set them here.', 'If you use a CDN and/or an external analytics service, you may set them here.',
'admin_gateway' => 'Admin gateway', 'admin_gateway' => 'دروازهٔ مدیر',
'admin_gateway_hint' => 'admin_gateway_hint' =>
'The route to access the admin area (eg. https://example.com/cp-admin). It is set by default as cp-admin, we recommend you change it for security reasons.', 'The route to access the admin area (eg. https://example.com/cp-admin). It is set by default as cp-admin, we recommend you change it for security reasons.',
'auth_gateway' => 'Auth gateway', 'auth_gateway' => 'دروازهٔ هویت‌سنجی',
'auth_gateway_hint' => 'auth_gateway_hint' =>
'The route to access the authentication pages (eg. https://example.com/cp-auth). It is set by default as cp-auth, we recommend you change it for security reasons.', 'The route to access the authentication pages (eg. https://example.com/cp-auth). It is set by default as cp-auth, we recommend you change it for security reasons.',
'database_config' => 'Database configuration', 'database_config' => 'پیکربندی پایگاه داده',
'database_config_hint' => 'database_config_hint' =>
'Castopod needs to connect to your MySQL (or MariaDB) database. If you do not have these required info, please contact your server administrator.', 'Castopod needs to connect to your MySQL (or MariaDB) database. If you do not have these required info, please contact your server administrator.',
'db_hostname' => 'Database hostname', 'db_hostname' => 'نام میزبان پایگاه داده',
'db_name' => 'Database name', 'db_name' => 'نام پایگاه‌داده',
'db_username' => 'Database username', 'db_username' => 'نام کاربری پایگاه‌داده',
'db_password' => 'Database password', 'db_password' => 'گذرواژهٔ پایگاه‌داده',
'db_prefix' => 'Database prefix', 'db_prefix' => 'پيشوند پايگاه‌داده',
'db_prefix_hint' => 'db_prefix_hint' =>
"The prefix of the Castopod table names, leave as is if you don't know what it means.", "The prefix of the Castopod table names, leave as is if you don't know what it means.",
'cache_config' => 'Cache configuration', 'cache_config' => 'پیکربندی انباره',
'cache_config_hint' => 'cache_config_hint' =>
'Choose your preferred cache handler. Leave it as the default value if you have no clue what it means.', 'Choose your preferred cache handler. Leave it as the default value if you have no clue what it means.',
'cache_handler' => 'Cache handler', 'cache_handler' => 'مدیر انباره',
'cacheHandlerOptions' => [ 'cacheHandlerOptions' => [
'file' => 'File', 'file' => 'پرونده',
'redis' => 'Redis', 'redis' => 'ردیس',
'predis' => 'Predis', 'predis' => 'Predis',
], ],
'next' => 'Next', 'next' => 'بعدی',
'submit' => 'Finish install', 'submit' => 'پایان نصب',
'create_superadmin' => 'Create your superadmin account', 'create_superadmin' => 'ایجاد حساب ابرمدیریتان',
'email' => 'Email', 'email' => 'رایانامه',
'username' => 'Username', 'username' => 'نام‌کاربری',
'password' => 'Password', 'password' => 'گذرواژه',
], ],
'messages' => [ 'messages' => [
'createSuperAdminSuccess' => 'createSuperAdminSuccess' =>

View File

@ -9,57 +9,57 @@ declare(strict_types=1);
*/ */
return [ return [
'persons' => 'Persons', 'persons' => 'افراد',
'all_persons' => 'All persons', 'all_persons' => 'تمامی افراد',
'no_person' => 'Nobody found!', 'no_person' => 'هیچ‌کس پیدا نشد!',
'create' => 'Create a person', 'create' => 'ایجاد یک نفر',
'view' => 'View person', 'view' => 'دیدن فرد',
'edit' => 'Edit person', 'edit' => 'ویرایش فرد',
'delete' => 'Delete person', 'delete' => 'حذف فرد',
'messages' => [ 'messages' => [
'createSuccess' => 'Person has been successfully created!', 'createSuccess' => 'فرد با موفّقیت ساخته شد!',
'editSuccess' => 'Person has been successfully updated!', 'editSuccess' => 'فرد با موفّقیت به‌روز شد!',
'deleteSuccess' => 'Person has been removed!', 'deleteSuccess' => 'فرد برداشته شد!',
], ],
'form' => [ 'form' => [
'avatar' => 'Avatar', 'avatar' => 'چهرک',
'avatar_size_hint' => 'avatar_size_hint' =>
'Avatar must be squared and at least 400px wide and tall.', 'چهرک باید مربّعی بوده و کمینه ۴۰۰ پیکسل پنها و بلندا داشته باشد.',
'full_name' => 'Full name', 'full_name' => 'نام کامل',
'full_name_hint' => 'This is the full name or alias of the person.', 'full_name_hint' => 'This is the full name or alias of the person.',
'unique_name' => 'Unique name', 'unique_name' => 'نام یکتا',
'unique_name_hint' => 'Used for URLs', 'unique_name_hint' => 'استفاده شده برای نشانی‌ها',
'information_url' => 'Information URL', 'information_url' => 'نشانی اطّلاعات',
'information_url_hint' => 'information_url_hint' =>
'Url to a relevant resource of information about the person, such as a homepage or third-party profile platform.', 'Url to a relevant resource of information about the person, such as a homepage or third-party profile platform.',
'submit_create' => 'Create person', 'submit_create' => 'ایجاد فرد',
'submit_edit' => 'Save person', 'submit_edit' => 'ذخیرهٔ فرد',
], ],
'podcast_form' => [ 'podcast_form' => [
'title' => 'Manage persons', 'title' => 'مدیریت افراد',
'add_section_title' => 'Add persons to this podcast', 'add_section_title' => 'افزودن افراد به این پادکست',
'add_section_subtitle' => 'You may pick several persons and roles.', 'add_section_subtitle' => 'You may pick several persons and roles.',
'persons' => 'Persons', 'persons' => 'افراد',
'persons_hint' => 'persons_hint' =>
'You may select one or several persons with the same roles. You need to create the persons first.', 'You may select one or several persons with the same roles. You need to create the persons first.',
'roles' => 'Roles', 'roles' => 'نقش‌ها',
'roles_hint' => 'roles_hint' =>
'You may select none, one or several roles for a person.', 'You may select none, one or several roles for a person.',
'submit_add' => 'Add person(s)', 'submit_add' => 'افزودن فرد(ها)',
'remove' => 'Remove', 'remove' => 'برداشتن',
], ],
'episode_form' => [ 'episode_form' => [
'title' => 'Manage persons', 'title' => 'مدیریت افراد',
'add_section_title' => 'Add persons to this episode', 'add_section_title' => 'افزودن افراد به این قسمت',
'add_section_subtitle' => 'You may pick several persons and roles.', 'add_section_subtitle' => 'You may pick several persons and roles.',
'persons' => 'Persons', 'persons' => 'افراد',
'persons_hint' => 'persons_hint' =>
'You may select one or several persons with the same roles. You need to create the persons first.', 'You may select one or several persons with the same roles. You need to create the persons first.',
'roles' => 'Roles', 'roles' => 'نقش‌ها',
'roles_hint' => 'roles_hint' =>
'You may select none, one or several roles for a person.', 'You may select none, one or several roles for a person.',
'submit_add' => 'Add person(s)', 'submit_add' => 'افزودن فرد(ها)',
'remove' => 'Remove', 'remove' => 'برداشتن',
], ],
'credits' => 'Credits', 'credits' => 'اعتبارها',
]; ];

View File

@ -9,22 +9,22 @@ declare(strict_types=1);
*/ */
return [ return [
'title' => 'Platforms', 'title' => 'بن‌سازه‌ها',
'home_url' => 'Go to {platformName} website', 'home_url' => 'رفتن به پایگاه وب {platformName}',
'submit_url' => 'Submit your podcast on {platformName}', 'submit_url' => 'ثبت پادکستتان روی {platformName}',
'visible' => 'Display in podcast homepage?', 'visible' => 'نمایش در صفحهٔ خانگی پادکست؟',
'on_embed' => 'Display on embeddable player?', 'on_embed' => 'نمایش در پخش‌کنندهٔ تعبیه شده؟',
'remove' => 'Remove {platformName}', 'remove' => 'برداشتن {platformName}',
'submit' => 'Save', 'submit' => 'ذخیره',
'messages' => [ 'messages' => [
'updateSuccess' => 'Platform links have been successfully updated!', 'updateSuccess' => 'پیوندهای بن‌سازه با موفّقیت به‌روز شدند!',
'removeLinkSuccess' => 'The platform link has been removed.', 'removeLinkSuccess' => 'پیوند بن‌سازه برداشته شد.',
'removeLinkError' => 'removeLinkError' =>
'The platform link could not be removed. Try again.', 'پیوند بن‌سازه نتوانست برداشته شود. دوباره تلاش کنید.',
], ],
'description' => [ 'description' => [
'podcasting' => 'The podcast ID on this platform', 'podcasting' => 'شناسهٔ پادکست روی این بن‌سازه',
'social' => 'The podcast account ID on this platform', 'social' => 'شناسهٔ حساب پادکست روی این بن‌سازه',
'funding' => 'Call to action message', 'funding' => 'پیام فراخوانی کنش',
], ],
]; ];

View File

@ -9,24 +9,24 @@ declare(strict_types=1);
*/ */
return [ return [
'all_podcasts' => 'All podcasts', 'all_podcasts' => 'تمامی پادکست‌ها',
'no_podcast' => 'No podcast found!', 'no_podcast' => 'هیچ پادکستی پیدا نشد!',
'create' => 'Create podcast', 'create' => 'ایجاد پادکست',
'import' => 'Import podcast', 'import' => 'درون‌ریزی پادکست',
'all_imports' => 'Podcast imports', 'all_imports' => 'درون‌ریزی‌های پادکست',
'new_episode' => 'New Episode', 'new_episode' => 'قسمت جدید',
'view' => 'View podcast', 'view' => 'دیدن پادکست',
'edit' => 'Edit podcast', 'edit' => 'ویرایش پادکست',
'publish' => 'Publish podcast', 'publish' => 'انتشار پادکست',
'publish_edit' => 'Edit publication', 'publish_edit' => 'Edit publication',
'delete' => 'Delete podcast', 'delete' => 'حذف پادکست',
'see_episodes' => 'See episodes', 'see_episodes' => 'دیدن قسمت‌ّا',
'see_contributors' => 'See contributors', 'see_contributors' => 'دیدن مشارکت‌کنندگان',
'go_to_page' => 'Go to page', 'go_to_page' => 'رفتن به صفحه',
'latest_episodes' => 'Latest episodes', 'latest_episodes' => 'جدیدترین قسمت‌ها',
'see_all_episodes' => 'See all episodes', 'see_all_episodes' => 'دیدن تمامی قسمت‌ها',
'draft' => 'Draft', 'draft' => 'پیش‌نویس',
'sync_feed' => 'Synchronize feed', 'sync_feed' => 'خوراک هم‌گام شده',
'sync_feed_hint' => 'Import this podcast\'s latest episodes', 'sync_feed_hint' => 'Import this podcast\'s latest episodes',
'messages' => [ 'messages' => [
'createSuccess' => 'Podcast successfully created!', 'createSuccess' => 'Podcast successfully created!',
@ -57,26 +57,26 @@ return [
'scheduleDateError' => 'Schedule date must be set!', 'scheduleDateError' => 'Schedule date must be set!',
], ],
'form' => [ 'form' => [
'identity_section_title' => 'Podcast identity', 'identity_section_title' => 'هویت پادکست',
'identity_section_subtitle' => 'These fields allow you to get noticed.', 'identity_section_subtitle' => 'These fields allow you to get noticed.',
'cover' => 'Podcast cover', 'cover' => 'جلد پادکست',
'cover_size_hint' => 'Cover must be squared and at least 1400px wide and tall.', 'cover_size_hint' => 'جلد باید مربّعی بوده و کمینه ۱۴۰۰ پیکسل پنها و بلندا داشته باشد.',
'banner' => 'Podcast banner', 'banner' => 'بیرق پادکست',
'banner_size_hint' => 'Banner must have a 3:1 ratio and be at least 1500px wide.', 'banner_size_hint' => 'Banner must have a 3:1 ratio and be at least 1500px wide.',
'banner_delete' => 'Delete podcast banner', 'banner_delete' => 'حذف بیرق پادکست',
'title' => 'Title', 'title' => 'عنوان',
'handle' => 'Handle', 'handle' => 'شناسه',
'handle_hint' => 'handle_hint' =>
'Used to identify the podcast. Uppercase, lowercase, numbers and underscores are accepted.', 'Used to identify the podcast. Uppercase, lowercase, numbers and underscores are accepted.',
'type' => [ 'type' => [
'label' => 'Type', 'label' => 'گونه',
'episodic' => 'Episodic', 'episodic' => 'قسمتی',
'episodic_hint' => 'If episodes are intended to be consumed without any specific order. Newest episodes will be presented first.', 'episodic_hint' => 'If episodes are intended to be consumed without any specific order. Newest episodes will be presented first.',
'serial' => 'Serial', 'serial' => 'سریالی',
'serial_hint' => 'If episodes are intended to be consumed in sequential order. The oldest episodes will be presented first.', 'serial_hint' => 'If episodes are intended to be consumed in sequential order. The oldest episodes will be presented first.',
], ],
'description' => 'Description', 'description' => 'شرح',
'classification_section_title' => 'Classification', 'classification_section_title' => 'طبقه‌بندی',
'classification_section_subtitle' => 'classification_section_subtitle' =>
'These fields will impact your audience and competition.', 'These fields will impact your audience and competition.',
'language' => 'Language', 'language' => 'Language',

View File

@ -10,7 +10,7 @@ declare(strict_types=1);
return [ return [
'min_dims' => 'min_dims' =>
'{field} is either not an image, or it is not wide or tall enough.', '{field} تصویر نبوده یا پنها و بلندایش کافی نیست.',
'is_image_ratio' => 'is_image_ratio' =>
'{field} is either not an image or not of the right ratio.', '{field} تصویر نبوده یا ابعادش درست نیست.',
]; ];

View File

@ -114,7 +114,7 @@ return [
'bonus' => 'Bonus', 'bonus' => 'Bonus',
'bonus_hint' => 'Contenu supplémentaire pour le podcast (par exemple des informations sur les coulisses ou des interviews avec les acteurs) ou du contenu promotionnel croisé pour un autre podcast', 'bonus_hint' => 'Contenu supplémentaire pour le podcast (par exemple des informations sur les coulisses ou des interviews avec les acteurs) ou du contenu promotionnel croisé pour un autre podcast',
], ],
'premium_title' => 'Prémium', 'premium_title' => 'Premium',
'premium' => 'L\'épisode doit être accessible aux abonnés premium uniquement', 'premium' => 'L\'épisode doit être accessible aux abonnés premium uniquement',
'parental_advisory' => [ 'parental_advisory' => [
'label' => 'Avertissement parental', 'label' => 'Avertissement parental',

View File

@ -109,7 +109,7 @@ return [
'monetization_section_title' => 'Monétisation', 'monetization_section_title' => 'Monétisation',
'monetization_section_subtitle' => 'monetization_section_subtitle' =>
'Gagnez de largent grâce à votre audience.', 'Gagnez de largent grâce à votre audience.',
'premium' => 'Prémium', 'premium' => 'Premium',
'premium_by_default' => 'Les épisodes doivent être définis comme premium par défaut', 'premium_by_default' => 'Les épisodes doivent être définis comme premium par défaut',
'premium_by_default_hint' => 'Les épisodes de Podcast seront marqués comme premium par défaut. Vous pouvez toujours choisir de définir certains épisodes, bandes-annonces ou bonus comme publics.', 'premium_by_default_hint' => 'Les épisodes de Podcast seront marqués comme premium par défaut. Vous pouvez toujours choisir de définir certains épisodes, bandes-annonces ou bonus comme publics.',
'op3' => 'Open Podcast Prefix Project (OP3)', 'op3' => 'Open Podcast Prefix Project (OP3)',

View File

@ -36,7 +36,7 @@ return [
'users' => 'usuários', 'users' => 'usuários',
'my-account' => 'minha conta', 'my-account' => 'minha conta',
'change-password' => 'alterar senha', 'change-password' => 'alterar senha',
'imports' => 'imports', 'imports' => 'importações',
'platforms' => 'plataformas', 'platforms' => 'plataformas',
'social' => 'redes sociais', 'social' => 'redes sociais',
'funding' => 'financiamento', 'funding' => 'financiamento',

View File

@ -37,5 +37,5 @@ return [
'podcast_by_bandwidth' => 'Largura de banda usada diária (em MB)', 'podcast_by_bandwidth' => 'Largura de banda usada diária (em MB)',
'total_storage_by_month' => 'Armazenamento mensal (em MB)', 'total_storage_by_month' => 'Armazenamento mensal (em MB)',
'total_bandwidth_by_month' => 'Largura de banda usada mensalmente (em MB)', 'total_bandwidth_by_month' => 'Largura de banda usada mensalmente (em MB)',
'total_bandwidth_by_month_limit' => 'Limited to {totalBandwidth} per month', 'total_bandwidth_by_month_limit' => 'Limitado a {totalBandwidth} por mês',
]; ];

View File

@ -190,7 +190,7 @@ return [
], ],
'unpublish_form' => [ 'unpublish_form' => [
'disclaimer' => 'disclaimer' =>
"Unpublishing the episode will delete all the comments and posts associated with it and remove it from the podcast's RSS feed.", "O cancelamento da publicação do episódio excluirá todos os comentários e publicações associados a ele e o removerá do feed RSS do podcast.",
'understand' => 'Eu entendo, eu quero despublicar o episódio', 'understand' => 'Eu entendo, eu quero despublicar o episódio',
'submit' => 'Despublicar', 'submit' => 'Despublicar',
], ],

View File

@ -17,8 +17,8 @@ return [
'podcasts' => 'Podcasts', 'podcasts' => 'Podcasts',
'podcast-list' => 'Todos os podcasts', 'podcast-list' => 'Todos os podcasts',
'podcast-create' => 'Novo podcast', 'podcast-create' => 'Novo podcast',
'all-podcast-imports' => 'All Podcast imports', 'all-podcast-imports' => 'Todos os importações de Podcast',
'podcast-imports-add' => 'Import a podcast', 'podcast-imports-add' => 'Importar um podcast',
'persons' => 'Pessoas', 'persons' => 'Pessoas',
'person-list' => 'Todas as pessoas', 'person-list' => 'Todas as pessoas',
'person-create' => 'Nova pessoa', 'person-create' => 'Nova pessoa',

View File

@ -26,8 +26,8 @@ return [
'latest_episodes' => 'Últimos episódios', 'latest_episodes' => 'Últimos episódios',
'see_all_episodes' => 'Ver todos os episódios', 'see_all_episodes' => 'Ver todos os episódios',
'draft' => 'Rascunho', 'draft' => 'Rascunho',
'sync_feed' => 'Synchronize feed', 'sync_feed' => 'Sincronizar o feed',
'sync_feed_hint' => 'Import this podcast\'s latest episodes', 'sync_feed_hint' => 'Importar os últimos episódios deste podcast',
'messages' => [ 'messages' => [
'createSuccess' => 'Podcast criado com sucesso!', 'createSuccess' => 'Podcast criado com sucesso!',
'editSuccess' => 'Podcast foi atualizado com sucesso!', 'editSuccess' => 'Podcast foi atualizado com sucesso!',
@ -114,8 +114,8 @@ return [
'premium_by_default_hint' => 'Podcast episodes will be marked as premium by default. You can still choose to set some episodes, trailers or bonuses as public.', 'premium_by_default_hint' => 'Podcast episodes will be marked as premium by default. You can still choose to set some episodes, trailers or bonuses as public.',
'op3' => 'Open Podcast Prefix Project (OP3)', 'op3' => 'Open Podcast Prefix Project (OP3)',
'op3_hint' => 'Value your analytics data with OP3, an open-source and trusted third party analytics service. Share, validate and compare your analytics data with the open podcasting ecosystem.', 'op3_hint' => 'Value your analytics data with OP3, an open-source and trusted third party analytics service. Share, validate and compare your analytics data with the open podcasting ecosystem.',
'op3_enable' => 'Enable OP3 analytics service', 'op3_enable' => 'Ativar serviço de análise OP3',
'op3_enable_hint' => 'For security reasons, premium episodes\' analytics data will not be shared with OP3.', 'op3_enable_hint' => 'Por razões de segurança, os dados de análise dos episódios premium não serão compartilhados com o OP3.',
'payment_pointer' => 'Endereço de pagamento (Payment Pointer) para web monetização', 'payment_pointer' => 'Endereço de pagamento (Payment Pointer) para web monetização',
'payment_pointer_hint' => 'payment_pointer_hint' =>
'Este é o seu lugar onde você receberá dinheiro graças à web monetização', 'Este é o seu lugar onde você receberá dinheiro graças à web monetização',

View File

@ -59,7 +59,7 @@ return [
}', }',
'episode' => 'Epizóda', 'episode' => 'Epizóda',
'visibility' => 'Viditeľnosť', 'visibility' => 'Viditeľnosť',
'downloads' => 'Downloads', 'downloads' => 'Stiahnutia',
'comments' => 'Komentáre', 'comments' => 'Komentáre',
'actions' => 'Úkony', 'actions' => 'Úkony',
], ],

View File

@ -88,7 +88,7 @@ return [
'hint' => 'Does it contain explicit content?', 'hint' => 'Does it contain explicit content?',
'undefined' => 'undefined', 'undefined' => 'undefined',
'clean' => 'Clean', 'clean' => 'Clean',
'explicit' => 'Explicit', 'explicit' => 'Chúlostivé',
], ],
'author_section_title' => 'Autor', 'author_section_title' => 'Autor',
'author_section_subtitle' => 'Kto spravuje tento podcast?', 'author_section_subtitle' => 'Kto spravuje tento podcast?',
@ -156,14 +156,14 @@ return [
'health_and_fitness' => 'Health &amp Fitness', 'health_and_fitness' => 'Health &amp Fitness',
'history' => 'History', 'history' => 'History',
'kids_and_family' => 'Kids &amp Family', 'kids_and_family' => 'Kids &amp Family',
'leisure' => 'Leisure', 'leisure' => 'Voľný čas',
'music' => 'Music', 'music' => 'Hudba',
'news' => 'News', 'news' => 'Správy',
'religion_and_spirituality' => 'Religion &amp Spirituality', 'religion_and_spirituality' => 'Religion &amp Spirituality',
'science' => 'Science', 'science' => 'Veda',
'society_and_culture' => 'Society &amp Culture', 'society_and_culture' => 'Spoločnosť a kultúra',
'sports' => 'Sports', 'sports' => 'Športy',
'technology' => 'Technology', 'technology' => 'Technológia',
'true_crime' => 'True Crime', 'true_crime' => 'True Crime',
'tv_and_film' => 'TV &amp Film', 'tv_and_film' => 'TV &amp Film',
'books' => 'Books', 'books' => 'Books',
@ -182,12 +182,12 @@ return [
'improv' => 'Improv', 'improv' => 'Improv',
'stand_up' => 'Stand-Up', 'stand_up' => 'Stand-Up',
'courses' => 'Kurzy', 'courses' => 'Kurzy',
'how_to' => 'How To', 'how_to' => 'Ako na to',
'language_learning' => 'Language Learning', 'language_learning' => 'Učenie jazykov',
'self_improvement' => 'Self-Improvement', 'self_improvement' => 'Sebazdokonaľovanie',
'comedy_fiction' => 'Comedy Fiction', 'comedy_fiction' => 'Comedy Fiction',
'drama' => 'Drama', 'drama' => 'Drama',
'science_fiction' => 'Science Fiction', 'science_fiction' => 'Vedecko-fantastické',
'alternative_health' => 'Alternative Health', 'alternative_health' => 'Alternative Health',
'fitness' => 'Fitness', 'fitness' => 'Fitness',
'medicine' => 'Medicínsky', 'medicine' => 'Medicínsky',
@ -195,39 +195,39 @@ return [
'nutrition' => 'Nutrition', 'nutrition' => 'Nutrition',
'sexuality' => 'Sexualita', 'sexuality' => 'Sexualita',
'education_for_kids' => 'Education for Kids', 'education_for_kids' => 'Education for Kids',
'parenting' => 'Parenting', 'parenting' => 'Rodičovstvo',
'pets_and_animals' => 'Pets &amp Animals', 'pets_and_animals' => 'Pets &amp Animals',
'stories_for_kids' => 'Príbehy pre deti', 'stories_for_kids' => 'Príbehy pre deti',
'animation_and_manga' => 'Animation &amp Manga', 'animation_and_manga' => 'Animation &amp Manga',
'automotive' => 'Automotive', 'automotive' => 'Automotive',
'aviation' => 'Aviation', 'aviation' => 'Aviation',
'crafts' => 'Crafts', 'crafts' => 'Crafts',
'games' => 'Games', 'games' => 'Hry',
'hobbies' => 'Hobbies', 'hobbies' => 'Záľuby',
'home_and_garden' => 'Home &amp Garden', 'home_and_garden' => 'Home &amp Garden',
'video_games' => 'Video Games', 'video_games' => 'Videohry',
'music_commentary' => 'Music Commentary', 'music_commentary' => 'Music Commentary',
'music_history' => 'Music History', 'music_history' => 'Hudobná história',
'music_interviews' => 'Music Interviews', 'music_interviews' => 'Hudobné rozhovory',
'business_news' => 'Business News', 'business_news' => 'Business News',
'daily_news' => 'Daily News', 'daily_news' => 'Daily News',
'entertainment_news' => 'Entertainment News', 'entertainment_news' => 'Entertainment News',
'news_commentary' => 'News Commentary', 'news_commentary' => 'News Commentary',
'politics' => 'Politics', 'politics' => 'Politika',
'sports_news' => 'Sports News', 'sports_news' => 'Športové správy',
'tech_news' => 'Tech News', 'tech_news' => 'Tech News',
'buddhism' => 'Buddhism', 'buddhism' => 'Buddhism',
'christianity' => 'Christianity', 'christianity' => 'Kresťanstvo',
'hinduism' => 'Hinduism', 'hinduism' => 'Hinduism',
'islam' => 'Islam', 'islam' => 'Islam',
'judaism' => 'Judaism', 'judaism' => 'Judaism',
'religion' => 'Religion', 'religion' => 'Náboženstvo',
'spirituality' => 'Spirituality', 'spirituality' => 'Duchovno',
'astronomy' => 'Astronomy', 'astronomy' => 'Astronómia',
'chemistry' => 'Chemistry', 'chemistry' => 'Chémia',
'earth_sciences' => 'Earth Sciences', 'earth_sciences' => 'Earth Sciences',
'life_sciences' => 'Life Sciences', 'life_sciences' => 'Life Sciences',
'mathematics' => 'Mathematics', 'mathematics' => 'Matematické',
'natural_sciences' => 'Natural Sciences', 'natural_sciences' => 'Natural Sciences',
'nature' => 'Príroda', 'nature' => 'Príroda',
'physics' => 'Fyzika', 'physics' => 'Fyzika',
@ -263,21 +263,21 @@ return [
'post' => 'Your announcement post', 'post' => 'Your announcement post',
'post_hint' => 'post_hint' =>
"Write a message to announce the publication of your podcast. The message will be featured in your podcast's homepage.", "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…', 'message_placeholder' => 'Napíšte vašu správu…',
'submit' => 'Publish', 'submit' => 'Zverejniť',
'publication_date' => 'Publication date', 'publication_date' => 'Dátum zverejnenia',
'publication_method' => [ 'publication_method' => [
'now' => 'Now', 'now' => 'Hneď teraz',
'schedule' => 'Schedule', 'schedule' => 'Naplánovať',
], ],
'scheduled_publication_date' => 'Scheduled publication date', 'scheduled_publication_date' => 'Dátum plánovaného zverejnenia',
'scheduled_publication_date_hint' => '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', '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', 'submit_edit' => 'Upraviť zverejnenie',
'cancel_publication' => 'Cancel publication', 'cancel_publication' => 'Zrušiť zverejnenie',
'message_warning' => 'You did not write a message for your announcement post!', '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_hint' => 'Having a message increases social engagement, resulting in a better visibility for your podcast.',
'message_warning_submit' => 'Publish anyway', 'message_warning_submit' => 'Napriek tomu zverejniť',
], ],
'publication_status_banner' => [ 'publication_status_banner' => [
'draft_mode' => 'draft mode', 'draft_mode' => 'draft mode',
@ -305,10 +305,10 @@ return [
one {# post} one {# post}
other {# posts} other {# posts}
}', }',
'activity' => 'Activity', 'activity' => 'Aktivita',
'episodes' => 'Episodes', 'episodes' => 'Časti',
'sponsor' => 'Sponsor', 'sponsor' => 'Sponzor',
'funding_links' => 'Funding links for {podcastTitle}', 'funding_links' => 'Odkazy na financovanie {podcastTitle}',
'find_on' => 'Find {podcastTitle} on', 'find_on' => 'Nájsť {podcastTitle} na',
'listen_on' => 'Listen on', 'listen_on' => 'Počúvajte na',
]; ];

View File

@ -31,12 +31,12 @@ return [
'delete' => '删除', 'delete' => '删除',
'remove' => '移除', 'remove' => '移除',
'fediverse' => '联邦宇宙', 'fediverse' => '联邦宇宙',
'blocked-actors' => 'blocked actors', 'blocked-actors' => '已屏蔽演员',
'blocked-domains' => 'blocked domains', 'blocked-domains' => '已屏蔽域名',
'users' => '用户', 'users' => '用户',
'my-account' => '我的帐户', 'my-account' => '我的帐户',
'change-password' => '修改密码', 'change-password' => '修改密码',
'imports' => 'imports', 'imports' => '导入',
'platforms' => '平台', 'platforms' => '平台',
'social' => '社交网络', 'social' => '社交网络',
'funding' => '资金支持', 'funding' => '资金支持',

View File

@ -37,5 +37,5 @@ return [
'podcast_by_bandwidth' => '每日使用带宽(MB)', 'podcast_by_bandwidth' => '每日使用带宽(MB)',
'total_storage_by_month' => '每月存储量 (MB)', 'total_storage_by_month' => '每月存储量 (MB)',
'total_bandwidth_by_month' => '每月使用带宽(MB)', 'total_bandwidth_by_month' => '每月使用带宽(MB)',
'total_bandwidth_by_month_limit' => 'Limited to {totalBandwidth} per month', 'total_bandwidth_by_month_limit' => '每月限制为 {totalBandwidth}',
]; ];

View File

@ -151,8 +151,8 @@ return [
'chapters_file_delete' => '删除章节文件', 'chapters_file_delete' => '删除章节文件',
'advanced_section_title' => '高级参数', 'advanced_section_title' => '高级参数',
'advanced_section_subtitle' => 'advanced_section_subtitle' =>
'如果你不需要 Castopod 处理某些订阅源标签,请在此处设置。', '如果您需要 Castopod 无法处理的 RSS 标签,请在此处设置它们。',
'custom_rss' => '剧集的自定义订阅标签', 'custom_rss' => '剧集的自定义 RSS 标签',
'custom_rss_hint' => '这将被注入到 ❬item❭ 标签中。', 'custom_rss_hint' => '这将被注入到 ❬item❭ 标签中。',
'block' => '剧集应该在公共目录中隐藏', 'block' => '剧集应该在公共目录中隐藏',
'block_hint' => 'block_hint' =>
@ -190,7 +190,7 @@ return [
], ],
'unpublish_form' => [ 'unpublish_form' => [
'disclaimer' => 'disclaimer' =>
"取消发布该剧集将删除相关的所有评论和播文,并将其从播客的订阅源中删除。", "取消发布该剧集将删除相关的所有评论和播文,并将其从播客的 RSS 摘要中删除。",
'understand' => '我明白,我想取消发布此剧集', 'understand' => '我明白,我想取消发布此剧集',
'submit' => '取消发布', 'submit' => '取消发布',
], ],

View File

@ -17,8 +17,8 @@ return [
'podcasts' => '播客', 'podcasts' => '播客',
'podcast-list' => '全部播客', 'podcast-list' => '全部播客',
'podcast-create' => '新播客', 'podcast-create' => '新播客',
'all-podcast-imports' => 'All Podcast imports', 'all-podcast-imports' => '全部播客导入',
'podcast-imports-add' => 'Import a podcast', 'podcast-imports-add' => '导入播客',
'persons' => '人员', 'persons' => '人员',
'person-list' => '所有人', 'person-list' => '所有人',
'person-create' => '新成员', 'person-create' => '新成员',

View File

@ -13,7 +13,7 @@ return [
'no_podcast' => '没有找到播客!', 'no_podcast' => '没有找到播客!',
'create' => '创建播客', 'create' => '创建播客',
'import' => '导入播客', 'import' => '导入播客',
'all_imports' => 'Podcast imports', 'all_imports' => '播客导入',
'new_episode' => '新剧集', 'new_episode' => '新剧集',
'view' => '浏览博客', 'view' => '浏览博客',
'edit' => '编辑播客', 'edit' => '编辑播客',
@ -26,8 +26,8 @@ return [
'latest_episodes' => '最新剧集', 'latest_episodes' => '最新剧集',
'see_all_episodes' => '查看所有剧集', 'see_all_episodes' => '查看所有剧集',
'draft' => '草稿', 'draft' => '草稿',
'sync_feed' => 'Synchronize feed', 'sync_feed' => '同步摘要',
'sync_feed_hint' => 'Import this podcast\'s latest episodes', 'sync_feed_hint' => '导入此播客的最新剧集',
'messages' => [ 'messages' => [
'createSuccess' => '播客创建成功!', 'createSuccess' => '播客创建成功!',
'editSuccess' => '播客已更新!', 'editSuccess' => '播客已更新!',
@ -94,10 +94,10 @@ return [
'author_section_subtitle' => '谁在管理播客?', 'author_section_subtitle' => '谁在管理播客?',
'owner_name' => '所有者名称', 'owner_name' => '所有者名称',
'owner_name_hint' => 'owner_name_hint' =>
'仅供管理使用,在公开 RSS 要中可见。', '仅供管理使用,在公开 RSS 要中可见。',
'owner_email' => '所有者邮箱', 'owner_email' => '所有者邮箱',
'owner_email_hint' => 'owner_email_hint' =>
'大多数平台将使用它来验证播客的所有权。 在公开 RSS 要中可见。', '大多数平台将使用它来验证播客的所有权。 在公开 RSS 要中可见。',
'publisher' => '发布者', 'publisher' => '发布者',
'publisher_hint' => 'publisher_hint' =>
'负责制作节目的小组。 通常指播客的母公司或网络。 有时会被标记为“作者”。', '负责制作节目的小组。 通常指播客的母公司或网络。 有时会被标记为“作者”。',
@ -112,21 +112,21 @@ return [
'premium' => '高级版', 'premium' => '高级版',
'premium_by_default' => '剧集必须默认设置为付费会员订阅。', 'premium_by_default' => '剧集必须默认设置为付费会员订阅。',
'premium_by_default_hint' => '默认情况下,播客剧集将被标记为高级。 你仍然可以选择将某些剧集、预告片等设置为公开。', 'premium_by_default_hint' => '默认情况下,播客剧集将被标记为高级。 你仍然可以选择将某些剧集、预告片等设置为公开。',
'op3' => 'Open Podcast Prefix Project (OP3)', 'op3' => '打开播客前缀项目 (OP3)',
'op3_hint' => 'Value your analytics data with OP3, an open-source and trusted third party analytics service. Share, validate and compare your analytics data with the open podcasting ecosystem.', 'op3_hint' => '使用 OP3一项开源且值得信赖的第三方分析服务来评估您的分析数据。 与开源播客生态系统共享、验证和比较您的分析数据。',
'op3_enable' => 'Enable OP3 analytics service', 'op3_enable' => '启用 OP3 分析服务',
'op3_enable_hint' => 'For security reasons, premium episodes\' analytics data will not be shared with OP3.', 'op3_enable_hint' => '出于安全原因,高级剧集的分析数据将不会与 OP3 共享。',
'payment_pointer' => '网络货币化支付指南', 'payment_pointer' => '网络货币化支付指南',
'payment_pointer_hint' => 'payment_pointer_hint' =>
'借助网络货币化,你可以在此收款', '借助网络货币化,你可以在此收款',
'advanced_section_title' => '高级参数', 'advanced_section_title' => '高级参数',
'advanced_section_subtitle' => 'advanced_section_subtitle' =>
'如果你不需要 Castopod 处理某些订阅源标签,请在此处设置。', '如果您需要 Castopod 无法处理的 RSS 标签,请在此处设置它们。',
'custom_rss' => '播客的自定义订阅标签', 'custom_rss' => '播客的自定义 RSS 标签',
'custom_rss_hint' => '这将被注入到❬channel❭标签中。', 'custom_rss_hint' => '这将被注入到 ❬channel❭ 标签中。',
'new_feed_url' => '新订阅源网址', 'new_feed_url' => '新摘要网址',
'new_feed_url_hint' => '当你迁移到另一个域或播客托管平台时,请使用此字段。 默认情况下,播客导入时,该值为当前的订阅源网址。', 'new_feed_url_hint' => '当你迁移到另一个域或播客托管平台时,请使用此字段。 默认情况下,播客导入时,该值为当前的 RSS 网址。',
'old_feed_url' => '旧订阅源网址', 'old_feed_url' => '旧摘要网址',
'partnership' => '合作伙伴', 'partnership' => '合作伙伴',
'partner_id' => 'ID', 'partner_id' => 'ID',
'partner_link_url' => '链接网址', 'partner_link_url' => '链接网址',
@ -141,7 +141,7 @@ return [
'complete' => '播客没有新剧集', 'complete' => '播客没有新剧集',
'lock' => '防止播客被盗用', 'lock' => '防止播客被盗用',
'lock_hint' => 'lock_hint' =>
'目的是告诉其他播客平台是否允许导入此订阅源。 值为是表示拒绝将此订阅源导入任何平台。', '目的是告诉其他播客平台是否允许导入此摘要。 值为是表示拒绝将此摘要导入任何平台。',
'submit_create' => '创建播客', 'submit_create' => '创建播客',
'submit_edit' => '保存播客', 'submit_edit' => '保存播客',
], ],

View File

@ -14,7 +14,7 @@ return [
'podcast-view' => '主页', 'podcast-view' => '主页',
'podcast-edit' => '编辑播客', 'podcast-edit' => '编辑播客',
'podcast-persons-manage' => '管理人员', 'podcast-persons-manage' => '管理人员',
'podcast-imports' => 'Podcast imports', 'podcast-imports' => '播客导入',
'episodes' => '剧集', 'episodes' => '剧集',
'episode-list' => '所有剧集', 'episode-list' => '所有剧集',
'episode-create' => '新剧集', 'episode-create' => '新剧集',

View File

@ -10,52 +10,52 @@ declare(strict_types=1);
return [ return [
'banner' => [ 'banner' => [
'disclaimer' => 'Importing', 'disclaimer' => 'درون‌ریزی',
'text' => '{podcastTitle} is currently being imported.', 'text' => '{podcastTitle} دارد درون‌ریخته می‌شود.',
'cta' => 'See import status', 'cta' => 'دیدن وضعیت درون‌ریزی',
], ],
'old_podcast_section_title' => 'The podcast to import', 'old_podcast_section_title' => 'پادکست برای درون‌ریزی',
'old_podcast_legal_disclaimer_title' => 'Legal disclaimer', 'old_podcast_legal_disclaimer_title' => 'سلب مسئولیت حقوقی',
'old_podcast_legal_disclaimer' => 'old_podcast_legal_disclaimer' =>
'Make sure you own the rights for this podcast before importing it. Copying and broadcasting a podcast without the proper rights is piracy and is liable to prosecution.', 'پیش از درون‌ریزی مطمئن شوید حقوق این پادکست را دارید. رونوشت و پخش یک پادکست بدون حقوق مناسب دزدی دریایی حساب شده و قابل پیگرد است.',
'imported_feed_url' => 'Feed URL', 'imported_feed_url' => 'نشانی خوراک',
'imported_feed_url_hint' => 'The feed must be in xml or rss format.', 'imported_feed_url_hint' => 'خورام باید در قالب xml یا rss باشد.',
'new_podcast_section_title' => 'The new podcast', 'new_podcast_section_title' => 'پادکست جدید',
'lock_import' => 'lock_import' =>
'This feed is protected. You cannot import it. If you are the owner, unlock it on the origin platform.', 'این خوراک محافظت شده است. نمی‌توانید درون‌ریزیش کنید. اگر مالکش هستید، روی بن‌سازهٔ اصلی قفل‌گشاییش کنید.',
'submit' => 'Add import to queue', 'submit' => 'افزودن درون‌ریزی به صف',
'queue' => [ 'queue' => [
'status' => [ 'status' => [
'label' => 'Status', 'label' => 'وضعیت',
'queued' => 'queued', 'queued' => 'صف شده',
'queued_hint' => 'Import task is awaiting to be processed.', 'queued_hint' => 'وظیفهٔ درون‌ریزی منتظر پردازش است.',
'canceled' => 'canceled', 'canceled' => 'لغو شده',
'canceled_hint' => 'Import task was canceled.', 'canceled_hint' => 'وظیفهٔ درون‌ریزی لغو شد.',
'running' => 'running', 'running' => 'درحال اجرا',
'running_hint' => 'Import task is being processed.', 'running_hint' => 'وظیفهٔ درون‌ریزی در حال پردازش است.',
'failed' => 'failed', 'failed' => 'شکست خورده',
'failed_hint' => 'Import task could not complete: script failure.', 'failed_hint' => 'وظیفهٔ درون‌ریزی نتوانست کامل شود: شکست کدنوشته.',
'passed' => 'passed', 'passed' => 'قبول شده',
'passed_hint' => 'Import task was completed successfully!', 'passed_hint' => 'وظیفهٔ درون‌ریزی با موفّقیت کامل شد!',
], ],
'feed' => 'Feed', 'feed' => 'خوراک',
'duration' => 'Import duration', 'duration' => 'طول درون‌ریزی',
'imported_episodes' => 'Imported episodes', 'imported_episodes' => 'قسمت‌های درون‌ریخته',
'imported_episodes_hint' => '{newlyImportedCount} newly imported, {alreadyImportedCount} already imported.', 'imported_episodes_hint' => '{newlyImportedCount} به تازگی درون‌ریخته. {alreadyImportedCount} از پیش درون‌ریخته.',
'actions' => [ 'actions' => [
'cancel' => 'Cancel', 'cancel' => 'لغو',
'retry' => 'Retry', 'retry' => 'تلاش دوباره',
'delete' => 'Delete', 'delete' => 'حذف',
], ],
], ],
'messages' => [ 'messages' => [
'canceled' => 'Import task has been successfully canceled!', 'canceled' => 'وظیفهٔ درون‌ریزی با موفّقیت لغو شد!',
'notRunning' => 'Cannot cancel Import Task as it is not running.', 'notRunning' => 'نمی‌توان وظیفهٔ درون‌ریزی را لغو کرد؛ چرا که در حال اجرا نیست.',
'alreadyRunning' => 'Import Task is already running. You may cancel it before retrying.', 'alreadyRunning' => 'وظیفهٔ درون‌ریزی در حال اجراست. پیش از تلاش دوباره باید لغوش کنید.',
'retried' => 'Import task has been queued, it will be retried shortly!', 'retried' => 'وظیفهٔ درون‌ریزی صف شد. به زودی دوباره انجام خواهد شد!',
'deleted' => 'Import task has been successfully deleted!', 'deleted' => 'وظیفهٔ درون‌ریزی با موفّقیت حذف شد!',
'importTaskQueued' => 'An new task has been queued, import will start shortly!', 'importTaskQueued' => 'وظیفه‌ای جدید صف شد. درون‌ریزی به زودی آغاز خواهد شد!',
'podcastNotImported' => 'Podcast cannot be synched as it was not imported.', 'podcastNotImported' => 'از آن‌جا که پادکست درون‌ریزی نشده، قابل هم‌گام سازی نیست.',
'syncTaskQueued' => 'A new import task has been queued, synchronization will start shortly!', 'syncTaskQueued' => 'وظیفهٔ درون‌ریزی جدیدی صف شد. هم‌گام سازی به زودی آغاز خواهد شد!',
], ],
]; ];

View File

@ -10,52 +10,52 @@ declare(strict_types=1);
return [ return [
'banner' => [ 'banner' => [
'disclaimer' => 'Importing', 'disclaimer' => '输入',
'text' => '{podcastTitle} is currently being imported.', 'text' => '{podcastTitle} 正在导入中。',
'cta' => 'See import status', 'cta' => '查看导入状态',
], ],
'old_podcast_section_title' => 'The podcast to import', 'old_podcast_section_title' => '要导入的播客',
'old_podcast_legal_disclaimer_title' => 'Legal disclaimer', 'old_podcast_legal_disclaimer_title' => '法律免责声明',
'old_podcast_legal_disclaimer' => 'old_podcast_legal_disclaimer' =>
'Make sure you own the rights for this podcast before importing it. Copying and broadcasting a podcast without the proper rights is piracy and is liable to prosecution.', '请确保您在导入之前拥有此播客的权限。 在没有权限的情况下复制和广播播客是盗版行为,可能受到起诉。',
'imported_feed_url' => 'Feed URL', 'imported_feed_url' => '摘要 URL',
'imported_feed_url_hint' => 'The feed must be in xml or rss format.', 'imported_feed_url_hint' => '摘要必须是 xml 或 rss 格式。',
'new_podcast_section_title' => 'The new podcast', 'new_podcast_section_title' => '新播客',
'lock_import' => 'lock_import' =>
'This feed is protected. You cannot import it. If you are the owner, unlock it on the origin platform.', '该摘要受到保护。 您无法导入它。 如果您是所有者,请在源平台解锁。',
'submit' => 'Add import to queue', 'submit' => '添加导入到队列',
'queue' => [ 'queue' => [
'status' => [ 'status' => [
'label' => 'Status', 'label' => '状态',
'queued' => 'queued', 'queued' => '队列',
'queued_hint' => 'Import task is awaiting to be processed.', 'queued_hint' => '导入任务正在等待处理。',
'canceled' => 'canceled', 'canceled' => '已取消',
'canceled_hint' => 'Import task was canceled.', 'canceled_hint' => '导入任务已取消。',
'running' => 'running', 'running' => '运行中',
'running_hint' => 'Import task is being processed.', 'running_hint' => '导入任务正在处理中。',
'failed' => 'failed', 'failed' => '已失败',
'failed_hint' => 'Import task could not complete: script failure.', 'failed_hint' => '导入任务无法完成:脚本失败。',
'passed' => 'passed', 'passed' => '已通过',
'passed_hint' => 'Import task was completed successfully!', 'passed_hint' => '导入任务顺利完成!',
], ],
'feed' => 'Feed', 'feed' => '摘要',
'duration' => 'Import duration', 'duration' => '导入时长',
'imported_episodes' => 'Imported episodes', 'imported_episodes' => '导入剧集',
'imported_episodes_hint' => '{newlyImportedCount} newly imported, {alreadyImportedCount} already imported.', 'imported_episodes_hint' => '{newlyImportedCount} 新导入, {alreadyImportedCount} 已经导入。',
'actions' => [ 'actions' => [
'cancel' => 'Cancel', 'cancel' => '取消',
'retry' => 'Retry', 'retry' => '重试',
'delete' => 'Delete', 'delete' => '删除',
], ],
], ],
'messages' => [ 'messages' => [
'canceled' => 'Import task has been successfully canceled!', 'canceled' => '导入任务已成功取消!',
'notRunning' => 'Cannot cancel Import Task as it is not running.', 'notRunning' => '无法取消导入任务,因为它未运行。',
'alreadyRunning' => 'Import Task is already running. You may cancel it before retrying.', 'alreadyRunning' => '导入任务已在运行。 您可以在重试之前取消它。',
'retried' => 'Import task has been queued, it will be retried shortly!', 'retried' => '导入任务已排队,稍后将重试!',
'deleted' => 'Import task has been successfully deleted!', 'deleted' => '导入任务已成功删除!',
'importTaskQueued' => 'An new task has been queued, import will start shortly!', 'importTaskQueued' => '新任务已排队,导入即将开始!',
'podcastNotImported' => 'Podcast cannot be synched as it was not imported.', 'podcastNotImported' => '播客无法同步,因为未导入。',
'syncTaskQueued' => 'A new import task has been queued, synchronization will start shortly!', 'syncTaskQueued' => '新的导入任务已排队,即将开始同步!',
], ],
]; ];

View File

@ -72,10 +72,10 @@ return [
'emails' => [ 'emails' => [
'greeting' => '嘿,', 'greeting' => '嘿,',
'token' => '你的令牌: {0}', 'token' => '你的令牌: {0}',
'unique_feed_link' => '你唯一的链接:{0}', 'unique_feed_link' => '你唯一的摘要链接:{0}',
'how_to_use' => '如何使用?', 'how_to_use' => '如何使用?',
'two_ways' => '你有两种解锁高级剧集的方法:', 'two_ways' => '你有两种解锁高级剧集的方法:',
'import_into_app' => '在你最喜欢的播客应用程序中复制你唯一的 URL将其作为私人源导入以防止暴露你的凭据。', 'import_into_app' => '在你最喜欢的播客应用程序中复制你唯一的摘要 URL将其作为私人源导入以防止暴露你的凭据。',
'go_to_website' => '访问 {podcastWebsite} 的网站并使用你的令牌解锁播客。', 'go_to_website' => '访问 {podcastWebsite} 的网站并使用你的令牌解锁播客。',
'welcome_subject' => '欢迎来到 {podcastTitle}', 'welcome_subject' => '欢迎来到 {podcastTitle}',
'welcome' => '你已订阅 {podcastTitle},谢谢,欢迎加入!', 'welcome' => '你已订阅 {podcastTitle},谢谢,欢迎加入!',