chore: new Crowdin updates

This commit is contained in:
crowdin 2022-10-14 16:12:14 +00:00 committed by Yassine Doghri
commit d0d8be7fe3
232 changed files with 5048 additions and 826 deletions

View file

@ -9,26 +9,26 @@ declare(strict_types=1);
*/
return [
'title' => "{actorDisplayName}'s comment for {episodeTitle}",
'back_to_comments' => 'Back to comments',
'title' => "Commento di {actorDisplayName} su {episodeTitle}",
'back_to_comments' => 'Torna ai commenti',
'form' => [
'episode_message_placeholder' => 'Write a comment…',
'reply_to_placeholder' => 'Reply to @{actorUsername}',
'submit' => 'Send',
'submit_reply' => 'Reply',
'episode_message_placeholder' => 'Scrivi un commento…',
'reply_to_placeholder' => 'Rispondi a @{actorUsername}',
'submit' => 'Invia',
'submit_reply' => 'Rispondi',
],
'likes' => '{numberOfLikes, plural,
one {# like}
other {# likes}
}',
'replies' => '{numberOfReplies, plural,
one {# reply}
other {# replies}
one {# like}
other {# likes}
}',
'like' => 'Like',
'reply' => 'Reply',
'view_replies' => 'View replies ({numberOfReplies})',
'block_actor' => 'Block user @{actorUsername}',
'block_domain' => 'Block domain @{actorDomain}',
'delete' => 'Delete comment',
'like' => 'Mi piace',
'reply' => 'Rispondi',
'view_replies' => 'Visualizza ({numberOfReplies}) risposte',
'block_actor' => 'Blocca utente @{actorUsername}',
'block_domain' => 'Blocca dominio @{actorDomain}',
'delete' => 'Cancella commento',
];

View file

@ -9,22 +9,22 @@ declare(strict_types=1);
*/
return [
'yes' => 'Yes',
'yes' => 'Si',
'no' => 'No',
'cancel' => 'Cancel',
'optional' => 'Optional',
'close' => 'Close',
'cancel' => 'Annulla',
'optional' => 'Facoltativo',
'close' => 'Chiudi',
'home' => 'Home',
'explicit' => 'Explicit',
'explicit' => 'Esplicito',
'powered_by' => 'Powered by {castopod}',
'go_back' => 'Go back',
'go_back' => 'Torna indietro',
'play_episode_button' => [
'play' => 'Play',
'playing' => 'Playing',
'play' => 'Riproduci',
'playing' => 'In riproduzione',
],
'read_more' => 'Read more',
'read_less' => 'Read less',
'see_more' => 'See more',
'see_less' => 'See less',
'legal_notice' => 'Legal notice',
'read_more' => 'Continua a leggere',
'read_less' => 'Leggere meno',
'see_more' => 'Mostra altro',
'see_less' => 'Mostra meno',
'legal_notice' => 'Note legali',
];

View file

@ -9,25 +9,25 @@ declare(strict_types=1);
*/
return [
'season' => 'Season {seasonNumber}',
'season' => 'Stagione {seasonNumber}',
'season_abbr' => 'S{seasonNumber}',
'number' => 'Episode {episodeNumber}',
'number' => 'Episodio {episodeNumber}',
'number_abbr' => 'Ep. {episodeNumber}',
'season_episode' => 'Season {seasonNumber} episode {episodeNumber}',
'season_episode' => 'Stagione {seasonNumber} episodio {episodeNumber}',
'season_episode_abbr' => 'S{seasonNumber}:E{episodeNumber}',
'persons' => '{personsCount, plural,
one {# person}
other {# persons}
}',
'persons_list' => 'Persons',
'back_to_episodes' => 'Back to episodes of {podcast}',
'comments' => 'Comments',
'activity' => 'Activity',
'description' => 'Episode description',
'persons_list' => 'Persone',
'back_to_episodes' => 'Torna agli episodi di {podcast}',
'comments' => 'Commenti',
'activity' => 'Attività',
'description' => 'Descrizione dell\'episodio',
'number_of_comments' => '{numberOfComments, plural,
one {# comment}
other {# comments}
}',
'all_podcast_episodes' => 'All podcast episodes',
'back_to_podcast' => 'Go back to podcast',
'all_podcast_episodes' => 'Tutti gli episodi del podcast',
'back_to_podcast' => 'Torna a podcast',
];

View file

@ -10,28 +10,28 @@ declare(strict_types=1);
return [
'your_handle' => 'Your handle',
'your_handle_hint' => 'Enter the @username@domain you want to act from.',
'your_handle_hint' => 'Inserisci @username@domain da cui vuoi interagire.',
'follow' => [
'label' => 'Follow',
'title' => 'Follow {actorDisplayName}',
'subtitle' => 'You are going to follow:',
'accountNotFound' => 'The account could not be found.',
'remoteFollowNotAllowed' => 'Seems like the account server does not allow remote follows…',
'submit' => 'Proceed to follow',
'label' => 'Segui',
'title' => 'Segui {actorDisplayName}',
'subtitle' => 'Stai per seguire:',
'accountNotFound' => 'Impossibile trovare l\'account.',
'remoteFollowNotAllowed' => 'Sembra che il server del account non permetta il segui da remoto…',
'submit' => 'Procedi a seguire',
],
'favourite' => [
'title' => "Favourite {actorDisplayName}'s post",
'subtitle' => 'You are going to favourite:',
'submit' => 'Proceed to favourite',
'title' => "Post preferito di {actorDisplayName}",
'subtitle' => 'Stai per aggiungere ai preferiti:',
'submit' => 'Procedi ad aggiungere ai preferiti',
],
'reblog' => [
'title' => "Share {actorDisplayName}'s post",
'subtitle' => 'You are going to share:',
'submit' => 'Proceed to share',
'title' => "Condividi il post di {actorDisplayName}",
'subtitle' => 'Stai per condividere:',
'submit' => 'Procedere alla condivisione',
],
'reply' => [
'title' => "Reply to {actorDisplayName}'s post",
'subtitle' => 'You are going to reply to:',
'submit' => 'Proceed to reply',
'title' => "Rispondi al post di {actorDisplayName}",
'subtitle' => 'Stai per rispondere a:',
'submit' => 'Procedi a rispondere',
],
];

View file

@ -9,12 +9,12 @@ declare(strict_types=1);
*/
return [
'all_podcasts' => 'All podcasts',
'sort_by' => 'Sort by',
'all_podcasts' => 'Tutti i podcast',
'sort_by' => 'Ordina per',
'sort_options' => [
'activity' => 'Recent activity',
'created_desc' => 'Newest first',
'created_asc' => 'Oldest first',
'activity' => 'Attività recenti',
'created_desc' => 'Più recente prima',
'created_asc' => 'Più vecchio prima',
],
'no_podcast' => 'No podcast found',
'no_podcast' => 'Nessun podcast trovato',
];

View file

@ -9,9 +9,9 @@ declare(strict_types=1);
*/
return [
'back_to_home' => 'Back to home',
'back_to_home' => 'Torna alla home',
'map' => [
'title' => 'Map',
'description' => 'Discover podcast episodes on {siteName} that are placed on a map! Travel through the map and listen to episodes that talk about specific locations.',
'title' => 'Mappa',
'description' => 'Scopri gli episodi di podcast su {siteName} che si trovano su una mappa! Viaggia attraverso la mappa e ascolta episodi che parlano di luoghi specifici.',
],
];

View file

@ -9,14 +9,14 @@ declare(strict_types=1);
*/
return [
'feed' => 'RSS Podcast feed',
'season' => 'Season {seasonNumber}',
'list_of_episodes_year' => '{year} episodes ({episodeCount})',
'feed' => 'Feed RSS del podcast',
'season' => 'Stagione {seasonNumber}',
'list_of_episodes_year' => '{year} episodi ({episodeCount})',
'list_of_episodes_season' =>
'Season {seasonNumber} episodes ({episodeCount})',
'no_episode' => 'No episode found!',
'follow' => 'Follow',
'followTitle' => 'Follow {actorDisplayName} on the fediverse!',
'Stagione {seasonNumber} episodi ({episodeCount})',
'no_episode' => 'Nessun episodio trovato!',
'follow' => 'Segui',
'followTitle' => 'Segui {actorDisplayName} sul fediverso!',
'followers' => '{numberOfFollowers, plural,
one {# follower}
other {# followers}
@ -25,10 +25,10 @@ return [
one {# post}
other {# posts}
}',
'activity' => 'Activity',
'episodes' => 'Episodes',
'episodes_title' => 'Episodes of {podcastTitle}',
'about' => 'About',
'activity' => 'Attività',
'episodes' => 'Episodi',
'episodes_title' => 'Episodi di {podcastTitle}',
'about' => 'Informazioni',
'stats' => [
'title' => 'Stats',
'number_of_seasons' => '{0, plural,
@ -39,15 +39,15 @@ return [
one {# episode}
other {# episodes}
}',
'first_published_at' => 'First episode published on {0, date, medium}',
'first_published_at' => 'Primo episodio pubblicato il {0, date, medium}',
],
'sponsor' => 'Sponsor',
'funding_links' => 'Funding links for {podcastTitle}',
'find_on' => 'Find {podcastTitle} on',
'listen_on' => 'Listen on',
'funding_links' => 'Link di finanziamento per {podcastTitle}',
'find_on' => 'Trova {podcastTitle} su',
'listen_on' => 'Ascolta su',
'persons' => '{personsCount, plural,
one {# person}
other {# persons}
}',
'persons_list' => 'Persons',
'persons_list' => 'Persone',
];

View file

@ -9,32 +9,32 @@ 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}',
'title' => "Post di {actorDisplayName}",
'back_to_actor_posts' => 'Torna ai post di {actor}',
'actor_shared' => '{actor} ha condiviso',
'reply_to' => 'Rispondi a @{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' => 'Scrivi un messaggio…',
'episode_message_placeholder' => 'Scrivi un messaggio per l\'episodio…',
'episode_url_placeholder' => 'Url dell\'episodio',
'reply_to_placeholder' => 'Rispondi a @{actorUsername}',
'submit' => 'Invia',
'submit_reply' => 'Rispondi',
],
'favourites' => '{numberOfFavourites, plural,
one {# favourite}
other {# favourites}
one {# preferito}
other {# preferiti}
}',
'reblogs' => '{numberOfReblogs, plural,
one {# share}
other {# shares}
one {# condivisione}
other {# condivisioni}
}',
'replies' => '{numberOfReplies, plural,
one {# reply}
other {# replies}
one {# risposta}
other {# risposte}
}',
'expand' => 'Expand post',
'block_actor' => 'Block user @{actorUsername}',
'block_domain' => 'Block domain @{actorDomain}',
'delete' => 'Delete post',
'expand' => 'Espandi post',
'block_actor' => 'Blocca utente @{actorUsername}',
'block_domain' => 'Blocca dominio @{actorDomain}',
'delete' => 'Cancella post',
];

View file

@ -19,8 +19,8 @@ can be added as a cache handler.
## Supported tags
- `develop` [unstable], latest development branch build
// more tags to come!
- `beta` [stable], latest beta version build
- `1.0.0-beta.x` [stable], specific beta version build (since `1.0.0-beta.22`)
## Example usage
@ -33,7 +33,7 @@ can be added as a cache handler.
services:
app:
image: castopod/app:develop
image: castopod/app:beta
container_name: "castopod-app"
volumes:
- castopod-media:/opt/castopod/public/media
@ -51,7 +51,7 @@ can be added as a cache handler.
restart: unless-stopped
web-server:
image: castopod/web-server:develop
image: castopod/web-server:beta
container_name: "castopod-web-server"
volumes:
- castopod-media:/var/www/html/media
@ -117,26 +117,32 @@ can be added as a cache handler.
- **castopod/app**
| Variable name | Type (`default`) |
| -------------------------- | ----------------------------------- |
| **`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`) |
| Variable name | Type (`default`) | Default |
| ---------------------------- | ----------------------- | ---------------- |
| **`CP_BASEURL`** | string | `undefined` |
| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` |
| **`CP_ADMIN_GATEWAY`** | ?string | `"cp-admin"` |
| **`CP_AUTH_GATEWAY`** | ?string | `"cp-auth"` |
| **`CP_ANALYTICS_SALT`** | string | `undefined` |
| **`CP_DATABASE_HOSTNAME`** | ?string | `"mariadb"` |
| **`CP_DATABASE_NAME`** | ?string | `MYSQL_DATABASE` |
| **`CP_DATABASE_USERNAME`** | ?string | `MYSQL_USER` |
| **`CP_DATABASE_PASSWORD`** | ?string | `MYSQL_PASSWORD` |
| **`CP_DATABASE_PREFIX`** | ?string | `"cp_"` |
| **`CP_CACHE_HANDLER`** | [`"file"` or `"redis"`] | `"file"` |
| **`CP_REDIS_HOST`** | ?string | `"localhost"` |
| **`CP_REDIS_PASSWORD`** | ?string | `null` |
| **`CP_REDIS_PORT`** | ?number | `6379` |
| **`CP_REDIS_DATABASE`** | ?number | `0` |
| **`CP_EMAIL_SMTP_HOST`** | ?string | `undefined` |
| **`CP_EMAIL_FROM`** | ?string | `undefined` |
| **`CP_EMAIL_SMTP_USERNAME`** | ?string | `"localhost"` |
| **`CP_EMAIL_SMTP_PASSWORD`** | ?string | `null` |
| **`CP_EMAIL_SMTP_PORT`** | ?number | `25` |
| **`CP_EMAIL_SMTP_CRYPTO`** | [`"tls"` or `"ssl"`] | `"tls"` |
- **castopod/web-server**
| Variable name | Type (`default`) |
| --------------------- | ----------------- |
| **`CP_APP_HOSTNAME`** | ?string (`"app"`) |
| Variable name | Type | Default |
| --------------------- | ------- | ------- |
| **`CP_APP_HOSTNAME`** | ?string | `"app"` |

View file

@ -126,11 +126,40 @@ want to generate Video Clips. The following extensions must be installed:
::: info Note
The install script writes a `.env` file in the package root. If you cannot go
through the install wizard, you can
[create and update the `.env` file manually](#alternative-manual-configuration).
through the install wizard, you can create and edit the `.env` file manually
based on the `.env.example` file.
:::
### Email/SMTP setup
Email configuration is required for some features to work properly (eg.
retrieving your forgotten password, sending instructions to premium subscribers,
…)
You may add your email configuration in your instance's `.env` like so:
```ini
# […]
email.fromEmail="your_email_address"
email.SMTPHost="your_smtp_host"
email.SMTPUser="your_smtp_user"
email.SMTPPass="your_smtp_password"
```
#### Email config options
| Variable name | Type | Default |
| ---------------- | -------------------- | ------------ |
| **`fromEmail`** | string | `undefined` |
| **`fromName`** | string | `"Castopod"` |
| **`SMTPHost`** | string | `undefined` |
| **`SMTPUser`** | string | `undefined` |
| **`SMTPPass`** | string | `undefined` |
| **`SMTPPort`** | number | `25` |
| **`SMTPCrypto`** | [`"tls"` or `"ssl"`] | `"tls"` |
## Community packages
If you don't want to bother with installing Castopod manually, you may use one

View file

@ -49,6 +49,7 @@ podcasters around the world!
- 🔗  Funding links
- 📲  listen-to-click ads
- 🤝  value4value / WebMonetization
- 💎  Premium podcasts
- 📡  Publish your episodes everywhere with RSS:
- 📱  On all indexes and apps: Podcast Index, Apple Podcasts, Spotify,
Google Podcasts, Deezer, Podcast Addict, Podfriend, …

View file

@ -19,8 +19,8 @@ can be added as a cache handler.
## Supported tags
- `develop` [unstable], latest development branch build
// more tags to come!
- `beta` [stable], latest beta version build
- `1.0.0-beta.x` [stable], specific beta version build (since `1.0.0-beta.22`)
## Example usage
@ -33,7 +33,7 @@ can be added as a cache handler.
services:
app:
image: castopod/app:develop
image: castopod/app:beta
container_name: "castopod-app"
volumes:
- castopod-media:/opt/castopod/public/media
@ -51,7 +51,7 @@ can be added as a cache handler.
restart: unless-stopped
web-server:
image: castopod/web-server:develop
image: castopod/web-server:beta
container_name: "castopod-web-server"
volumes:
- castopod-media:/var/www/html/media
@ -117,26 +117,32 @@ can be added as a cache handler.
- **castopod/app**
| Variable name | Type (`default`) |
| -------------------------- | ----------------------------------- |
| **`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`) |
| Variable name | Type (`default`) | Default |
| ---------------------------- | ----------------------- | ---------------- |
| **`CP_BASEURL`** | string | `undefined` |
| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` |
| **`CP_ADMIN_GATEWAY`** | ?string | `"cp-admin"` |
| **`CP_AUTH_GATEWAY`** | ?string | `"cp-auth"` |
| **`CP_ANALYTICS_SALT`** | string | `undefined` |
| **`CP_DATABASE_HOSTNAME`** | ?string | `"mariadb"` |
| **`CP_DATABASE_NAME`** | ?string | `MYSQL_DATABASE` |
| **`CP_DATABASE_USERNAME`** | ?string | `MYSQL_USER` |
| **`CP_DATABASE_PASSWORD`** | ?string | `MYSQL_PASSWORD` |
| **`CP_DATABASE_PREFIX`** | ?string | `"cp_"` |
| **`CP_CACHE_HANDLER`** | [`"file"` or `"redis"`] | `"file"` |
| **`CP_REDIS_HOST`** | ?string | `"localhost"` |
| **`CP_REDIS_PASSWORD`** | ?string | `null` |
| **`CP_REDIS_PORT`** | ?number | `6379` |
| **`CP_REDIS_DATABASE`** | ?number | `0` |
| **`CP_EMAIL_SMTP_HOST`** | ?string | `undefined` |
| **`CP_EMAIL_FROM`** | ?string | `undefined` |
| **`CP_EMAIL_SMTP_USERNAME`** | ?string | `"localhost"` |
| **`CP_EMAIL_SMTP_PASSWORD`** | ?string | `null` |
| **`CP_EMAIL_SMTP_PORT`** | ?number | `25` |
| **`CP_EMAIL_SMTP_CRYPTO`** | [`"tls"` or `"ssl"`] | `"tls"` |
- **castopod/web-server**
| Variable name | Type (`default`) |
| --------------------- | ----------------- |
| **`CP_APP_HOSTNAME`** | ?string (`"app"`) |
| Variable name | Type | Default |
| --------------------- | ------- | ------- |
| **`CP_APP_HOSTNAME`** | ?string | `"app"` |

View file

@ -126,11 +126,40 @@ want to generate Video Clips. The following extensions must be installed:
::: info Note
The install script writes a `.env` file in the package root. If you cannot go
through the install wizard, you can
[create and update the `.env` file manually](#alternative-manual-configuration).
through the install wizard, you can create and edit the `.env` file manually
based on the `.env.example` file.
:::
### Email/SMTP setup
Email configuration is required for some features to work properly (eg.
retrieving your forgotten password, sending instructions to premium subscribers,
…)
You may add your email configuration in your instance's `.env` like so:
```ini
# […]
email.fromEmail="your_email_address"
email.SMTPHost="your_smtp_host"
email.SMTPUser="your_smtp_user"
email.SMTPPass="your_smtp_password"
```
#### Email config options
| Variable name | Type | Default |
| ---------------- | -------------------- | ------------ |
| **`fromEmail`** | string | `undefined` |
| **`fromName`** | string | `"Castopod"` |
| **`SMTPHost`** | string | `undefined` |
| **`SMTPUser`** | string | `undefined` |
| **`SMTPPass`** | string | `undefined` |
| **`SMTPPort`** | number | `25` |
| **`SMTPCrypto`** | [`"tls"` or `"ssl"`] | `"tls"` |
## Community packages
If you don't want to bother with installing Castopod manually, you may use one

View file

@ -49,6 +49,7 @@ podcasters around the world!
- 🔗  Funding links
- 📲  listen-to-click ads
- 🤝  value4value / WebMonetization
- 💎  Premium podcasts
- 📡  Publish your episodes everywhere with RSS:
- 📱  On all indexes and apps: Podcast Index, Apple Podcasts, Spotify,
Google Podcasts, Deezer, Podcast Addict, Podfriend, …

View file

@ -19,8 +19,8 @@ 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!
- `beta` [stable], latest beta version build
- `1.0.0-beta.x` [stable], specific beta version build (since `1.0.0-beta.22`)
## Exemple d'ús
@ -33,16 +33,16 @@ una base de dades Redis com a gestor de memòria cau.
services:
app:
image: castopod/app:develop
image: castopod/app:beta
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
MYSQL_PASSWORD: changeme
CP_BASEURL: "http://castopod.example.com"
CP_ANALYTICS_SALT: changeme
CP_CACHE_HANDLER: redis
CP_REDIS_HOST: redis
networks:
@ -51,7 +51,7 @@ una base de dades Redis com a gestor de memòria cau.
restart: unless-stopped
web-server:
image: castopod/web-server:develop
image: castopod/web-server:beta
container_name: "castopod-web-server"
volumes:
- castopod-media:/var/www/html/media
@ -69,10 +69,10 @@ una base de dades Redis com a gestor de memòria cau.
volumes:
- castopod-db:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: canvieu-me
MYSQL_ROOT_PASSWORD: changeme
MYSQL_DATABASE: castopod
MYSQL_USER: castopod
MYSQL_PASSWORD: canvieu-me
MYSQL_PASSWORD: changeme
restart: unless-stopped
redis:
@ -119,26 +119,32 @@ una base de dades Redis com a gestor de memòria cau.
- **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`) |
| Nom de la variable | Tipus (`default`) | Default |
| ---------------------------- | ----------------------- | ---------------- |
| **`CP_BASEURL`** | string | `undefined` |
| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` |
| **`CP_ADMIN_GATEWAY`** | ?string | `"cp-admin"` |
| **`CP_AUTH_GATEWAY`** | ?string | `"cp-auth"` |
| **`CP_ANALYTICS_SALT`** | string | `undefined` |
| **`CP_DATABASE_HOSTNAME`** | ?string | `"mariadb"` |
| **`CP_DATABASE_NAME`** | ?string | `MYSQL_DATABASE` |
| **`CP_DATABASE_USERNAME`** | ?string | `MYSQL_USER` |
| **`CP_DATABASE_PASSWORD`** | ?string | `MYSQL_PASSWORD` |
| **`CP_DATABASE_PREFIX`** | ?string | `"cp_"` |
| **`CP_CACHE_HANDLER`** | [`"file"` or `"redis"`] | `"file"` |
| **`CP_REDIS_HOST`** | ?string | `"localhost"` |
| **`CP_REDIS_PASSWORD`** | ?string | `null` |
| **`CP_REDIS_PORT`** | ?number | `6379` |
| **`CP_REDIS_DATABASE`** | ?number | `0` |
| **`CP_EMAIL_SMTP_HOST`** | ?string | `undefined` |
| **`CP_EMAIL_FROM`** | ?string | `undefined` |
| **`CP_EMAIL_SMTP_USERNAME`** | ?string | `"localhost"` |
| **`CP_EMAIL_SMTP_PASSWORD`** | ?string | `null` |
| **`CP_EMAIL_SMTP_PORT`** | ?number | `25` |
| **`CP_EMAIL_SMTP_CRYPTO`** | [`"tls"` or `"ssl"`] | `"tls"` |
- **castopod/web-server**
| Nom de la variable | Type (`default`) |
| --------------------- | ----------------- |
| **`CP_APP_HOSTNAME`** | ?string (`"app"`) |
| Nom de la variable | Type | Default |
| --------------------- | ------- | ------- |
| **`CP_APP_HOSTNAME`** | ?string | `"app"` |

View file

@ -130,22 +130,51 @@ o superior. Cal instal·lar les següents extensions:
::: 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).
L'script d'instal·lació escriu un fitxer `.env` a l'arrel del paquet. If you
cannot go through the install wizard, you can create and edit the `.env` file
manually based on the `.env.example` file.
:::
### Email/SMTP setup
Email configuration is required for some features to work properly (eg.
retrieving your forgotten password, sending instructions to premium subscribers,
…)
You may add your email configuration in your instance's `.env` like so:
```ini
# […]
email.fromEmail="your_email_address"
email.SMTPHost="your_smtp_host"
email.SMTPUser="your_smtp_user"
email.SMTPPass="your_smtp_password"
```
#### Email config options
| Variable name | Type | Default |
| ---------------- | -------------------- | ------------ |
| **`fromEmail`** | string | `undefined` |
| **`fromName`** | string | `"Castopod"` |
| **`SMTPHost`** | string | `undefined` |
| **`SMTPUser`** | string | `undefined` |
| **`SMTPPass`** | string | `undefined` |
| **`SMTPPort`** | number | `25` |
| **`SMTPCrypto`** | [`"tls"` or `"ssl"`] | `"tls"` |
## 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.
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.
### Instal·lar amb YunoHost
### Install with 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.
[YunoHost](https://yunohost.org/) is a distribution based on Debian GNU/Linux
made up of free and open-source software packages. It manages the hardships of
self-hosting for you.
<div class="flex flex-wrap items-center gap-4">

View file

@ -51,6 +51,7 @@ l'utilitzen els podcasters d'arreu del món!
- 🔗 &nbsp;Enllaços de finançament
- 📲 &nbsp;Anuncis per escoltar-fent-clic
- 🤝 &nbsp;Integració amb value4value i WebMonetization
- 💎 &nbsp;Premium podcasts
- 📡 &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, …

View file

@ -19,8 +19,8 @@ can be added as a cache handler.
## Supported tags
- `develop` [unstable], latest development branch build
// more tags to come!
- `beta` [stable], latest beta version build
- `1.0.0-beta.x` [stable], specific beta version build (since `1.0.0-beta.22`)
## Example usage
@ -33,7 +33,7 @@ can be added as a cache handler.
services:
app:
image: castopod/app:develop
image: castopod/app:beta
container_name: "castopod-app"
volumes:
- castopod-media:/opt/castopod/public/media
@ -51,7 +51,7 @@ can be added as a cache handler.
restart: unless-stopped
web-server:
image: castopod/web-server:develop
image: castopod/web-server:beta
container_name: "castopod-web-server"
volumes:
- castopod-media:/var/www/html/media
@ -117,26 +117,32 @@ can be added as a cache handler.
- **castopod/app**
| Variable name | Type (`default`) |
| -------------------------- | ----------------------------------- |
| **`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`) |
| Variable name | Type (`default`) | Default |
| ---------------------------- | ----------------------- | ---------------- |
| **`CP_BASEURL`** | string | `undefined` |
| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` |
| **`CP_ADMIN_GATEWAY`** | ?string | `"cp-admin"` |
| **`CP_AUTH_GATEWAY`** | ?string | `"cp-auth"` |
| **`CP_ANALYTICS_SALT`** | string | `undefined` |
| **`CP_DATABASE_HOSTNAME`** | ?string | `"mariadb"` |
| **`CP_DATABASE_NAME`** | ?string | `MYSQL_DATABASE` |
| **`CP_DATABASE_USERNAME`** | ?string | `MYSQL_USER` |
| **`CP_DATABASE_PASSWORD`** | ?string | `MYSQL_PASSWORD` |
| **`CP_DATABASE_PREFIX`** | ?string | `"cp_"` |
| **`CP_CACHE_HANDLER`** | [`"file"` or `"redis"`] | `"file"` |
| **`CP_REDIS_HOST`** | ?string | `"localhost"` |
| **`CP_REDIS_PASSWORD`** | ?string | `null` |
| **`CP_REDIS_PORT`** | ?number | `6379` |
| **`CP_REDIS_DATABASE`** | ?number | `0` |
| **`CP_EMAIL_SMTP_HOST`** | ?string | `undefined` |
| **`CP_EMAIL_FROM`** | ?string | `undefined` |
| **`CP_EMAIL_SMTP_USERNAME`** | ?string | `"localhost"` |
| **`CP_EMAIL_SMTP_PASSWORD`** | ?string | `null` |
| **`CP_EMAIL_SMTP_PORT`** | ?number | `25` |
| **`CP_EMAIL_SMTP_CRYPTO`** | [`"tls"` or `"ssl"`] | `"tls"` |
- **castopod/web-server**
| Variable name | Type (`default`) |
| --------------------- | ----------------- |
| **`CP_APP_HOSTNAME`** | ?string (`"app"`) |
| Variable name | Type | Default |
| --------------------- | ------- | ------- |
| **`CP_APP_HOSTNAME`** | ?string | `"app"` |

View file

@ -126,11 +126,40 @@ want to generate Video Clips. The following extensions must be installed:
::: info Note
The install script writes a `.env` file in the package root. If you cannot go
through the install wizard, you can
[create and update the `.env` file manually](#alternative-manual-configuration).
through the install wizard, you can create and edit the `.env` file manually
based on the `.env.example` file.
:::
### Email/SMTP setup
Email configuration is required for some features to work properly (eg.
retrieving your forgotten password, sending instructions to premium subscribers,
…)
You may add your email configuration in your instance's `.env` like so:
```ini
# […]
email.fromEmail="your_email_address"
email.SMTPHost="your_smtp_host"
email.SMTPUser="your_smtp_user"
email.SMTPPass="your_smtp_password"
```
#### Email config options
| Variable name | Type | Default |
| ---------------- | -------------------- | ------------ |
| **`fromEmail`** | string | `undefined` |
| **`fromName`** | string | `"Castopod"` |
| **`SMTPHost`** | string | `undefined` |
| **`SMTPUser`** | string | `undefined` |
| **`SMTPPass`** | string | `undefined` |
| **`SMTPPort`** | number | `25` |
| **`SMTPCrypto`** | [`"tls"` or `"ssl"`] | `"tls"` |
## Community packages
If you don't want to bother with installing Castopod manually, you may use one

View file

@ -49,6 +49,7 @@ Podcastenden auf &nbsp;der&nbsp; ganzen Welt verwendet!
- 🔗 &nbsp;Funding links
- 📲 &nbsp;listen-to-click ads
- 🤝 &nbsp;value4value / WebMonetization
- 💎 &nbsp;Premium podcasts
- 📡 &nbsp;Publish your episodes everywhere with RSS:
- 📱 &nbsp;On all indexes and apps: Podcast Index, Apple Podcasts, Spotify,
Google Podcasts, Deezer, Podcast Addict, Podfriend, …

View file

@ -19,8 +19,8 @@ can be added as a cache handler.
## Supported tags
- `develop` [unstable], latest development branch build
// more tags to come!
- `beta` [stable], latest beta version build
- `1.0.0-beta.x` [stable], specific beta version build (since `1.0.0-beta.22`)
## Example usage
@ -33,7 +33,7 @@ can be added as a cache handler.
services:
app:
image: castopod/app:develop
image: castopod/app:beta
container_name: "castopod-app"
volumes:
- castopod-media:/opt/castopod/public/media
@ -51,7 +51,7 @@ can be added as a cache handler.
restart: unless-stopped
web-server:
image: castopod/web-server:develop
image: castopod/web-server:beta
container_name: "castopod-web-server"
volumes:
- castopod-media:/var/www/html/media
@ -117,26 +117,32 @@ can be added as a cache handler.
- **castopod/app**
| Variable name | Type (`default`) |
| -------------------------- | ----------------------------------- |
| **`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`) |
| Variable name | Type (`default`) | Default |
| ---------------------------- | ----------------------- | ---------------- |
| **`CP_BASEURL`** | string | `undefined` |
| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` |
| **`CP_ADMIN_GATEWAY`** | ?string | `"cp-admin"` |
| **`CP_AUTH_GATEWAY`** | ?string | `"cp-auth"` |
| **`CP_ANALYTICS_SALT`** | string | `undefined` |
| **`CP_DATABASE_HOSTNAME`** | ?string | `"mariadb"` |
| **`CP_DATABASE_NAME`** | ?string | `MYSQL_DATABASE` |
| **`CP_DATABASE_USERNAME`** | ?string | `MYSQL_USER` |
| **`CP_DATABASE_PASSWORD`** | ?string | `MYSQL_PASSWORD` |
| **`CP_DATABASE_PREFIX`** | ?string | `"cp_"` |
| **`CP_CACHE_HANDLER`** | [`"file"` or `"redis"`] | `"file"` |
| **`CP_REDIS_HOST`** | ?string | `"localhost"` |
| **`CP_REDIS_PASSWORD`** | ?string | `null` |
| **`CP_REDIS_PORT`** | ?number | `6379` |
| **`CP_REDIS_DATABASE`** | ?number | `0` |
| **`CP_EMAIL_SMTP_HOST`** | ?string | `undefined` |
| **`CP_EMAIL_FROM`** | ?string | `undefined` |
| **`CP_EMAIL_SMTP_USERNAME`** | ?string | `"localhost"` |
| **`CP_EMAIL_SMTP_PASSWORD`** | ?string | `null` |
| **`CP_EMAIL_SMTP_PORT`** | ?number | `25` |
| **`CP_EMAIL_SMTP_CRYPTO`** | [`"tls"` or `"ssl"`] | `"tls"` |
- **castopod/web-server**
| Variable name | Type (`default`) |
| --------------------- | ----------------- |
| **`CP_APP_HOSTNAME`** | ?string (`"app"`) |
| Variable name | Type | Default |
| --------------------- | ------- | ------- |
| **`CP_APP_HOSTNAME`** | ?string | `"app"` |

View file

@ -126,11 +126,40 @@ want to generate Video Clips. The following extensions must be installed:
::: info Note
The install script writes a `.env` file in the package root. If you cannot go
through the install wizard, you can
[create and update the `.env` file manually](#alternative-manual-configuration).
through the install wizard, you can create and edit the `.env` file manually
based on the `.env.example` file.
:::
### Email/SMTP setup
Email configuration is required for some features to work properly (eg.
retrieving your forgotten password, sending instructions to premium subscribers,
…)
You may add your email configuration in your instance's `.env` like so:
```ini
# […]
email.fromEmail="your_email_address"
email.SMTPHost="your_smtp_host"
email.SMTPUser="your_smtp_user"
email.SMTPPass="your_smtp_password"
```
#### Email config options
| Variable name | Type | Default |
| ---------------- | -------------------- | ------------ |
| **`fromEmail`** | string | `undefined` |
| **`fromName`** | string | `"Castopod"` |
| **`SMTPHost`** | string | `undefined` |
| **`SMTPUser`** | string | `undefined` |
| **`SMTPPass`** | string | `undefined` |
| **`SMTPPort`** | number | `25` |
| **`SMTPCrypto`** | [`"tls"` or `"ssl"`] | `"tls"` |
## Community packages
If you don't want to bother with installing Castopod manually, you may use one

View file

@ -50,6 +50,7 @@ sidebarDepth: 2
- 🔗 &nbsp;Funding links
- 📲 &nbsp;listen-to-click ads
- 🤝 &nbsp;value4value / WebMonetization
- 💎 &nbsp;Premium podcasts
- 📡 &nbsp;Publish your episodes everywhere with RSS:
- 📱 &nbsp;On all indexes and apps: Podcast Index, Apple Podcasts, Spotify,
Google Podcasts, Deezer, Podcast Addict, Podfriend, …

View file

@ -19,8 +19,8 @@ También se puede añadir una base de datos Redis como gestor de caché.
## Etiquetas admitidas
- `develop` [unstable], última rama de desarrollo construida
// más etiquetas por venir!
- `beta` [stable], latest beta version build
- `1.0.0-beta.x` [stable], specific beta version build (since `1.0.0-beta.22`)
## Ejemplo de uso
@ -33,7 +33,7 @@ También se puede añadir una base de datos Redis como gestor de caché.
services:
app:
image: castopod/app:develop
image: castopod/app:beta
container_name: "castopod-app"
volumes:
- castopod-media:/opt/castopod/public/media
@ -51,7 +51,7 @@ También se puede añadir una base de datos Redis como gestor de caché.
restart: unless-stopped
web-server:
image: castopod/web-server:develop
image: castopod/web-server:beta
container_name: "castopod-web-server"
volumes:
- castopod-media:/var/www/html/media
@ -119,26 +119,32 @@ También se puede añadir una base de datos Redis como gestor de caché.
- **castopod/app**
| 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`) |
| Nombre de la Variable | Tipo (`predeterminado`) | Default |
| ---------------------------- | ----------------------- | ---------------- |
| **`CP_URLBASE`** | string | `undefined` |
| **`CP_MEDIA_URLBASE`** | ?string | `CP_BASEURL` |
| **`CP_ADMIN_GATEWAY`** | ?string | `"cp-admin"` |
| **`CP_AUTH_GATEWAY`** | ?string | `"cp-auth"` |
| **`CP_ANALYTICS_SALT`** | string | `undefined` |
| **`CP_DATABASE_HOSTNAME`** | ?string | `"mariadb"` |
| **`CP_DATABASE_NAME`** | ?string | `MYSQL_DATABASE` |
| **`CP_DATABASE_USERNAME`** | ?string | `MYSQL_USER` |
| **`CP_DATABASE_PASSWORD`** | ?string | `MYSQL_PASSWORD` |
| **`CP_DATABASE_PREFIX`** | ?string | `"cp_"` |
| **`CP_CACHE_HANDLER`** | [`"file"` or `"redis"`] | `"file"` |
| **`CP_REDIS_HOST`** | ?string | `"localhost"` |
| **`CP_REDIS_PASSWORD`** | ?string | `null` |
| **`CP_REDIS_PORT`** | ?number | `6379` |
| **`CP_REDIS_DATABASE`** | ?number | `0` |
| **`CP_EMAIL_SMTP_HOST`** | ?string | `undefined` |
| **`CP_EMAIL_FROM`** | ?string | `undefined` |
| **`CP_EMAIL_SMTP_USERNAME`** | ?string | `"localhost"` |
| **`CP_EMAIL_SMTP_PASSWORD`** | ?string | `null` |
| **`CP_EMAIL_SMTP_PORT`** | ?number | `25` |
| **`CP_EMAIL_SMTP_CRYPTO`** | [`"tls"` or `"ssl"`] | `"tls"` |
- **castopod/web-server**
| Nombre de la variable | Tipo (`predeterminado`) |
| --------------------- | ----------------------- |
| **`CP_APP_HOSTNAME`** | ?string (`"app"`) |
| Nombre de la variable | Type | Default |
| --------------------- | ------- | ------- |
| **`CP_APP_HOSTNAME`** | ?string | `"app"` |

View file

@ -133,22 +133,51 @@ extensiones:
::: info Nota
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).
El script de instalación crea un archivo `.env` en la raíz de castopod. If you
cannot go through the install wizard, you can create and edit the `.env` file
manually based on the `.env.example` file.
:::
### Email/SMTP setup
Email configuration is required for some features to work properly (eg.
retrieving your forgotten password, sending instructions to premium subscribers,
…)
You may add your email configuration in your instance's `.env` like so:
```ini
# […]
email.fromEmail="your_email_address"
email.SMTPHost="your_smtp_host"
email.SMTPUser="your_smtp_user"
email.SMTPPass="your_smtp_password"
```
#### Email config options
| Variable name | Type | Default |
| ---------------- | -------------------- | ------------ |
| **`fromEmail`** | string | `undefined` |
| **`fromName`** | string | `"Castopod"` |
| **`SMTPHost`** | string | `undefined` |
| **`SMTPUser`** | string | `undefined` |
| **`SMTPPass`** | string | `undefined` |
| **`SMTPPort`** | number | `25` |
| **`SMTPCrypto`** | [`"tls"` or `"ssl"`] | `"tls"` |
## Paquetes de la comunidad
Si no quieres molestarte en instalar Castopod manualmente, puedes utilizar uno
de los paquetes creados y mantenidos por la comunidad de código abierto.
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.
### Instalar con YunoHost
### Install with YunoHost
[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.
[YunoHost](https://yunohost.org/) is a distribution based on Debian GNU/Linux
made up of free and open-source software packages. It manages the hardships of
self-hosting for you.
<div class="flex flex-wrap items-center gap-4">

View file

@ -54,6 +54,7 @@ utilizado por podcasters alrededor del mundo.
- 📲 &nbsp;Anuncios publicitarios del tipo click-para-escuchar
- 🤝 &nbsp;value4value / WebMonetization (criptomonedas para creadores de
contenido).
- 💎 &nbsp;Premium podcasts
- 📡 &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, …

View file

@ -19,8 +19,8 @@ can be added as a cache handler.
## Supported tags
- `develop` [unstable], latest development branch build
// more tags to come!
- `beta` [stable], latest beta version build
- `1.0.0-beta.x` [stable], specific beta version build (since `1.0.0-beta.22`)
## Example usage
@ -33,7 +33,7 @@ can be added as a cache handler.
services:
app:
image: castopod/app:develop
image: castopod/app:beta
container_name: "castopod-app"
volumes:
- castopod-media:/opt/castopod/public/media
@ -51,7 +51,7 @@ can be added as a cache handler.
restart: unless-stopped
web-server:
image: castopod/web-server:develop
image: castopod/web-server:beta
container_name: "castopod-web-server"
volumes:
- castopod-media:/var/www/html/media
@ -117,26 +117,32 @@ can be added as a cache handler.
- **castopod/app**
| Variable name | Type (`default`) |
| -------------------------- | ----------------------------------- |
| **`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`) |
| Variable name | Type (`default`) | Default |
| ---------------------------- | ----------------------- | ---------------- |
| **`CP_BASEURL`** | string | `undefined` |
| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` |
| **`CP_ADMIN_GATEWAY`** | ?string | `"cp-admin"` |
| **`CP_AUTH_GATEWAY`** | ?string | `"cp-auth"` |
| **`CP_ANALYTICS_SALT`** | string | `undefined` |
| **`CP_DATABASE_HOSTNAME`** | ?string | `"mariadb"` |
| **`CP_DATABASE_NAME`** | ?string | `MYSQL_DATABASE` |
| **`CP_DATABASE_USERNAME`** | ?string | `MYSQL_USER` |
| **`CP_DATABASE_PASSWORD`** | ?string | `MYSQL_PASSWORD` |
| **`CP_DATABASE_PREFIX`** | ?string | `"cp_"` |
| **`CP_CACHE_HANDLER`** | [`"file"` or `"redis"`] | `"file"` |
| **`CP_REDIS_HOST`** | ?string | `"localhost"` |
| **`CP_REDIS_PASSWORD`** | ?string | `null` |
| **`CP_REDIS_PORT`** | ?number | `6379` |
| **`CP_REDIS_DATABASE`** | ?number | `0` |
| **`CP_EMAIL_SMTP_HOST`** | ?string | `undefined` |
| **`CP_EMAIL_FROM`** | ?string | `undefined` |
| **`CP_EMAIL_SMTP_USERNAME`** | ?string | `"localhost"` |
| **`CP_EMAIL_SMTP_PASSWORD`** | ?string | `null` |
| **`CP_EMAIL_SMTP_PORT`** | ?number | `25` |
| **`CP_EMAIL_SMTP_CRYPTO`** | [`"tls"` or `"ssl"`] | `"tls"` |
- **castopod/web-server**
| Variable name | Type (`default`) |
| --------------------- | ----------------- |
| **`CP_APP_HOSTNAME`** | ?string (`"app"`) |
| Variable name | Type | Default |
| --------------------- | ------- | ------- |
| **`CP_APP_HOSTNAME`** | ?string | `"app"` |

View file

@ -126,11 +126,40 @@ want to generate Video Clips. The following extensions must be installed:
::: info Note
The install script writes a `.env` file in the package root. If you cannot go
through the install wizard, you can
[create and update the `.env` file manually](#alternative-manual-configuration).
through the install wizard, you can create and edit the `.env` file manually
based on the `.env.example` file.
:::
### Email/SMTP setup
Email configuration is required for some features to work properly (eg.
retrieving your forgotten password, sending instructions to premium subscribers,
…)
You may add your email configuration in your instance's `.env` like so:
```ini
# […]
email.fromEmail="your_email_address"
email.SMTPHost="your_smtp_host"
email.SMTPUser="your_smtp_user"
email.SMTPPass="your_smtp_password"
```
#### Email config options
| Variable name | Type | Default |
| ---------------- | -------------------- | ------------ |
| **`fromEmail`** | string | `undefined` |
| **`fromName`** | string | `"Castopod"` |
| **`SMTPHost`** | string | `undefined` |
| **`SMTPUser`** | string | `undefined` |
| **`SMTPPass`** | string | `undefined` |
| **`SMTPPort`** | number | `25` |
| **`SMTPCrypto`** | [`"tls"` or `"ssl"`] | `"tls"` |
## Community packages
If you don't want to bother with installing Castopod manually, you may use one

View file

@ -49,6 +49,7 @@ podcasters around&nbsp;the&nbsp;world!
- 🔗 &nbsp;Funding links
- 📲 &nbsp;listen-to-click ads
- 🤝 &nbsp;value4value / WebMonetization
- 💎 &nbsp;Premium podcasts
- 📡 &nbsp;Publish your episodes everywhere with RSS:
- 📱 &nbsp;On all indexes and apps: Podcast Index, Apple Podcasts, Spotify,
Google Podcasts, Deezer, Podcast Addict, Podfriend, …

View file

@ -19,8 +19,8 @@ can be added as a cache handler.
## Supported tags
- `develop` [unstable], latest development branch build
// more tags to come!
- `beta` [stable], latest beta version build
- `1.0.0-beta.x` [stable], specific beta version build (since `1.0.0-beta.22`)
## Example usage
@ -33,7 +33,7 @@ can be added as a cache handler.
services:
app:
image: castopod/app:develop
image: castopod/app:beta
container_name: "castopod-app"
volumes:
- castopod-media:/opt/castopod/public/media
@ -51,7 +51,7 @@ can be added as a cache handler.
restart: unless-stopped
web-server:
image: castopod/web-server:develop
image: castopod/web-server:beta
container_name: "castopod-web-server"
volumes:
- castopod-media:/var/www/html/media
@ -117,26 +117,32 @@ can be added as a cache handler.
- **castopod/app**
| Variable name | Type (`default`) |
| -------------------------- | ----------------------------------- |
| **`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`) |
| Variable name | Type (`default`) | Default |
| ---------------------------- | ----------------------- | ---------------- |
| **`CP_BASEURL`** | string | `undefined` |
| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` |
| **`CP_ADMIN_GATEWAY`** | ?string | `"cp-admin"` |
| **`CP_AUTH_GATEWAY`** | ?string | `"cp-auth"` |
| **`CP_ANALYTICS_SALT`** | string | `undefined` |
| **`CP_DATABASE_HOSTNAME`** | ?string | `"mariadb"` |
| **`CP_DATABASE_NAME`** | ?string | `MYSQL_DATABASE` |
| **`CP_DATABASE_USERNAME`** | ?string | `MYSQL_USER` |
| **`CP_DATABASE_PASSWORD`** | ?string | `MYSQL_PASSWORD` |
| **`CP_DATABASE_PREFIX`** | ?string | `"cp_"` |
| **`CP_CACHE_HANDLER`** | [`"file"` or `"redis"`] | `"file"` |
| **`CP_REDIS_HOST`** | ?string | `"localhost"` |
| **`CP_REDIS_PASSWORD`** | ?string | `null` |
| **`CP_REDIS_PORT`** | ?number | `6379` |
| **`CP_REDIS_DATABASE`** | ?number | `0` |
| **`CP_EMAIL_SMTP_HOST`** | ?string | `undefined` |
| **`CP_EMAIL_FROM`** | ?string | `undefined` |
| **`CP_EMAIL_SMTP_USERNAME`** | ?string | `"localhost"` |
| **`CP_EMAIL_SMTP_PASSWORD`** | ?string | `null` |
| **`CP_EMAIL_SMTP_PORT`** | ?number | `25` |
| **`CP_EMAIL_SMTP_CRYPTO`** | [`"tls"` or `"ssl"`] | `"tls"` |
- **castopod/web-server**
| Variable name | Type (`default`) |
| --------------------- | ----------------- |
| **`CP_APP_HOSTNAME`** | ?string (`"app"`) |
| Variable name | Type | Default |
| --------------------- | ------- | ------- |
| **`CP_APP_HOSTNAME`** | ?string | `"app"` |

View file

@ -132,22 +132,51 @@ installées :
::: info Note
Le script d'installation crée un fichier `.env` à la racine du paquet. Si vous
ne pouvez pas passer par l'assistant d'installation, vous pouvez
[créer et mettre à jour le fichier `.env` manuellement](#alternative-manual-configuration).
Le script d'installation crée un fichier `.env` à la racine du paquet. If you
cannot go through the install wizard, you can create and edit the `.env` file
manually based on the `.env.example` file.
:::
### Email/SMTP setup
Email configuration is required for some features to work properly (eg.
retrieving your forgotten password, sending instructions to premium subscribers,
…)
You may add your email configuration in your instance's `.env` like so:
```ini
# […]
email.fromEmail="your_email_address"
email.SMTPHost="your_smtp_host"
email.SMTPUser="your_smtp_user"
email.SMTPPass="your_smtp_password"
```
#### Email config options
| Variable name | Type | Default |
| ---------------- | -------------------- | ------------ |
| **`fromEmail`** | string | `undefined` |
| **`fromName`** | string | `"Castopod"` |
| **`SMTPHost`** | string | `undefined` |
| **`SMTPUser`** | string | `undefined` |
| **`SMTPPass`** | string | `undefined` |
| **`SMTPPort`** | number | `25` |
| **`SMTPCrypto`** | [`"tls"` or `"ssl"`] | `"tls"` |
## Paquets fournis par la communauté
Si vous ne voulez pas vous soucier d'installer Castopod manuellement, vous
pouvez utiliser un des paquets créés et maintenus par la communauté open-source.
If you don't want to bother with installing Castopod manually, you may use one
of the packages created and maintained by the open-source community.
### Installer avec YunoHost
### Install with YunoHost
[YunoHost](https://yunohost.org/) est une distribution basée sur Debian
GNU/Linux composée de paquets logiciels libres et open-source. Il gère les
difficultés de l'auto-hébergement pour vous.
[YunoHost](https://yunohost.org/) is a distribution based on Debian GNU/Linux
made up of free and open-source software packages. It manages the hardships of
self-hosting for you.
<div class="flex flex-wrap items-center gap-4">

View file

@ -51,6 +51,7 @@ et est utilisé par des podcasters autour partout dans le monde&nbsp;!
- 🔗 &nbsp;Liens de financement
- 📲 &nbsp;publicité “listen-to-click”
- 🤝 &nbsp;value4value / WebMonetization
- 💎 &nbsp;Premium podcasts
- 📡&nbsp;Publiez vos épisodes partout avec RSS:
- 📱 &nbsp;Sur tous les index et toutes les applications : Podcast Index,
Podcasts Apple, Spotify, Google Podcasts, Deezer, Podcast Addict, Podfriend…

View file

@ -19,8 +19,8 @@ can be added as a cache handler.
## Supported tags
- `develop` [unstable], latest development branch build
// more tags to come!
- `beta` [stable], latest beta version build
- `1.0.0-beta.x` [stable], specific beta version build (since `1.0.0-beta.22`)
## Example usage
@ -33,7 +33,7 @@ can be added as a cache handler.
services:
app:
image: castopod/app:develop
image: castopod/app:beta
container_name: "castopod-app"
volumes:
- castopod-media:/opt/castopod/public/media
@ -51,7 +51,7 @@ can be added as a cache handler.
restart: unless-stopped
web-server:
image: castopod/web-server:develop
image: castopod/web-server:beta
container_name: "castopod-web-server"
volumes:
- castopod-media:/var/www/html/media
@ -117,26 +117,32 @@ can be added as a cache handler.
- **castopod/app**
| Variable name | Type (`default`) |
| -------------------------- | ----------------------------------- |
| **`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`) |
| Variable name | Type (`default`) | Default |
| ---------------------------- | ----------------------- | ---------------- |
| **`CP_BASEURL`** | string | `undefined` |
| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` |
| **`CP_ADMIN_GATEWAY`** | ?string | `"cp-admin"` |
| **`CP_AUTH_GATEWAY`** | ?string | `"cp-auth"` |
| **`CP_ANALYTICS_SALT`** | string | `undefined` |
| **`CP_DATABASE_HOSTNAME`** | ?string | `"mariadb"` |
| **`CP_DATABASE_NAME`** | ?string | `MYSQL_DATABASE` |
| **`CP_DATABASE_USERNAME`** | ?string | `MYSQL_USER` |
| **`CP_DATABASE_PASSWORD`** | ?string | `MYSQL_PASSWORD` |
| **`CP_DATABASE_PREFIX`** | ?string | `"cp_"` |
| **`CP_CACHE_HANDLER`** | [`"file"` or `"redis"`] | `"file"` |
| **`CP_REDIS_HOST`** | ?string | `"localhost"` |
| **`CP_REDIS_PASSWORD`** | ?string | `null` |
| **`CP_REDIS_PORT`** | ?number | `6379` |
| **`CP_REDIS_DATABASE`** | ?number | `0` |
| **`CP_EMAIL_SMTP_HOST`** | ?string | `undefined` |
| **`CP_EMAIL_FROM`** | ?string | `undefined` |
| **`CP_EMAIL_SMTP_USERNAME`** | ?string | `"localhost"` |
| **`CP_EMAIL_SMTP_PASSWORD`** | ?string | `null` |
| **`CP_EMAIL_SMTP_PORT`** | ?number | `25` |
| **`CP_EMAIL_SMTP_CRYPTO`** | [`"tls"` or `"ssl"`] | `"tls"` |
- **castopod/web-server**
| Variable name | Type (`default`) |
| --------------------- | ----------------- |
| **`CP_APP_HOSTNAME`** | ?string (`"app"`) |
| Variable name | Type | Default |
| --------------------- | ------- | ------- |
| **`CP_APP_HOSTNAME`** | ?string | `"app"` |

View file

@ -126,11 +126,40 @@ want to generate Video Clips. The following extensions must be installed:
::: info Note
The install script writes a `.env` file in the package root. If you cannot go
through the install wizard, you can
[create and update the `.env` file manually](#alternative-manual-configuration).
through the install wizard, you can create and edit the `.env` file manually
based on the `.env.example` file.
:::
### Email/SMTP setup
Email configuration is required for some features to work properly (eg.
retrieving your forgotten password, sending instructions to premium subscribers,
…)
You may add your email configuration in your instance's `.env` like so:
```ini
# […]
email.fromEmail="your_email_address"
email.SMTPHost="your_smtp_host"
email.SMTPUser="your_smtp_user"
email.SMTPPass="your_smtp_password"
```
#### Email config options
| Variable name | Type | Default |
| ---------------- | -------------------- | ------------ |
| **`fromEmail`** | string | `undefined` |
| **`fromName`** | string | `"Castopod"` |
| **`SMTPHost`** | string | `undefined` |
| **`SMTPUser`** | string | `undefined` |
| **`SMTPPass`** | string | `undefined` |
| **`SMTPPort`** | number | `25` |
| **`SMTPCrypto`** | [`"tls"` or `"ssl"`] | `"tls"` |
## Community packages
If you don't want to bother with installing Castopod manually, you may use one

View file

@ -49,6 +49,7 @@ podcasters around&nbsp;the&nbsp;world!
- 🔗 &nbsp;Funding links
- 📲 &nbsp;listen-to-click ads
- 🤝 &nbsp;value4value / WebMonetization
- 💎 &nbsp;Premium podcasts
- 📡 &nbsp;Publish your episodes everywhere with RSS:
- 📱 &nbsp;On all indexes and apps: Podcast Index, Apple Podcasts, Spotify,
Google Podcasts, Deezer, Podcast Addict, Podfriend, …

View file

@ -19,8 +19,8 @@ can be added as a cache handler.
## Supported tags
- `develop` [unstable], latest development branch build
// more tags to come!
- `beta` [stable], latest beta version build
- `1.0.0-beta.x` [stable], specific beta version build (since `1.0.0-beta.22`)
## Example usage
@ -33,7 +33,7 @@ can be added as a cache handler.
services:
app:
image: castopod/app:develop
image: castopod/app:beta
container_name: "castopod-app"
volumes:
- castopod-media:/opt/castopod/public/media
@ -51,7 +51,7 @@ can be added as a cache handler.
restart: unless-stopped
web-server:
image: castopod/web-server:develop
image: castopod/web-server:beta
container_name: "castopod-web-server"
volumes:
- castopod-media:/var/www/html/media
@ -117,26 +117,32 @@ can be added as a cache handler.
- **castopod/app**
| Variable name | Type (`default`) |
| -------------------------- | ----------------------------------- |
| **`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`) |
| Variable name | Type (`default`) | Default |
| ---------------------------- | ----------------------- | ---------------- |
| **`CP_BASEURL`** | string | `undefined` |
| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` |
| **`CP_ADMIN_GATEWAY`** | ?string | `"cp-admin"` |
| **`CP_AUTH_GATEWAY`** | ?string | `"cp-auth"` |
| **`CP_ANALYTICS_SALT`** | string | `undefined` |
| **`CP_DATABASE_HOSTNAME`** | ?string | `"mariadb"` |
| **`CP_DATABASE_NAME`** | ?string | `MYSQL_DATABASE` |
| **`CP_DATABASE_USERNAME`** | ?string | `MYSQL_USER` |
| **`CP_DATABASE_PASSWORD`** | ?string | `MYSQL_PASSWORD` |
| **`CP_DATABASE_PREFIX`** | ?string | `"cp_"` |
| **`CP_CACHE_HANDLER`** | [`"file"` or `"redis"`] | `"file"` |
| **`CP_REDIS_HOST`** | ?string | `"localhost"` |
| **`CP_REDIS_PASSWORD`** | ?string | `null` |
| **`CP_REDIS_PORT`** | ?number | `6379` |
| **`CP_REDIS_DATABASE`** | ?number | `0` |
| **`CP_EMAIL_SMTP_HOST`** | ?string | `undefined` |
| **`CP_EMAIL_FROM`** | ?string | `undefined` |
| **`CP_EMAIL_SMTP_USERNAME`** | ?string | `"localhost"` |
| **`CP_EMAIL_SMTP_PASSWORD`** | ?string | `null` |
| **`CP_EMAIL_SMTP_PORT`** | ?number | `25` |
| **`CP_EMAIL_SMTP_CRYPTO`** | [`"tls"` or `"ssl"`] | `"tls"` |
- **castopod/web-server**
| Variable name | Type (`default`) |
| --------------------- | ----------------- |
| **`CP_APP_HOSTNAME`** | ?string (`"app"`) |
| Variable name | Type | Default |
| --------------------- | ------- | ------- |
| **`CP_APP_HOSTNAME`** | ?string | `"app"` |

View file

@ -126,11 +126,40 @@ want to generate Video Clips. The following extensions must be installed:
::: info Note
The install script writes a `.env` file in the package root. If you cannot go
through the install wizard, you can
[create and update the `.env` file manually](#alternative-manual-configuration).
through the install wizard, you can create and edit the `.env` file manually
based on the `.env.example` file.
:::
### Email/SMTP setup
Email configuration is required for some features to work properly (eg.
retrieving your forgotten password, sending instructions to premium subscribers,
…)
You may add your email configuration in your instance's `.env` like so:
```ini
# […]
email.fromEmail="your_email_address"
email.SMTPHost="your_smtp_host"
email.SMTPUser="your_smtp_user"
email.SMTPPass="your_smtp_password"
```
#### Email config options
| Variable name | Type | Default |
| ---------------- | -------------------- | ------------ |
| **`fromEmail`** | string | `undefined` |
| **`fromName`** | string | `"Castopod"` |
| **`SMTPHost`** | string | `undefined` |
| **`SMTPUser`** | string | `undefined` |
| **`SMTPPass`** | string | `undefined` |
| **`SMTPPort`** | number | `25` |
| **`SMTPCrypto`** | [`"tls"` or `"ssl"`] | `"tls"` |
## Community packages
If you don't want to bother with installing Castopod manually, you may use one

View file

@ -49,6 +49,7 @@ podcasters around&nbsp;the&nbsp;world!
- 🔗 &nbsp;Funding links
- 📲 &nbsp;listen-to-click ads
- 🤝 &nbsp;value4value / WebMonetization
- 💎 &nbsp;Premium podcasts
- 📡 &nbsp;Publish your episodes everywhere with RSS:
- 📱 &nbsp;On all indexes and apps: Podcast Index, Apple Podcasts, Spotify,
Google Podcasts, Deezer, Podcast Addict, Podfriend, …

View file

@ -19,8 +19,8 @@ can be added as a cache handler.
## Supported tags
- `develop` [unstable], latest development branch build
// more tags to come!
- `beta` [stable], latest beta version build
- `1.0.0-beta.x` [stable], specific beta version build (since `1.0.0-beta.22`)
## Example usage
@ -33,7 +33,7 @@ can be added as a cache handler.
services:
app:
image: castopod/app:develop
image: castopod/app:beta
container_name: "castopod-app"
volumes:
- castopod-media:/opt/castopod/public/media
@ -51,7 +51,7 @@ can be added as a cache handler.
restart: unless-stopped
web-server:
image: castopod/web-server:develop
image: castopod/web-server:beta
container_name: "castopod-web-server"
volumes:
- castopod-media:/var/www/html/media
@ -117,26 +117,32 @@ can be added as a cache handler.
- **castopod/app**
| Variable name | Type (`default`) |
| -------------------------- | ----------------------------------- |
| **`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`) |
| Variable name | Type (`default`) | Default |
| ---------------------------- | ----------------------- | ---------------- |
| **`CP_BASEURL`** | string | `undefined` |
| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` |
| **`CP_ADMIN_GATEWAY`** | ?string | `"cp-admin"` |
| **`CP_AUTH_GATEWAY`** | ?string | `"cp-auth"` |
| **`CP_ANALYTICS_SALT`** | string | `undefined` |
| **`CP_DATABASE_HOSTNAME`** | ?string | `"mariadb"` |
| **`CP_DATABASE_NAME`** | ?string | `MYSQL_DATABASE` |
| **`CP_DATABASE_USERNAME`** | ?string | `MYSQL_USER` |
| **`CP_DATABASE_PASSWORD`** | ?string | `MYSQL_PASSWORD` |
| **`CP_DATABASE_PREFIX`** | ?string | `"cp_"` |
| **`CP_CACHE_HANDLER`** | [`"file"` or `"redis"`] | `"file"` |
| **`CP_REDIS_HOST`** | ?string | `"localhost"` |
| **`CP_REDIS_PASSWORD`** | ?string | `null` |
| **`CP_REDIS_PORT`** | ?number | `6379` |
| **`CP_REDIS_DATABASE`** | ?number | `0` |
| **`CP_EMAIL_SMTP_HOST`** | ?string | `undefined` |
| **`CP_EMAIL_FROM`** | ?string | `undefined` |
| **`CP_EMAIL_SMTP_USERNAME`** | ?string | `"localhost"` |
| **`CP_EMAIL_SMTP_PASSWORD`** | ?string | `null` |
| **`CP_EMAIL_SMTP_PORT`** | ?number | `25` |
| **`CP_EMAIL_SMTP_CRYPTO`** | [`"tls"` or `"ssl"`] | `"tls"` |
- **castopod/web-server**
| Variable name | Type (`default`) |
| --------------------- | ----------------- |
| **`CP_APP_HOSTNAME`** | ?string (`"app"`) |
| Variable name | Type | Default |
| --------------------- | ------- | ------- |
| **`CP_APP_HOSTNAME`** | ?string | `"app"` |

View file

@ -126,11 +126,40 @@ want to generate Video Clips. The following extensions must be installed:
::: info Note
The install script writes a `.env` file in the package root. If you cannot go
through the install wizard, you can
[create and update the `.env` file manually](#alternative-manual-configuration).
through the install wizard, you can create and edit the `.env` file manually
based on the `.env.example` file.
:::
### Email/SMTP setup
Email configuration is required for some features to work properly (eg.
retrieving your forgotten password, sending instructions to premium subscribers,
…)
You may add your email configuration in your instance's `.env` like so:
```ini
# […]
email.fromEmail="your_email_address"
email.SMTPHost="your_smtp_host"
email.SMTPUser="your_smtp_user"
email.SMTPPass="your_smtp_password"
```
#### Email config options
| Variable name | Type | Default |
| ---------------- | -------------------- | ------------ |
| **`fromEmail`** | string | `undefined` |
| **`fromName`** | string | `"Castopod"` |
| **`SMTPHost`** | string | `undefined` |
| **`SMTPUser`** | string | `undefined` |
| **`SMTPPass`** | string | `undefined` |
| **`SMTPPort`** | number | `25` |
| **`SMTPCrypto`** | [`"tls"` or `"ssl"`] | `"tls"` |
## Community packages
If you don't want to bother with installing Castopod manually, you may use one

View file

@ -50,6 +50,7 @@ digunakan oleh pembuat siniar di seluruh dunia!
- 🔗 &nbsp;Funding links
- 📲 &nbsp;listen-to-click ads
- 🤝 &nbsp;value4value / WebMonetization
- 💎 &nbsp;Premium podcasts
- 📡 &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, …

View file

@ -19,8 +19,8 @@ can be added as a cache handler.
## Supported tags
- `develop` [unstable], latest development branch build
// more tags to come!
- `beta` [stable], latest beta version build
- `1.0.0-beta.x` [stable], specific beta version build (since `1.0.0-beta.22`)
## Example usage
@ -33,7 +33,7 @@ can be added as a cache handler.
services:
app:
image: castopod/app:develop
image: castopod/app:beta
container_name: "castopod-app"
volumes:
- castopod-media:/opt/castopod/public/media
@ -51,7 +51,7 @@ can be added as a cache handler.
restart: unless-stopped
web-server:
image: castopod/web-server:develop
image: castopod/web-server:beta
container_name: "castopod-web-server"
volumes:
- castopod-media:/var/www/html/media
@ -117,26 +117,32 @@ can be added as a cache handler.
- **castopod/app**
| Variable name | Type (`default`) |
| -------------------------- | ----------------------------------- |
| **`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`) |
| Variable name | Type (`default`) | Default |
| ---------------------------- | ----------------------- | ---------------- |
| **`CP_BASEURL`** | string | `undefined` |
| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` |
| **`CP_ADMIN_GATEWAY`** | ?string | `"cp-admin"` |
| **`CP_AUTH_GATEWAY`** | ?string | `"cp-auth"` |
| **`CP_ANALYTICS_SALT`** | string | `undefined` |
| **`CP_DATABASE_HOSTNAME`** | ?string | `"mariadb"` |
| **`CP_DATABASE_NAME`** | ?string | `MYSQL_DATABASE` |
| **`CP_DATABASE_USERNAME`** | ?string | `MYSQL_USER` |
| **`CP_DATABASE_PASSWORD`** | ?string | `MYSQL_PASSWORD` |
| **`CP_DATABASE_PREFIX`** | ?string | `"cp_"` |
| **`CP_CACHE_HANDLER`** | [`"file"` or `"redis"`] | `"file"` |
| **`CP_REDIS_HOST`** | ?string | `"localhost"` |
| **`CP_REDIS_PASSWORD`** | ?string | `null` |
| **`CP_REDIS_PORT`** | ?number | `6379` |
| **`CP_REDIS_DATABASE`** | ?number | `0` |
| **`CP_EMAIL_SMTP_HOST`** | ?string | `undefined` |
| **`CP_EMAIL_FROM`** | ?string | `undefined` |
| **`CP_EMAIL_SMTP_USERNAME`** | ?string | `"localhost"` |
| **`CP_EMAIL_SMTP_PASSWORD`** | ?string | `null` |
| **`CP_EMAIL_SMTP_PORT`** | ?number | `25` |
| **`CP_EMAIL_SMTP_CRYPTO`** | [`"tls"` or `"ssl"`] | `"tls"` |
- **castopod/web-server**
| Variable name | Type (`default`) |
| --------------------- | ----------------- |
| **`CP_APP_HOSTNAME`** | ?string (`"app"`) |
| Variable name | Type | Default |
| --------------------- | ------- | ------- |
| **`CP_APP_HOSTNAME`** | ?string | `"app"` |

View file

@ -126,11 +126,40 @@ want to generate Video Clips. The following extensions must be installed:
::: info Note
The install script writes a `.env` file in the package root. If you cannot go
through the install wizard, you can
[create and update the `.env` file manually](#alternative-manual-configuration).
through the install wizard, you can create and edit the `.env` file manually
based on the `.env.example` file.
:::
### Email/SMTP setup
Email configuration is required for some features to work properly (eg.
retrieving your forgotten password, sending instructions to premium subscribers,
…)
You may add your email configuration in your instance's `.env` like so:
```ini
# […]
email.fromEmail="your_email_address"
email.SMTPHost="your_smtp_host"
email.SMTPUser="your_smtp_user"
email.SMTPPass="your_smtp_password"
```
#### Email config options
| Variable name | Type | Default |
| ---------------- | -------------------- | ------------ |
| **`fromEmail`** | string | `undefined` |
| **`fromName`** | string | `"Castopod"` |
| **`SMTPHost`** | string | `undefined` |
| **`SMTPUser`** | string | `undefined` |
| **`SMTPPass`** | string | `undefined` |
| **`SMTPPort`** | number | `25` |
| **`SMTPCrypto`** | [`"tls"` or `"ssl"`] | `"tls"` |
## Community packages
If you don't want to bother with installing Castopod manually, you may use one

View file

@ -49,6 +49,7 @@ podcasters around&nbsp;the&nbsp;world!
- 🔗 &nbsp;Funding links
- 📲 &nbsp;listen-to-click ads
- 🤝 &nbsp;value4value / WebMonetization
- 💎 &nbsp;Premium podcasts
- 📡 &nbsp;Publish your episodes everywhere with RSS:
- 📱 &nbsp;On all indexes and apps: Podcast Index, Apple Podcasts, Spotify,
Google Podcasts, Deezer, Podcast Addict, Podfriend, …

View file

@ -19,8 +19,8 @@ can be added as a cache handler.
## Supported tags
- `develop` [unstable], latest development branch build
// more tags to come!
- `beta` [stable], latest beta version build
- `1.0.0-beta.x` [stable], specific beta version build (since `1.0.0-beta.22`)
## Example usage
@ -33,7 +33,7 @@ can be added as a cache handler.
services:
app:
image: castopod/app:develop
image: castopod/app:beta
container_name: "castopod-app"
volumes:
- castopod-media:/opt/castopod/public/media
@ -51,7 +51,7 @@ can be added as a cache handler.
restart: unless-stopped
web-server:
image: castopod/web-server:develop
image: castopod/web-server:beta
container_name: "castopod-web-server"
volumes:
- castopod-media:/var/www/html/media
@ -117,26 +117,32 @@ can be added as a cache handler.
- **castopod/app**
| Variable name | Type (`default`) |
| -------------------------- | ----------------------------------- |
| **`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`) |
| Variable name | Type (`default`) | Default |
| ---------------------------- | ----------------------- | ---------------- |
| **`CP_BASEURL`** | string | `undefined` |
| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` |
| **`CP_ADMIN_GATEWAY`** | ?string | `"cp-admin"` |
| **`CP_AUTH_GATEWAY`** | ?string | `"cp-auth"` |
| **`CP_ANALYTICS_SALT`** | string | `undefined` |
| **`CP_DATABASE_HOSTNAME`** | ?string | `"mariadb"` |
| **`CP_DATABASE_NAME`** | ?string | `MYSQL_DATABASE` |
| **`CP_DATABASE_USERNAME`** | ?string | `MYSQL_USER` |
| **`CP_DATABASE_PASSWORD`** | ?string | `MYSQL_PASSWORD` |
| **`CP_DATABASE_PREFIX`** | ?string | `"cp_"` |
| **`CP_CACHE_HANDLER`** | [`"file"` or `"redis"`] | `"file"` |
| **`CP_REDIS_HOST`** | ?string | `"localhost"` |
| **`CP_REDIS_PASSWORD`** | ?string | `null` |
| **`CP_REDIS_PORT`** | ?number | `6379` |
| **`CP_REDIS_DATABASE`** | ?number | `0` |
| **`CP_EMAIL_SMTP_HOST`** | ?string | `undefined` |
| **`CP_EMAIL_FROM`** | ?string | `undefined` |
| **`CP_EMAIL_SMTP_USERNAME`** | ?string | `"localhost"` |
| **`CP_EMAIL_SMTP_PASSWORD`** | ?string | `null` |
| **`CP_EMAIL_SMTP_PORT`** | ?number | `25` |
| **`CP_EMAIL_SMTP_CRYPTO`** | [`"tls"` or `"ssl"`] | `"tls"` |
- **castopod/web-server**
| Variable name | Type (`default`) |
| --------------------- | ----------------- |
| **`CP_APP_HOSTNAME`** | ?string (`"app"`) |
| Variable name | Type | Default |
| --------------------- | ------- | ------- |
| **`CP_APP_HOSTNAME`** | ?string | `"app"` |

View file

@ -126,11 +126,40 @@ want to generate Video Clips. The following extensions must be installed:
::: info Note
The install script writes a `.env` file in the package root. If you cannot go
through the install wizard, you can
[create and update the `.env` file manually](#alternative-manual-configuration).
through the install wizard, you can create and edit the `.env` file manually
based on the `.env.example` file.
:::
### Email/SMTP setup
Email configuration is required for some features to work properly (eg.
retrieving your forgotten password, sending instructions to premium subscribers,
…)
You may add your email configuration in your instance's `.env` like so:
```ini
# […]
email.fromEmail="your_email_address"
email.SMTPHost="your_smtp_host"
email.SMTPUser="your_smtp_user"
email.SMTPPass="your_smtp_password"
```
#### Email config options
| Variable name | Type | Default |
| ---------------- | -------------------- | ------------ |
| **`fromEmail`** | string | `undefined` |
| **`fromName`** | string | `"Castopod"` |
| **`SMTPHost`** | string | `undefined` |
| **`SMTPUser`** | string | `undefined` |
| **`SMTPPass`** | string | `undefined` |
| **`SMTPPort`** | number | `25` |
| **`SMTPCrypto`** | [`"tls"` or `"ssl"`] | `"tls"` |
## Community packages
If you don't want to bother with installing Castopod manually, you may use one

View file

@ -49,6 +49,7 @@ podcasters around&nbsp;the&nbsp;world!
- 🔗 &nbsp;Funding links
- 📲 &nbsp;listen-to-click ads
- 🤝 &nbsp;value4value / WebMonetization
- 💎 &nbsp;Premium podcasts
- 📡 &nbsp;Publish your episodes everywhere with RSS:
- 📱 &nbsp;On all indexes and apps: Podcast Index, Apple Podcasts, Spotify,
Google Podcasts, Deezer, Podcast Addict, Podfriend, …

View file

@ -19,8 +19,8 @@ can be added as a cache handler.
## Supported tags
- `develop` [unstable], latest development branch build
// more tags to come!
- `beta` [stable], latest beta version build
- `1.0.0-beta.x` [stable], specific beta version build (since `1.0.0-beta.22`)
## Example usage
@ -33,7 +33,7 @@ can be added as a cache handler.
services:
app:
image: castopod/app:develop
image: castopod/app:beta
container_name: "castopod-app"
volumes:
- castopod-media:/opt/castopod/public/media
@ -51,7 +51,7 @@ can be added as a cache handler.
restart: unless-stopped
web-server:
image: castopod/web-server:develop
image: castopod/web-server:beta
container_name: "castopod-web-server"
volumes:
- castopod-media:/var/www/html/media
@ -117,26 +117,32 @@ can be added as a cache handler.
- **castopod/app**
| Variable name | Type (`default`) |
| -------------------------- | ----------------------------------- |
| **`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`) |
| Variable name | Type (`default`) | Default |
| ---------------------------- | ----------------------- | ---------------- |
| **`CP_BASEURL`** | string | `undefined` |
| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` |
| **`CP_ADMIN_GATEWAY`** | ?string | `"cp-admin"` |
| **`CP_AUTH_GATEWAY`** | ?string | `"cp-auth"` |
| **`CP_ANALYTICS_SALT`** | string | `undefined` |
| **`CP_DATABASE_HOSTNAME`** | ?string | `"mariadb"` |
| **`CP_DATABASE_NAME`** | ?string | `MYSQL_DATABASE` |
| **`CP_DATABASE_USERNAME`** | ?string | `MYSQL_USER` |
| **`CP_DATABASE_PASSWORD`** | ?string | `MYSQL_PASSWORD` |
| **`CP_DATABASE_PREFIX`** | ?string | `"cp_"` |
| **`CP_CACHE_HANDLER`** | [`"file"` or `"redis"`] | `"file"` |
| **`CP_REDIS_HOST`** | ?string | `"localhost"` |
| **`CP_REDIS_PASSWORD`** | ?string | `null` |
| **`CP_REDIS_PORT`** | ?number | `6379` |
| **`CP_REDIS_DATABASE`** | ?number | `0` |
| **`CP_EMAIL_SMTP_HOST`** | ?string | `undefined` |
| **`CP_EMAIL_FROM`** | ?string | `undefined` |
| **`CP_EMAIL_SMTP_USERNAME`** | ?string | `"localhost"` |
| **`CP_EMAIL_SMTP_PASSWORD`** | ?string | `null` |
| **`CP_EMAIL_SMTP_PORT`** | ?number | `25` |
| **`CP_EMAIL_SMTP_CRYPTO`** | [`"tls"` or `"ssl"`] | `"tls"` |
- **castopod/web-server**
| Variable name | Type (`default`) |
| --------------------- | ----------------- |
| **`CP_APP_HOSTNAME`** | ?string (`"app"`) |
| Variable name | Type | Default |
| --------------------- | ------- | ------- |
| **`CP_APP_HOSTNAME`** | ?string | `"app"` |

View file

@ -126,17 +126,46 @@ want to generate Video Clips. The following extensions must be installed:
::: info Note
The install script writes a `.env` file in the package root. If you cannot go
through the install wizard, you can
[create and update the `.env` file manually](#alternative-manual-configuration).
through the install wizard, you can create and edit the `.env` file manually
based on the `.env.example` file.
:::
### Email/SMTP setup
Email configuration is required for some features to work properly (eg.
retrieving your forgotten password, sending instructions to premium subscribers,
…)
You may add your email configuration in your instance's `.env` like so:
```ini
# […]
email.fromEmail="your_email_address"
email.SMTPHost="your_smtp_host"
email.SMTPUser="your_smtp_user"
email.SMTPPass="your_smtp_password"
```
#### Email config options
| Variable name | Type | Default |
| ---------------- | -------------------- | ------------ |
| **`fromEmail`** | string | `undefined` |
| **`fromName`** | string | `"Castopod"` |
| **`SMTPHost`** | string | `undefined` |
| **`SMTPUser`** | string | `undefined` |
| **`SMTPPass`** | string | `undefined` |
| **`SMTPPort`** | number | `25` |
| **`SMTPCrypto`** | [`"tls"` or `"ssl"`] | `"tls"` |
## Pakker frå brukarsamfunnet
If you don't want to bother with installing Castopod manually, you may use one
of the packages created and maintained by the open-source community.
### Installer med Yunohost
### Install with YunoHost
[YunoHost](https://yunohost.org/) is a distribution based on Debian GNU/Linux
made up of free and open-source software packages. It manages the hardships of

View file

@ -52,6 +52,7 @@ over heile verda&nbsp;bruker&nbsp;det!
- 🔗 &nbsp;Donasjonslenker
- 📲 &nbsp;lytt-for-å-klikka-annonsar
- 🤝 &nbsp;value4value / WebMonetization
- 💎 &nbsp;Premium podcasts
- 📡 &nbsp;Kringkast episodane dine kvar som helst med RSS:
- 📱 &nbsp;På alle indeksar og appar: Podcast Index, Apple Podcasts, Spotify,
Google Podcasts, Deezer, Podcast Addict, Podfriend, …

View file

@ -19,8 +19,8 @@ can be added as a cache handler.
## Supported tags
- `develop` [unstable], latest development branch build
// more tags to come!
- `beta` [stable], latest beta version build
- `1.0.0-beta.x` [stable], specific beta version build (since `1.0.0-beta.22`)
## Example usage
@ -33,7 +33,7 @@ can be added as a cache handler.
services:
app:
image: castopod/app:develop
image: castopod/app:beta
container_name: "castopod-app"
volumes:
- castopod-media:/opt/castopod/public/media
@ -51,7 +51,7 @@ can be added as a cache handler.
restart: unless-stopped
web-server:
image: castopod/web-server:develop
image: castopod/web-server:beta
container_name: "castopod-web-server"
volumes:
- castopod-media:/var/www/html/media
@ -117,26 +117,32 @@ can be added as a cache handler.
- **castopod/app**
| Variable name | Type (`default`) |
| -------------------------- | ----------------------------------- |
| **`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`) |
| Variable name | Type (`default`) | Default |
| ---------------------------- | ----------------------- | ---------------- |
| **`CP_BASEURL`** | string | `undefined` |
| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` |
| **`CP_ADMIN_GATEWAY`** | ?string | `"cp-admin"` |
| **`CP_AUTH_GATEWAY`** | ?string | `"cp-auth"` |
| **`CP_ANALYTICS_SALT`** | string | `undefined` |
| **`CP_DATABASE_HOSTNAME`** | ?string | `"mariadb"` |
| **`CP_DATABASE_NAME`** | ?string | `MYSQL_DATABASE` |
| **`CP_DATABASE_USERNAME`** | ?string | `MYSQL_USER` |
| **`CP_DATABASE_PASSWORD`** | ?string | `MYSQL_PASSWORD` |
| **`CP_DATABASE_PREFIX`** | ?string | `"cp_"` |
| **`CP_CACHE_HANDLER`** | [`"file"` or `"redis"`] | `"file"` |
| **`CP_REDIS_HOST`** | ?string | `"localhost"` |
| **`CP_REDIS_PASSWORD`** | ?string | `null` |
| **`CP_REDIS_PORT`** | ?number | `6379` |
| **`CP_REDIS_DATABASE`** | ?number | `0` |
| **`CP_EMAIL_SMTP_HOST`** | ?string | `undefined` |
| **`CP_EMAIL_FROM`** | ?string | `undefined` |
| **`CP_EMAIL_SMTP_USERNAME`** | ?string | `"localhost"` |
| **`CP_EMAIL_SMTP_PASSWORD`** | ?string | `null` |
| **`CP_EMAIL_SMTP_PORT`** | ?number | `25` |
| **`CP_EMAIL_SMTP_CRYPTO`** | [`"tls"` or `"ssl"`] | `"tls"` |
- **castopod/web-server**
| Variable name | Type (`default`) |
| --------------------- | ----------------- |
| **`CP_APP_HOSTNAME`** | ?string (`"app"`) |
| Variable name | Type | Default |
| --------------------- | ------- | ------- |
| **`CP_APP_HOSTNAME`** | ?string | `"app"` |

View file

@ -126,11 +126,40 @@ want to generate Video Clips. The following extensions must be installed:
::: info Note
The install script writes a `.env` file in the package root. If you cannot go
through the install wizard, you can
[create and update the `.env` file manually](#alternative-manual-configuration).
through the install wizard, you can create and edit the `.env` file manually
based on the `.env.example` file.
:::
### Email/SMTP setup
Email configuration is required for some features to work properly (eg.
retrieving your forgotten password, sending instructions to premium subscribers,
…)
You may add your email configuration in your instance's `.env` like so:
```ini
# […]
email.fromEmail="your_email_address"
email.SMTPHost="your_smtp_host"
email.SMTPUser="your_smtp_user"
email.SMTPPass="your_smtp_password"
```
#### Email config options
| Variable name | Type | Default |
| ---------------- | -------------------- | ------------ |
| **`fromEmail`** | string | `undefined` |
| **`fromName`** | string | `"Castopod"` |
| **`SMTPHost`** | string | `undefined` |
| **`SMTPUser`** | string | `undefined` |
| **`SMTPPass`** | string | `undefined` |
| **`SMTPPort`** | number | `25` |
| **`SMTPCrypto`** | [`"tls"` or `"ssl"`] | `"tls"` |
## Community packages
If you don't want to bother with installing Castopod manually, you may use one

View file

@ -49,6 +49,7 @@ podcasters around&nbsp;the&nbsp;world!
- 🔗 &nbsp;Funding links
- 📲 &nbsp;listen-to-click ads
- 🤝 &nbsp;value4value / WebMonetization
- 💎 &nbsp;Premium podcasts
- 📡 &nbsp;Publish your episodes everywhere with RSS:
- 📱 &nbsp;On all indexes and apps: Podcast Index, Apple Podcasts, Spotify,
Google Podcasts, Deezer, Podcast Addict, Podfriend, …

View file

@ -19,8 +19,8 @@ can be added as a cache handler.
## Supported tags
- `develop` [unstable], latest development branch build
// more tags to come!
- `beta` [stable], latest beta version build
- `1.0.0-beta.x` [stable], specific beta version build (since `1.0.0-beta.22`)
## Example usage
@ -33,7 +33,7 @@ can be added as a cache handler.
services:
app:
image: castopod/app:develop
image: castopod/app:beta
container_name: "castopod-app"
volumes:
- castopod-media:/opt/castopod/public/media
@ -51,7 +51,7 @@ can be added as a cache handler.
restart: unless-stopped
web-server:
image: castopod/web-server:develop
image: castopod/web-server:beta
container_name: "castopod-web-server"
volumes:
- castopod-media:/var/www/html/media
@ -117,26 +117,32 @@ can be added as a cache handler.
- **castopod/app**
| Variable name | Type (`default`) |
| -------------------------- | ----------------------------------- |
| **`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`) |
| Variable name | Type (`default`) | Default |
| ---------------------------- | ----------------------- | ---------------- |
| **`CP_BASEURL`** | string | `undefined` |
| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` |
| **`CP_ADMIN_GATEWAY`** | ?string | `"cp-admin"` |
| **`CP_AUTH_GATEWAY`** | ?string | `"cp-auth"` |
| **`CP_ANALYTICS_SALT`** | string | `undefined` |
| **`CP_DATABASE_HOSTNAME`** | ?string | `"mariadb"` |
| **`CP_DATABASE_NAME`** | ?string | `MYSQL_DATABASE` |
| **`CP_DATABASE_USERNAME`** | ?string | `MYSQL_USER` |
| **`CP_DATABASE_PASSWORD`** | ?string | `MYSQL_PASSWORD` |
| **`CP_DATABASE_PREFIX`** | ?string | `"cp_"` |
| **`CP_CACHE_HANDLER`** | [`"file"` or `"redis"`] | `"file"` |
| **`CP_REDIS_HOST`** | ?string | `"localhost"` |
| **`CP_REDIS_PASSWORD`** | ?string | `null` |
| **`CP_REDIS_PORT`** | ?number | `6379` |
| **`CP_REDIS_DATABASE`** | ?number | `0` |
| **`CP_EMAIL_SMTP_HOST`** | ?string | `undefined` |
| **`CP_EMAIL_FROM`** | ?string | `undefined` |
| **`CP_EMAIL_SMTP_USERNAME`** | ?string | `"localhost"` |
| **`CP_EMAIL_SMTP_PASSWORD`** | ?string | `null` |
| **`CP_EMAIL_SMTP_PORT`** | ?number | `25` |
| **`CP_EMAIL_SMTP_CRYPTO`** | [`"tls"` or `"ssl"`] | `"tls"` |
- **castopod/web-server**
| Variable name | Type (`default`) |
| --------------------- | ----------------- |
| **`CP_APP_HOSTNAME`** | ?string (`"app"`) |
| Variable name | Type | Default |
| --------------------- | ------- | ------- |
| **`CP_APP_HOSTNAME`** | ?string | `"app"` |

View file

@ -126,11 +126,40 @@ want to generate Video Clips. The following extensions must be installed:
::: info Note
The install script writes a `.env` file in the package root. If you cannot go
through the install wizard, you can
[create and update the `.env` file manually](#alternative-manual-configuration).
through the install wizard, you can create and edit the `.env` file manually
based on the `.env.example` file.
:::
### Email/SMTP setup
Email configuration is required for some features to work properly (eg.
retrieving your forgotten password, sending instructions to premium subscribers,
…)
You may add your email configuration in your instance's `.env` like so:
```ini
# […]
email.fromEmail="your_email_address"
email.SMTPHost="your_smtp_host"
email.SMTPUser="your_smtp_user"
email.SMTPPass="your_smtp_password"
```
#### Email config options
| Variable name | Type | Default |
| ---------------- | -------------------- | ------------ |
| **`fromEmail`** | string | `undefined` |
| **`fromName`** | string | `"Castopod"` |
| **`SMTPHost`** | string | `undefined` |
| **`SMTPUser`** | string | `undefined` |
| **`SMTPPass`** | string | `undefined` |
| **`SMTPPort`** | number | `25` |
| **`SMTPCrypto`** | [`"tls"` or `"ssl"`] | `"tls"` |
## Community packages
If you don't want to bother with installing Castopod manually, you may use one

View file

@ -49,6 +49,7 @@ podcasters around&nbsp;the&nbsp;world!
- 🔗 &nbsp;Funding links
- 📲 &nbsp;listen-to-click ads
- 🤝 &nbsp;value4value / WebMonetization
- 💎 &nbsp;Premium podcasts
- 📡 &nbsp;Publish your episodes everywhere with RSS:
- 📱 &nbsp;On all indexes and apps: Podcast Index, Apple Podcasts, Spotify,
Google Podcasts, Deezer, Podcast Addict, Podfriend, …

View file

@ -19,8 +19,8 @@ can be added as a cache handler.
## Supported tags
- `develop` [unstable], latest development branch build
// more tags to come!
- `beta` [stable], latest beta version build
- `1.0.0-beta.x` [stable], specific beta version build (since `1.0.0-beta.22`)
## Example usage
@ -33,7 +33,7 @@ can be added as a cache handler.
services:
app:
image: castopod/app:develop
image: castopod/app:beta
container_name: "castopod-app"
volumes:
- castopod-media:/opt/castopod/public/media
@ -51,7 +51,7 @@ can be added as a cache handler.
restart: unless-stopped
web-server:
image: castopod/web-server:develop
image: castopod/web-server:beta
container_name: "castopod-web-server"
volumes:
- castopod-media:/var/www/html/media
@ -117,26 +117,32 @@ can be added as a cache handler.
- **castopod/app**
| Variable name | Type (`default`) |
| -------------------------- | ----------------------------------- |
| **`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`) |
| Variable name | Type (`default`) | Default |
| ---------------------------- | ----------------------- | ---------------- |
| **`CP_BASEURL`** | string | `undefined` |
| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` |
| **`CP_ADMIN_GATEWAY`** | ?string | `"cp-admin"` |
| **`CP_AUTH_GATEWAY`** | ?string | `"cp-auth"` |
| **`CP_ANALYTICS_SALT`** | string | `undefined` |
| **`CP_DATABASE_HOSTNAME`** | ?string | `"mariadb"` |
| **`CP_DATABASE_NAME`** | ?string | `MYSQL_DATABASE` |
| **`CP_DATABASE_USERNAME`** | ?string | `MYSQL_USER` |
| **`CP_DATABASE_PASSWORD`** | ?string | `MYSQL_PASSWORD` |
| **`CP_DATABASE_PREFIX`** | ?string | `"cp_"` |
| **`CP_CACHE_HANDLER`** | [`"file"` or `"redis"`] | `"file"` |
| **`CP_REDIS_HOST`** | ?string | `"localhost"` |
| **`CP_REDIS_PASSWORD`** | ?string | `null` |
| **`CP_REDIS_PORT`** | ?number | `6379` |
| **`CP_REDIS_DATABASE`** | ?number | `0` |
| **`CP_EMAIL_SMTP_HOST`** | ?string | `undefined` |
| **`CP_EMAIL_FROM`** | ?string | `undefined` |
| **`CP_EMAIL_SMTP_USERNAME`** | ?string | `"localhost"` |
| **`CP_EMAIL_SMTP_PASSWORD`** | ?string | `null` |
| **`CP_EMAIL_SMTP_PORT`** | ?number | `25` |
| **`CP_EMAIL_SMTP_CRYPTO`** | [`"tls"` or `"ssl"`] | `"tls"` |
- **castopod/web-server**
| Variable name | Type (`default`) |
| --------------------- | ----------------- |
| **`CP_APP_HOSTNAME`** | ?string (`"app"`) |
| Variable name | Type | Default |
| --------------------- | ------- | ------- |
| **`CP_APP_HOSTNAME`** | ?string | `"app"` |

View file

@ -128,17 +128,46 @@ want to generate Video Clips. The following extensions must be installed:
::: info Note
The install script writes a `.env` file in the package root. If you cannot go
through the install wizard, you can
[create and update the `.env` file manually](#alternative-manual-configuration).
through the install wizard, you can create and edit the `.env` file manually
based on the `.env.example` file.
:::
### Email/SMTP setup
Email configuration is required for some features to work properly (eg.
retrieving your forgotten password, sending instructions to premium subscribers,
…)
You may add your email configuration in your instance's `.env` like so:
```ini
# […]
email.fromEmail="your_email_address"
email.SMTPHost="your_smtp_host"
email.SMTPUser="your_smtp_user"
email.SMTPPass="your_smtp_password"
```
#### Email config options
| Variable name | Type | Default |
| ---------------- | -------------------- | ------------ |
| **`fromEmail`** | string | `undefined` |
| **`fromName`** | string | `"Castopod"` |
| **`SMTPHost`** | string | `undefined` |
| **`SMTPUser`** | string | `undefined` |
| **`SMTPPass`** | string | `undefined` |
| **`SMTPPort`** | number | `25` |
| **`SMTPCrypto`** | [`"tls"` or `"ssl"`] | `"tls"` |
## Pacotes comunitários
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.
### Instalar com YunoHost
### Install with YunoHost
[YunoHost](https://yunohost.org/) is a distribution based on Debian GNU/Linux
made up of free and open-source software packages. It manages the hardships of

View file

@ -50,6 +50,7 @@ podcasters em todo o mundo!
- 🔗 &nbsp;Links de financiamento
- 📲 &nbsp;anúncios clique-para-ouvir
- 🤝 &nbsp;value4value / WebMonetization
- 💎 &nbsp;Premium podcasts
- 📡 &nbsp;Publique seus episódios em qualquer lugar com RSS:
- 📱 &nbsp;Em todos os agregadores e aplicativos: Podcast Index, Apple
Podcasts, Spotify, Google Podcasts, Deezer, Podcast Addict, Podfriend, …

View file

@ -19,8 +19,8 @@ can be added as a cache handler.
## Supported tags
- `develop` [unstable], latest development branch build
// more tags to come!
- `beta` [stable], latest beta version build
- `1.0.0-beta.x` [stable], specific beta version build (since `1.0.0-beta.22`)
## Example usage
@ -33,7 +33,7 @@ can be added as a cache handler.
services:
app:
image: castopod/app:develop
image: castopod/app:beta
container_name: "castopod-app"
volumes:
- castopod-media:/opt/castopod/public/media
@ -51,7 +51,7 @@ can be added as a cache handler.
restart: unless-stopped
web-server:
image: castopod/web-server:develop
image: castopod/web-server:beta
container_name: "castopod-web-server"
volumes:
- castopod-media:/var/www/html/media
@ -117,26 +117,32 @@ can be added as a cache handler.
- **castopod/app**
| Variable name | Type (`default`) |
| -------------------------- | ----------------------------------- |
| **`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`) |
| Variable name | Type (`default`) | Default |
| ---------------------------- | ----------------------- | ---------------- |
| **`CP_BASEURL`** | string | `undefined` |
| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` |
| **`CP_ADMIN_GATEWAY`** | ?string | `"cp-admin"` |
| **`CP_AUTH_GATEWAY`** | ?string | `"cp-auth"` |
| **`CP_ANALYTICS_SALT`** | string | `undefined` |
| **`CP_DATABASE_HOSTNAME`** | ?string | `"mariadb"` |
| **`CP_DATABASE_NAME`** | ?string | `MYSQL_DATABASE` |
| **`CP_DATABASE_USERNAME`** | ?string | `MYSQL_USER` |
| **`CP_DATABASE_PASSWORD`** | ?string | `MYSQL_PASSWORD` |
| **`CP_DATABASE_PREFIX`** | ?string | `"cp_"` |
| **`CP_CACHE_HANDLER`** | [`"file"` or `"redis"`] | `"file"` |
| **`CP_REDIS_HOST`** | ?string | `"localhost"` |
| **`CP_REDIS_PASSWORD`** | ?string | `null` |
| **`CP_REDIS_PORT`** | ?number | `6379` |
| **`CP_REDIS_DATABASE`** | ?number | `0` |
| **`CP_EMAIL_SMTP_HOST`** | ?string | `undefined` |
| **`CP_EMAIL_FROM`** | ?string | `undefined` |
| **`CP_EMAIL_SMTP_USERNAME`** | ?string | `"localhost"` |
| **`CP_EMAIL_SMTP_PASSWORD`** | ?string | `null` |
| **`CP_EMAIL_SMTP_PORT`** | ?number | `25` |
| **`CP_EMAIL_SMTP_CRYPTO`** | [`"tls"` or `"ssl"`] | `"tls"` |
- **castopod/web-server**
| Variable name | Type (`default`) |
| --------------------- | ----------------- |
| **`CP_APP_HOSTNAME`** | ?string (`"app"`) |
| Variable name | Type | Default |
| --------------------- | ------- | ------- |
| **`CP_APP_HOSTNAME`** | ?string | `"app"` |

View file

@ -126,11 +126,40 @@ want to generate Video Clips. The following extensions must be installed:
::: info Note
The install script writes a `.env` file in the package root. If you cannot go
through the install wizard, you can
[create and update the `.env` file manually](#alternative-manual-configuration).
through the install wizard, you can create and edit the `.env` file manually
based on the `.env.example` file.
:::
### Email/SMTP setup
Email configuration is required for some features to work properly (eg.
retrieving your forgotten password, sending instructions to premium subscribers,
…)
You may add your email configuration in your instance's `.env` like so:
```ini
# […]
email.fromEmail="your_email_address"
email.SMTPHost="your_smtp_host"
email.SMTPUser="your_smtp_user"
email.SMTPPass="your_smtp_password"
```
#### Email config options
| Variable name | Type | Default |
| ---------------- | -------------------- | ------------ |
| **`fromEmail`** | string | `undefined` |
| **`fromName`** | string | `"Castopod"` |
| **`SMTPHost`** | string | `undefined` |
| **`SMTPUser`** | string | `undefined` |
| **`SMTPPass`** | string | `undefined` |
| **`SMTPPort`** | number | `25` |
| **`SMTPCrypto`** | [`"tls"` or `"ssl"`] | `"tls"` |
## Community packages
If you don't want to bother with installing Castopod manually, you may use one

View file

@ -49,6 +49,7 @@ podcasters around&nbsp;the&nbsp;world!
- 🔗 &nbsp;Funding links
- 📲 &nbsp;listen-to-click ads
- 🤝 &nbsp;value4value / WebMonetization
- 💎 &nbsp;Premium podcasts
- 📡 &nbsp;Publish your episodes everywhere with RSS:
- 📱 &nbsp;On all indexes and apps: Podcast Index, Apple Podcasts, Spotify,
Google Podcasts, Deezer, Podcast Addict, Podfriend, …

View file

@ -19,8 +19,8 @@ can be added as a cache handler.
## Supported tags
- `develop` [unstable], latest development branch build
// more tags to come!
- `beta` [stable], latest beta version build
- `1.0.0-beta.x` [stable], specific beta version build (since `1.0.0-beta.22`)
## Example usage
@ -33,7 +33,7 @@ can be added as a cache handler.
services:
app:
image: castopod/app:develop
image: castopod/app:beta
container_name: "castopod-app"
volumes:
- castopod-media:/opt/castopod/public/media
@ -51,7 +51,7 @@ can be added as a cache handler.
restart: unless-stopped
web-server:
image: castopod/web-server:develop
image: castopod/web-server:beta
container_name: "castopod-web-server"
volumes:
- castopod-media:/var/www/html/media
@ -117,26 +117,32 @@ can be added as a cache handler.
- **castopod/app**
| Variable name | Type (`default`) |
| -------------------------- | ----------------------------------- |
| **`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`) |
| Variable name | Type (`default`) | Default |
| ---------------------------- | ----------------------- | ---------------- |
| **`CP_BASEURL`** | string | `undefined` |
| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` |
| **`CP_ADMIN_GATEWAY`** | ?string | `"cp-admin"` |
| **`CP_AUTH_GATEWAY`** | ?string | `"cp-auth"` |
| **`CP_ANALYTICS_SALT`** | string | `undefined` |
| **`CP_DATABASE_HOSTNAME`** | ?string | `"mariadb"` |
| **`CP_DATABASE_NAME`** | ?string | `MYSQL_DATABASE` |
| **`CP_DATABASE_USERNAME`** | ?string | `MYSQL_USER` |
| **`CP_DATABASE_PASSWORD`** | ?string | `MYSQL_PASSWORD` |
| **`CP_DATABASE_PREFIX`** | ?string | `"cp_"` |
| **`CP_CACHE_HANDLER`** | [`"file"` or `"redis"`] | `"file"` |
| **`CP_REDIS_HOST`** | ?string | `"localhost"` |
| **`CP_REDIS_PASSWORD`** | ?string | `null` |
| **`CP_REDIS_PORT`** | ?number | `6379` |
| **`CP_REDIS_DATABASE`** | ?number | `0` |
| **`CP_EMAIL_SMTP_HOST`** | ?string | `undefined` |
| **`CP_EMAIL_FROM`** | ?string | `undefined` |
| **`CP_EMAIL_SMTP_USERNAME`** | ?string | `"localhost"` |
| **`CP_EMAIL_SMTP_PASSWORD`** | ?string | `null` |
| **`CP_EMAIL_SMTP_PORT`** | ?number | `25` |
| **`CP_EMAIL_SMTP_CRYPTO`** | [`"tls"` or `"ssl"`] | `"tls"` |
- **castopod/web-server**
| Variable name | Type (`default`) |
| --------------------- | ----------------- |
| **`CP_APP_HOSTNAME`** | ?string (`"app"`) |
| Variable name | Type | Default |
| --------------------- | ------- | ------- |
| **`CP_APP_HOSTNAME`** | ?string | `"app"` |

View file

@ -126,11 +126,40 @@ want to generate Video Clips. The following extensions must be installed:
::: info Note
The install script writes a `.env` file in the package root. If you cannot go
through the install wizard, you can
[create and update the `.env` file manually](#alternative-manual-configuration).
through the install wizard, you can create and edit the `.env` file manually
based on the `.env.example` file.
:::
### Email/SMTP setup
Email configuration is required for some features to work properly (eg.
retrieving your forgotten password, sending instructions to premium subscribers,
…)
You may add your email configuration in your instance's `.env` like so:
```ini
# […]
email.fromEmail="your_email_address"
email.SMTPHost="your_smtp_host"
email.SMTPUser="your_smtp_user"
email.SMTPPass="your_smtp_password"
```
#### Email config options
| Variable name | Type | Default |
| ---------------- | -------------------- | ------------ |
| **`fromEmail`** | string | `undefined` |
| **`fromName`** | string | `"Castopod"` |
| **`SMTPHost`** | string | `undefined` |
| **`SMTPUser`** | string | `undefined` |
| **`SMTPPass`** | string | `undefined` |
| **`SMTPPort`** | number | `25` |
| **`SMTPCrypto`** | [`"tls"` or `"ssl"`] | `"tls"` |
## Community packages
If you don't want to bother with installing Castopod manually, you may use one

View file

@ -49,6 +49,7 @@ podcasters around&nbsp;the&nbsp;world!
- 🔗 &nbsp;Funding links
- 📲 &nbsp;listen-to-click ads
- 🤝 &nbsp;value4value / WebMonetization
- 💎 &nbsp;Premium podcasts
- 📡 &nbsp;Publish your episodes everywhere with RSS:
- 📱 &nbsp;On all indexes and apps: Podcast Index, Apple Podcasts, Spotify,
Google Podcasts, Deezer, Podcast Addict, Podfriend, …

View file

@ -19,8 +19,8 @@ can be added as a cache handler.
## Supported tags
- `develop` [unstable], latest development branch build
// more tags to come!
- `beta` [stable], latest beta version build
- `1.0.0-beta.x` [stable], specific beta version build (since `1.0.0-beta.22`)
## Example usage
@ -33,7 +33,7 @@ can be added as a cache handler.
services:
app:
image: castopod/app:develop
image: castopod/app:beta
container_name: "castopod-app"
volumes:
- castopod-media:/opt/castopod/public/media
@ -51,7 +51,7 @@ can be added as a cache handler.
restart: unless-stopped
web-server:
image: castopod/web-server:develop
image: castopod/web-server:beta
container_name: "castopod-web-server"
volumes:
- castopod-media:/var/www/html/media
@ -117,26 +117,32 @@ can be added as a cache handler.
- **castopod/app**
| Variable name | Type (`default`) |
| -------------------------- | ----------------------------------- |
| **`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`) |
| Variable name | Type (`default`) | Default |
| ---------------------------- | ----------------------- | ---------------- |
| **`CP_BASEURL`** | string | `undefined` |
| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` |
| **`CP_ADMIN_GATEWAY`** | ?string | `"cp-admin"` |
| **`CP_AUTH_GATEWAY`** | ?string | `"cp-auth"` |
| **`CP_ANALYTICS_SALT`** | string | `undefined` |
| **`CP_DATABASE_HOSTNAME`** | ?string | `"mariadb"` |
| **`CP_DATABASE_NAME`** | ?string | `MYSQL_DATABASE` |
| **`CP_DATABASE_USERNAME`** | ?string | `MYSQL_USER` |
| **`CP_DATABASE_PASSWORD`** | ?string | `MYSQL_PASSWORD` |
| **`CP_DATABASE_PREFIX`** | ?string | `"cp_"` |
| **`CP_CACHE_HANDLER`** | [`"file"` or `"redis"`] | `"file"` |
| **`CP_REDIS_HOST`** | ?string | `"localhost"` |
| **`CP_REDIS_PASSWORD`** | ?string | `null` |
| **`CP_REDIS_PORT`** | ?number | `6379` |
| **`CP_REDIS_DATABASE`** | ?number | `0` |
| **`CP_EMAIL_SMTP_HOST`** | ?string | `undefined` |
| **`CP_EMAIL_FROM`** | ?string | `undefined` |
| **`CP_EMAIL_SMTP_USERNAME`** | ?string | `"localhost"` |
| **`CP_EMAIL_SMTP_PASSWORD`** | ?string | `null` |
| **`CP_EMAIL_SMTP_PORT`** | ?number | `25` |
| **`CP_EMAIL_SMTP_CRYPTO`** | [`"tls"` or `"ssl"`] | `"tls"` |
- **castopod/web-server**
| Variable name | Type (`default`) |
| --------------------- | ----------------- |
| **`CP_APP_HOSTNAME`** | ?string (`"app"`) |
| Variable name | Type | Default |
| --------------------- | ------- | ------- |
| **`CP_APP_HOSTNAME`** | ?string | `"app"` |

View file

@ -126,11 +126,40 @@ want to generate Video Clips. The following extensions must be installed:
::: info Note
The install script writes a `.env` file in the package root. If you cannot go
through the install wizard, you can
[create and update the `.env` file manually](#alternative-manual-configuration).
through the install wizard, you can create and edit the `.env` file manually
based on the `.env.example` file.
:::
### Email/SMTP setup
Email configuration is required for some features to work properly (eg.
retrieving your forgotten password, sending instructions to premium subscribers,
…)
You may add your email configuration in your instance's `.env` like so:
```ini
# […]
email.fromEmail="your_email_address"
email.SMTPHost="your_smtp_host"
email.SMTPUser="your_smtp_user"
email.SMTPPass="your_smtp_password"
```
#### Email config options
| Variable name | Type | Default |
| ---------------- | -------------------- | ------------ |
| **`fromEmail`** | string | `undefined` |
| **`fromName`** | string | `"Castopod"` |
| **`SMTPHost`** | string | `undefined` |
| **`SMTPUser`** | string | `undefined` |
| **`SMTPPass`** | string | `undefined` |
| **`SMTPPort`** | number | `25` |
| **`SMTPCrypto`** | [`"tls"` or `"ssl"`] | `"tls"` |
## Community packages
If you don't want to bother with installing Castopod manually, you may use one

View file

@ -49,6 +49,7 @@ podcasters around&nbsp;the&nbsp;world!
- 🔗 &nbsp;Funding links
- 📲 &nbsp;listen-to-click ads
- 🤝 &nbsp;value4value / WebMonetization
- 💎 &nbsp;Premium podcasts
- 📡 &nbsp;Publish your episodes everywhere with RSS:
- 📱 &nbsp;On all indexes and apps: Podcast Index, Apple Podcasts, Spotify,
Google Podcasts, Deezer, Podcast Addict, Podfriend, …

View file

@ -19,8 +19,8 @@ can be added as a cache handler.
## Supported tags
- `develop` [unstable], latest development branch build
// more tags to come!
- `beta` [stable], latest beta version build
- `1.0.0-beta.x` [stable], specific beta version build (since `1.0.0-beta.22`)
## Example usage
@ -33,7 +33,7 @@ can be added as a cache handler.
services:
app:
image: castopod/app:develop
image: castopod/app:beta
container_name: "castopod-app"
volumes:
- castopod-media:/opt/castopod/public/media
@ -51,7 +51,7 @@ can be added as a cache handler.
restart: unless-stopped
web-server:
image: castopod/web-server:develop
image: castopod/web-server:beta
container_name: "castopod-web-server"
volumes:
- castopod-media:/var/www/html/media
@ -117,26 +117,32 @@ can be added as a cache handler.
- **castopod/app**
| Variable name | Type (`default`) |
| -------------------------- | ----------------------------------- |
| **`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`) |
| Variable name | Type (`default`) | Default |
| ---------------------------- | ----------------------- | ---------------- |
| **`CP_BASEURL`** | string | `undefined` |
| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` |
| **`CP_ADMIN_GATEWAY`** | ?string | `"cp-admin"` |
| **`CP_AUTH_GATEWAY`** | ?string | `"cp-auth"` |
| **`CP_ANALYTICS_SALT`** | string | `undefined` |
| **`CP_DATABASE_HOSTNAME`** | ?string | `"mariadb"` |
| **`CP_DATABASE_NAME`** | ?string | `MYSQL_DATABASE` |
| **`CP_DATABASE_USERNAME`** | ?string | `MYSQL_USER` |
| **`CP_DATABASE_PASSWORD`** | ?string | `MYSQL_PASSWORD` |
| **`CP_DATABASE_PREFIX`** | ?string | `"cp_"` |
| **`CP_CACHE_HANDLER`** | [`"file"` or `"redis"`] | `"file"` |
| **`CP_REDIS_HOST`** | ?string | `"localhost"` |
| **`CP_REDIS_PASSWORD`** | ?string | `null` |
| **`CP_REDIS_PORT`** | ?number | `6379` |
| **`CP_REDIS_DATABASE`** | ?number | `0` |
| **`CP_EMAIL_SMTP_HOST`** | ?string | `undefined` |
| **`CP_EMAIL_FROM`** | ?string | `undefined` |
| **`CP_EMAIL_SMTP_USERNAME`** | ?string | `"localhost"` |
| **`CP_EMAIL_SMTP_PASSWORD`** | ?string | `null` |
| **`CP_EMAIL_SMTP_PORT`** | ?number | `25` |
| **`CP_EMAIL_SMTP_CRYPTO`** | [`"tls"` or `"ssl"`] | `"tls"` |
- **castopod/web-server**
| Variable name | Type (`default`) |
| --------------------- | ----------------- |
| **`CP_APP_HOSTNAME`** | ?string (`"app"`) |
| Variable name | Type | Default |
| --------------------- | ------- | ------- |
| **`CP_APP_HOSTNAME`** | ?string | `"app"` |

View file

@ -126,11 +126,40 @@ want to generate Video Clips. The following extensions must be installed:
::: info Note
The install script writes a `.env` file in the package root. If you cannot go
through the install wizard, you can
[create and update the `.env` file manually](#alternative-manual-configuration).
through the install wizard, you can create and edit the `.env` file manually
based on the `.env.example` file.
:::
### Email/SMTP setup
Email configuration is required for some features to work properly (eg.
retrieving your forgotten password, sending instructions to premium subscribers,
…)
You may add your email configuration in your instance's `.env` like so:
```ini
# […]
email.fromEmail="your_email_address"
email.SMTPHost="your_smtp_host"
email.SMTPUser="your_smtp_user"
email.SMTPPass="your_smtp_password"
```
#### Email config options
| Variable name | Type | Default |
| ---------------- | -------------------- | ------------ |
| **`fromEmail`** | string | `undefined` |
| **`fromName`** | string | `"Castopod"` |
| **`SMTPHost`** | string | `undefined` |
| **`SMTPUser`** | string | `undefined` |
| **`SMTPPass`** | string | `undefined` |
| **`SMTPPort`** | number | `25` |
| **`SMTPCrypto`** | [`"tls"` or `"ssl"`] | `"tls"` |
## Community packages
If you don't want to bother with installing Castopod manually, you may use one

View file

@ -49,6 +49,7 @@ podcasters around&nbsp;the&nbsp;world!
- 🔗 &nbsp;Funding links
- 📲 &nbsp;listen-to-click ads
- 🤝 &nbsp;value4value / WebMonetization
- 💎 &nbsp;Premium podcasts
- 📡 &nbsp;Publish your episodes everywhere with RSS:
- 📱 &nbsp;On all indexes and apps: Podcast Index, Apple Podcasts, Spotify,
Google Podcasts, Deezer, Podcast Addict, Podfriend, …

View file

@ -18,8 +18,8 @@ Castopod 在 Docker Hub 自动构建 程序中将 Docker 镜像推送至 Docker
## 目前支持的标签
- `develop` [unstable], 最新开发分支版本
更多标签即将到来!
- `beta` [stable],最新的 beta 版本构建
- `1.0.0-beta.x` [stable],特定 beta 版本构建 (自 `1.0.0-beta.22` 起)
## 用法示例:
@ -32,7 +32,7 @@ Castopod 在 Docker Hub 自动构建 程序中将 Docker 镜像推送至 Docker
services:
app:
image: castopod/app:develop
image: castopod/app:beta
container_name: "castopod-app"
volumes:
- castopod-media:/opt/castopod/public/media
@ -50,7 +50,7 @@ Castopod 在 Docker Hub 自动构建 程序中将 Docker 镜像推送至 Docker
restart: unless-stopped
web-server:
image: castopod/web-server:develop
image: castopod/web-server:beta
container_name: "castopod-web-server"
volumes:
- castopod-media:/var/www/html/media
@ -116,26 +116,32 @@ Castopod 在 Docker Hub 自动构建 程序中将 Docker 镜像推送至 Docker
- **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`) |
| 变量名称 | 类型 (`默认值`) | Default |
| ---------------------------- | ----------------------- | ---------------- |
| **`CP_BASEURL`** | string | `undefined` |
| **`CP_MEDIA_BASEURL`** | ?string | `CP_BASEURL` |
| **`CP_ADMIN_GATEWAY`** | ?string | `"cp-admin"` |
| **`CP_AUTH_GATEWAY`** | ?string | `"cp-auth"` |
| **`CP_ANALYTICS_SALT`** | string | `undefined` |
| **`CP_DATABASE_HOSTNAME`** | ?string | `"mariadb"` |
| **`CP_DATABASE_NAME`** | ?string | `MYSQL_DATABASE` |
| **`CP_DATABASE_USERNAME`** | ?string | `MYSQL_USER` |
| **`CP_DATABASE_PASSWORD`** | ?string | `MYSQL_PASSWORD` |
| **`CP_DATABASE_PREFIX`** | ?string | `"cp_"` |
| **`CP_CACHE_HANDLER`** | [`"file"``"redis"`] | `"file"` |
| **`CP_REDIS_HOST`** | ?string | `"localhost"` |
| **`CP_REDIS_PASSWORD`** | ?string | `null` |
| **`CP_REDIS_PORT`** | ?number | `6379` |
| **`CP_REDIS_DATABASE`** | ?number | `0` |
| **`CP_EMAIL_SMTP_HOST`** | ?string | `undefined` |
| **`CP_EMAIL_FROM`** | ?string | `undefined` |
| **`CP_EMAIL_SMTP_USERNAME`** | ?string | `"localhost"` |
| **`CP_EMAIL_SMTP_PASSWORD`** | ?string | `null` |
| **`CP_EMAIL_SMTP_PORT`** | ?number | `25` |
| **`CP_EMAIL_SMTP_CRYPTO`** | [`"tls"``"ssl"`] | `"tls"` |
- **castopod/web-server**
| 变量名称 | 类型 (`默认值`) |
| --------------------- | ----------------- |
| **`CP_APP_HOSTNAME`** | ?string (`"app"`) |
| 变量名称 | Type | Default |
| --------------------- | ------- | ------- |
| **`CP_APP_HOSTNAME`** | ?string | `"app"` |

View file

@ -118,18 +118,45 @@ Castopod 仅适用于受支持的 MySQL 5.7 或更高版本的兼容数据库。
::: 注意
安装脚本将会在根目录中创建一个 `.env` 文件并写入数据。 如果无法执行安装向导,可
以 [手动创建并更新 `.env` 文件](#alternative-manual-configuration)
安装脚本将会在根目录中创建一个 `.env` 文件并写入数据。 如果你不能执行安装向导,
那么可以基于 `.env.example` 文件手动创建和编辑 `.env` 文件
:::
### 邮箱/SMTP 设置
某些功能需要电子邮件配置才能正常工作(例如: 找回密码,向高级订阅者发送说明, …)
你可以在实例的 `.env` 中添加你的电子邮件配置,如下所示:
```ini
# […]
email.fromEmail="你的邮件地址"
email.SMTPHost="你的邮件主机"
email.SMTPUser="你的邮件用户名"
email.SMTPPass="你的邮件密码"
```
#### 电子邮件配置选项
| 变量名称 | 类型 | 默认 |
| ---------------- | -------------------- | ------------ |
| **`fromEmail`** | string | `undefined` |
| **`fromName`** | string | `"Castopod"` |
| **`SMTPHost`** | string | `undefined` |
| **`SMTPUser`** | string | `undefined` |
| **`SMTPPass`** | string | `undefined` |
| **`SMTPPort`** | number | `25` |
| **`SMTPCrypto`** | [`"tls"` or `"ssl"`] | `"tls"` |
## 社区套餐
如果你不想手动安装 Castopod可以使用开源社区创建和维护的软件包。
如果你不想手动安装 Castopod可以使用一个 由开源社区创建和维护的软件包。
### 使用 YunoHost 安装
[Yunohost](https://yunohost.org/) 是一个基于 Debian GNU/Linux 的发行版,由自由和
[YunoHost](https://yunohost.org/) 是一个基于 Debian GNU/Linux 的发行版,由免费
开源软件包组成。 它可以为你解决自托管的困难。
<div class="flex flex-wrap items-center gap-4">

View file

@ -46,6 +46,7 @@ Castopod 虽然目前处于 **测试阶段** ,但相当稳定,已经被世
- 🔗 &nbsp;资金链接
- 📲 &nbsp;点击收听广告
- 🤝 &nbsp;value4value / 网络货币化
- 💎 &nbsp;高级版播客
- 📡 &nbsp;使用 RSS 将你的剧集发布到任何地方
- 📱 &nbsp;支持众多索引和应用程序Podcast IndexApple
PodcastsSpotifyGoogle PodcastsDeezerPodcast AddictPodfriend...

View file

@ -14,6 +14,7 @@ return [
->gateway => 'الرئيسية',
'podcasts' => 'بودكاستات',
'episodes' => 'حلقات',
'subscriptions' => 'subscriptions',
'contributors' => 'مساهمون',
'pages' => 'صفحات',
'settings' => 'الإعدادات',
@ -24,6 +25,7 @@ return [
'persons' => 'أشخاص',
'publish' => 'نشر',
'publish-edit' => 'تعديل المنشور',
'publish-date-edit' => 'edit publication date',
'unpublish' => 'unpublish',
'delete' => 'احذف',
'fediverse' => 'الفديفرس',
@ -46,4 +48,5 @@ return [
'video-clips' => 'video clips',
'embed' => 'embeddable player',
'notifications' => 'الإشعارات',
'suspend' => 'suspend',
];

View file

@ -24,10 +24,14 @@ return [
'edit' => 'تعديل',
'publish' => 'نشر',
'publish_edit' => 'تعديل المنشور',
'publish_date_edit' => 'Edit publication date',
'unpublish' => 'إلغاء النشر',
'publish_error' => 'Episode is already published.',
'publish_edit_error' => 'Episode is already published.',
'publish_cancel_error' => 'Episode is already published.',
'publish_date_edit_error' => 'Episode has not been published yet, you cannot edit its publication date.',
'publish_date_edit_future_error' => 'Episode\'s publication date can only be set to a past date! If you would like to reschedule it, unpublish it first.',
'publish_date_edit_success' => 'Episode\'s publication date has been updated successfully!',
'unpublish_error' => 'الحلقة غير منشورة.',
'delete' => 'احذف',
'go_to_page' => 'الانتقال إلى الصفحة',
@ -109,6 +113,8 @@ return [
'bonus' => 'Bonus',
'bonus_hint' => 'Extra content for the show (for example, behind the scenes info or interviews with the cast) or cross-promotional content for another show',
],
'premium_title' => 'Premium',
'premium' => 'Episode must be accessible to premium subscribers only',
'parental_advisory' => [
'label' => 'Parental advisory',
'hint' => 'Does the episode contain explicit content?',
@ -176,6 +182,11 @@ return [
'message_warning_hint' => 'Having a message increases social engagement, resulting in a better visibility for your episode.',
'message_warning_submit' => 'Publish anyways',
],
'publish_date_edit_form' => [
'new_publication_date' => 'New publication date',
'new_publication_date_hint' => 'Must be set to a past date.',
'submit' => 'Edit publication date',
],
'unpublish_form' => [
'disclaimer' =>
"Unpublishing the episode will delete all the comments and posts associated with it and remove it from the podcast's RSS feed.",

View file

@ -107,6 +107,9 @@ return [
'monetization_section_title' => 'Monetization',
'monetization_section_subtitle' =>
'Earn money thanks to your audience.',
'premium' => 'Premium',
'premium_by_default' => 'Episodes must be set as premium by default',
'premium_by_default_hint' => 'Podcast episodes will be marked as premium by default. You can still choose to set some episodes, trailers or bonuses as public.',
'payment_pointer' => 'Payment Pointer for Web Monetization',
'payment_pointer_hint' =>
'This is your where you will receive money thanks to Web Monetization',

View file

@ -25,6 +25,9 @@ return [
'podcast-analytics-players' => 'Players',
'podcast-analytics-listening-time' => 'Listening time',
'podcast-analytics-time-periods' => 'Time periods',
'premium' => 'Premium',
'subscription-list' => 'All subscriptions',
'subscription-add' => 'Add subscription',
'contributors' => 'المساهمون',
'contributor-list' => 'كل المساهمين',
'contributor-add' => 'إضافة مساهم',

View file

@ -35,6 +35,8 @@ return [
'reset_counts_helper' => 'This option will recalculate and reset all data counts (number of followers, posts, comments, …).',
'rewrite_media' => 'Rewrite media metadata',
'rewrite_media_helper' => 'This option will delete all superfluous media files and recreate them (images, audio files, transcripts, chapters, …)',
'rename_episodes_files' => 'Rename episode audio files',
'rename_episodes_files_hint' => 'This option will rename all episodes audio files to a random string of characters. Use this if one of your private episodes link was leaked as this will effectively hide it.',
'clear_cache' => 'Clear all cache',
'clear_cache_helper' => 'This option will flush redis cache or writable/cache files.',
'run' => 'Run housekeeping',

View file

@ -14,6 +14,7 @@ return [
->gateway => 'Degemer',
'podcasts' => 'podkastoù',
'episodes' => 'rannoù',
'subscriptions' => 'subscriptions',
'contributors' => 'perzhidi, perzhiadezed',
'pages' => 'pajennoù',
'settings' => 'arventennoù',
@ -24,6 +25,7 @@ return [
'persons' => 'emellerien·ezed',
'publish' => 'embann',
'publish-edit' => 'kemmañ an embannadur',
'publish-date-edit' => 'edit publication date',
'unpublish' => 'diembannañ',
'delete' => 'dilemel',
'fediverse' => 'kevrebed',
@ -46,4 +48,5 @@ return [
'video-clips' => 'tennadoù video',
'embed' => 'lenner enkorfet',
'notifications' => 'notifications',
'suspend' => 'suspend',
];

View file

@ -25,10 +25,14 @@ return [
'edit' => 'Kemmañ',
'publish' => 'Embann',
'publish_edit' => 'Kemmañ an embannadur',
'publish_date_edit' => 'Edit publication date',
'unpublish' => 'Diembannañ',
'publish_error' => 'Embannet eo bet ar rann dija.',
'publish_edit_error' => 'Embannet eo bet ar rann dija.',
'publish_cancel_error' => 'Embannet eo bet ar rann dija.',
'publish_date_edit_error' => 'Episode has not been published yet, you cannot edit its publication date.',
'publish_date_edit_future_error' => 'Episode\'s publication date can only be set to a past date! If you would like to reschedule it, unpublish it first.',
'publish_date_edit_success' => 'Episode\'s publication date has been updated successfully!',
'unpublish_error' => 'N\'eo ket bet embannet ar rann.',
'delete' => 'Dilemel',
'go_to_page' => 'Gwelet ar bajenn',
@ -111,6 +115,8 @@ return [
'bonus' => 'Bonuz',
'bonus_hint' => 'Danvez ouzhpenn ar podkast (da skouer, titouroù diwar-benn kostezioù pe atersadennoù gant an aktourien·ezed), pe bruderezh kroaziet evit ur podkast all',
],
'premium_title' => 'Premium',
'premium' => 'Episode must be accessible to premium subscribers only',
'parental_advisory' => [
'label' => 'Kemenn evit ar gerent',
'hint' => 'Hag ar rann-mañ a zo danvez ha ne zlefe ket gwelet gant bugale?',
@ -178,6 +184,11 @@ return [
'message_warning_hint' => 'Ouzhpennañ ur gemennadenn a lakay muioc\'h a dud er jeu, ha diwar se e vo gwelet muioc\'h ho rann.',
'message_warning_submit' => 'Embann memestra',
],
'publish_date_edit_form' => [
'new_publication_date' => 'New publication date',
'new_publication_date_hint' => 'Must be set to a past date.',
'submit' => 'Edit publication date',
],
'unpublish_form' => [
'disclaimer' =>
"Diembann ar rann a zilamo an holl gemennadennoù liammet outi ha skarzhet e vo eus lanv RSS ar podkast.",

View file

@ -110,6 +110,9 @@ return [
'monetization_section_title' => 'Moneisaat',
'monetization_section_subtitle' =>
'Dastum arc\'hant a-drugarez d\'ho selaouerien·ezed.',
'premium' => 'Premium',
'premium_by_default' => 'Episodes must be set as premium by default',
'premium_by_default_hint' => 'Podcast episodes will be marked as premium by default. You can still choose to set some episodes, trailers or bonuses as public.',
'payment_pointer' => 'Chomlec\'h paeañ (Payment Poienter) evit Web Monetization',
'payment_pointer_hint' =>
'Ar chomlec\'h ma vo dastumet an arc\'hant ganeoc\'h a-drugarez da Web Monetization',

View file

@ -25,6 +25,9 @@ return [
'podcast-analytics-players' => 'Lennerioù',
'podcast-analytics-listening-time' => 'Padelezh ar selaou',
'podcast-analytics-time-periods' => 'Mareoù ar selaou',
'premium' => 'Premium',
'subscription-list' => 'All subscriptions',
'subscription-add' => 'Add subscription',
'contributors' => 'Perzhidi, perzhiadezed',
'contributor-list' => 'An holl berzhidi ha perzhiadezed',
'contributor-add' => 'Ouzhpennañ ur perzhiad pe ur berzhiadez',

View file

@ -35,6 +35,8 @@ return [
'reset_counts_helper' => 'This option will recalculate and reset all data counts (number of followers, posts, comments, …).',
'rewrite_media' => 'Rewrite media metadata',
'rewrite_media_helper' => 'This option will delete all superfluous media files and recreate them (images, audio files, transcripts, chapters, …)',
'rename_episodes_files' => 'Rename episode audio files',
'rename_episodes_files_hint' => 'This option will rename all episodes audio files to a random string of characters. Use this if one of your private episodes link was leaked as this will effectively hide it.',
'clear_cache' => 'Clear all cache',
'clear_cache_helper' => 'This option will flush redis cache or writable/cache files.',
'run' => 'Run housekeeping',

View file

@ -14,6 +14,7 @@ return [
->gateway => 'Inici',
'podcasts' => 'podcasts',
'episodes' => 'episodis',
'subscriptions' => 'subscriptions',
'contributors' => 'col·laboradors',
'pages' => 'pàgines',
'settings' => 'preferències',
@ -24,6 +25,7 @@ return [
'persons' => 'persones',
'publish' => 'publicar',
'publish-edit' => 'editar la publicació',
'publish-date-edit' => 'edit publication date',
'unpublish' => 'desfer la publicació',
'delete' => 'eliminar',
'fediverse' => 'Fediverse',
@ -46,4 +48,5 @@ return [
'video-clips' => 'vídeoclips',
'embed' => 'reproductor incrustable',
'notifications' => 'notificacions',
'suspend' => 'suspend',
];

View file

@ -24,10 +24,14 @@ return [
'edit' => 'Editar',
'publish' => 'Publicar',
'publish_edit' => 'Editar la publicació',
'publish_date_edit' => 'Edit publication date',
'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.',
'publish_date_edit_error' => 'Episode has not been published yet, you cannot edit its publication date.',
'publish_date_edit_future_error' => 'Episode\'s publication date can only be set to a past date! If you would like to reschedule it, unpublish it first.',
'publish_date_edit_success' => 'Episode\'s publication date has been updated successfully!',
'unpublish_error' => 'L\'episodi no està publicat.',
'delete' => 'Eliminar',
'go_to_page' => 'Anar a la pàgina ',
@ -109,6 +113,8 @@ return [
'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',
],
'premium_title' => 'Premium',
'premium' => 'Episode must be accessible to premium subscribers only',
'parental_advisory' => [
'label' => 'Avís parental',
'hint' => 'L\'episodi conté contingut explícit?',
@ -176,6 +182,11 @@ return [
'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',
],
'publish_date_edit_form' => [
'new_publication_date' => 'New publication date',
'new_publication_date_hint' => 'Must be set to a past date.',
'submit' => 'Edit publication date',
],
'unpublish_form' => [
'disclaimer' =>
"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.",

View file

@ -107,6 +107,9 @@ return [
'monetization_section_title' => 'Monetització',
'monetization_section_subtitle' =>
'Guanyeu diners gràcies al vostre públic.',
'premium' => 'Premium',
'premium_by_default' => 'Episodes must be set as premium by default',
'premium_by_default_hint' => 'Podcast episodes will be marked as premium by default. You can still choose to set some episodes, trailers or bonuses as public.',
'payment_pointer' => '`Payment Pointer` per a `Web Monetization`',
'payment_pointer_hint' =>
'Aquí és on rebreu diners gràcies al servei `Web Monetization`',

View file

@ -25,6 +25,9 @@ return [
'podcast-analytics-players' => 'Reproductors',
'podcast-analytics-listening-time' => 'Temps d\'escolta',
'podcast-analytics-time-periods' => 'Períodes de temps',
'premium' => 'Premium',
'subscription-list' => 'All subscriptions',
'subscription-add' => 'Add subscription',
'contributors' => 'Col·laboradors',
'contributor-list' => 'Tots els col·laboradors',
'contributor-add' => 'Afegir un col·laborador',

View file

@ -35,6 +35,8 @@ return [
'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, ...)',
'rename_episodes_files' => 'Rename episode audio files',
'rename_episodes_files_hint' => 'This option will rename all episodes audio files to a random string of characters. Use this if one of your private episodes link was leaked as this will effectively hide it.',
'clear_cache' => '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',

View file

@ -14,6 +14,7 @@ return [
->gateway => 'Startseite',
'podcasts' => 'Podcasts',
'episodes' => 'Folgen',
'subscriptions' => 'subscriptions',
'contributors' => 'Administratoren',
'pages' => 'Seiten',
'settings' => 'Einstellungen',
@ -24,6 +25,7 @@ return [
'persons' => 'Mitwirkende',
'publish' => 'veröffentlichen',
'publish-edit' => 'Veröffentlichung bearbeiten',
'publish-date-edit' => 'edit publication date',
'unpublish' => 'Veröffentlichung aufheben',
'delete' => 'löschen',
'fediverse' => 'Fediversum',
@ -46,4 +48,5 @@ return [
'video-clips' => 'Videoclips',
'embed' => 'einbettbarer Spieler',
'notifications' => 'notifications',
'suspend' => 'suspend',
];

View file

@ -24,10 +24,14 @@ return [
'edit' => 'Bearbeiten',
'publish' => 'Veröffentllichen',
'publish_edit' => 'Veröffentlichung bearbeiten',
'publish_date_edit' => 'Edit publication date',
'unpublish' => 'Veröffentlichung zurücknehmen',
'publish_error' => 'Folge ist bereits veröffentlicht.',
'publish_edit_error' => 'Folge ist bereits veröffentlicht.',
'publish_cancel_error' => 'Folge ist bereits veröffentlicht.',
'publish_date_edit_error' => 'Episode has not been published yet, you cannot edit its publication date.',
'publish_date_edit_future_error' => 'Episode\'s publication date can only be set to a past date! If you would like to reschedule it, unpublish it first.',
'publish_date_edit_success' => 'Episode\'s publication date has been updated successfully!',
'unpublish_error' => 'Folge ist nicht veröffentlicht.',
'delete' => 'Löschen',
'go_to_page' => 'Gehe zu Seite',
@ -109,6 +113,8 @@ return [
'bonus' => 'Bonus',
'bonus_hint' => 'Zusätzliche Inhalte für die Sendung (zum Beispiel hinter den Kulissen, Informationen oder Interviews mit dem Team) oder übergreifende Promotionsinhalte für eine andere Show',
],
'premium_title' => 'Premium',
'premium' => 'Episode must be accessible to premium subscribers only',
'parental_advisory' => [
'label' => 'Elternberatung',
'hint' => 'Enthält die Folge anstößige Inhalte?',
@ -176,6 +182,11 @@ return [
'message_warning_hint' => 'Eine Nachricht zu haben erhöht das soziale Engagement, was zu einer besseren Sichtbarkeit für Ihre Episode führt.',
'message_warning_submit' => 'Trotzdem veröffentlichen',
],
'publish_date_edit_form' => [
'new_publication_date' => 'New publication date',
'new_publication_date_hint' => 'Must be set to a past date.',
'submit' => 'Edit publication date',
],
'unpublish_form' => [
'disclaimer' =>
"Unpublishing the episode will delete all the comments and posts associated with it and remove it from the podcast's RSS feed.",

View file

@ -107,6 +107,9 @@ return [
'monetization_section_title' => 'Monetarisierung',
'monetization_section_subtitle' =>
'Geld dank der Zuhöhrer verdienen.',
'premium' => 'Premium',
'premium_by_default' => 'Episodes must be set as premium by default',
'premium_by_default_hint' => 'Podcast episodes will be marked as premium by default. You can still choose to set some episodes, trailers or bonuses as public.',
'payment_pointer' => 'Zahlungsadresse (Payment Pointer) für Web-Monetarisierung',
'payment_pointer_hint' =>
'Hier erhalten Sie dank Monetarisierung Geld',

View file

@ -25,6 +25,9 @@ return [
'podcast-analytics-players' => 'Podcast-Player',
'podcast-analytics-listening-time' => 'Hörzeit',
'podcast-analytics-time-periods' => 'Zeiträume',
'premium' => 'Premium',
'subscription-list' => 'All subscriptions',
'subscription-add' => 'Add subscription',
'contributors' => 'Administratoren',
'contributor-list' => 'Alle Unterstützer',
'contributor-add' => 'Administrator hinzufügen',

View file

@ -35,6 +35,8 @@ return [
'reset_counts_helper' => 'Diese Option wird alle Datenzähler neu berechnen und zurücksetzen (Anzahl der Follower, Beiträge, Kommentare, …).',
'rewrite_media' => 'Medien-Metadaten neu schreiben',
'rewrite_media_helper' => 'Diese Option wird alle überflüssigen Mediendateien löschen und neu erstellen (Bilder, Audiodateien, Transkripte, Kapitel …)',
'rename_episodes_files' => 'Rename episode audio files',
'rename_episodes_files_hint' => 'This option will rename all episodes audio files to a random string of characters. Use this if one of your private episodes link was leaked as this will effectively hide it.',
'clear_cache' => 'Alle Caches löschen',
'clear_cache_helper' => 'Diese Option leert den redis-Cache oder beschreibbare/cache-Dateien.',
'run' => 'Systempflege starten',

View file

@ -14,6 +14,7 @@ return [
->gateway => 'Αρχική σελίδα',
'podcasts' => 'podcasts',
'episodes' => 'επεισόδια',
'subscriptions' => 'subscriptions',
'contributors' => 'συντελεστές',
'pages' => 'σελίδες',
'settings' => 'ρυθμίσεις',
@ -24,6 +25,7 @@ return [
'persons' => 'άτομα',
'publish' => 'δημοσίευση',
'publish-edit' => 'επεξεργασία δημοσίευσης',
'publish-date-edit' => 'edit publication date',
'unpublish' => 'αναίρεση δημοσίευσης',
'delete' => 'διαγραφή',
'fediverse' => 'fediverse',
@ -46,4 +48,5 @@ return [
'video-clips' => 'βίντεο κλιπς',
'embed' => 'ενσωματώσιμος αναπαραγωγέας',
'notifications' => 'notifications',
'suspend' => 'suspend',
];

View file

@ -24,10 +24,14 @@ return [
'edit' => 'Επεξεργασία',
'publish' => 'Δημοσίευση',
'publish_edit' => 'Επεξεργασία δημοσίευσης',
'publish_date_edit' => 'Edit publication date',
'unpublish' => 'Αναίρεση δημοσίευσης',
'publish_error' => 'Το επεισόδιο έχει ήδη δημοσιευθεί.',
'publish_edit_error' => 'Το επεισόδιο έχει ήδη δημοσιευθεί.',
'publish_cancel_error' => 'Το επεισόδιο έχει ήδη δημοσιευθεί.',
'publish_date_edit_error' => 'Episode has not been published yet, you cannot edit its publication date.',
'publish_date_edit_future_error' => 'Episode\'s publication date can only be set to a past date! If you would like to reschedule it, unpublish it first.',
'publish_date_edit_success' => 'Episode\'s publication date has been updated successfully!',
'unpublish_error' => 'Το επεισόδιο δεν έχει δημοσιευθεί.',
'delete' => 'Διαγραφή',
'go_to_page' => 'Μετάβαση στη σελίδα',
@ -109,6 +113,8 @@ return [
'bonus' => 'Μπόνους',
'bonus_hint' => 'Επιπλέον περιεχόμενο για την παράσταση (για παράδειγμα, πίσω από τις σκηνές πληροφορίες ή συνεντεύξεις με τη cast) ή δια-διαφημιστικό περιεχόμενο για μια άλλη παράσταση',
],
'premium_title' => 'Premium',
'premium' => 'Episode must be accessible to premium subscribers only',
'parental_advisory' => [
'label' => 'Γονικός σύμβουλος',
'hint' => 'Μήπως το επεισόδιο περιέχει ακατάλληλο περιεχόμενο;',
@ -176,6 +182,11 @@ return [
'message_warning_hint' => 'Έχοντας ένα μήνυμα αυξάνει την κοινωνική δέσμευση, με αποτέλεσμα μια καλύτερη προβολή για το επεισόδιο σας.',
'message_warning_submit' => 'Δημοσίευση ούτως ή άλλως',
],
'publish_date_edit_form' => [
'new_publication_date' => 'New publication date',
'new_publication_date_hint' => 'Must be set to a past date.',
'submit' => 'Edit publication date',
],
'unpublish_form' => [
'disclaimer' =>
"Unpublishing the episode will delete all the comments and posts associated with it and remove it from the podcast's RSS feed.",

View file

@ -107,6 +107,9 @@ return [
'monetization_section_title' => 'Monetization',
'monetization_section_subtitle' =>
'Earn money thanks to your audience.',
'premium' => 'Premium',
'premium_by_default' => 'Episodes must be set as premium by default',
'premium_by_default_hint' => 'Podcast episodes will be marked as premium by default. You can still choose to set some episodes, trailers or bonuses as public.',
'payment_pointer' => 'Payment Pointer for Web Monetization',
'payment_pointer_hint' =>
'This is your where you will receive money thanks to Web Monetization',

View file

@ -25,6 +25,9 @@ return [
'podcast-analytics-players' => 'Players',
'podcast-analytics-listening-time' => 'Listening time',
'podcast-analytics-time-periods' => 'Time periods',
'premium' => 'Premium',
'subscription-list' => 'All subscriptions',
'subscription-add' => 'Add subscription',
'contributors' => 'Contributors',
'contributor-list' => 'All contributors',
'contributor-add' => 'Add contributor',

View file

@ -35,6 +35,8 @@ return [
'reset_counts_helper' => 'This option will recalculate and reset all data counts (number of followers, posts, comments, …).',
'rewrite_media' => 'Rewrite media metadata',
'rewrite_media_helper' => 'This option will delete all superfluous media files and recreate them (images, audio files, transcripts, chapters, …)',
'rename_episodes_files' => 'Rename episode audio files',
'rename_episodes_files_hint' => 'This option will rename all episodes audio files to a random string of characters. Use this if one of your private episodes link was leaked as this will effectively hide it.',
'clear_cache' => 'Clear all cache',
'clear_cache_helper' => 'This option will flush redis cache or writable/cache files.',
'run' => 'Run housekeeping',

View file

@ -14,6 +14,7 @@ return [
->gateway => 'Inicio',
'podcasts' => 'podcasts',
'episodes' => 'episodios',
'subscriptions' => 'subscriptions',
'contributors' => 'colaboradores',
'pages' => 'páginas',
'settings' => 'configuración',
@ -24,6 +25,7 @@ return [
'persons' => 'personas',
'publish' => 'publicar',
'publish-edit' => 'editar publicación',
'publish-date-edit' => 'edit publication date',
'unpublish' => 'anular publicación',
'delete' => 'borrar',
'fediverse' => 'fediverso',
@ -46,4 +48,5 @@ return [
'video-clips' => 'clips de vídeo',
'embed' => 'reproductor embebido',
'notifications' => 'notificaciones',
'suspend' => 'suspend',
];

View file

@ -24,10 +24,14 @@ return [
'edit' => 'Editar',
'publish' => 'Publicar',
'publish_edit' => 'Editar publicación',
'publish_date_edit' => 'Edit publication date',
'unpublish' => 'Anular publicación',
'publish_error' => 'El episodio ya está publicado.',
'publish_edit_error' => 'El episodio ya está publicado.',
'publish_cancel_error' => 'El episodio ya está publicado.',
'publish_date_edit_error' => 'Episode has not been published yet, you cannot edit its publication date.',
'publish_date_edit_future_error' => 'Episode\'s publication date can only be set to a past date! If you would like to reschedule it, unpublish it first.',
'publish_date_edit_success' => 'Episode\'s publication date has been updated successfully!',
'unpublish_error' => 'El episodio no está publicado.',
'delete' => 'Borrar',
'go_to_page' => 'Ir a la página',
@ -109,6 +113,8 @@ return [
'bonus' => 'Extra',
'bonus_hint' => 'Contenido extra para la serie (por ejemplo, detrás de escenas o entrevistas con el elenco) o contenido promocional para otra serie',
],
'premium_title' => 'Premium',
'premium' => 'Episode must be accessible to premium subscribers only',
'parental_advisory' => [
'label' => 'Aviso parental',
'hint' => '¿El episodio contiene contenido explícito?',
@ -176,6 +182,11 @@ return [
'message_warning_hint' => 'Tener un mensaje aumenta el alcance social, resultando en una mejor visibilidad para tu episodio.',
'message_warning_submit' => 'Publicar de todos modos',
],
'publish_date_edit_form' => [
'new_publication_date' => 'New publication date',
'new_publication_date_hint' => 'Must be set to a past date.',
'submit' => 'Edit publication date',
],
'unpublish_form' => [
'disclaimer' =>
"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.",

View file

@ -107,6 +107,9 @@ return [
'monetization_section_title' => 'Monetización',
'monetization_section_subtitle' =>
'Gana dinero gracias a tu audiencia.',
'premium' => 'Premium',
'premium_by_default' => 'Episodes must be set as premium by default',
'premium_by_default_hint' => 'Podcast episodes will be marked as premium by default. You can still choose to set some episodes, trailers or bonuses as public.',
'payment_pointer' => 'Puntero de pago para Monetización web',
'payment_pointer_hint' =>
'Aquí es donde usted recibirá dinero gracias a la Monetización Web',

View file

@ -25,6 +25,9 @@ return [
'podcast-analytics-players' => 'Reproductores',
'podcast-analytics-listening-time' => 'Tiempo de escucha',
'podcast-analytics-time-periods' => 'Periodos de tiempo',
'premium' => 'Premium',
'subscription-list' => 'All subscriptions',
'subscription-add' => 'Add subscription',
'contributors' => 'Colaboradores',
'contributor-list' => 'Todos los colaboradores',
'contributor-add' => 'Añadir colaborador',

View file

@ -35,6 +35,8 @@ return [
'reset_counts_helper' => 'Esta opción recalculará y restablecerá todos los conteos de datos (número de seguidores, publicaciones, comentarios, …).',
'rewrite_media' => 'Reescribir metadatos de medios',
'rewrite_media_helper' => 'Esta opción eliminará todos los archivos multimedia superfluos y los volverá a crear (imágenes, archivos de audio, transcripciones, capítulos, …)',
'rename_episodes_files' => 'Rename episode audio files',
'rename_episodes_files_hint' => 'This option will rename all episodes audio files to a random string of characters. Use this if one of your private episodes link was leaked as this will effectively hide it.',
'clear_cache' => 'Borrar toda la caché',
'clear_cache_helper' => 'Esta opción eliminará la caché de redis o archivos de escritura/caché.',
'run' => 'Ejecutar tareas de mantenimiento',

View file

@ -14,6 +14,7 @@ return [
->gateway => 'Home',
'podcasts' => 'podcasts',
'episodes' => 'episodes',
'subscriptions' => 'subscriptions',
'contributors' => 'contributors',
'pages' => 'pages',
'settings' => 'settings',
@ -24,6 +25,7 @@ return [
'persons' => 'persons',
'publish' => 'publish',
'publish-edit' => 'edit publication',
'publish-date-edit' => 'edit publication date',
'unpublish' => 'unpublish',
'delete' => 'delete',
'fediverse' => 'fediverse',
@ -46,4 +48,5 @@ return [
'video-clips' => 'video clips',
'embed' => 'embeddable player',
'notifications' => 'notifications',
'suspend' => 'suspend',
];

View file

@ -24,10 +24,14 @@ return [
'edit' => 'Edit',
'publish' => 'Publish',
'publish_edit' => 'Edit publication',
'publish_date_edit' => 'Edit publication date',
'unpublish' => 'Unpublish',
'publish_error' => 'Episode is already published.',
'publish_edit_error' => 'Episode is already published.',
'publish_cancel_error' => 'Episode is already published.',
'publish_date_edit_error' => 'Episode has not been published yet, you cannot edit its publication date.',
'publish_date_edit_future_error' => 'Episode\'s publication date can only be set to a past date! If you would like to reschedule it, unpublish it first.',
'publish_date_edit_success' => 'Episode\'s publication date has been updated successfully!',
'unpublish_error' => 'Episode is not published.',
'delete' => 'Delete',
'go_to_page' => 'Go to page',
@ -109,6 +113,8 @@ return [
'bonus' => 'Bonus',
'bonus_hint' => 'Extra content for the show (for example, behind the scenes info or interviews with the cast) or cross-promotional content for another show',
],
'premium_title' => 'Premium',
'premium' => 'Episode must be accessible to premium subscribers only',
'parental_advisory' => [
'label' => 'Parental advisory',
'hint' => 'Does the episode contain explicit content?',
@ -176,6 +182,11 @@ return [
'message_warning_hint' => 'Having a message increases social engagement, resulting in a better visibility for your episode.',
'message_warning_submit' => 'Publish anyways',
],
'publish_date_edit_form' => [
'new_publication_date' => 'New publication date',
'new_publication_date_hint' => 'Must be set to a past date.',
'submit' => 'Edit publication date',
],
'unpublish_form' => [
'disclaimer' =>
"Unpublishing the episode will delete all the comments and posts associated with it and remove it from the podcast's RSS feed.",

View file

@ -107,6 +107,9 @@ return [
'monetization_section_title' => 'Monetization',
'monetization_section_subtitle' =>
'Earn money thanks to your audience.',
'premium' => 'Premium',
'premium_by_default' => 'Episodes must be set as premium by default',
'premium_by_default_hint' => 'Podcast episodes will be marked as premium by default. You can still choose to set some episodes, trailers or bonuses as public.',
'payment_pointer' => 'Payment Pointer for Web Monetization',
'payment_pointer_hint' =>
'This is your where you will receive money thanks to Web Monetization',

View file

@ -25,6 +25,9 @@ return [
'podcast-analytics-players' => 'Players',
'podcast-analytics-listening-time' => 'Listening time',
'podcast-analytics-time-periods' => 'Time periods',
'premium' => 'Premium',
'subscription-list' => 'All subscriptions',
'subscription-add' => 'Add subscription',
'contributors' => 'Contributors',
'contributor-list' => 'All contributors',
'contributor-add' => 'Add contributor',

View file

@ -35,6 +35,8 @@ return [
'reset_counts_helper' => 'This option will recalculate and reset all data counts (number of followers, posts, comments, …).',
'rewrite_media' => 'Rewrite media metadata',
'rewrite_media_helper' => 'This option will delete all superfluous media files and recreate them (images, audio files, transcripts, chapters, …)',
'rename_episodes_files' => 'Rename episode audio files',
'rename_episodes_files_hint' => 'This option will rename all episodes audio files to a random string of characters. Use this if one of your private episodes link was leaked as this will effectively hide it.',
'clear_cache' => 'Clear all cache',
'clear_cache_helper' => 'This option will flush redis cache or writable/cache files.',
'run' => 'Run housekeeping',

View file

@ -14,6 +14,7 @@ return [
->gateway => 'Accueil',
'podcasts' => 'podcasts',
'episodes' => 'épisodes',
'subscriptions' => 'subscriptions',
'contributors' => 'contributeurs',
'pages' => 'pages',
'settings' => 'paramètres',
@ -24,6 +25,7 @@ return [
'persons' => 'intervenants',
'publish' => 'publier',
'publish-edit' => 'modifier la publication',
'publish-date-edit' => 'edit publication date',
'unpublish' => 'dépublier',
'delete' => 'supprimer',
'fediverse' => 'fédiverse',
@ -46,4 +48,5 @@ return [
'video-clips' => 'extraits vidéo',
'embed' => 'lecteur intégré',
'notifications' => 'notifications',
'suspend' => 'suspend',
];

View file

@ -24,10 +24,14 @@ return [
'edit' => 'Modifier',
'publish' => 'Publier',
'publish_edit' => 'Modifier la publication',
'publish_date_edit' => 'Edit publication date',
'unpublish' => 'Dépublier',
'publish_error' => 'Lépisode est déjà publié.',
'publish_edit_error' => 'Lépisode est déjà publié.',
'publish_cancel_error' => 'Lépisode est déjà publié.',
'publish_date_edit_error' => 'Episode has not been published yet, you cannot edit its publication date.',
'publish_date_edit_future_error' => 'Episode\'s publication date can only be set to a past date! If you would like to reschedule it, unpublish it first.',
'publish_date_edit_success' => 'Episode\'s publication date has been updated successfully!',
'unpublish_error' => 'Lépisode nest pas publié.',
'delete' => 'Supprimer',
'go_to_page' => 'Voir',
@ -109,6 +113,8 @@ return [
'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',
],
'premium_title' => 'Premium',
'premium' => 'Episode must be accessible to premium subscribers only',
'parental_advisory' => [
'label' => 'Avertissement parental',
'hint' => 'Lépisode contient-il un contenu explicite?',
@ -176,6 +182,11 @@ return [
'message_warning_hint' => 'Ajouter un message augmente lengagement social, menant à une meilleure visibilité pour votre épisode.',
'message_warning_submit' => 'Publier quand même',
],
'publish_date_edit_form' => [
'new_publication_date' => 'New publication date',
'new_publication_date_hint' => 'Must be set to a past date.',
'submit' => 'Edit publication date',
],
'unpublish_form' => [
'disclaimer' =>
"Unpublishing the episode will delete all the comments and posts associated with it and remove it from the podcast's RSS feed.",

View file

@ -107,6 +107,9 @@ return [
'monetization_section_title' => 'Monétisation',
'monetization_section_subtitle' =>
'Gagnez de largent grâce à votre audience.',
'premium' => 'Premium',
'premium_by_default' => 'Episodes must be set as premium by default',
'premium_by_default_hint' => 'Podcast episodes will be marked as premium by default. You can still choose to set some episodes, trailers or bonuses as public.',
'payment_pointer' => 'Adresse de paiement (Payment Pointer) pour Web Monetization',
'payment_pointer_hint' =>
'Ladresse où vous recevrez de largent grâce à Web Monetization',

View file

@ -25,6 +25,9 @@ return [
'podcast-analytics-players' => 'Lecteurs',
'podcast-analytics-listening-time' => 'Durée découte',
'podcast-analytics-time-periods' => 'Périodes',
'premium' => 'Premium',
'subscription-list' => 'All subscriptions',
'subscription-add' => 'Add subscription',
'contributors' => 'Contributeurs',
'contributor-list' => 'Tous les contributeurs',
'contributor-add' => 'Ajouter un contributeur',

View file

@ -35,6 +35,8 @@ return [
'reset_counts_helper' => 'Cette option recalcule et réinitialise les compteurs de données (nombre dabonné·e·s, de publications, de commentaires, …).',
'rewrite_media' => 'Réécrire les métadonnées des fichiers média',
'rewrite_media_helper' => 'Cette option supprimera tous les fichiers média superflus et les recréera (images, fichiers audio, transcripts, chapitrages, …)',
'rename_episodes_files' => 'Rename episode audio files',
'rename_episodes_files_hint' => 'This option will rename all episodes audio files to a random string of characters. Use this if one of your private episodes link was leaked as this will effectively hide it.',
'clear_cache' => 'Supprimer tout le cache',
'clear_cache_helper' => 'Cette option supprimera lintégralité du cache redis ou des fichiers cache du dossier writable/cache.',
'run' => 'Faire le ménage',

View file

@ -14,6 +14,7 @@ return [
->gateway => 'Home',
'podcasts' => 'podcasts',
'episodes' => 'episodes',
'subscriptions' => 'subscriptions',
'contributors' => 'contributors',
'pages' => 'pages',
'settings' => 'settings',
@ -24,6 +25,7 @@ return [
'persons' => 'persons',
'publish' => 'publish',
'publish-edit' => 'edit publication',
'publish-date-edit' => 'edit publication date',
'unpublish' => 'unpublish',
'delete' => 'delete',
'fediverse' => 'fediverse',
@ -46,4 +48,5 @@ return [
'video-clips' => 'video clips',
'embed' => 'embeddable player',
'notifications' => 'notifications',
'suspend' => 'suspend',
];

View file

@ -24,10 +24,14 @@ return [
'edit' => 'Edit',
'publish' => 'Publish',
'publish_edit' => 'Edit publication',
'publish_date_edit' => 'Edit publication date',
'unpublish' => 'Unpublish',
'publish_error' => 'Episode is already published.',
'publish_edit_error' => 'Episode is already published.',
'publish_cancel_error' => 'Episode is already published.',
'publish_date_edit_error' => 'Episode has not been published yet, you cannot edit its publication date.',
'publish_date_edit_future_error' => 'Episode\'s publication date can only be set to a past date! If you would like to reschedule it, unpublish it first.',
'publish_date_edit_success' => 'Episode\'s publication date has been updated successfully!',
'unpublish_error' => 'Episode is not published.',
'delete' => 'Delete',
'go_to_page' => 'Go to page',
@ -109,6 +113,8 @@ return [
'bonus' => 'Bonus',
'bonus_hint' => 'Extra content for the show (for example, behind the scenes info or interviews with the cast) or cross-promotional content for another show',
],
'premium_title' => 'Premium',
'premium' => 'Episode must be accessible to premium subscribers only',
'parental_advisory' => [
'label' => 'Parental advisory',
'hint' => 'Does the episode contain explicit content?',
@ -176,6 +182,11 @@ return [
'message_warning_hint' => 'Having a message increases social engagement, resulting in a better visibility for your episode.',
'message_warning_submit' => 'Publish anyways',
],
'publish_date_edit_form' => [
'new_publication_date' => 'New publication date',
'new_publication_date_hint' => 'Must be set to a past date.',
'submit' => 'Edit publication date',
],
'unpublish_form' => [
'disclaimer' =>
"Unpublishing the episode will delete all the comments and posts associated with it and remove it from the podcast's RSS feed.",

View file

@ -107,6 +107,9 @@ return [
'monetization_section_title' => 'Monetization',
'monetization_section_subtitle' =>
'Earn money thanks to your audience.',
'premium' => 'Premium',
'premium_by_default' => 'Episodes must be set as premium by default',
'premium_by_default_hint' => 'Podcast episodes will be marked as premium by default. You can still choose to set some episodes, trailers or bonuses as public.',
'payment_pointer' => 'Payment Pointer for Web Monetization',
'payment_pointer_hint' =>
'This is your where you will receive money thanks to Web Monetization',

View file

@ -25,6 +25,9 @@ return [
'podcast-analytics-players' => 'Players',
'podcast-analytics-listening-time' => 'Listening time',
'podcast-analytics-time-periods' => 'Time periods',
'premium' => 'Premium',
'subscription-list' => 'All subscriptions',
'subscription-add' => 'Add subscription',
'contributors' => 'Contributors',
'contributor-list' => 'All contributors',
'contributor-add' => 'Add contributor',

View file

@ -35,6 +35,8 @@ return [
'reset_counts_helper' => 'This option will recalculate and reset all data counts (number of followers, posts, comments, …).',
'rewrite_media' => 'Rewrite media metadata',
'rewrite_media_helper' => 'This option will delete all superfluous media files and recreate them (images, audio files, transcripts, chapters, …)',
'rename_episodes_files' => 'Rename episode audio files',
'rename_episodes_files_hint' => 'This option will rename all episodes audio files to a random string of characters. Use this if one of your private episodes link was leaked as this will effectively hide it.',
'clear_cache' => 'Clear all cache',
'clear_cache_helper' => 'This option will flush redis cache or writable/cache files.',
'run' => 'Run housekeeping',

View file

@ -14,6 +14,7 @@ return [
->gateway => 'Inicio',
'podcasts' => 'podcasts',
'episodes' => 'episodios',
'subscriptions' => 'subscriptions',
'contributors' => 'contribúen',
'pages' => 'páxinas',
'settings' => 'axustes',
@ -24,6 +25,7 @@ return [
'persons' => 'persoas',
'publish' => 'publicar',
'publish-edit' => 'editar publicación',
'publish-date-edit' => 'edit publication date',
'unpublish' => 'retirar publicación',
'delete' => 'eliminar',
'fediverse' => 'fediverso',
@ -46,4 +48,5 @@ return [
'video-clips' => 'clips de vídeo',
'embed' => 'reprodutor para incluír',
'notifications' => 'notificacións',
'suspend' => 'suspend',
];

View file

@ -24,10 +24,14 @@ return [
'edit' => 'Editar',
'publish' => 'Publicar',
'publish_edit' => 'Editar publicación',
'publish_date_edit' => 'Edit publication date',
'unpublish' => 'Retirar publicación',
'publish_error' => 'O episodio xa está publicado.',
'publish_edit_error' => 'O episodio xa está publicado.',
'publish_cancel_error' => 'O episodio xa está publicado.',
'publish_date_edit_error' => 'Episode has not been published yet, you cannot edit its publication date.',
'publish_date_edit_future_error' => 'Episode\'s publication date can only be set to a past date! If you would like to reschedule it, unpublish it first.',
'publish_date_edit_success' => 'Episode\'s publication date has been updated successfully!',
'unpublish_error' => 'O episodio non foi publicado.',
'delete' => 'Eliminar',
'go_to_page' => 'Ir á páxina',
@ -109,6 +113,8 @@ return [
'bonus' => 'Extra',
'bonus_hint' => 'Contido extra para o programa (por exemplo, info sobre a elaboración ou conversa casual cos participantes) ou contido promocional de outras creadoras',
],
'premium_title' => 'Premium',
'premium' => 'Episode must be accessible to premium subscribers only',
'parental_advisory' => [
'label' => 'Aviso sobre o contido',
'hint' => 'Contén o episodio elementos explícitos?',
@ -176,6 +182,11 @@ return [
'message_warning_hint' => 'Ao escribir unha mensaxe aumentas o alcance social, resultando en maior visibilidade para o teu episodio.',
'message_warning_submit' => 'Publicar igualmente',
],
'publish_date_edit_form' => [
'new_publication_date' => 'New publication date',
'new_publication_date_hint' => 'Must be set to a past date.',
'submit' => 'Edit publication date',
],
'unpublish_form' => [
'disclaimer' =>
"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.",

View file

@ -107,6 +107,9 @@ return [
'monetization_section_title' => 'Monetization',
'monetization_section_subtitle' =>
'Earn money thanks to your audience.',
'premium' => 'Premium',
'premium_by_default' => 'Episodes must be set as premium by default',
'premium_by_default_hint' => 'Podcast episodes will be marked as premium by default. You can still choose to set some episodes, trailers or bonuses as public.',
'payment_pointer' => 'Payment Pointer for Web Monetization',
'payment_pointer_hint' =>
'This is your where you will receive money thanks to Web Monetization',

View file

@ -25,6 +25,9 @@ return [
'podcast-analytics-players' => 'Players',
'podcast-analytics-listening-time' => 'Listening time',
'podcast-analytics-time-periods' => 'Time periods',
'premium' => 'Premium',
'subscription-list' => 'All subscriptions',
'subscription-add' => 'Add subscription',
'contributors' => 'Contributors',
'contributor-list' => 'All contributors',
'contributor-add' => 'Add contributor',

View file

@ -35,6 +35,8 @@ return [
'reset_counts_helper' => 'This option will recalculate and reset all data counts (number of followers, posts, comments, …).',
'rewrite_media' => 'Rewrite media metadata',
'rewrite_media_helper' => 'This option will delete all superfluous media files and recreate them (images, audio files, transcripts, chapters, …)',
'rename_episodes_files' => 'Rename episode audio files',
'rename_episodes_files_hint' => 'This option will rename all episodes audio files to a random string of characters. Use this if one of your private episodes link was leaked as this will effectively hide it.',
'clear_cache' => 'Clear all cache',
'clear_cache_helper' => 'This option will flush redis cache or writable/cache files.',
'run' => 'Run housekeeping',

View file

@ -14,6 +14,7 @@ return [
->gateway => 'Home',
'podcasts' => 'podcasts',
'episodes' => 'episodes',
'subscriptions' => 'subscriptions',
'contributors' => 'contributors',
'pages' => 'pages',
'settings' => 'settings',
@ -24,6 +25,7 @@ return [
'persons' => 'persons',
'publish' => 'publish',
'publish-edit' => 'edit publication',
'publish-date-edit' => 'edit publication date',
'unpublish' => 'unpublish',
'delete' => 'delete',
'fediverse' => 'fediverse',
@ -46,4 +48,5 @@ return [
'video-clips' => 'video clips',
'embed' => 'embeddable player',
'notifications' => 'notifications',
'suspend' => 'suspend',
];

View file

@ -24,10 +24,14 @@ return [
'edit' => 'Edit',
'publish' => 'Publish',
'publish_edit' => 'Edit publication',
'publish_date_edit' => 'Edit publication date',
'unpublish' => 'Unpublish',
'publish_error' => 'Episode is already published.',
'publish_edit_error' => 'Episode is already published.',
'publish_cancel_error' => 'Episode is already published.',
'publish_date_edit_error' => 'Episode has not been published yet, you cannot edit its publication date.',
'publish_date_edit_future_error' => 'Episode\'s publication date can only be set to a past date! If you would like to reschedule it, unpublish it first.',
'publish_date_edit_success' => 'Episode\'s publication date has been updated successfully!',
'unpublish_error' => 'Episode is not published.',
'delete' => 'Delete',
'go_to_page' => 'Go to page',
@ -109,6 +113,8 @@ return [
'bonus' => 'Bonus',
'bonus_hint' => 'Extra content for the show (for example, behind the scenes info or interviews with the cast) or cross-promotional content for another show',
],
'premium_title' => 'Premium',
'premium' => 'Episode must be accessible to premium subscribers only',
'parental_advisory' => [
'label' => 'Parental advisory',
'hint' => 'Does the episode contain explicit content?',
@ -176,6 +182,11 @@ return [
'message_warning_hint' => 'Having a message increases social engagement, resulting in a better visibility for your episode.',
'message_warning_submit' => 'Publish anyways',
],
'publish_date_edit_form' => [
'new_publication_date' => 'New publication date',
'new_publication_date_hint' => 'Must be set to a past date.',
'submit' => 'Edit publication date',
],
'unpublish_form' => [
'disclaimer' =>
"Unpublishing the episode will delete all the comments and posts associated with it and remove it from the podcast's RSS feed.",

View file

@ -107,6 +107,9 @@ return [
'monetization_section_title' => 'Monetization',
'monetization_section_subtitle' =>
'Earn money thanks to your audience.',
'premium' => 'Premium',
'premium_by_default' => 'Episodes must be set as premium by default',
'premium_by_default_hint' => 'Podcast episodes will be marked as premium by default. You can still choose to set some episodes, trailers or bonuses as public.',
'payment_pointer' => 'Payment Pointer for Web Monetization',
'payment_pointer_hint' =>
'This is your where you will receive money thanks to Web Monetization',

View file

@ -25,6 +25,9 @@ return [
'podcast-analytics-players' => 'Players',
'podcast-analytics-listening-time' => 'Listening time',
'podcast-analytics-time-periods' => 'Time periods',
'premium' => 'Premium',
'subscription-list' => 'All subscriptions',
'subscription-add' => 'Add subscription',
'contributors' => 'Contributors',
'contributor-list' => 'All contributors',
'contributor-add' => 'Add contributor',

View file

@ -35,6 +35,8 @@ return [
'reset_counts_helper' => 'This option will recalculate and reset all data counts (number of followers, posts, comments, …).',
'rewrite_media' => 'Rewrite media metadata',
'rewrite_media_helper' => 'This option will delete all superfluous media files and recreate them (images, audio files, transcripts, chapters, …)',
'rename_episodes_files' => 'Rename episode audio files',
'rename_episodes_files_hint' => 'This option will rename all episodes audio files to a random string of characters. Use this if one of your private episodes link was leaked as this will effectively hide it.',
'clear_cache' => 'Clear all cache',
'clear_cache_helper' => 'This option will flush redis cache or writable/cache files.',
'run' => 'Run housekeeping',

View file

@ -13,37 +13,40 @@ return [
config('Admin')
->gateway => 'Home',
'podcasts' => 'podcasts',
'episodes' => 'episodes',
'contributors' => 'contributors',
'pages' => 'pages',
'settings' => 'settings',
'theme' => 'theme',
'add' => 'add',
'new' => 'new',
'edit' => 'edit',
'persons' => 'persons',
'publish' => 'publish',
'publish-edit' => 'edit publication',
'unpublish' => 'unpublish',
'delete' => 'delete',
'fediverse' => 'fediverse',
'block-lists' => 'block lists',
'users' => 'users',
'my-account' => 'my account',
'change-password' => 'change password',
'import' => 'feed import',
'platforms' => 'platforms',
'episodes' => 'episodi',
'subscriptions' => 'sottoscrizioni',
'contributors' => 'collaboratori',
'pages' => 'pagine',
'settings' => 'impostazioni',
'theme' => 'tema',
'add' => 'aggiungi',
'new' => 'nuovo',
'edit' => 'modifica',
'persons' => 'persone',
'publish' => 'pubblica',
'publish-edit' => 'modifica pubblicazione',
'publish-date-edit' => 'edit publication date',
'unpublish' => 'annulla pubblicazione',
'delete' => 'elimina',
'fediverse' => 'fediverso',
'block-lists' => 'elenco bloccati',
'users' => 'utenti',
'my-account' => 'il mio profilo',
'change-password' => 'cambia la password',
'import' => 'importazione feed',
'platforms' => 'piattaforme',
'social' => 'social networks',
'funding' => 'funding',
'funding' => 'finanziamento',
'analytics' => 'analytics',
'locations' => 'locations',
'webpages' => 'web pages',
'unique-listeners' => 'unique listeners',
'players' => 'players',
'listening-time' => 'listening time',
'time-periods' => 'time periods',
'locations' => 'posizioni',
'webpages' => 'pagine web',
'unique-listeners' => 'ascoltatori unici',
'players' => 'partecipanti',
'listening-time' => 'tempo di ascolto',
'time-periods' => 'periodo di tempo',
'soundbites' => 'soundbites',
'video-clips' => 'video clips',
'embed' => 'embeddable player',
'notifications' => 'notifications',
'embed' => 'player incorporabile',
'notifications' => 'notifiche',
'suspend' => 'sospendi',
];

View file

@ -9,7 +9,7 @@ declare(strict_types=1);
*/
return [
'by_service_weekly' => 'Episode downloads by service (for the past week)',
'by_service_weekly' => 'Episodi scaricati per servizio (settimana passata)',
'by_player_weekly' => 'Episode downloads by player (for the past week)',
'by_player_yearly' => 'Episode downloads by player (for the past year)',
'by_device_weekly' => 'Episode downloads by device (for the past week)',

View file

@ -9,43 +9,43 @@ declare(strict_types=1);
*/
return [
'yes' => 'Yes',
'yes' => 'Si',
'no' => 'No',
'cancel' => 'Cancel',
'optional' => 'Optional',
'more' => 'More',
'no_data' => 'No data found!',
'close' => 'Close',
'edit' => 'Edit',
'copy' => 'Copy',
'copied' => 'Copied!',
'no_data' => 'Nessun dato trovato!',
'close' => 'Chiudi',
'edit' => 'Modifica',
'copy' => 'Copia',
'copied' => 'Copiato!',
'home' => 'Home',
'explicit' => 'Explicit',
'powered_by' => 'Powered by {castopod}',
'actions' => 'Actions',
'pageInfo' => 'Page {currentPage} out of {pageCount}',
'go_back' => 'Go back',
'explicit' => 'Esplicito',
'powered_by' => 'Fornito da {castopod}',
'actions' => 'Azioni',
'pageInfo' => 'Pagina {currentPage} di {pageCount}',
'go_back' => 'Torna indietro',
'forms' => [
'editor' => [
'write' => 'Write',
'preview' => 'Preview',
'write' => 'Scrivi',
'preview' => 'Anteprima',
'help' => 'Powered by markdown',
],
'multiSelect' => [
'selectText' => 'Press to select',
'loadingText' => 'Loading…',
'noResultsText' => 'No results found',
'selectText' => 'Premi per selezionare',
'loadingText' => 'Caricamento…',
'noResultsText' => 'Nessun risultato trovato',
'noChoicesText' => 'No choices to choose from',
'maxItemText' => 'Cannot add more items',
'maxItemText' => 'Impossibile aggiungere ulteriori elementi',
],
'upload_file' => 'Upload a file',
'remote_url' => 'Remote URL',
'upload_file' => 'Carica un file',
'remote_url' => 'URL remoto',
],
'play_episode_button' => [
'play' => 'Play',
'playing' => 'Playing',
'play' => 'Riproduci',
'playing' => 'In riproduzione',
],
'size_limit' => 'Size limit: {0}.',
'choose_interact' => 'Choose how to interact',
'view' => 'View',
'choose_interact' => 'Scegli come interagire',
'view' => 'Visualizza',
];

View file

@ -9,33 +9,33 @@ declare(strict_types=1);
*/
return [
'podcast_contributors' => 'Podcast contributors',
'podcast_contributors' => 'Collaboratori del podcast',
'view' => "{username}'s contribution to {podcastTitle}",
'add' => 'Add contributor',
'add' => 'Aggiungi collaboratore',
'add_contributor' => 'Add a contributor for {0}',
'edit_role' => 'Update role for {0}',
'edit' => 'Edit',
'remove' => 'Remove',
'edit' => 'Modifica',
'remove' => 'Rimuovi',
'list' => [
'username' => 'Username',
'username' => 'Nome Utente',
'role' => 'Role',
],
'form' => [
'user' => 'User',
'user_placeholder' => 'Select a user…',
'role' => 'Role',
'role_placeholder' => 'Select its role…',
'submit_add' => 'Add contributor',
'submit_edit' => 'Update role',
'user_placeholder' => 'Seleziona un utente…',
'role' => 'Ruolo',
'role_placeholder' => 'Seleziona il suo ruolo…',
'submit_add' => 'Aggiungi collaboratore',
'submit_edit' => 'Aggiorna Ruolo',
],
'roles' => [
'podcast_admin' => 'Podcast admin',
'podcast_admin' => 'Amministratore del podcast',
],
'messages' => [
'removeOwnerError' => "You can't remove the podcast owner!",
'removeOwnerError' => "Non puoi rimuovere il proprietario del podcast!",
'removeSuccess' =>
'You have successfully removed {username} from {podcastTitle}',
'Hai rimosso con successo {username} da {podcastTitle}',
'alreadyAddedError' =>
"The contributor you're trying to add has already been added!",
"Il collaboratore che stai cercando di aggiungere è già stato aggiunto!",
],
];

View file

@ -12,25 +12,25 @@ declare(strict_types=1);
return [
'AD' => 'Andorra',
'AE' => 'United Arab Emirates',
'AE' => 'Emirati Arabi Uniti',
'AF' => 'Afghanistan',
'AG' => 'Antigua and Barbuda',
'AG' => 'Antigua e Barbuda',
'AI' => 'Anguilla',
'AL' => 'Albania',
'AM' => 'Armenia',
'AO' => 'Angola',
'AQ' => 'Antarctica',
'AQ' => 'Antartide',
'AR' => 'Argentina',
'AS' => 'American Samoa',
'AT' => 'Austria',
'AU' => 'Australia',
'AW' => 'Aruba',
'AX' => 'Åland Islands',
'AZ' => 'Azerbaijan',
'BA' => 'Bosnia and Herzegovina',
'AX' => 'Isole Åland',
'AZ' => 'Azerbaigian',
'BA' => 'Bosnia-Erzegovina',
'BB' => 'Barbados',
'BD' => 'Bangladesh',
'BE' => 'Belgium',
'BE' => 'Belgio',
'BF' => 'Burkina Faso',
'BG' => 'Bulgaria',
'BH' => 'Bahrain',
@ -38,63 +38,63 @@ return [
'BJ' => 'Benin',
'BL' => 'Saint Barthélemy',
'BM' => 'Bermuda',
'BN' => 'Brunei Darussalam',
'BO' => 'Bolivia, Plurinational State of',
'BN' => 'Sultanato del Brunei',
'BO' => 'Bolivia, Stato Plurinazionale di',
'BQ' => 'Bonaire, Sint Eustatius and Saba',
'BR' => 'Brazil',
'BR' => 'Brasile',
'BS' => 'Bahamas',
'BT' => 'Bhutan',
'BV' => 'Bouvet Island',
'BW' => 'Botswana',
'BY' => 'Belarus',
'BY' => 'Bielorussia',
'BZ' => 'Belize',
'CA' => 'Canada',
'CC' => 'Cocos (Keeling) Islands',
'CD' => 'Congo, the Democratic Republic of the',
'CC' => 'Isole Cocos (Keeling)',
'CD' => 'Repubblica Democratica del Congo',
'CF' => 'Central African Republic',
'CG' => 'Congo',
'CH' => 'Switzerland',
'CI' => "Côte d'Ivoire",
'CH' => 'Svizzera',
'CI' => "Costa d'Avorio",
'CK' => 'Cook Islands',
'CL' => 'Chile',
'CM' => 'Cameroon',
'CN' => 'China',
'CL' => 'Cile',
'CM' => 'Camerun',
'CN' => 'Cina',
'CO' => 'Colombia',
'CR' => 'Costa Rica',
'CU' => 'Cuba',
'CV' => 'Cape Verde',
'CV' => 'Capo Verde',
'CW' => 'Curaçao',
'CX' => 'Christmas Island',
'CY' => 'Cyprus',
'CZ' => 'Czech Republic',
'DE' => 'Germany',
'CY' => 'Cipro',
'CZ' => 'Repubblica Ceca',
'DE' => 'Germania',
'DJ' => 'Djibouti',
'DK' => 'Denmark',
'DK' => 'Danimarca',
'DM' => 'Dominica',
'DO' => 'Dominican Republic',
'DO' => 'Repubblica Domenicana',
'DZ' => 'Algeria',
'EC' => 'Ecuador',
'EE' => 'Estonia',
'EG' => 'Egypt',
'EH' => 'Western Sahara',
'EG' => 'Egitto',
'EH' => 'Sahara occidentale',
'ER' => 'Eritrea',
'ES' => 'Spain',
'ET' => 'Ethiopia',
'FI' => 'Finland',
'ES' => 'Spagna',
'ET' => 'Etiopia',
'FI' => 'Finlandia',
'FJ' => 'Fiji',
'FK' => 'Falkland Islands (Malvinas)',
'FM' => 'Micronesia, Federated States of',
'FO' => 'Faroe Islands',
'FR' => 'France',
'FR' => 'Francia',
'GA' => 'Gabon',
'GB' => 'United Kingdom',
'GD' => 'Grenada',
'GB' => 'Regno Unito',
'GD' => 'Granada',
'GE' => 'Georgia',
'GF' => 'French Guiana',
'GG' => 'Guernsey',
'GH' => 'Ghana',
'GI' => 'Gibraltar',
'GL' => 'Greenland',
'GL' => 'Groenlandia',
'GM' => 'Gambia',
'GN' => 'Guinea',
'GP' => 'Guadeloupe',
@ -132,22 +132,22 @@ return [
'KM' => 'Comoros',
'KN' => 'Saint Kitts and Nevis',
'KP' => "Korea, Democratic People's Republic of",
'KR' => 'Korea, Republic of',
'KR' => 'Corea del Sud (Repubblica di Corea)',
'KW' => 'Kuwait',
'KY' => 'Cayman Islands',
'KZ' => 'Kazakhstan',
'KZ' => 'Kazakistan',
'LA' => "Lao People's Democratic Republic",
'LB' => 'Lebanon',
'LB' => 'Libano',
'LC' => 'Saint Lucia',
'LI' => 'Liechtenstein',
'LK' => 'Sri Lanka',
'LR' => 'Liberia',
'LS' => 'Lesotho',
'LT' => 'Lithuania',
'LT' => 'Lituania',
'LU' => 'Luxembourg',
'LV' => 'Latvia',
'LV' => 'Lettonia',
'LY' => 'Libya',
'MA' => 'Morocco',
'MA' => 'Marocco',
'MC' => 'Monaco',
'MD' => 'Moldova, Republic of',
'ME' => 'Montenegro',
@ -177,8 +177,8 @@ return [
'NF' => 'Norfolk Island',
'NG' => 'Nigeria',
'NI' => 'Nicaragua',
'NL' => 'Netherlands',
'NO' => 'Norway',
'NL' => 'Paesi Bassi',
'NO' => 'Norvegia',
'NP' => 'Nepal',
'NR' => 'Nauru',
'NU' => 'Niue',
@ -195,7 +195,7 @@ return [
'PN' => 'Pitcairn',
'PR' => 'Puerto Rico',
'PS' => 'Palestine, State of',
'PT' => 'Portugal',
'PT' => 'Portogallo',
'PW' => 'Palau',
'PY' => 'Paraguay',
'QA' => 'Qatar',
@ -244,7 +244,7 @@ return [
'UA' => 'Ukraine',
'UG' => 'Uganda',
'UM' => 'United States Minor Outlying Islands',
'US' => 'United States',
'US' => 'Stati Uniti d\'America',
'UY' => 'Uruguay',
'UZ' => 'Uzbekistan',
'VA' => 'Holy See (Vatican City State)',

View file

@ -19,22 +19,26 @@ return [
one {# comment}
other {# comments}
}',
'all_podcast_episodes' => 'All podcast episodes',
'back_to_podcast' => 'Go back to podcast',
'edit' => 'Edit',
'publish' => 'Publish',
'publish_edit' => 'Edit publication',
'unpublish' => 'Unpublish',
'publish_error' => 'Episode is already published.',
'publish_edit_error' => 'Episode is already published.',
'publish_cancel_error' => 'Episode is already published.',
'unpublish_error' => 'Episode is not published.',
'delete' => 'Delete',
'go_to_page' => 'Go to page',
'create' => 'Add an episode',
'all_podcast_episodes' => 'Tutti gli episodi del podcast',
'back_to_podcast' => 'Torna a podcast',
'edit' => 'Modifica',
'publish' => 'Pubblica',
'publish_edit' => 'Modifica pubblicazione',
'publish_date_edit' => 'Edit publication date',
'unpublish' => 'Annulla pubblicazione',
'publish_error' => 'L\'episodio è già stato pubblicato.',
'publish_edit_error' => 'L\'episodio è già stato pubblicato.',
'publish_cancel_error' => 'L\'episodio è già stato pubblicato.',
'publish_date_edit_error' => 'Episode has not been published yet, you cannot edit its publication date.',
'publish_date_edit_future_error' => 'Episode\'s publication date can only be set to a past date! If you would like to reschedule it, unpublish it first.',
'publish_date_edit_success' => 'Episode\'s publication date has been updated successfully!',
'unpublish_error' => 'Episodio non pubblicato.',
'delete' => 'Elimina',
'go_to_page' => 'Vai alla pagina',
'create' => 'Aggiungi un episodio',
'publication_status' => [
'published' => 'Published',
'with_podcast' => 'Published',
'published' => 'Pubblicato',
'with_podcast' => 'Pubblicato',
'scheduled' => 'Scheduled',
'not_published' => 'Not published',
],
@ -43,7 +47,7 @@ return [
'search' => [
'placeholder' => 'Search for an episode',
'clear' => 'Clear search',
'submit' => 'Search',
'submit' => 'Cerca',
],
'number_of_episodes' => '{numberOfEpisodes, plural,
one {# episode}
@ -109,6 +113,8 @@ return [
'bonus' => 'Bonus',
'bonus_hint' => 'Extra content for the show (for example, behind the scenes info or interviews with the cast) or cross-promotional content for another show',
],
'premium_title' => 'Premium',
'premium' => 'Episode must be accessible to premium subscribers only',
'parental_advisory' => [
'label' => 'Parental advisory',
'hint' => 'Does the episode contain explicit content?',
@ -176,6 +182,11 @@ return [
'message_warning_hint' => 'Having a message increases social engagement, resulting in a better visibility for your episode.',
'message_warning_submit' => 'Publish anyways',
],
'publish_date_edit_form' => [
'new_publication_date' => 'New publication date',
'new_publication_date_hint' => 'Must be set to a past date.',
'submit' => 'Edit publication date',
],
'unpublish_form' => [
'disclaimer' =>
"Unpublishing the episode will delete all the comments and posts associated with it and remove it from the podcast's RSS feed.",

View file

@ -107,6 +107,9 @@ return [
'monetization_section_title' => 'Monetization',
'monetization_section_subtitle' =>
'Earn money thanks to your audience.',
'premium' => 'Premium',
'premium_by_default' => 'Episodes must be set as premium by default',
'premium_by_default_hint' => 'Podcast episodes will be marked as premium by default. You can still choose to set some episodes, trailers or bonuses as public.',
'payment_pointer' => 'Payment Pointer for Web Monetization',
'payment_pointer_hint' =>
'This is your where you will receive money thanks to Web Monetization',

View file

@ -25,6 +25,9 @@ return [
'podcast-analytics-players' => 'Players',
'podcast-analytics-listening-time' => 'Listening time',
'podcast-analytics-time-periods' => 'Time periods',
'premium' => 'Premium',
'subscription-list' => 'All subscriptions',
'subscription-add' => 'Add subscription',
'contributors' => 'Contributors',
'contributor-list' => 'All contributors',
'contributor-add' => 'Add contributor',

View file

@ -35,6 +35,8 @@ return [
'reset_counts_helper' => 'This option will recalculate and reset all data counts (number of followers, posts, comments, …).',
'rewrite_media' => 'Rewrite media metadata',
'rewrite_media_helper' => 'This option will delete all superfluous media files and recreate them (images, audio files, transcripts, chapters, …)',
'rename_episodes_files' => 'Rename episode audio files',
'rename_episodes_files_hint' => 'This option will rename all episodes audio files to a random string of characters. Use this if one of your private episodes link was leaked as this will effectively hide it.',
'clear_cache' => 'Clear all cache',
'clear_cache_helper' => 'This option will flush redis cache or writable/cache files.',
'run' => 'Run housekeeping',

View file

@ -14,6 +14,7 @@ return [
->gateway => 'Hoofdpagina',
'podcasts' => 'podcasts',
'episodes' => 'afleveringen',
'subscriptions' => 'subscriptions',
'contributors' => 'bijdragers',
'pages' => 'paginas',
'settings' => 'instellingen',
@ -24,6 +25,7 @@ return [
'persons' => 'personen',
'publish' => 'publiceren',
'publish-edit' => 'publicatie aanpassen',
'publish-date-edit' => 'edit publication date',
'unpublish' => 'publicatie ongedaan maken',
'delete' => 'verwijder',
'fediverse' => 'fediverse',
@ -46,4 +48,5 @@ return [
'video-clips' => 'video clips',
'embed' => 'integreerbare speler',
'notifications' => 'meldingen',
'suspend' => 'suspend',
];

View file

@ -24,10 +24,14 @@ return [
'edit' => 'Bewerken',
'publish' => 'Publiceren',
'publish_edit' => 'Publicatie bewerken',
'publish_date_edit' => 'Edit publication date',
'unpublish' => 'Publicatie ongedaan maken',
'publish_error' => 'Aflevering is reeds gepubliceerd.',
'publish_edit_error' => 'Aflevering is reeds gepubliceerd.',
'publish_cancel_error' => 'Aflevering is reeds gepubliceerd.',
'publish_date_edit_error' => 'Episode has not been published yet, you cannot edit its publication date.',
'publish_date_edit_future_error' => 'Episode\'s publication date can only be set to a past date! If you would like to reschedule it, unpublish it first.',
'publish_date_edit_success' => 'Episode\'s publication date has been updated successfully!',
'unpublish_error' => 'Aflevering is niet gepubliceerd.',
'delete' => 'Verwijder',
'go_to_page' => 'Ga naar pagina',
@ -109,6 +113,8 @@ return [
'bonus' => 'Bonus',
'bonus_hint' => 'Extra content for the show (for example, behind the scenes info or interviews with the cast) or cross-promotional content for another show',
],
'premium_title' => 'Premium',
'premium' => 'Episode must be accessible to premium subscribers only',
'parental_advisory' => [
'label' => 'Parental advisory',
'hint' => 'Does the episode contain explicit content?',
@ -176,6 +182,11 @@ return [
'message_warning_hint' => 'Having a message increases social engagement, resulting in a better visibility for your episode.',
'message_warning_submit' => 'Publish anyways',
],
'publish_date_edit_form' => [
'new_publication_date' => 'New publication date',
'new_publication_date_hint' => 'Must be set to a past date.',
'submit' => 'Edit publication date',
],
'unpublish_form' => [
'disclaimer' =>
"Unpublishing the episode will delete all the comments and posts associated with it and remove it from the podcast's RSS feed.",

View file

@ -107,6 +107,9 @@ return [
'monetization_section_title' => 'Monetization',
'monetization_section_subtitle' =>
'Earn money thanks to your audience.',
'premium' => 'Premium',
'premium_by_default' => 'Episodes must be set as premium by default',
'premium_by_default_hint' => 'Podcast episodes will be marked as premium by default. You can still choose to set some episodes, trailers or bonuses as public.',
'payment_pointer' => 'Payment Pointer for Web Monetization',
'payment_pointer_hint' =>
'This is your where you will receive money thanks to Web Monetization',

View file

@ -25,6 +25,9 @@ return [
'podcast-analytics-players' => 'Players',
'podcast-analytics-listening-time' => 'Listening time',
'podcast-analytics-time-periods' => 'Time periods',
'premium' => 'Premium',
'subscription-list' => 'All subscriptions',
'subscription-add' => 'Add subscription',
'contributors' => 'Contributors',
'contributor-list' => 'All contributors',
'contributor-add' => 'Add contributor',

View file

@ -35,6 +35,8 @@ return [
'reset_counts_helper' => 'This option will recalculate and reset all data counts (number of followers, posts, comments, …).',
'rewrite_media' => 'Rewrite media metadata',
'rewrite_media_helper' => 'This option will delete all superfluous media files and recreate them (images, audio files, transcripts, chapters, …)',
'rename_episodes_files' => 'Rename episode audio files',
'rename_episodes_files_hint' => 'This option will rename all episodes audio files to a random string of characters. Use this if one of your private episodes link was leaked as this will effectively hide it.',
'clear_cache' => 'Clear all cache',
'clear_cache_helper' => 'This option will flush redis cache or writable/cache files.',
'run' => 'Run housekeeping',

View file

@ -14,6 +14,7 @@ return [
->gateway => 'Heim',
'podcasts' => 'podkastar',
'episodes' => 'episodar',
'subscriptions' => 'subscriptions',
'contributors' => 'bidragsytarar',
'pages' => 'sider',
'settings' => 'innstillingar',
@ -24,6 +25,7 @@ return [
'persons' => 'personar',
'publish' => 'legg ut',
'publish-edit' => 'rediger publiseringa',
'publish-date-edit' => 'edit publication date',
'unpublish' => 'avpubliser',
'delete' => 'slett',
'fediverse' => 'fødiverset',
@ -46,4 +48,5 @@ return [
'video-clips' => 'videoklypp',
'embed' => 'innbyggbar spelar',
'notifications' => 'notifications',
'suspend' => 'suspend',
];

View file

@ -24,10 +24,14 @@ return [
'edit' => 'Rediger',
'publish' => 'Legg ut',
'publish_edit' => 'Rediger publiseringa',
'publish_date_edit' => 'Edit publication date',
'unpublish' => 'Avpubliser',
'publish_error' => 'Episoden er allereie publisert.',
'publish_edit_error' => 'Episoden er allereie publisert.',
'publish_cancel_error' => 'Episoden er allereie publisert.',
'publish_date_edit_error' => 'Episode has not been published yet, you cannot edit its publication date.',
'publish_date_edit_future_error' => 'Episode\'s publication date can only be set to a past date! If you would like to reschedule it, unpublish it first.',
'publish_date_edit_success' => 'Episode\'s publication date has been updated successfully!',
'unpublish_error' => 'Episoden er ikkje publisert.',
'delete' => 'Slett',
'go_to_page' => 'Gå til side',
@ -109,6 +113,8 @@ return [
'bonus' => 'Bonus',
'bonus_hint' => 'Ekstra innhald (til dømes bakominfo eller intervju med skodespelarane) eller innhald for å framheva ein annan serie',
],
'premium_title' => 'Premium',
'premium' => 'Episode must be accessible to premium subscribers only',
'parental_advisory' => [
'label' => 'Råd til foreldre',
'hint' => 'Inneheld episoden grov prat?',
@ -176,6 +182,11 @@ return [
'message_warning_hint' => 'Viss du skriv ei melding, kan det gje meir sosialt engasjement og syta for at episoden din blir meir synleg.',
'message_warning_submit' => 'Legg ut likevel',
],
'publish_date_edit_form' => [
'new_publication_date' => 'New publication date',
'new_publication_date_hint' => 'Must be set to a past date.',
'submit' => 'Edit publication date',
],
'unpublish_form' => [
'disclaimer' =>
"Unpublishing the episode will delete all the comments and posts associated with it and remove it from the podcast's RSS feed.",

View file

@ -107,6 +107,9 @@ return [
'monetization_section_title' => 'Kommersialisering',
'monetization_section_subtitle' =>
'Ten pengar med hjelp frå publikummet ditt.',
'premium' => 'Premium',
'premium_by_default' => 'Episodes must be set as premium by default',
'premium_by_default_hint' => 'Podcast episodes will be marked as premium by default. You can still choose to set some episodes, trailers or bonuses as public.',
'payment_pointer' => 'Betalingspunkt for nettkommersialisering',
'payment_pointer_hint' =>
'Det er her du vil få inn pengar frå nettkommersialiseringa',

View file

@ -25,6 +25,9 @@ return [
'podcast-analytics-players' => 'Spelarar',
'podcast-analytics-listening-time' => 'Lyttetid',
'podcast-analytics-time-periods' => 'Tidsperiodar',
'premium' => 'Premium',
'subscription-list' => 'All subscriptions',
'subscription-add' => 'Add subscription',
'contributors' => 'Bidragsytarar',
'contributor-list' => 'Alle bidragsytarane',
'contributor-add' => 'Legg til bidragsytar',

View file

@ -35,6 +35,8 @@ return [
'reset_counts_helper' => 'Dette nullstiller alle datateljarar (tal på fylgjarar, innlegg, kommentarar…).',
'rewrite_media' => 'Overskriv metadata for medium',
'rewrite_media_helper' => 'Dette vil sletta alle overflødige mediafiler og laga dei på nytt (bilete, lydfiler, transkriberingar, kapittel, …)',
'rename_episodes_files' => 'Rename episode audio files',
'rename_episodes_files_hint' => 'This option will rename all episodes audio files to a random string of characters. Use this if one of your private episodes link was leaked as this will effectively hide it.',
'clear_cache' => 'Slett bufferinnhald',
'clear_cache_helper' => 'Dette tømmer redis-mellomlageret eller skrivbare/mellomlagra filer.',
'run' => 'Gjer reinhald',

View file

@ -14,6 +14,7 @@ return [
->gateway => 'Home',
'podcasts' => 'podcasts',
'episodes' => 'episodes',
'subscriptions' => 'subscriptions',
'contributors' => 'contributors',
'pages' => 'pages',
'settings' => 'settings',
@ -24,6 +25,7 @@ return [
'persons' => 'persons',
'publish' => 'publish',
'publish-edit' => 'edit publication',
'publish-date-edit' => 'edit publication date',
'unpublish' => 'unpublish',
'delete' => 'delete',
'fediverse' => 'fediverse',
@ -46,4 +48,5 @@ return [
'video-clips' => 'video clips',
'embed' => 'embeddable player',
'notifications' => 'notifications',
'suspend' => 'suspend',
];

View file

@ -24,10 +24,14 @@ return [
'edit' => 'Edit',
'publish' => 'Publish',
'publish_edit' => 'Edit publication',
'publish_date_edit' => 'Edit publication date',
'unpublish' => 'Unpublish',
'publish_error' => 'Episode is already published.',
'publish_edit_error' => 'Episode is already published.',
'publish_cancel_error' => 'Episode is already published.',
'publish_date_edit_error' => 'Episode has not been published yet, you cannot edit its publication date.',
'publish_date_edit_future_error' => 'Episode\'s publication date can only be set to a past date! If you would like to reschedule it, unpublish it first.',
'publish_date_edit_success' => 'Episode\'s publication date has been updated successfully!',
'unpublish_error' => 'Episode is not published.',
'delete' => 'Delete',
'go_to_page' => 'Go to page',
@ -109,6 +113,8 @@ return [
'bonus' => 'Bonus',
'bonus_hint' => 'Extra content for the show (for example, behind the scenes info or interviews with the cast) or cross-promotional content for another show',
],
'premium_title' => 'Premium',
'premium' => 'Episode must be accessible to premium subscribers only',
'parental_advisory' => [
'label' => 'Parental advisory',
'hint' => 'Does the episode contain explicit content?',
@ -176,6 +182,11 @@ return [
'message_warning_hint' => 'Having a message increases social engagement, resulting in a better visibility for your episode.',
'message_warning_submit' => 'Publish anyways',
],
'publish_date_edit_form' => [
'new_publication_date' => 'New publication date',
'new_publication_date_hint' => 'Must be set to a past date.',
'submit' => 'Edit publication date',
],
'unpublish_form' => [
'disclaimer' =>
"Unpublishing the episode will delete all the comments and posts associated with it and remove it from the podcast's RSS feed.",

View file

@ -107,6 +107,9 @@ return [
'monetization_section_title' => 'Monetization',
'monetization_section_subtitle' =>
'Earn money thanks to your audience.',
'premium' => 'Premium',
'premium_by_default' => 'Episodes must be set as premium by default',
'premium_by_default_hint' => 'Podcast episodes will be marked as premium by default. You can still choose to set some episodes, trailers or bonuses as public.',
'payment_pointer' => 'Payment Pointer for Web Monetization',
'payment_pointer_hint' =>
'This is your where you will receive money thanks to Web Monetization',

View file

@ -25,6 +25,9 @@ return [
'podcast-analytics-players' => 'Players',
'podcast-analytics-listening-time' => 'Listening time',
'podcast-analytics-time-periods' => 'Time periods',
'premium' => 'Premium',
'subscription-list' => 'All subscriptions',
'subscription-add' => 'Add subscription',
'contributors' => 'Contributors',
'contributor-list' => 'All contributors',
'contributor-add' => 'Add contributor',

View file

@ -35,6 +35,8 @@ return [
'reset_counts_helper' => 'This option will recalculate and reset all data counts (number of followers, posts, comments, …).',
'rewrite_media' => 'Rewrite media metadata',
'rewrite_media_helper' => 'This option will delete all superfluous media files and recreate them (images, audio files, transcripts, chapters, …)',
'rename_episodes_files' => 'Rename episode audio files',
'rename_episodes_files_hint' => 'This option will rename all episodes audio files to a random string of characters. Use this if one of your private episodes link was leaked as this will effectively hide it.',
'clear_cache' => 'Clear all cache',
'clear_cache_helper' => 'This option will flush redis cache or writable/cache files.',
'run' => 'Run housekeeping',

View file

@ -14,6 +14,7 @@ return [
->gateway => 'Początek',
'podcasts' => 'podcasty',
'episodes' => 'odcinki',
'subscriptions' => 'subscriptions',
'contributors' => 'kontrybutorzy',
'pages' => 'strony',
'settings' => 'ustawienia',
@ -24,6 +25,7 @@ return [
'persons' => 'osoby',
'publish' => 'publikuj',
'publish-edit' => 'edytuj publikację',
'publish-date-edit' => 'edit publication date',
'unpublish' => 'cofnij publikację',
'delete' => 'usuń',
'fediverse' => 'fediverse',
@ -46,4 +48,5 @@ return [
'video-clips' => 'klipy wideo',
'embed' => 'odtwarzacz do osadzenia',
'notifications' => 'notifications',
'suspend' => 'suspend',
];

View file

@ -25,10 +25,14 @@ return [
'edit' => 'Edytuj',
'publish' => 'Publikuj',
'publish_edit' => 'Edytuj publikację',
'publish_date_edit' => 'Edit publication date',
'unpublish' => 'Cofnij publikację',
'publish_error' => 'Odcinek jest już opublikowany.',
'publish_edit_error' => 'Odcinek jest już opublikowany.',
'publish_cancel_error' => 'Odcinek jest już opublikowany.',
'publish_date_edit_error' => 'Episode has not been published yet, you cannot edit its publication date.',
'publish_date_edit_future_error' => 'Episode\'s publication date can only be set to a past date! If you would like to reschedule it, unpublish it first.',
'publish_date_edit_success' => 'Episode\'s publication date has been updated successfully!',
'unpublish_error' => 'Odcinek nie jest opublikowany.',
'delete' => 'Usuń',
'go_to_page' => 'Przejdź do strony',
@ -110,6 +114,8 @@ return [
'bonus' => 'Bonus',
'bonus_hint' => 'Dodatkowa treść do programu (np. informacje zza kulis lub wywiady z obsadą) albo treści promujące inne programy',
],
'premium_title' => 'Premium',
'premium' => 'Episode must be accessible to premium subscribers only',
'parental_advisory' => [
'label' => 'Kontrola rodzicielska',
'hint' => 'Czy odcinek zawiera treści dla dorosłych?',
@ -177,6 +183,11 @@ return [
'message_warning_hint' => 'Posiadanie wiadomości zwiększa zaangażowanie społeczne, co skutkuje lepszą widocznością Twojego odcinka.',
'message_warning_submit' => 'Opublikuj mimo to',
],
'publish_date_edit_form' => [
'new_publication_date' => 'New publication date',
'new_publication_date_hint' => 'Must be set to a past date.',
'submit' => 'Edit publication date',
],
'unpublish_form' => [
'disclaimer' =>
"Unpublishing the episode will delete all the comments and posts associated with it and remove it from the podcast's RSS feed.",

View file

@ -107,6 +107,9 @@ return [
'monetization_section_title' => 'Monetyzacja',
'monetization_section_subtitle' =>
'Zarabiaj dzięki swoim odbiorcom.',
'premium' => 'Premium',
'premium_by_default' => 'Episodes must be set as premium by default',
'premium_by_default_hint' => 'Podcast episodes will be marked as premium by default. You can still choose to set some episodes, trailers or bonuses as public.',
'payment_pointer' => 'Wskaźnik płatności do zarabiania w sieci',
'payment_pointer_hint' =>
'To tutaj otrzymasz pieniądze dzięki Monetyzacji Internetowej',

View file

@ -25,6 +25,9 @@ return [
'podcast-analytics-players' => 'Odtwarzacze',
'podcast-analytics-listening-time' => 'Czas odsłuchu',
'podcast-analytics-time-periods' => 'Okresy czasu',
'premium' => 'Premium',
'subscription-list' => 'All subscriptions',
'subscription-add' => 'Add subscription',
'contributors' => 'Kontrybutorzy',
'contributor-list' => 'Wszyscy kontrybutorzy',
'contributor-add' => 'Dodaj kontrybutora',

View file

@ -35,6 +35,8 @@ return [
'reset_counts_helper' => 'Ta opcja zresetuje i ponownie obliczy wszystkie liczniki danych (liczbę obserwujących, wpisów, komentarzy, …).',
'rewrite_media' => 'Przepisz metadane multimediów',
'rewrite_media_helper' => 'Ta opcja usunie wszystkie zbędne pliki multimedialne i odtworzy je (obrazy, pliki audio, transkrypcje, rozdziały, …)',
'rename_episodes_files' => 'Rename episode audio files',
'rename_episodes_files_hint' => 'This option will rename all episodes audio files to a random string of characters. Use this if one of your private episodes link was leaked as this will effectively hide it.',
'clear_cache' => 'Wyczyść całą pamięć podręczną',
'clear_cache_helper' => 'Ta opcja opróżni pamięć podręczną (cache) redis lub zapisywalne/buforowane pliki.',
'run' => 'Przeprowadź porządkowanie',

View file

@ -14,6 +14,7 @@ return [
->gateway => 'Início',
'podcasts' => 'podcasts',
'episodes' => 'episódios',
'subscriptions' => 'subscriptions',
'contributors' => 'contribuidores',
'pages' => 'páginas',
'settings' => 'configurações',
@ -24,6 +25,7 @@ return [
'persons' => 'pessoas',
'publish' => 'publicar',
'publish-edit' => 'editar publicação',
'publish-date-edit' => 'edit publication date',
'unpublish' => 'despublicar',
'delete' => 'excluir',
'fediverse' => 'fediverso',
@ -46,4 +48,5 @@ return [
'video-clips' => 'clipes de vídeo',
'embed' => 'player incorporável',
'notifications' => 'notifications',
'suspend' => 'suspend',
];

View file

@ -24,10 +24,14 @@ return [
'edit' => 'Editar',
'publish' => 'Publicar',
'publish_edit' => 'Editar publicação',
'publish_date_edit' => 'Edit publication date',
'unpublish' => 'Despublicar',
'publish_error' => 'O episódio já está publicado.',
'publish_edit_error' => 'O episódio já está publicado.',
'publish_cancel_error' => 'O episódio já está publicado.',
'publish_date_edit_error' => 'Episode has not been published yet, you cannot edit its publication date.',
'publish_date_edit_future_error' => 'Episode\'s publication date can only be set to a past date! If you would like to reschedule it, unpublish it first.',
'publish_date_edit_success' => 'Episode\'s publication date has been updated successfully!',
'unpublish_error' => 'O episódio não está publicado.',
'delete' => 'Excluir',
'go_to_page' => 'Ir para a página',
@ -109,6 +113,8 @@ return [
'bonus' => 'Bônus',
'bonus_hint' => 'Conteúdo extra para o podcast (por exemplo, informações nos bastidores ou entrevistas com o elenco) ou conteúdo promocional com outro podcast',
],
'premium_title' => 'Premium',
'premium' => 'Episode must be accessible to premium subscribers only',
'parental_advisory' => [
'label' => 'Aviso aos pais',
'hint' => 'O episódio contém conteúdo explícito?',
@ -176,6 +182,11 @@ return [
'message_warning_hint' => 'Ter uma mensagem aumenta o engajamento social, resultando em uma melhor visibilidade do seu episódio.',
'message_warning_submit' => 'Publicar mesmo assim',
],
'publish_date_edit_form' => [
'new_publication_date' => 'New publication date',
'new_publication_date_hint' => 'Must be set to a past date.',
'submit' => 'Edit publication date',
],
'unpublish_form' => [
'disclaimer' =>
"Unpublishing the episode will delete all the comments and posts associated with it and remove it from the podcast's RSS feed.",

View file

@ -107,6 +107,9 @@ return [
'monetization_section_title' => 'Monetização',
'monetization_section_subtitle' =>
'Ganhe dinheiro graças à sua audiência.',
'premium' => 'Premium',
'premium_by_default' => 'Episodes must be set as premium by default',
'premium_by_default_hint' => 'Podcast episodes will be marked as premium by default. You can still choose to set some episodes, trailers or bonuses as public.',
'payment_pointer' => 'Endereço de pagamento (Payment Pointer) para web monetização',
'payment_pointer_hint' =>
'Este é o seu lugar onde você receberá dinheiro graças à web monetização',

View file

@ -25,6 +25,9 @@ return [
'podcast-analytics-players' => 'Players',
'podcast-analytics-listening-time' => 'Tempo de escuta',
'podcast-analytics-time-periods' => 'Períodos de tempo',
'premium' => 'Premium',
'subscription-list' => 'All subscriptions',
'subscription-add' => 'Add subscription',
'contributors' => 'Contribuidores',
'contributor-list' => 'Todos os contribuidores',
'contributor-add' => 'Adicionar contribuidor',

View file

@ -35,6 +35,8 @@ return [
'reset_counts_helper' => 'Esta opção irá recalcular e redefinir todas as contagens de dados (número de seguidores, publicações, comentários, …).',
'rewrite_media' => 'Reescrever metadados de mídia',
'rewrite_media_helper' => 'Esta opção apagará todos os arquivos de mídia desnecessários e os recriará (imagens, arquivos de áudio, transcrições, capítulos, …)',
'rename_episodes_files' => 'Rename episode audio files',
'rename_episodes_files_hint' => 'This option will rename all episodes audio files to a random string of characters. Use this if one of your private episodes link was leaked as this will effectively hide it.',
'clear_cache' => 'Limpar todo o cache',
'clear_cache_helper' => 'Esta opção irá liberar o cache do redis ou arquivos graváveis/cache.',
'run' => 'Executar manutenção',

View file

@ -14,6 +14,7 @@ return [
->gateway => 'Home',
'podcasts' => 'podcasts',
'episodes' => 'episodes',
'subscriptions' => 'subscriptions',
'contributors' => 'contributors',
'pages' => 'pages',
'settings' => 'settings',
@ -24,6 +25,7 @@ return [
'persons' => 'persons',
'publish' => 'publish',
'publish-edit' => 'edit publication',
'publish-date-edit' => 'edit publication date',
'unpublish' => 'unpublish',
'delete' => 'delete',
'fediverse' => 'fediverse',
@ -46,4 +48,5 @@ return [
'video-clips' => 'video clips',
'embed' => 'embeddable player',
'notifications' => 'notifications',
'suspend' => 'suspend',
];

View file

@ -24,10 +24,14 @@ return [
'edit' => 'Edit',
'publish' => 'Publish',
'publish_edit' => 'Edit publication',
'publish_date_edit' => 'Edit publication date',
'unpublish' => 'Unpublish',
'publish_error' => 'Episode is already published.',
'publish_edit_error' => 'Episode is already published.',
'publish_cancel_error' => 'Episode is already published.',
'publish_date_edit_error' => 'Episode has not been published yet, you cannot edit its publication date.',
'publish_date_edit_future_error' => 'Episode\'s publication date can only be set to a past date! If you would like to reschedule it, unpublish it first.',
'publish_date_edit_success' => 'Episode\'s publication date has been updated successfully!',
'unpublish_error' => 'Episode is not published.',
'delete' => 'Delete',
'go_to_page' => 'Go to page',
@ -109,6 +113,8 @@ return [
'bonus' => 'Bonus',
'bonus_hint' => 'Extra content for the show (for example, behind the scenes info or interviews with the cast) or cross-promotional content for another show',
],
'premium_title' => 'Premium',
'premium' => 'Episode must be accessible to premium subscribers only',
'parental_advisory' => [
'label' => 'Parental advisory',
'hint' => 'Does the episode contain explicit content?',
@ -176,6 +182,11 @@ return [
'message_warning_hint' => 'Having a message increases social engagement, resulting in a better visibility for your episode.',
'message_warning_submit' => 'Publish anyways',
],
'publish_date_edit_form' => [
'new_publication_date' => 'New publication date',
'new_publication_date_hint' => 'Must be set to a past date.',
'submit' => 'Edit publication date',
],
'unpublish_form' => [
'disclaimer' =>
"Unpublishing the episode will delete all the comments and posts associated with it and remove it from the podcast's RSS feed.",

View file

@ -107,6 +107,9 @@ return [
'monetization_section_title' => 'Monetization',
'monetization_section_subtitle' =>
'Earn money thanks to your audience.',
'premium' => 'Premium',
'premium_by_default' => 'Episodes must be set as premium by default',
'premium_by_default_hint' => 'Podcast episodes will be marked as premium by default. You can still choose to set some episodes, trailers or bonuses as public.',
'payment_pointer' => 'Payment Pointer for Web Monetization',
'payment_pointer_hint' =>
'This is your where you will receive money thanks to Web Monetization',

View file

@ -25,6 +25,9 @@ return [
'podcast-analytics-players' => 'Players',
'podcast-analytics-listening-time' => 'Listening time',
'podcast-analytics-time-periods' => 'Time periods',
'premium' => 'Premium',
'subscription-list' => 'All subscriptions',
'subscription-add' => 'Add subscription',
'contributors' => 'Contributors',
'contributor-list' => 'All contributors',
'contributor-add' => 'Add contributor',

View file

@ -35,6 +35,8 @@ return [
'reset_counts_helper' => 'This option will recalculate and reset all data counts (number of followers, posts, comments, …).',
'rewrite_media' => 'Rewrite media metadata',
'rewrite_media_helper' => 'This option will delete all superfluous media files and recreate them (images, audio files, transcripts, chapters, …)',
'rename_episodes_files' => 'Rename episode audio files',
'rename_episodes_files_hint' => 'This option will rename all episodes audio files to a random string of characters. Use this if one of your private episodes link was leaked as this will effectively hide it.',
'clear_cache' => 'Clear all cache',
'clear_cache_helper' => 'This option will flush redis cache or writable/cache files.',
'run' => 'Run housekeeping',

View file

@ -14,6 +14,7 @@ return [
->gateway => 'Главная',
'podcasts' => 'подкасты',
'episodes' => 'выпуски',
'subscriptions' => 'subscriptions',
'contributors' => 'участников',
'pages' => 'страниц',
'settings' => 'настройки',
@ -24,6 +25,7 @@ return [
'persons' => 'лица',
'publish' => 'публикация',
'publish-edit' => 'редактировать публикацию',
'publish-date-edit' => 'edit publication date',
'unpublish' => 'снять с публикации',
'delete' => 'удалить',
'fediverse' => 'Федивёрс',
@ -46,4 +48,5 @@ return [
'video-clips' => 'видео клипы',
'embed' => 'встроенный плеер',
'notifications' => 'notifications',
'suspend' => 'suspend',
];

View file

@ -24,10 +24,14 @@ return [
'edit' => 'Edit',
'publish' => 'Publish',
'publish_edit' => 'Edit publication',
'publish_date_edit' => 'Edit publication date',
'unpublish' => 'Unpublish',
'publish_error' => 'Episode is already published.',
'publish_edit_error' => 'Episode is already published.',
'publish_cancel_error' => 'Episode is already published.',
'publish_date_edit_error' => 'Episode has not been published yet, you cannot edit its publication date.',
'publish_date_edit_future_error' => 'Episode\'s publication date can only be set to a past date! If you would like to reschedule it, unpublish it first.',
'publish_date_edit_success' => 'Episode\'s publication date has been updated successfully!',
'unpublish_error' => 'Episode is not published.',
'delete' => 'Delete',
'go_to_page' => 'Go to page',
@ -109,6 +113,8 @@ return [
'bonus' => 'Bonus',
'bonus_hint' => 'Extra content for the show (for example, behind the scenes info or interviews with the cast) or cross-promotional content for another show',
],
'premium_title' => 'Premium',
'premium' => 'Episode must be accessible to premium subscribers only',
'parental_advisory' => [
'label' => 'Parental advisory',
'hint' => 'Does the episode contain explicit content?',
@ -176,6 +182,11 @@ return [
'message_warning_hint' => 'Having a message increases social engagement, resulting in a better visibility for your episode.',
'message_warning_submit' => 'Publish anyways',
],
'publish_date_edit_form' => [
'new_publication_date' => 'New publication date',
'new_publication_date_hint' => 'Must be set to a past date.',
'submit' => 'Edit publication date',
],
'unpublish_form' => [
'disclaimer' =>
"Unpublishing the episode will delete all the comments and posts associated with it and remove it from the podcast's RSS feed.",

View file

@ -107,6 +107,9 @@ return [
'monetization_section_title' => 'Monetization',
'monetization_section_subtitle' =>
'Earn money thanks to your audience.',
'premium' => 'Premium',
'premium_by_default' => 'Episodes must be set as premium by default',
'premium_by_default_hint' => 'Podcast episodes will be marked as premium by default. You can still choose to set some episodes, trailers or bonuses as public.',
'payment_pointer' => 'Payment Pointer for Web Monetization',
'payment_pointer_hint' =>
'This is your where you will receive money thanks to Web Monetization',

View file

@ -25,6 +25,9 @@ return [
'podcast-analytics-players' => 'Players',
'podcast-analytics-listening-time' => 'Listening time',
'podcast-analytics-time-periods' => 'Time periods',
'premium' => 'Premium',
'subscription-list' => 'All subscriptions',
'subscription-add' => 'Add subscription',
'contributors' => 'Contributors',
'contributor-list' => 'All contributors',
'contributor-add' => 'Add contributor',

View file

@ -35,6 +35,8 @@ return [
'reset_counts_helper' => 'This option will recalculate and reset all data counts (number of followers, posts, comments, …).',
'rewrite_media' => 'Rewrite media metadata',
'rewrite_media_helper' => 'This option will delete all superfluous media files and recreate them (images, audio files, transcripts, chapters, …)',
'rename_episodes_files' => 'Rename episode audio files',
'rename_episodes_files_hint' => 'This option will rename all episodes audio files to a random string of characters. Use this if one of your private episodes link was leaked as this will effectively hide it.',
'clear_cache' => 'Clear all cache',
'clear_cache_helper' => 'This option will flush redis cache or writable/cache files.',
'run' => 'Run housekeeping',

View file

@ -14,6 +14,7 @@ return [
->gateway => 'Úvod',
'podcasts' => 'podcasty',
'episodes' => 'časti',
'subscriptions' => 'subscriptions',
'contributors' => 'prispievatelia',
'pages' => 'stránky',
'settings' => 'nastavenia',
@ -24,6 +25,7 @@ return [
'persons' => 'osobnosti',
'publish' => 'zverejniť',
'publish-edit' => 'upraviť zverejnené',
'publish-date-edit' => 'edit publication date',
'unpublish' => 'zrušiť zverejnenie',
'delete' => 'vymazať',
'fediverse' => 'fediverse',
@ -46,4 +48,5 @@ return [
'video-clips' => 'video klipy',
'embed' => 'vnorený',
'notifications' => 'oboznámenia',
'suspend' => 'suspend',
];

View file

@ -26,10 +26,14 @@ return [
'edit' => 'Upraviť',
'publish' => 'Zverejniť',
'publish_edit' => 'Upraviť zverejnenie',
'publish_date_edit' => 'Edit publication date',
'unpublish' => 'Zrušiť zverejnenie',
'publish_error' => 'Epizóda je už zverejnená.',
'publish_edit_error' => 'Epizóda je už zverejnená.',
'publish_cancel_error' => 'Epizóda je už zverejnená.',
'publish_date_edit_error' => 'Episode has not been published yet, you cannot edit its publication date.',
'publish_date_edit_future_error' => 'Episode\'s publication date can only be set to a past date! If you would like to reschedule it, unpublish it first.',
'publish_date_edit_success' => 'Episode\'s publication date has been updated successfully!',
'unpublish_error' => 'Epizóda nie je zverejnená.',
'delete' => 'Vymazať',
'go_to_page' => 'Prejsť na stránku',
@ -113,6 +117,8 @@ return [
'bonus' => 'Bonus',
'bonus_hint' => 'Extra content for the show (for example, behind the scenes info or interviews with the cast) or cross-promotional content for another show',
],
'premium_title' => 'Premium',
'premium' => 'Episode must be accessible to premium subscribers only',
'parental_advisory' => [
'label' => 'Parental advisory',
'hint' => 'Does the episode contain explicit content?',
@ -180,6 +186,11 @@ return [
'message_warning_hint' => 'Odoslaním uvádzacieho príspevku zlepšujete sociálnu účasť, čím môžete ešte viac zviditeľniť váš podcast.',
'message_warning_submit' => 'Napriek tomu zverejniť',
],
'publish_date_edit_form' => [
'new_publication_date' => 'New publication date',
'new_publication_date_hint' => 'Must be set to a past date.',
'submit' => 'Edit publication date',
],
'unpublish_form' => [
'disclaimer' =>
"Unpublishing the episode will delete all the comments and posts associated with it and remove it from the podcast's RSS feed.",

View file

@ -107,6 +107,9 @@ return [
'monetization_section_title' => 'Monetization',
'monetization_section_subtitle' =>
'Earn money thanks to your audience.',
'premium' => 'Premium',
'premium_by_default' => 'Episodes must be set as premium by default',
'premium_by_default_hint' => 'Podcast episodes will be marked as premium by default. You can still choose to set some episodes, trailers or bonuses as public.',
'payment_pointer' => 'Payment Pointer for Web Monetization',
'payment_pointer_hint' =>
'This is your where you will receive money thanks to Web Monetization',

View file

@ -25,6 +25,9 @@ return [
'podcast-analytics-players' => 'Players',
'podcast-analytics-listening-time' => 'Listening time',
'podcast-analytics-time-periods' => 'Time periods',
'premium' => 'Premium',
'subscription-list' => 'All subscriptions',
'subscription-add' => 'Add subscription',
'contributors' => 'Contributors',
'contributor-list' => 'All contributors',
'contributor-add' => 'Add contributor',

View file

@ -35,6 +35,8 @@ return [
'reset_counts_helper' => 'This option will recalculate and reset all data counts (number of followers, posts, comments, …).',
'rewrite_media' => 'Rewrite media metadata',
'rewrite_media_helper' => 'This option will delete all superfluous media files and recreate them (images, audio files, transcripts, chapters, …)',
'rename_episodes_files' => 'Rename episode audio files',
'rename_episodes_files_hint' => 'This option will rename all episodes audio files to a random string of characters. Use this if one of your private episodes link was leaked as this will effectively hide it.',
'clear_cache' => 'Clear all cache',
'clear_cache_helper' => 'This option will flush redis cache or writable/cache files.',
'run' => 'Run housekeeping',

View file

@ -14,6 +14,7 @@ return [
->gateway => 'Home',
'podcasts' => 'podcasts',
'episodes' => 'episodes',
'subscriptions' => 'subscriptions',
'contributors' => 'contributors',
'pages' => 'pages',
'settings' => 'settings',
@ -24,6 +25,7 @@ return [
'persons' => 'persons',
'publish' => 'publish',
'publish-edit' => 'edit publication',
'publish-date-edit' => 'edit publication date',
'unpublish' => 'unpublish',
'delete' => 'delete',
'fediverse' => 'fediverse',
@ -46,4 +48,5 @@ return [
'video-clips' => 'video clips',
'embed' => 'embeddable player',
'notifications' => 'notifications',
'suspend' => 'suspend',
];

View file

@ -24,10 +24,14 @@ return [
'edit' => 'Edit',
'publish' => 'Publish',
'publish_edit' => 'Edit publication',
'publish_date_edit' => 'Edit publication date',
'unpublish' => 'Unpublish',
'publish_error' => 'Episode is already published.',
'publish_edit_error' => 'Episode is already published.',
'publish_cancel_error' => 'Episode is already published.',
'publish_date_edit_error' => 'Episode has not been published yet, you cannot edit its publication date.',
'publish_date_edit_future_error' => 'Episode\'s publication date can only be set to a past date! If you would like to reschedule it, unpublish it first.',
'publish_date_edit_success' => 'Episode\'s publication date has been updated successfully!',
'unpublish_error' => 'Episode is not published.',
'delete' => 'Delete',
'go_to_page' => 'Go to page',
@ -109,6 +113,8 @@ return [
'bonus' => 'Bonus',
'bonus_hint' => 'Extra content for the show (for example, behind the scenes info or interviews with the cast) or cross-promotional content for another show',
],
'premium_title' => 'Premium',
'premium' => 'Episode must be accessible to premium subscribers only',
'parental_advisory' => [
'label' => 'Parental advisory',
'hint' => 'Does the episode contain explicit content?',
@ -176,6 +182,11 @@ return [
'message_warning_hint' => 'Having a message increases social engagement, resulting in a better visibility for your episode.',
'message_warning_submit' => 'Publish anyways',
],
'publish_date_edit_form' => [
'new_publication_date' => 'New publication date',
'new_publication_date_hint' => 'Must be set to a past date.',
'submit' => 'Edit publication date',
],
'unpublish_form' => [
'disclaimer' =>
"Unpublishing the episode will delete all the comments and posts associated with it and remove it from the podcast's RSS feed.",

View file

@ -107,6 +107,9 @@ return [
'monetization_section_title' => 'Monetization',
'monetization_section_subtitle' =>
'Earn money thanks to your audience.',
'premium' => 'Premium',
'premium_by_default' => 'Episodes must be set as premium by default',
'premium_by_default_hint' => 'Podcast episodes will be marked as premium by default. You can still choose to set some episodes, trailers or bonuses as public.',
'payment_pointer' => 'Payment Pointer for Web Monetization',
'payment_pointer_hint' =>
'This is your where you will receive money thanks to Web Monetization',

View file

@ -25,6 +25,9 @@ return [
'podcast-analytics-players' => 'Players',
'podcast-analytics-listening-time' => 'Listening time',
'podcast-analytics-time-periods' => 'Time periods',
'premium' => 'Premium',
'subscription-list' => 'All subscriptions',
'subscription-add' => 'Add subscription',
'contributors' => 'Contributors',
'contributor-list' => 'All contributors',
'contributor-add' => 'Add contributor',

View file

@ -35,6 +35,8 @@ return [
'reset_counts_helper' => 'This option will recalculate and reset all data counts (number of followers, posts, comments, …).',
'rewrite_media' => 'Rewrite media metadata',
'rewrite_media_helper' => 'This option will delete all superfluous media files and recreate them (images, audio files, transcripts, chapters, …)',
'rename_episodes_files' => 'Rename episode audio files',
'rename_episodes_files_hint' => 'This option will rename all episodes audio files to a random string of characters. Use this if one of your private episodes link was leaked as this will effectively hide it.',
'clear_cache' => 'Clear all cache',
'clear_cache_helper' => 'This option will flush redis cache or writable/cache files.',
'run' => 'Run housekeeping',

View file

@ -14,6 +14,7 @@ return [
->gateway => '主页',
'podcasts' => '播客',
'episodes' => '剧集',
'subscriptions' => '订阅',
'contributors' => '贡献者',
'pages' => '页',
'settings' => '设置',
@ -24,6 +25,7 @@ return [
'persons' => '人',
'publish' => '发布',
'publish-edit' => '编辑发布',
'publish-date-edit' => 'edit publication date',
'unpublish' => '取消发布',
'delete' => '删除',
'fediverse' => '联邦宇宙',
@ -46,4 +48,5 @@ return [
'video-clips' => '视频素材',
'embed' => '嵌入式播放器',
'notifications' => '通知',
'suspend' => '暂停',
];

View file

@ -24,10 +24,14 @@ return [
'edit' => '编辑',
'publish' => '发布',
'publish_edit' => '编辑发布',
'publish_date_edit' => 'Edit publication date',
'unpublish' => '取消发布',
'publish_error' => '剧集已被发布。',
'publish_edit_error' => '剧集已被发布。',
'publish_cancel_error' => '剧集已被发布。',
'publish_date_edit_error' => 'Episode has not been published yet, you cannot edit its publication date.',
'publish_date_edit_future_error' => 'Episode\'s publication date can only be set to a past date! If you would like to reschedule it, unpublish it first.',
'publish_date_edit_success' => 'Episode\'s publication date has been updated successfully!',
'unpublish_error' => '剧集尚未发布。',
'delete' => '删除',
'go_to_page' => '转到页面',
@ -109,6 +113,8 @@ return [
'bonus' => '奖金',
'bonus_hint' => '剧集趣闻(例如,幕后信息与对演员的采访)或另一个剧集的推荐',
],
'premium_title' => '高级版',
'premium' => '剧集仅允许高级订阅者访问',
'parental_advisory' => [
'label' => '警告标记',
'hint' => '剧集是否包含限制级内容?',
@ -176,6 +182,11 @@ return [
'message_warning_hint' => '有消息发送可以增加社交参与度,从而提高你的剧集曝光度。',
'message_warning_submit' => '仍然发布',
],
'publish_date_edit_form' => [
'new_publication_date' => 'New publication date',
'new_publication_date_hint' => 'Must be set to a past date.',
'submit' => 'Edit publication date',
],
'unpublish_form' => [
'disclaimer' =>
"取消发布该剧集将删除相关的所有评论和播文,并将其从播客的订阅源中删除。",

View file

@ -107,6 +107,9 @@ return [
'monetization_section_title' => '货币化',
'monetization_section_subtitle' =>
'感谢你的听众支持。',
'premium' => '高级版',
'premium_by_default' => '剧集必须默认设置为付费会员订阅。',
'premium_by_default_hint' => '默认情况下,播客剧集将被标记为高级。 你仍然可以选择将某些剧集、预告片等设置为公开。',
'payment_pointer' => '网络货币化支付指南',
'payment_pointer_hint' =>
'借助网络货币化,你可以在此收款',

View file

@ -25,6 +25,9 @@ return [
'podcast-analytics-players' => '播放',
'podcast-analytics-listening-time' => '收听时间',
'podcast-analytics-time-periods' => '时间段',
'premium' => '高级版',
'subscription-list' => '所有订阅',
'subscription-add' => '添加订阅',
'contributors' => '贡献者',
'contributor-list' => '所有贡献者',
'contributor-add' => '添加贡献者',

View file

@ -35,6 +35,8 @@ return [
'reset_counts_helper' => '此选项将重新计算并重置所有数据统计(关注者数目、帖子、评论、 …)。',
'rewrite_media' => '重写媒体元数据',
'rewrite_media_helper' => '此选项将删除所有多余的媒体文件并重新创建(图像、音频、字幕、章节、 …)',
'rename_episodes_files' => '重命名剧集音频文件',
'rename_episodes_files_hint' => '此选项会将所有剧集音频文件重命名为随机字符串。 如果你的私人剧集链接被泄露,使用此选项可以隐藏。',
'clear_cache' => '清除所有缓存',
'clear_cache_helper' => '此选项将从可写/缓存文件夹中删除整个 redis 缓存或缓存文件。',
'run' => '运行维护任务',

View file

@ -0,0 +1,34 @@
<?php
declare(strict_types=1);
/**
* @copyright 2022 Ad Aures
* @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
* @link https://castopod.org/
*/
return [
'podcast_is_premium' => 'Podcast contains premium episodes',
'episode_is_premium' => 'Episode is premium, only available to premium subscribers',
'unlock_episode' => 'This episode is for premium subscribers only. Click to unlock it!',
'banner_unlock' => 'This podcast contains premium episodes, only available to premium subscribers.',
'banner_lock' => 'Podcast is unlocked, enjoy the premium episodes!',
'subscribe' => 'Subscribe',
'lock' => 'Lock',
'unlock' => 'Unlock',
'unlock_form' => [
'title' => 'Premium content',
'subtitle' => 'This podcast contains locked premium episodes! Do you have the key to unlock them?',
'token' => 'Enter your key',
'token_hint' => 'If you are subscribed to {podcastTitle}, you may copy the key that was sent to you via email and paste it here.',
'submit' => 'Unlock all episodes!',
'call_to_action' => 'Unlock all episodes of {podcastTitle}:',
'subscribe_cta' => 'Subscribe now!',
],
'messages' => [
'unlockSuccess' => 'Podcast was successfully unlocked! Enjoy the premium episodes!',
'unlockBadAttempt' => 'Your key does not seem to be working…',
'lockSuccess' => 'Podcast was successfully locked!',
],
];

View file

@ -0,0 +1,100 @@
<?php
declare(strict_types=1);
/**
* @copyright 2022 Ad Aures
* @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
* @link https://castopod.org/
*/
return [
'podcast_subscriptions' => 'Podcast subscriptions',
'add' => 'New subscription',
'view' => 'View subscription',
'edit' => 'Edit subscription',
'regenerate_token' => 'Regenerate token',
'suspend' => 'Suspend subscription',
'resume' => 'Resume subscription',
'delete' => 'Delete subscription',
'status' => [
'active' => 'Active',
'suspended' => 'Suspended',
'expired' => 'Expired',
],
'list' => [
'number' => 'Number',
'email' => 'Email',
'expiration_date' => 'Expiration date',
'unlimited' => 'Unlimited',
'downloads' => 'Downloads',
'status' => 'Status',
],
'form' => [
'email' => 'Email',
'expiration_date' => 'Expiration date',
'expiration_date_hint' => 'The date and time at which the subscription expires. Leave empty for an unlimited subscription.',
'submit_add' => 'Add subscription',
'submit_edit' => 'Edit subscription',
],
'form_link_add' => [
'link' => 'Subscription page link',
'link_hint' => 'This will add a call to action in the website inviting listeners to subscribe to the podcast.',
'submit' => 'Save link',
],
'suspend_form' => [
'disclaimer' => 'Suspending the subscription will restrict the subscriber from having access to the premium content. You will still be able to lift the suspension afterwards.',
'reason' => 'Reason',
'reason_placeholder' => 'Why are you suspending the subscription?',
"submit" => 'Suspend subscription',
],
'delete_form' => [
'disclaimer' => 'Deleting {subscriber}\'s subscription will remove all analytics data associated with it.',
'understand' => 'I understand, remove the subscription permanently',
'submit' => 'Remove subscription',
],
'messages' => [
'addSuccess' => 'New subscription added! A welcome email was sent to {subscriber}.',
'addError' => 'Subscription could not be added.',
'editSuccess' => 'Subscription expiry date was updated! An email was sent to {subscriber}.',
'editError' => 'Subscription could not be edited.',
'regenerateTokenSuccess' => 'Token regenerated! An email was sent to {subscriber} with the new token.',
'regenerateTokenError' => 'Token could not be regenerated.',
'deleteSuccess' => 'Subscription was removed! An email was sent to {subscriber}.',
'deleteError' => 'Subscription could not be removed.',
'suspendSuccess' => 'Subscription was suspended! An email was sent to {subscriber}.',
'suspendError' => 'Subscription could not be suspended.',
'resumeSuccess' => 'Subscription was resumed! An email was sent to {subscriber}.',
'resumeError' => 'Subscription could not be resumed.',
'linkSaveSuccess' => 'Subscription link was saved successfully! It will appear in the website as a Call To Action!',
'linkRemoveSuccess' => 'Subscription link was removed successfully!',
],
'emails' => [
'greeting' => 'Hey,',
'token' => 'Your token: {0}',
'unique_feed_link' => 'Your unique feed link: {0}',
'how_to_use' => 'How to use?',
'two_ways' => 'You have two ways of unlocking the premium episodes:',
'import_into_app' => 'Copy your unique feed url inside your favourite podcast app (import it as a private feed to prevent exposing your credentials).',
'go_to_website' => 'Go to {podcastWebsite}\'s website and unlock the podcast with your token.',
'welcome_subject' => 'Welcome to {podcastTitle}',
'welcome' => 'You have subscribed to {podcastTitle}, thank you and welcome aboard!',
'welcome_token_title' => 'Here are your credentials to unlock the podcast\'s premium episodes:',
'welcome_expires' => 'Your subscription was set to expire on {0}.',
'welcome_never_expires' => 'Your subscription was set to never expire.',
'reset_subject' => 'Your token was reset!',
'reset_token' => 'Your access to {podcastTitle} has been reset!',
'reset_token_title' => 'New credentials have been generated for you to unlock the podcast\'s premium episodes:',
'edited_subject' => 'Your subscription has been updated!',
'edited_expires' => 'Your subscription for {podcastTitle} was set to expire on {expiresAt}.',
'edited_never_expires' => 'Your subscription for {podcastTitle} was set to never expire!',
'suspended_subject' => 'Your subscription has been suspended!',
'suspended' => 'Your subscription for {podcastTitle} has been suspended! You can no longer access the podcast\'s premium episodes.',
'suspended_reason' => 'That is for the following reason: {0}',
'resumed_subject' => 'Your subscription has been resumed!',
'resumed' => 'Your subscription for {podcastTitle} has been resumed! You may access the podcast\'s premium episodes again.',
'deleted_subject' => 'Your subscription has been removed!',
'deleted' => 'Your subscription for {podcastTitle} has been removed! You no longer have access to the podcast\'s premium episodes.',
'footer' => '{castopod} hosted on {host}',
],
];

View file

@ -0,0 +1,34 @@
<?php
declare(strict_types=1);
/**
* @copyright 2022 Ad Aures
* @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
* @link https://castopod.org/
*/
return [
'podcast_is_premium' => 'Podcast contains premium episodes',
'episode_is_premium' => 'Episode is premium, only available to premium subscribers',
'unlock_episode' => 'This episode is for premium subscribers only. Click to unlock it!',
'banner_unlock' => 'This podcast contains premium episodes, only available to premium subscribers.',
'banner_lock' => 'Podcast is unlocked, enjoy the premium episodes!',
'subscribe' => 'Subscribe',
'lock' => 'Lock',
'unlock' => 'Unlock',
'unlock_form' => [
'title' => 'Premium content',
'subtitle' => 'This podcast contains locked premium episodes! Do you have the key to unlock them?',
'token' => 'Enter your key',
'token_hint' => 'If you are subscribed to {podcastTitle}, you may copy the key that was sent to you via email and paste it here.',
'submit' => 'Unlock all episodes!',
'call_to_action' => 'Unlock all episodes of {podcastTitle}:',
'subscribe_cta' => 'Subscribe now!',
],
'messages' => [
'unlockSuccess' => 'Podcast was successfully unlocked! Enjoy the premium episodes!',
'unlockBadAttempt' => 'Your key does not seem to be working…',
'lockSuccess' => 'Podcast was successfully locked!',
],
];

View file

@ -0,0 +1,100 @@
<?php
declare(strict_types=1);
/**
* @copyright 2022 Ad Aures
* @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
* @link https://castopod.org/
*/
return [
'podcast_subscriptions' => 'Podcast subscriptions',
'add' => 'New subscription',
'view' => 'View subscription',
'edit' => 'Edit subscription',
'regenerate_token' => 'Regenerate token',
'suspend' => 'Suspend subscription',
'resume' => 'Resume subscription',
'delete' => 'Delete subscription',
'status' => [
'active' => 'Active',
'suspended' => 'Suspended',
'expired' => 'Expired',
],
'list' => [
'number' => 'Number',
'email' => 'Email',
'expiration_date' => 'Expiration date',
'unlimited' => 'Unlimited',
'downloads' => 'Downloads',
'status' => 'Status',
],
'form' => [
'email' => 'Email',
'expiration_date' => 'Expiration date',
'expiration_date_hint' => 'The date and time at which the subscription expires. Leave empty for an unlimited subscription.',
'submit_add' => 'Add subscription',
'submit_edit' => 'Edit subscription',
],
'form_link_add' => [
'link' => 'Subscription page link',
'link_hint' => 'This will add a call to action in the website inviting listeners to subscribe to the podcast.',
'submit' => 'Save link',
],
'suspend_form' => [
'disclaimer' => 'Suspending the subscription will restrict the subscriber from having access to the premium content. You will still be able to lift the suspension afterwards.',
'reason' => 'Reason',
'reason_placeholder' => 'Why are you suspending the subscription?',
"submit" => 'Suspend subscription',
],
'delete_form' => [
'disclaimer' => 'Deleting {subscriber}\'s subscription will remove all analytics data associated with it.',
'understand' => 'I understand, remove the subscription permanently',
'submit' => 'Remove subscription',
],
'messages' => [
'addSuccess' => 'New subscription added! A welcome email was sent to {subscriber}.',
'addError' => 'Subscription could not be added.',
'editSuccess' => 'Subscription expiry date was updated! An email was sent to {subscriber}.',
'editError' => 'Subscription could not be edited.',
'regenerateTokenSuccess' => 'Token regenerated! An email was sent to {subscriber} with the new token.',
'regenerateTokenError' => 'Token could not be regenerated.',
'deleteSuccess' => 'Subscription was removed! An email was sent to {subscriber}.',
'deleteError' => 'Subscription could not be removed.',
'suspendSuccess' => 'Subscription was suspended! An email was sent to {subscriber}.',
'suspendError' => 'Subscription could not be suspended.',
'resumeSuccess' => 'Subscription was resumed! An email was sent to {subscriber}.',
'resumeError' => 'Subscription could not be resumed.',
'linkSaveSuccess' => 'Subscription link was saved successfully! It will appear in the website as a Call To Action!',
'linkRemoveSuccess' => 'Subscription link was removed successfully!',
],
'emails' => [
'greeting' => 'Hey,',
'token' => 'Your token: {0}',
'unique_feed_link' => 'Your unique feed link: {0}',
'how_to_use' => 'How to use?',
'two_ways' => 'You have two ways of unlocking the premium episodes:',
'import_into_app' => 'Copy your unique feed url inside your favourite podcast app (import it as a private feed to prevent exposing your credentials).',
'go_to_website' => 'Go to {podcastWebsite}\'s website and unlock the podcast with your token.',
'welcome_subject' => 'Welcome to {podcastTitle}',
'welcome' => 'You have subscribed to {podcastTitle}, thank you and welcome aboard!',
'welcome_token_title' => 'Here are your credentials to unlock the podcast\'s premium episodes:',
'welcome_expires' => 'Your subscription was set to expire on {0}.',
'welcome_never_expires' => 'Your subscription was set to never expire.',
'reset_subject' => 'Your token was reset!',
'reset_token' => 'Your access to {podcastTitle} has been reset!',
'reset_token_title' => 'New credentials have been generated for you to unlock the podcast\'s premium episodes:',
'edited_subject' => 'Your subscription has been updated!',
'edited_expires' => 'Your subscription for {podcastTitle} was set to expire on {expiresAt}.',
'edited_never_expires' => 'Your subscription for {podcastTitle} was set to never expire!',
'suspended_subject' => 'Your subscription has been suspended!',
'suspended' => 'Your subscription for {podcastTitle} has been suspended! You can no longer access the podcast\'s premium episodes.',
'suspended_reason' => 'That is for the following reason: {0}',
'resumed_subject' => 'Your subscription has been resumed!',
'resumed' => 'Your subscription for {podcastTitle} has been resumed! You may access the podcast\'s premium episodes again.',
'deleted_subject' => 'Your subscription has been removed!',
'deleted' => 'Your subscription for {podcastTitle} has been removed! You no longer have access to the podcast\'s premium episodes.',
'footer' => '{castopod} hosted on {host}',
],
];

View file

@ -0,0 +1,34 @@
<?php
declare(strict_types=1);
/**
* @copyright 2022 Ad Aures
* @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
* @link https://castopod.org/
*/
return [
'podcast_is_premium' => 'Podcast contains premium episodes',
'episode_is_premium' => 'Episode is premium, only available to premium subscribers',
'unlock_episode' => 'This episode is for premium subscribers only. Click to unlock it!',
'banner_unlock' => 'This podcast contains premium episodes, only available to premium subscribers.',
'banner_lock' => 'Podcast is unlocked, enjoy the premium episodes!',
'subscribe' => 'Subscribe',
'lock' => 'Lock',
'unlock' => 'Unlock',
'unlock_form' => [
'title' => 'Premium content',
'subtitle' => 'This podcast contains locked premium episodes! Do you have the key to unlock them?',
'token' => 'Enter your key',
'token_hint' => 'If you are subscribed to {podcastTitle}, you may copy the key that was sent to you via email and paste it here.',
'submit' => 'Unlock all episodes!',
'call_to_action' => 'Unlock all episodes of {podcastTitle}:',
'subscribe_cta' => 'Subscribe now!',
],
'messages' => [
'unlockSuccess' => 'Podcast was successfully unlocked! Enjoy the premium episodes!',
'unlockBadAttempt' => 'Your key does not seem to be working…',
'lockSuccess' => 'Podcast was successfully locked!',
],
];

View file

@ -0,0 +1,100 @@
<?php
declare(strict_types=1);
/**
* @copyright 2022 Ad Aures
* @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
* @link https://castopod.org/
*/
return [
'podcast_subscriptions' => 'Podcast subscriptions',
'add' => 'New subscription',
'view' => 'View subscription',
'edit' => 'Edit subscription',
'regenerate_token' => 'Regenerate token',
'suspend' => 'Suspend subscription',
'resume' => 'Resume subscription',
'delete' => 'Delete subscription',
'status' => [
'active' => 'Active',
'suspended' => 'Suspended',
'expired' => 'Expired',
],
'list' => [
'number' => 'Number',
'email' => 'Email',
'expiration_date' => 'Expiration date',
'unlimited' => 'Unlimited',
'downloads' => 'Downloads',
'status' => 'Status',
],
'form' => [
'email' => 'Email',
'expiration_date' => 'Expiration date',
'expiration_date_hint' => 'The date and time at which the subscription expires. Leave empty for an unlimited subscription.',
'submit_add' => 'Add subscription',
'submit_edit' => 'Edit subscription',
],
'form_link_add' => [
'link' => 'Subscription page link',
'link_hint' => 'This will add a call to action in the website inviting listeners to subscribe to the podcast.',
'submit' => 'Save link',
],
'suspend_form' => [
'disclaimer' => 'Suspending the subscription will restrict the subscriber from having access to the premium content. You will still be able to lift the suspension afterwards.',
'reason' => 'Reason',
'reason_placeholder' => 'Why are you suspending the subscription?',
"submit" => 'Suspend subscription',
],
'delete_form' => [
'disclaimer' => 'Deleting {subscriber}\'s subscription will remove all analytics data associated with it.',
'understand' => 'I understand, remove the subscription permanently',
'submit' => 'Remove subscription',
],
'messages' => [
'addSuccess' => 'New subscription added! A welcome email was sent to {subscriber}.',
'addError' => 'Subscription could not be added.',
'editSuccess' => 'Subscription expiry date was updated! An email was sent to {subscriber}.',
'editError' => 'Subscription could not be edited.',
'regenerateTokenSuccess' => 'Token regenerated! An email was sent to {subscriber} with the new token.',
'regenerateTokenError' => 'Token could not be regenerated.',
'deleteSuccess' => 'Subscription was removed! An email was sent to {subscriber}.',
'deleteError' => 'Subscription could not be removed.',
'suspendSuccess' => 'Subscription was suspended! An email was sent to {subscriber}.',
'suspendError' => 'Subscription could not be suspended.',
'resumeSuccess' => 'Subscription was resumed! An email was sent to {subscriber}.',
'resumeError' => 'Subscription could not be resumed.',
'linkSaveSuccess' => 'Subscription link was saved successfully! It will appear in the website as a Call To Action!',
'linkRemoveSuccess' => 'Subscription link was removed successfully!',
],
'emails' => [
'greeting' => 'Hey,',
'token' => 'Your token: {0}',
'unique_feed_link' => 'Your unique feed link: {0}',
'how_to_use' => 'How to use?',
'two_ways' => 'You have two ways of unlocking the premium episodes:',
'import_into_app' => 'Copy your unique feed url inside your favourite podcast app (import it as a private feed to prevent exposing your credentials).',
'go_to_website' => 'Go to {podcastWebsite}\'s website and unlock the podcast with your token.',
'welcome_subject' => 'Welcome to {podcastTitle}',
'welcome' => 'You have subscribed to {podcastTitle}, thank you and welcome aboard!',
'welcome_token_title' => 'Here are your credentials to unlock the podcast\'s premium episodes:',
'welcome_expires' => 'Your subscription was set to expire on {0}.',
'welcome_never_expires' => 'Your subscription was set to never expire.',
'reset_subject' => 'Your token was reset!',
'reset_token' => 'Your access to {podcastTitle} has been reset!',
'reset_token_title' => 'New credentials have been generated for you to unlock the podcast\'s premium episodes:',
'edited_subject' => 'Your subscription has been updated!',
'edited_expires' => 'Your subscription for {podcastTitle} was set to expire on {expiresAt}.',
'edited_never_expires' => 'Your subscription for {podcastTitle} was set to never expire!',
'suspended_subject' => 'Your subscription has been suspended!',
'suspended' => 'Your subscription for {podcastTitle} has been suspended! You can no longer access the podcast\'s premium episodes.',
'suspended_reason' => 'That is for the following reason: {0}',
'resumed_subject' => 'Your subscription has been resumed!',
'resumed' => 'Your subscription for {podcastTitle} has been resumed! You may access the podcast\'s premium episodes again.',
'deleted_subject' => 'Your subscription has been removed!',
'deleted' => 'Your subscription for {podcastTitle} has been removed! You no longer have access to the podcast\'s premium episodes.',
'footer' => '{castopod} hosted on {host}',
],
];

View file

@ -0,0 +1,34 @@
<?php
declare(strict_types=1);
/**
* @copyright 2022 Ad Aures
* @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
* @link https://castopod.org/
*/
return [
'podcast_is_premium' => 'Podcast contains premium episodes',
'episode_is_premium' => 'Episode is premium, only available to premium subscribers',
'unlock_episode' => 'This episode is for premium subscribers only. Click to unlock it!',
'banner_unlock' => 'This podcast contains premium episodes, only available to premium subscribers.',
'banner_lock' => 'Podcast is unlocked, enjoy the premium episodes!',
'subscribe' => 'Subscribe',
'lock' => 'Lock',
'unlock' => 'Unlock',
'unlock_form' => [
'title' => 'Premium content',
'subtitle' => 'This podcast contains locked premium episodes! Do you have the key to unlock them?',
'token' => 'Enter your key',
'token_hint' => 'If you are subscribed to {podcastTitle}, you may copy the key that was sent to you via email and paste it here.',
'submit' => 'Unlock all episodes!',
'call_to_action' => 'Unlock all episodes of {podcastTitle}:',
'subscribe_cta' => 'Subscribe now!',
],
'messages' => [
'unlockSuccess' => 'Podcast was successfully unlocked! Enjoy the premium episodes!',
'unlockBadAttempt' => 'Your key does not seem to be working…',
'lockSuccess' => 'Podcast was successfully locked!',
],
];

View file

@ -0,0 +1,100 @@
<?php
declare(strict_types=1);
/**
* @copyright 2022 Ad Aures
* @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
* @link https://castopod.org/
*/
return [
'podcast_subscriptions' => 'Podcast subscriptions',
'add' => 'New subscription',
'view' => 'View subscription',
'edit' => 'Edit subscription',
'regenerate_token' => 'Regenerate token',
'suspend' => 'Suspend subscription',
'resume' => 'Resume subscription',
'delete' => 'Delete subscription',
'status' => [
'active' => 'Active',
'suspended' => 'Suspended',
'expired' => 'Expired',
],
'list' => [
'number' => 'Number',
'email' => 'Email',
'expiration_date' => 'Expiration date',
'unlimited' => 'Unlimited',
'downloads' => 'Downloads',
'status' => 'Status',
],
'form' => [
'email' => 'Email',
'expiration_date' => 'Expiration date',
'expiration_date_hint' => 'The date and time at which the subscription expires. Leave empty for an unlimited subscription.',
'submit_add' => 'Add subscription',
'submit_edit' => 'Edit subscription',
],
'form_link_add' => [
'link' => 'Subscription page link',
'link_hint' => 'This will add a call to action in the website inviting listeners to subscribe to the podcast.',
'submit' => 'Save link',
],
'suspend_form' => [
'disclaimer' => 'Suspending the subscription will restrict the subscriber from having access to the premium content. You will still be able to lift the suspension afterwards.',
'reason' => 'Reason',
'reason_placeholder' => 'Why are you suspending the subscription?',
"submit" => 'Suspend subscription',
],
'delete_form' => [
'disclaimer' => 'Deleting {subscriber}\'s subscription will remove all analytics data associated with it.',
'understand' => 'I understand, remove the subscription permanently',
'submit' => 'Remove subscription',
],
'messages' => [
'addSuccess' => 'New subscription added! A welcome email was sent to {subscriber}.',
'addError' => 'Subscription could not be added.',
'editSuccess' => 'Subscription expiry date was updated! An email was sent to {subscriber}.',
'editError' => 'Subscription could not be edited.',
'regenerateTokenSuccess' => 'Token regenerated! An email was sent to {subscriber} with the new token.',
'regenerateTokenError' => 'Token could not be regenerated.',
'deleteSuccess' => 'Subscription was removed! An email was sent to {subscriber}.',
'deleteError' => 'Subscription could not be removed.',
'suspendSuccess' => 'Subscription was suspended! An email was sent to {subscriber}.',
'suspendError' => 'Subscription could not be suspended.',
'resumeSuccess' => 'Subscription was resumed! An email was sent to {subscriber}.',
'resumeError' => 'Subscription could not be resumed.',
'linkSaveSuccess' => 'Subscription link was saved successfully! It will appear in the website as a Call To Action!',
'linkRemoveSuccess' => 'Subscription link was removed successfully!',
],
'emails' => [
'greeting' => 'Hey,',
'token' => 'Your token: {0}',
'unique_feed_link' => 'Your unique feed link: {0}',
'how_to_use' => 'How to use?',
'two_ways' => 'You have two ways of unlocking the premium episodes:',
'import_into_app' => 'Copy your unique feed url inside your favourite podcast app (import it as a private feed to prevent exposing your credentials).',
'go_to_website' => 'Go to {podcastWebsite}\'s website and unlock the podcast with your token.',
'welcome_subject' => 'Welcome to {podcastTitle}',
'welcome' => 'You have subscribed to {podcastTitle}, thank you and welcome aboard!',
'welcome_token_title' => 'Here are your credentials to unlock the podcast\'s premium episodes:',
'welcome_expires' => 'Your subscription was set to expire on {0}.',
'welcome_never_expires' => 'Your subscription was set to never expire.',
'reset_subject' => 'Your token was reset!',
'reset_token' => 'Your access to {podcastTitle} has been reset!',
'reset_token_title' => 'New credentials have been generated for you to unlock the podcast\'s premium episodes:',
'edited_subject' => 'Your subscription has been updated!',
'edited_expires' => 'Your subscription for {podcastTitle} was set to expire on {expiresAt}.',
'edited_never_expires' => 'Your subscription for {podcastTitle} was set to never expire!',
'suspended_subject' => 'Your subscription has been suspended!',
'suspended' => 'Your subscription for {podcastTitle} has been suspended! You can no longer access the podcast\'s premium episodes.',
'suspended_reason' => 'That is for the following reason: {0}',
'resumed_subject' => 'Your subscription has been resumed!',
'resumed' => 'Your subscription for {podcastTitle} has been resumed! You may access the podcast\'s premium episodes again.',
'deleted_subject' => 'Your subscription has been removed!',
'deleted' => 'Your subscription for {podcastTitle} has been removed! You no longer have access to the podcast\'s premium episodes.',
'footer' => '{castopod} hosted on {host}',
],
];

View file

@ -0,0 +1,34 @@
<?php
declare(strict_types=1);
/**
* @copyright 2022 Ad Aures
* @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
* @link https://castopod.org/
*/
return [
'podcast_is_premium' => 'Podcast contains premium episodes',
'episode_is_premium' => 'Episode is premium, only available to premium subscribers',
'unlock_episode' => 'This episode is for premium subscribers only. Click to unlock it!',
'banner_unlock' => 'This podcast contains premium episodes, only available to premium subscribers.',
'banner_lock' => 'Podcast is unlocked, enjoy the premium episodes!',
'subscribe' => 'Subscribe',
'lock' => 'Lock',
'unlock' => 'Unlock',
'unlock_form' => [
'title' => 'Premium content',
'subtitle' => 'This podcast contains locked premium episodes! Do you have the key to unlock them?',
'token' => 'Enter your key',
'token_hint' => 'If you are subscribed to {podcastTitle}, you may copy the key that was sent to you via email and paste it here.',
'submit' => 'Unlock all episodes!',
'call_to_action' => 'Unlock all episodes of {podcastTitle}:',
'subscribe_cta' => 'Subscribe now!',
],
'messages' => [
'unlockSuccess' => 'Podcast was successfully unlocked! Enjoy the premium episodes!',
'unlockBadAttempt' => 'Your key does not seem to be working…',
'lockSuccess' => 'Podcast was successfully locked!',
],
];

View file

@ -0,0 +1,100 @@
<?php
declare(strict_types=1);
/**
* @copyright 2022 Ad Aures
* @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
* @link https://castopod.org/
*/
return [
'podcast_subscriptions' => 'Podcast subscriptions',
'add' => 'New subscription',
'view' => 'View subscription',
'edit' => 'Edit subscription',
'regenerate_token' => 'Regenerate token',
'suspend' => 'Suspend subscription',
'resume' => 'Resume subscription',
'delete' => 'Delete subscription',
'status' => [
'active' => 'Active',
'suspended' => 'Suspended',
'expired' => 'Expired',
],
'list' => [
'number' => 'Number',
'email' => 'Email',
'expiration_date' => 'Expiration date',
'unlimited' => 'Unlimited',
'downloads' => 'Downloads',
'status' => 'Status',
],
'form' => [
'email' => 'Email',
'expiration_date' => 'Expiration date',
'expiration_date_hint' => 'The date and time at which the subscription expires. Leave empty for an unlimited subscription.',
'submit_add' => 'Add subscription',
'submit_edit' => 'Edit subscription',
],
'form_link_add' => [
'link' => 'Subscription page link',
'link_hint' => 'This will add a call to action in the website inviting listeners to subscribe to the podcast.',
'submit' => 'Save link',
],
'suspend_form' => [
'disclaimer' => 'Suspending the subscription will restrict the subscriber from having access to the premium content. You will still be able to lift the suspension afterwards.',
'reason' => 'Reason',
'reason_placeholder' => 'Why are you suspending the subscription?',
"submit" => 'Suspend subscription',
],
'delete_form' => [
'disclaimer' => 'Deleting {subscriber}\'s subscription will remove all analytics data associated with it.',
'understand' => 'I understand, remove the subscription permanently',
'submit' => 'Remove subscription',
],
'messages' => [
'addSuccess' => 'New subscription added! A welcome email was sent to {subscriber}.',
'addError' => 'Subscription could not be added.',
'editSuccess' => 'Subscription expiry date was updated! An email was sent to {subscriber}.',
'editError' => 'Subscription could not be edited.',
'regenerateTokenSuccess' => 'Token regenerated! An email was sent to {subscriber} with the new token.',
'regenerateTokenError' => 'Token could not be regenerated.',
'deleteSuccess' => 'Subscription was removed! An email was sent to {subscriber}.',
'deleteError' => 'Subscription could not be removed.',
'suspendSuccess' => 'Subscription was suspended! An email was sent to {subscriber}.',
'suspendError' => 'Subscription could not be suspended.',
'resumeSuccess' => 'Subscription was resumed! An email was sent to {subscriber}.',
'resumeError' => 'Subscription could not be resumed.',
'linkSaveSuccess' => 'Subscription link was saved successfully! It will appear in the website as a Call To Action!',
'linkRemoveSuccess' => 'Subscription link was removed successfully!',
],
'emails' => [
'greeting' => 'Hey,',
'token' => 'Your token: {0}',
'unique_feed_link' => 'Your unique feed link: {0}',
'how_to_use' => 'How to use?',
'two_ways' => 'You have two ways of unlocking the premium episodes:',
'import_into_app' => 'Copy your unique feed url inside your favourite podcast app (import it as a private feed to prevent exposing your credentials).',
'go_to_website' => 'Go to {podcastWebsite}\'s website and unlock the podcast with your token.',
'welcome_subject' => 'Welcome to {podcastTitle}',
'welcome' => 'You have subscribed to {podcastTitle}, thank you and welcome aboard!',
'welcome_token_title' => 'Here are your credentials to unlock the podcast\'s premium episodes:',
'welcome_expires' => 'Your subscription was set to expire on {0}.',
'welcome_never_expires' => 'Your subscription was set to never expire.',
'reset_subject' => 'Your token was reset!',
'reset_token' => 'Your access to {podcastTitle} has been reset!',
'reset_token_title' => 'New credentials have been generated for you to unlock the podcast\'s premium episodes:',
'edited_subject' => 'Your subscription has been updated!',
'edited_expires' => 'Your subscription for {podcastTitle} was set to expire on {expiresAt}.',
'edited_never_expires' => 'Your subscription for {podcastTitle} was set to never expire!',
'suspended_subject' => 'Your subscription has been suspended!',
'suspended' => 'Your subscription for {podcastTitle} has been suspended! You can no longer access the podcast\'s premium episodes.',
'suspended_reason' => 'That is for the following reason: {0}',
'resumed_subject' => 'Your subscription has been resumed!',
'resumed' => 'Your subscription for {podcastTitle} has been resumed! You may access the podcast\'s premium episodes again.',
'deleted_subject' => 'Your subscription has been removed!',
'deleted' => 'Your subscription for {podcastTitle} has been removed! You no longer have access to the podcast\'s premium episodes.',
'footer' => '{castopod} hosted on {host}',
],
];

View file

@ -0,0 +1,34 @@
<?php
declare(strict_types=1);
/**
* @copyright 2022 Ad Aures
* @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
* @link https://castopod.org/
*/
return [
'podcast_is_premium' => 'Podcast contains premium episodes',
'episode_is_premium' => 'Episode is premium, only available to premium subscribers',
'unlock_episode' => 'This episode is for premium subscribers only. Click to unlock it!',
'banner_unlock' => 'This podcast contains premium episodes, only available to premium subscribers.',
'banner_lock' => 'Podcast is unlocked, enjoy the premium episodes!',
'subscribe' => 'Subscribe',
'lock' => 'Lock',
'unlock' => 'Unlock',
'unlock_form' => [
'title' => 'Premium content',
'subtitle' => 'This podcast contains locked premium episodes! Do you have the key to unlock them?',
'token' => 'Enter your key',
'token_hint' => 'If you are subscribed to {podcastTitle}, you may copy the key that was sent to you via email and paste it here.',
'submit' => 'Unlock all episodes!',
'call_to_action' => 'Unlock all episodes of {podcastTitle}:',
'subscribe_cta' => 'Subscribe now!',
],
'messages' => [
'unlockSuccess' => 'Podcast was successfully unlocked! Enjoy the premium episodes!',
'unlockBadAttempt' => 'Your key does not seem to be working…',
'lockSuccess' => 'Podcast was successfully locked!',
],
];

View file

@ -0,0 +1,100 @@
<?php
declare(strict_types=1);
/**
* @copyright 2022 Ad Aures
* @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
* @link https://castopod.org/
*/
return [
'podcast_subscriptions' => 'Podcast subscriptions',
'add' => 'New subscription',
'view' => 'View subscription',
'edit' => 'Edit subscription',
'regenerate_token' => 'Regenerate token',
'suspend' => 'Suspend subscription',
'resume' => 'Resume subscription',
'delete' => 'Delete subscription',
'status' => [
'active' => 'Active',
'suspended' => 'Suspended',
'expired' => 'Expired',
],
'list' => [
'number' => 'Number',
'email' => 'Email',
'expiration_date' => 'Expiration date',
'unlimited' => 'Unlimited',
'downloads' => 'Downloads',
'status' => 'Status',
],
'form' => [
'email' => 'Email',
'expiration_date' => 'Expiration date',
'expiration_date_hint' => 'The date and time at which the subscription expires. Leave empty for an unlimited subscription.',
'submit_add' => 'Add subscription',
'submit_edit' => 'Edit subscription',
],
'form_link_add' => [
'link' => 'Subscription page link',
'link_hint' => 'This will add a call to action in the website inviting listeners to subscribe to the podcast.',
'submit' => 'Save link',
],
'suspend_form' => [
'disclaimer' => 'Suspending the subscription will restrict the subscriber from having access to the premium content. You will still be able to lift the suspension afterwards.',
'reason' => 'Reason',
'reason_placeholder' => 'Why are you suspending the subscription?',
"submit" => 'Suspend subscription',
],
'delete_form' => [
'disclaimer' => 'Deleting {subscriber}\'s subscription will remove all analytics data associated with it.',
'understand' => 'I understand, remove the subscription permanently',
'submit' => 'Remove subscription',
],
'messages' => [
'addSuccess' => 'New subscription added! A welcome email was sent to {subscriber}.',
'addError' => 'Subscription could not be added.',
'editSuccess' => 'Subscription expiry date was updated! An email was sent to {subscriber}.',
'editError' => 'Subscription could not be edited.',
'regenerateTokenSuccess' => 'Token regenerated! An email was sent to {subscriber} with the new token.',
'regenerateTokenError' => 'Token could not be regenerated.',
'deleteSuccess' => 'Subscription was removed! An email was sent to {subscriber}.',
'deleteError' => 'Subscription could not be removed.',
'suspendSuccess' => 'Subscription was suspended! An email was sent to {subscriber}.',
'suspendError' => 'Subscription could not be suspended.',
'resumeSuccess' => 'Subscription was resumed! An email was sent to {subscriber}.',
'resumeError' => 'Subscription could not be resumed.',
'linkSaveSuccess' => 'Subscription link was saved successfully! It will appear in the website as a Call To Action!',
'linkRemoveSuccess' => 'Subscription link was removed successfully!',
],
'emails' => [
'greeting' => 'Hey,',
'token' => 'Your token: {0}',
'unique_feed_link' => 'Your unique feed link: {0}',
'how_to_use' => 'How to use?',
'two_ways' => 'You have two ways of unlocking the premium episodes:',
'import_into_app' => 'Copy your unique feed url inside your favourite podcast app (import it as a private feed to prevent exposing your credentials).',
'go_to_website' => 'Go to {podcastWebsite}\'s website and unlock the podcast with your token.',
'welcome_subject' => 'Welcome to {podcastTitle}',
'welcome' => 'You have subscribed to {podcastTitle}, thank you and welcome aboard!',
'welcome_token_title' => 'Here are your credentials to unlock the podcast\'s premium episodes:',
'welcome_expires' => 'Your subscription was set to expire on {0}.',
'welcome_never_expires' => 'Your subscription was set to never expire.',
'reset_subject' => 'Your token was reset!',
'reset_token' => 'Your access to {podcastTitle} has been reset!',
'reset_token_title' => 'New credentials have been generated for you to unlock the podcast\'s premium episodes:',
'edited_subject' => 'Your subscription has been updated!',
'edited_expires' => 'Your subscription for {podcastTitle} was set to expire on {expiresAt}.',
'edited_never_expires' => 'Your subscription for {podcastTitle} was set to never expire!',
'suspended_subject' => 'Your subscription has been suspended!',
'suspended' => 'Your subscription for {podcastTitle} has been suspended! You can no longer access the podcast\'s premium episodes.',
'suspended_reason' => 'That is for the following reason: {0}',
'resumed_subject' => 'Your subscription has been resumed!',
'resumed' => 'Your subscription for {podcastTitle} has been resumed! You may access the podcast\'s premium episodes again.',
'deleted_subject' => 'Your subscription has been removed!',
'deleted' => 'Your subscription for {podcastTitle} has been removed! You no longer have access to the podcast\'s premium episodes.',
'footer' => '{castopod} hosted on {host}',
],
];

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