Compare commits

..

2 commits

Author SHA1 Message Date
7fe9a2ba85
Change compose to point to my image! 2024-06-17 23:24:01 +01:00
2316f0e70f
Files for nightly build 2024-06-17 23:15:17 +01:00
9 changed files with 640 additions and 864 deletions

View file

@ -103,7 +103,8 @@ services:
# - '127.0.0.1:9200:9200'
web:
image: richarvey:mastodon-bird-ui:latest
build: .
image: richarvey/mastodon-bird-ui:latest
restart: always
env_file: .env.production
command: bundle exec puma -C config/puma.rb
@ -112,7 +113,7 @@ services:
- internal_network
healthcheck:
# prettier-ignore
test: ['CMD-SHELL',"curl -s --noproxy localhost localhost:3000/health | grep -q 'OK' || exit 1"]
test: ['CMD-SHELL', 'wget -q --spider --proxy=off localhost:3000/health || exit 1']
ports:
- '127.0.0.1:3000:3000'
depends_on:
@ -123,20 +124,17 @@ services:
- ./public/system:/mastodon/public/system
streaming:
# You can uncomment the following lines if you want to not use the prebuilt image, for example if you have local code changes
# build:
# dockerfile: ./streaming/Dockerfile
# context: .
image: ghcr.io/mastodon/mastodon-streaming:v4.3.0
build: .
image: ghcr.io/mastodon/mastodon:v4.2.9
restart: always
env_file: .env.production
command: node ./streaming/index.js
command: node ./streaming
networks:
- external_network
- internal_network
healthcheck:
# prettier-ignore
test: ['CMD-SHELL', "curl -s --noproxy localhost localhost:4000/api/v1/streaming/health | grep -q 'OK' || exit 1"]
test: ['CMD-SHELL', 'wget -q --spider --proxy=off localhost:4000/api/v1/streaming/health || exit 1']
ports:
- '127.0.0.1:4000:4000'
depends_on:
@ -145,7 +143,7 @@ services:
sidekiq:
build: .
image: ghcr.io/mastodon/mastodon:v4.3.0
image: ghcr.io/mastodon/mastodon:v4.2.9
restart: always
env_file: .env.production
command: bundle exec sidekiq

View file

@ -1,18 +1,12 @@
#!/bin/bash
# update submodule to latest release
git submodule update --init --recursive
# get latest mastodon release number (needed to tag docker image)
mastodon_version=`curl -sL https://api.github.com/repos/mastodon/mastodon/releases/latest | jq -r ".tag_name"`
# Change to the main repo
cd mastodon
git stash
git checkout stable-4.3
git pull
export MASTODON_VERSION_FOR_BIRD_UI="main"
# update submodule to latest main release
git checkout version/v4.3.0-alpha.1 && git fetch
export MASTODON_VERSION_FOR_BIRD_UI="nightly"
# Create a new folder for the theme
mkdir -p app/javascript/styles/mastodon-bird-ui
@ -53,10 +47,10 @@ for i in `ls ../diffs/` ; do patch -N config/locales/"${i/diff/yml}" < ../diffs/
# If the main branch of the repo build tagged version and latest image
cd ../
BRANCH="$(git rev-parse --abbrev-ref HEAD)"
if [[ "$BRANCH" == "main" ]]; then
echo 'Main branch';
if [[ "$BRANCH" == "nightly" ]]; then
echo 'Nightly branch';
# Build the images for multiple architectures
cd mastodon
docker buildx build --platform linux/amd64,linux/arm64 --push --tag richarvey/mastodon-bird-ui:$mastodon_version --tag richarvey/mastodon-bird-ui:latest . ;
docker buildx build --platform linux/amd64,linux/arm64 --push --tag richarvey/mastodon-bird-ui:nightly . ;
fi

View file

@ -1,15 +1,19 @@
--- mastodon/config/locales/en.yml 2024-10-08 19:09:07.372311428 +0100
+++ en.yml 2024-10-08 19:15:36.167324037 +0100
@@ -1801,8 +1801,11 @@
--- mastodon/config/locales/en.yml 2024-06-17 17:21:11.527756697 +0000
+++ en.yml 2024-06-17 17:24:46.506720584 +0000
@@ -1736,9 +1736,13 @@
tags:
does_not_match_previous_name: does not match the previous name
themes:
contrast: Mastodon (High contrast)
- contrast: Mastodon (High contrast)
- default: Mastodon (Dark)
+ default: Mastodon Bird UI (Dark)
+ mastodon-bird-ui-light: Mastodon Bird UI (Light)
+ mastodon-bird-ui-contrast: Mastodon Bird UI (High contrast)
mastodon-light: Mastodon (Light)
+ mastodon-dark: Mastodon (Dark)
system: Automatic (use system theme)
- mastodon-light: Mastodon (Light)
+ contrast: Mastodon (High contrast)
+ default: Mastodon Bird UI (Dark)
+ mastodon-bird-ui-dark: Mastodon Bird UI (Dark)
+ mastodon-bird-ui-light: Mastodon Bird UI (Light)
+ mastodon-bird-ui-contrast: Mastodon Bird UI (High contrast)
+ mastodon-light: Mastodon (Light)
+ mastodon-dark: Mastodon (Dark)
time:
formats:
default: "%b %d, %Y, %H:%M"

View file

@ -1,18 +1,16 @@
--- mastodon/config/locales/fi.yml 2024-10-08 19:09:07.376311904 +0100
+++ fi.yml 2024-10-08 19:15:03.228826466 +0100
@@ -1799,9 +1799,12 @@
tags:
--- mastodon/config/locales/fi.yml 2024-06-17 18:16:43.497414066 +0100
+++ fi.yml 2024-06-17 20:45:58.558026465 +0100
@@ -1731,8 +1731,12 @@
does_not_match_previous_name: ei vastaa edellistä nimeä
themes:
- contrast: Mastodon (suuri kontrasti)
- default: Mastodon (tumma)
- mastodon-light: Mastodon (vaalea)
+ contrast: Mastodon (High contrast)
+ default: Mastodon Bird UI (Dark)
+ mastodon-bird-ui-light: Mastodon Bird UI (Light)
+ mastodon-bird-ui-contrast: Mastodon Bird UI (High contrast)
+ mastodon-light: Mastodon (Light)
+ mastodon-dark: Mastodon (Dark)
system: Automaattinen (käytä järjestelmän teemaa)
contrast: Mastodon (Korkea kontrasti)
- default: Mastodon (Tumma)
+ default: Mastodon Bird UI (Tumma)
+ mastodon-bird-ui-dark: Mastodon Vird UI (Tumma)
+ mastodon-bird-ui-light: Mastodon Bird UI (Vaalea)
+ mastodon-bird-ui-contrast: Mastodon Bird UI (Korkea kontrasti)
mastodon-light: Mastodon (Vaalea)
+ mastodon-dark: Mastodon (Tumma)
time:
formats:
default: "%d.%m.%Y klo %H.%M"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 392 KiB

After

Width:  |  Height:  |  Size: 249 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 131 KiB

After

Width:  |  Height:  |  Size: 73 KiB

@ -1 +1 @@
Subproject commit ab36c152f9e5f9054798504354365dcaef4e5c43
Subproject commit b1fbb459941822517421b6e4f625f8fd3b2dbde4

View file

@ -7,6 +7,7 @@ en:
hosted_on: Mastodon hosted on %{domain}
title: About
accounts:
follow: Follow
followers:
one: Follower
other: Followers
@ -24,15 +25,13 @@ en:
admin:
account_actions:
action: Perform action
already_silenced: This account has already been limited.
already_suspended: This account has already been suspended.
title: Perform moderation action on %{acct}
account_moderation_notes:
create: Leave note
created_msg: Moderation note successfully created!
destroyed_msg: Moderation note successfully destroyed!
accounts:
add_email_domain_block: Block email domain
add_email_domain_block: Block e-mail domain
approve: Approve
approved_msg: Successfully approved %{username}'s sign-up application
are_you_sure: Are you sure?
@ -47,7 +46,6 @@ en:
title: Change email for %{username}
change_role:
changed_msg: Role successfully changed!
edit_roles: Manage user roles
label: Change role
no_role: No role
title: Change role for %{username}
@ -60,7 +58,7 @@ en:
demote: Demote
destroyed_msg: "%{username}'s data is now queued to be deleted imminently"
disable: Freeze
disable_sign_in_token_auth: Disable email token authentication
disable_sign_in_token_auth: Disable e-mail token authentication
disable_two_factor_authentication: Disable 2FA
disabled: Frozen
display_name: Display name
@ -69,7 +67,7 @@ en:
email: Email
email_status: Email status
enable: Unfreeze
enable_sign_in_token_auth: Enable email token authentication
enable_sign_in_token_auth: Enable e-mail token authentication
enabled: Enabled
enabled_msg: Successfully unfroze %{username}'s account
followers: Followers
@ -134,7 +132,7 @@ en:
resubscribe: Resubscribe
role: Role
search: Search
search_same_email_domain: Other users with the same email domain
search_same_email_domain: Other users with the same e-mail domain
search_same_ip: Other users with the same IP
security: Security
security_measures:
@ -175,26 +173,26 @@ en:
approve_appeal: Approve Appeal
approve_user: Approve User
assigned_to_self_report: Assign Report
change_email_user: Change Email for User
change_email_user: Change E-mail for User
change_role_user: Change Role of User
confirm_user: Confirm User
create_account_warning: Create Warning
create_announcement: Create Announcement
create_canonical_email_block: Create Email Block
create_canonical_email_block: Create E-mail Block
create_custom_emoji: Create Custom Emoji
create_domain_allow: Create Domain Allow
create_domain_block: Create Domain Block
create_email_domain_block: Create Email Domain Block
create_email_domain_block: Create E-mail Domain Block
create_ip_block: Create IP rule
create_unavailable_domain: Create Unavailable Domain
create_user_role: Create Role
demote_user: Demote User
destroy_announcement: Delete Announcement
destroy_canonical_email_block: Delete Email Block
destroy_canonical_email_block: Delete E-mail Block
destroy_custom_emoji: Delete Custom Emoji
destroy_domain_allow: Delete Domain Allow
destroy_domain_block: Delete Domain Block
destroy_email_domain_block: Delete Email Domain Block
destroy_email_domain_block: Delete E-mail Domain Block
destroy_instance: Purge Domain
destroy_ip_block: Delete IP rule
destroy_status: Delete Post
@ -202,10 +200,10 @@ en:
destroy_user_role: Destroy Role
disable_2fa_user: Disable 2FA
disable_custom_emoji: Disable Custom Emoji
disable_sign_in_token_auth_user: Disable Email Token Authentication for User
disable_sign_in_token_auth_user: Disable E-mail Token Authentication for User
disable_user: Disable User
enable_custom_emoji: Enable Custom Emoji
enable_sign_in_token_auth_user: Enable Email Token Authentication for User
enable_sign_in_token_auth_user: Enable E-mail Token Authentication for User
enable_user: Enable User
memorialize_account: Memorialize Account
promote_user: Promote User
@ -228,33 +226,32 @@ en:
update_custom_emoji: Update Custom Emoji
update_domain_block: Update Domain Block
update_ip_block: Update IP rule
update_report: Update Report
update_status: Update Post
update_user_role: Update Role
actions:
approve_appeal_html: "%{name} approved moderation decision appeal from %{target}"
approve_user_html: "%{name} approved sign-up from %{target}"
assigned_to_self_report_html: "%{name} assigned report %{target} to themselves"
change_email_user_html: "%{name} changed the email address of user %{target}"
change_email_user_html: "%{name} changed the e-mail address of user %{target}"
change_role_user_html: "%{name} changed role of %{target}"
confirm_user_html: "%{name} confirmed email address of user %{target}"
confirm_user_html: "%{name} confirmed e-mail address of user %{target}"
create_account_warning_html: "%{name} sent a warning to %{target}"
create_announcement_html: "%{name} created new announcement %{target}"
create_canonical_email_block_html: "%{name} blocked email with the hash %{target}"
create_canonical_email_block_html: "%{name} blocked e-mail with the hash %{target}"
create_custom_emoji_html: "%{name} uploaded new emoji %{target}"
create_domain_allow_html: "%{name} allowed federation with domain %{target}"
create_domain_block_html: "%{name} blocked domain %{target}"
create_email_domain_block_html: "%{name} blocked email domain %{target}"
create_email_domain_block_html: "%{name} blocked e-mail domain %{target}"
create_ip_block_html: "%{name} created rule for IP %{target}"
create_unavailable_domain_html: "%{name} stopped delivery to domain %{target}"
create_user_role_html: "%{name} created %{target} role"
demote_user_html: "%{name} demoted user %{target}"
destroy_announcement_html: "%{name} deleted announcement %{target}"
destroy_canonical_email_block_html: "%{name} unblocked email with the hash %{target}"
destroy_canonical_email_block_html: "%{name} unblocked e-mail with the hash %{target}"
destroy_custom_emoji_html: "%{name} deleted emoji %{target}"
destroy_domain_allow_html: "%{name} disallowed federation with domain %{target}"
destroy_domain_block_html: "%{name} unblocked domain %{target}"
destroy_email_domain_block_html: "%{name} unblocked email domain %{target}"
destroy_email_domain_block_html: "%{name} unblocked e-mail domain %{target}"
destroy_instance_html: "%{name} purged domain %{target}"
destroy_ip_block_html: "%{name} deleted rule for IP %{target}"
destroy_status_html: "%{name} removed post by %{target}"
@ -262,10 +259,10 @@ en:
destroy_user_role_html: "%{name} deleted %{target} role"
disable_2fa_user_html: "%{name} disabled two factor requirement for user %{target}"
disable_custom_emoji_html: "%{name} disabled emoji %{target}"
disable_sign_in_token_auth_user_html: "%{name} disabled email token authentication for %{target}"
disable_sign_in_token_auth_user_html: "%{name} disabled e-mail token authentication for %{target}"
disable_user_html: "%{name} disabled login for user %{target}"
enable_custom_emoji_html: "%{name} enabled emoji %{target}"
enable_sign_in_token_auth_user_html: "%{name} enabled email token authentication for %{target}"
enable_sign_in_token_auth_user_html: "%{name} enabled e-mail token authentication for %{target}"
enable_user_html: "%{name} enabled login for user %{target}"
memorialize_account_html: "%{name} turned %{target}'s account into a memoriam page"
promote_user_html: "%{name} promoted user %{target}"
@ -273,7 +270,7 @@ en:
reject_user_html: "%{name} rejected sign-up from %{target}"
remove_avatar_user_html: "%{name} removed %{target}'s avatar"
reopen_report_html: "%{name} reopened report %{target}"
resend_user_html: "%{name} resent confirmation email for %{target}"
resend_user_html: "%{name} resent confirmation e-mail for %{target}"
reset_password_user_html: "%{name} reset password of user %{target}"
resolve_report_html: "%{name} resolved report %{target}"
sensitive_account_html: "%{name} marked %{target}'s media as sensitive"
@ -288,7 +285,6 @@ en:
update_custom_emoji_html: "%{name} updated emoji %{target}"
update_domain_block_html: "%{name} updated domain block for %{target}"
update_ip_block_html: "%{name} changed rule for IP %{target}"
update_report_html: "%{name} updated report %{target}"
update_status_html: "%{name} updated post by %{target}"
update_user_role_html: "%{name} changed %{target} role"
deleted_account: deleted account
@ -296,7 +292,6 @@ en:
filter_by_action: Filter by action
filter_by_user: Filter by user
title: Audit log
unavailable_instance: "(domain name unavailable)"
announcements:
destroyed_msg: Announcement successfully deleted!
edit:
@ -430,11 +425,10 @@ en:
view: View domain block
email_domain_blocks:
add_new: Add new
allow_registrations_with_approval: Allow registrations with approval
attempts_over_week:
one: "%{count} attempt over the last week"
other: "%{count} sign-up attempts over the last week"
created_msg: Successfully blocked email domain
created_msg: Successfully blocked e-mail domain
delete: Delete
dns:
types:
@ -443,12 +437,12 @@ en:
new:
create: Add domain
resolve: Resolve domain
title: Block new email domain
no_email_domain_block_selected: No email domain blocks were changed as none were selected
title: Block new e-mail domain
no_email_domain_block_selected: No e-mail domain blocks were changed as none were selected
not_permitted: Not permitted
resolved_dns_records_hint_html: The domain name resolves to the following MX domains, which are ultimately responsible for accepting email. Blocking an MX domain will block sign-ups from any email address which uses the same MX domain, even if the visible domain name is different. <strong>Be careful not to block major email providers.</strong>
resolved_dns_records_hint_html: The domain name resolves to the following MX domains, which are ultimately responsible for accepting e-mail. Blocking an MX domain will block sign-ups from any e-mail address which uses the same MX domain, even if the visible domain name is different. <strong>Be careful not to block major e-mail providers.</strong>
resolved_through_html: Resolved through %{domain}
title: Blocked email domains
title: Blocked e-mail domains
export_domain_allows:
new:
title: Import domain allows
@ -473,9 +467,6 @@ en:
title: Follow recommendations
unsuppress: Restore follow recommendation
instances:
audit_log:
title: Recent Audit Logs
view_all: View full audit logs
availability:
description_html:
one: If delivering to the domain fails <strong>%{count} day</strong> without succeeding, no further delivery attempts will be made unless a delivery <em>from</em> the domain is received.
@ -543,7 +534,6 @@ en:
total_reported: Reports about them
total_storage: Media attachments
totals_time_period_hint_html: The totals displayed below include data for all time.
unknown_instance: There is currently no record of this domain on this server.
invites:
deactivate_all: Deactivate all
filter:
@ -602,13 +592,9 @@ en:
resolve_description_html: No action will be taken against the reported account, no strike recorded, and the report will be closed.
silence_description_html: The account will be visible only to those who already follow it or manually look it up, severely limiting its reach. Can always be reverted. Closes all reports against this account.
suspend_description_html: The account and all its contents will be inaccessible and eventually deleted, and interacting with it will be impossible. Reversible within 30 days. Closes all reports against this account.
actions_description_html: Decide which action to take to resolve this report. If you take a punitive action against the reported account, an email notification will be sent to them, except when the <strong>Spam</strong> category is selected.
actions_description_html: Decide which action to take to resolve this report. If you take a punitive action against the reported account, an e-mail notification will be sent to them, except when the <strong>Spam</strong> category is selected.
actions_description_remote_html: Decide which action to take to resolve this report. This will only affect how <strong>your</strong> server communicates with this remote account and handle its content.
actions_no_posts: This report doesn't have any associated posts to delete
add_to_report: Add more to report
already_suspended_badges:
local: Already suspended on this server
remote: Already suspended on their server
are_you_sure: Are you sure?
assign_to_self: Assign to me
assigned: Assigned moderator
@ -624,7 +610,6 @@ en:
created_at: Reported
delete_and_resolve: Delete posts
forwarded: Forwarded
forwarded_replies_explanation: This report is from a remote user and about remote content. It has been forwarded to you because the reported content is in reply to one of your users.
forwarded_to: Forwarded to %{domain}
mark_as_resolved: Mark as resolved
mark_as_sensitive: Mark as sensitive
@ -645,7 +630,6 @@ en:
report: 'Report #%{id}'
reported_account: Reported account
reported_by: Reported by
reported_with_application: Reported with application
resolved: Resolved
resolved_msg: Report successfully resolved!
skip_to_actions: Skip to actions
@ -668,7 +652,7 @@ en:
delete_data_html: Delete <strong>@%{acct}</strong>'s profile and contents 30 days from now unless they get unsuspended in the meantime
preview_preamble_html: "<strong>@%{acct}</strong> will receive a warning with the following contents:"
record_strike_html: Record a strike against <strong>@%{acct}</strong> to help you escalate on future violations from this account
send_email_html: Send <strong>@%{acct}</strong> a warning email
send_email_html: Send <strong>@%{acct}</strong> a warning e-mail
warning_placeholder: Optional additional reasoning for the moderation action.
target_origin: Origin of reported account
title: Reports
@ -708,7 +692,7 @@ en:
manage_appeals: Manage Appeals
manage_appeals_description: Allows users to review appeals against moderation actions
manage_blocks: Manage Blocks
manage_blocks_description: Allows users to block email providers and IP addresses
manage_blocks_description: Allows users to block e-mail providers and IP addresses
manage_custom_emojis: Manage Custom Emojis
manage_custom_emojis_description: Allows users to manage custom emojis on the server
manage_federation: Manage Federation
@ -726,7 +710,7 @@ en:
manage_taxonomies: Manage Taxonomies
manage_taxonomies_description: Allows users to review trending content and update hashtag settings
manage_user_access: Manage User Access
manage_user_access_description: Allows users to disable other users' two-factor authentication, change their email address, and reset their password
manage_user_access_description: Allows users to disable other users' two-factor authentication, change their e-mail address, and reset their password
manage_users: Manage Users
manage_users_description: Allows users to view other users' details and perform moderation actions against them
manage_webhooks: Manage Webhooks
@ -761,7 +745,6 @@ en:
desc_html: This relies on external scripts from hCaptcha, which may be a security and privacy concern. In addition, <strong>this can make the registration process significantly less accessible to some (especially disabled) people</strong>. For these reasons, please consider alternative measures such as approval-based or invite-based registration.
title: Require new users to solve a CAPTCHA to confirm their account
content_retention:
danger_zone: Danger zone
preamble: Control how user-generated content is stored in Mastodon.
title: Content retention
default_noindex:
@ -801,7 +784,7 @@ en:
destroyed_msg: Site upload successfully deleted!
software_updates:
critical_update: Critical — please update quickly
description: It is recommended to keep your Mastodon installation up to date to benefit from the latest fixes and features. Moreover, it is sometimes critical to update Mastodon in a timely manner to avoid security issues. For these reasons, Mastodon checks for updates every 30 minutes, and will notify you according to your email notification preferences.
description: It is recommended to keep your Mastodon installation up to date to benefit from the latest fixes and features. Moreover, it is sometimes critical to update Mastodon in a timely manner to avoid security issues. For these reasons, Mastodon checks for updates every 30 minutes, and will notify you according to your e-mail notification preferences.
documentation_link: Learn more
release_notes: Release notes
title: Available updates
@ -875,9 +858,6 @@ en:
message_html: You haven't defined any server rules.
sidekiq_process_check:
message_html: No Sidekiq process running for the %{value} queue(s). Please review your Sidekiq configuration
software_version_check:
action: See available updates
message_html: A Mastodon update is available.
software_version_critical_check:
action: See available updates
message_html: A critical Mastodon update is available, please update as quickly as possible.
@ -891,39 +871,16 @@ en:
action: Check here for more information
message_html: "<strong>Your object storage is misconfigured. The privacy of your users is at risk.</strong>"
tags:
moderation:
not_trendable: Not trendable
not_usable: Not usable
pending_review: Pending review
review_requested: Review requested
reviewed: Reviewed
title: Status
trendable: Trendable
unreviewed: Unreviewed
usable: Usable
name: Name
newest: Newest
oldest: Oldest
open: View Publicly
reset: Reset
review: Review status
search: Search
title: Hashtags
updated_msg: Hashtag settings updated successfully
title: Administration
trends:
allow: Allow
approved: Approved
confirm_allow: Are you sure you want to allow selected tags?
confirm_disallow: Are you sure you want to disallow selected tags?
disallow: Disallow
links:
allow: Allow link
allow_provider: Allow publisher
confirm_allow: Are you sure you want to allow selected links?
confirm_allow_provider: Are you sure you want to allow selected providers?
confirm_disallow: Are you sure you want to disallow selected links?
confirm_disallow_provider: Are you sure you want to disallow selected providers?
description_html: These are links that are currently being shared a lot by accounts that your server sees posts from. It can help your users find out what's going on in the world. No links are displayed publicly until you approve the publisher. You can also allow or reject individual links.
disallow: Disallow link
disallow_provider: Disallow publisher
@ -947,10 +904,6 @@ en:
statuses:
allow: Allow post
allow_account: Allow author
confirm_allow: Are you sure you want to allow selected statuses?
confirm_allow_account: Are you sure you want to allow selected accounts?
confirm_disallow: Are you sure you want to disallow selected statuses?
confirm_disallow_account: Are you sure you want to disallow selected accounts?
description_html: These are posts that your server knows about that are currently being shared and favorited a lot at the moment. It can help your new and returning users to find more people to follow. No posts are displayed publicly until you approve the author, and the author allows their account to be suggested to others. You can also allow or reject individual posts.
disallow: Disallow post
disallow_account: Disallow author
@ -983,14 +936,14 @@ en:
used_by_over_week:
one: Used by one person over the last week
other: Used by %{count} people over the last week
title: Recommendations & Trends
title: Trends
trending: Trending
warning_presets:
add_new: Add new
delete: Delete
edit_preset: Edit warning preset
empty: You haven't defined any warning presets yet.
title: Warning presets
title: Manage warning presets
webhooks:
add_new: Add endpoint
delete: Delete
@ -1047,6 +1000,8 @@ en:
new_trending_statuses:
title: Trending posts
new_trending_tags:
no_approved_tags: There are currently no approved trending hashtags.
requirements: 'Any of these candidates could surpass the #%{rank} approved trending hashtag, which is currently #%{lowest_tag_name} with a score of %{lowest_tag_score}.'
title: Trending hashtags
subject: New trends up for review on %{instance}
aliases:
@ -1068,9 +1023,9 @@ en:
guide_link_text: Everyone can contribute.
sensitive_content: Sensitive content
application_mailer:
notification_preferences: Change email preferences
notification_preferences: Change e-mail preferences
salutation: "%{name},"
settings: 'Change email preferences: %{link}'
settings: 'Change e-mail preferences: %{link}'
unsubscribe: Unsubscribe
view: 'View:'
view_profile: View profile
@ -1090,15 +1045,7 @@ en:
hint_html: Just one more thing! We need to confirm you're a human (this is so we can keep the spam out!). Solve the CAPTCHA below and click "Continue".
title: Security check
confirmations:
awaiting_review: Your email address is confirmed! The %{domain} staff is now reviewing your registration. You will receive an email if they approve your account!
awaiting_review_title: Your registration is being reviewed
clicking_this_link: clicking this link
login_link: log in
proceed_to_login_html: You can now proceed to %{login_link}.
redirect_to_app_html: You should have been redirected to the <strong>%{app_name}</strong> app. If that did not happen, try %{clicking_this_link} or manually return to the app.
registration_complete: Your registration on %{domain} is now complete!
welcome_title: Welcome, %{name}!
wrong_email_hint: If that email address is not correct, you can change it in account settings.
wrong_email_hint: If that e-mail address is not correct, you can change it in account settings.
delete_account: Delete account
delete_account_html: If you wish to delete your account, you can <a href="%{path}">proceed here</a>. You will be asked for confirmation.
description:
@ -1119,7 +1066,7 @@ en:
or_log_in_with: Or log in with
privacy_policy_agreement_html: I have read and agree to the <a href="%{privacy_policy_path}" target="_blank">privacy policy</a>
progress:
confirm: Confirm email
confirm: Confirm e-mail
details: Your details
review: Our review
rules: Accept rules
@ -1141,10 +1088,10 @@ en:
security: Security
set_new_password: Set new password
setup:
email_below_hint_html: Check your spam folder, or request another one. You can correct your email address if it's wrong.
email_below_hint_html: Check your spam folder, or request another one. You can correct your e-mail address if it's wrong.
email_settings_hint_html: Click the link we sent you to verify %{email}. We'll wait right here.
link_not_received: Didn't get a link?
new_confirmation_instructions_sent: You will receive a new email with the confirmation link in a few minutes!
new_confirmation_instructions_sent: You will receive a new e-mail with the confirmation link in a few minutes!
title: Check your inbox
sign_in:
preamble_html: Login with your <strong>%{domain}</strong> credentials. If your account is hosted on a different server, you will not be able to log in here.
@ -1155,20 +1102,13 @@ en:
title: Let's get you set up on %{domain}.
status:
account_status: Account status
confirming: Waiting for email confirmation to be completed.
confirming: Waiting for e-mail confirmation to be completed.
functional: Your account is fully operational.
pending: Your application is pending review by our staff. This may take some time. You will receive an email if your application is approved.
pending: Your application is pending review by our staff. This may take some time. You will receive an e-mail if your application is approved.
redirecting_to: Your account is inactive because it is currently redirecting to %{acct}.
self_destruct: As %{domain} is closing down, you will only get limited access to your account.
view_strikes: View past strikes against your account
too_fast: Form submitted too fast, try again.
use_security_key: Use security key
author_attribution:
example_title: Sample text
hint_html: Control how you're credited when links are shared on Mastodon.
more_from_html: More from %{name}
s_blog: "%{name}'s Blog"
title: Author attribution
challenge:
confirm: Continue
hint_html: "<strong>Tip:</strong> We won't ask you for your password again for the next hour."
@ -1177,6 +1117,7 @@ en:
crypto:
errors:
invalid_key: is not a valid Ed25519 or Curve25519 key
invalid_signature: is not a valid Ed25519 signature
date:
formats:
default: "%b %d, %Y"
@ -1205,9 +1146,9 @@ en:
before: 'Before proceeding, please read these notes carefully:'
caches: Content that has been cached by other servers may persist
data_removal: Your posts and other data will be permanently removed
email_change_html: You can <a href="%{path}">change your email address</a> without deleting your account
email_contact_html: If it still doesn't arrive, you can email <a href="mailto:%{email}">%{email}</a> for help
email_reconfirmation_html: If you are not receiving the confirmation email, you can <a href="%{path}">request it again</a>
email_change_html: You can <a href="%{path}">change your e-mail address</a> without deleting your account
email_contact_html: If it still doesn't arrive, you can e-mail <a href="mailto:%{email}">%{email}</a> for help
email_reconfirmation_html: If you are not receiving the confirmation e-mail, you can <a href="%{path}">request it again</a>
irreversible: You will not be able to restore or reactivate your account
more_details_html: For more details, see the <a href="%{terms_path}">privacy policy</a>.
username_available: Your username will become available again
@ -1242,6 +1183,8 @@ en:
your_appeal_approved: Your appeal has been approved
your_appeal_pending: You have submitted an appeal
your_appeal_rejected: Your appeal has been rejected
domain_validator:
invalid_domain: is not a valid domain name
edit_profile:
basic_information: Basic information
hint_html: "<strong>Customize what people see on your public profile and next to your posts.</strong> Other people are more likely to follow you back and interact with you when you have a filled out profile and a profile picture."
@ -1420,7 +1363,6 @@ en:
'86400': 1 day
expires_in_prompt: Never
generate: Generate invite link
invalid: This invite is not valid
invited_by: 'You were invited by:'
max_uses:
one: 1 use
@ -1438,7 +1380,7 @@ en:
authentication_methods:
otp: two-factor authentication app
password: password
sign_in_token: email security code
sign_in_token: e-mail security code
webauthn: security keys
description_html: If you see activity that you don't recognize, consider changing your password and enabling two-factor authentication.
empty: No authentication history available
@ -1449,21 +1391,20 @@ en:
unsubscribe:
action: Yes, unsubscribe
complete: Unsubscribed
confirmation_html: Are you sure you want to unsubscribe from receiving %{type} for Mastodon on %{domain} to your email at %{email}? You can always re-subscribe from your <a href="%{settings_path}">email notification settings</a>.
confirmation_html: Are you sure you want to unsubscribe from receiving %{type} for Mastodon on %{domain} to your e-mail at %{email}? You can always re-subscribe from your <a href="%{settings_path}">e-mail notification settings</a>.
emails:
notification_emails:
favourite: favorite notification emails
follow: follow notification emails
follow_request: follow request emails
mention: mention notification emails
reblog: boost notification emails
resubscribe_html: If you've unsubscribed by mistake, you can re-subscribe from your <a href="%{settings_path}">email notification settings</a>.
success_html: You'll no longer receive %{type} for Mastodon on %{domain} to your email at %{email}.
favourite: favorite notification e-mails
follow: follow notification e-mails
follow_request: follow request e-mails
mention: mention notification e-mails
reblog: boost notification e-mails
resubscribe_html: If you've unsubscribed by mistake, you can re-subscribe from your <a href="%{settings_path}">e-mail notification settings</a>.
success_html: You'll no longer receive %{type} for Mastodon on %{domain} to your e-mail at %{email}.
title: Unsubscribe
media_attachments:
validations:
images_and_video: Cannot attach a video to a post that already contains images
not_found: Media %{ids} not found or already attached to another post
not_ready: Cannot attach files that have not finished processing. Try again in a moment!
too_many: Cannot attach more than 4 files
migrations:
@ -1540,9 +1481,10 @@ en:
update:
subject: "%{name} edited a post"
notifications:
administration_emails: Admin email notifications
email_events: Events for email notifications
administration_emails: Admin e-mail notifications
email_events: Events for e-mail notifications
email_events_hint: 'Select events that you want to receive notifications for:'
other_settings: Other notifications settings
number:
human:
decimal_units:
@ -1599,9 +1541,6 @@ en:
errors:
limit_reached: Limit of different reactions reached
unrecognized_emoji: is not a recognized emoji
redirects:
prompt: If you trust this link, click it to continue.
title: You are leaving %{instance}.
relationships:
activity: Account activity
confirm_follow_selected_followers: Are you sure you want to follow selected followers?
@ -1637,9 +1576,6 @@ en:
over_daily_limit: You have exceeded the limit of %{limit} scheduled posts for today
over_total_limit: You have exceeded the limit of %{limit} scheduled posts
too_soon: The scheduled date must be in the future
self_destruct:
lead_html: Unfortunately, <strong>%{domain}</strong> is permanently closing down. If you had an account there, you will not be able to continue using it, but you can still request a backup of your data.
title: This server is closing down
sessions:
activity: Last activity
browser: Browser
@ -1664,7 +1600,6 @@ en:
unknown_browser: Unknown Browser
weibo: Weibo
current_session: Current session
date: Date
description: "%{browser} on %{platform}"
explanation: These are the web browsers currently logged in to your Mastodon account.
ip: IP
@ -1696,31 +1631,19 @@ en:
delete: Account deletion
development: Development
edit_profile: Edit profile
export: Export
export: Data export
featured_tags: Featured hashtags
import: Import
import_and_export: Import and export
migrate: Account migration
notifications: Email notifications
notifications: Notifications
preferences: Preferences
profile: Public profile
relationships: Follows and followers
severed_relationships: Severed relationships
statuses_cleanup: Automated post deletion
strikes: Moderation strikes
two_factor_authentication: Two-factor Auth
webauthn_authentication: Security keys
severed_relationships:
download: Download (%{count})
event_type:
account_suspension: Account suspension (%{target_name})
domain_block: Server suspension (%{target_name})
user_domain_block: You blocked %{target_name}
lost_followers: Lost followers
lost_follows: Lost follows
preamble: You may lose follows and followers when you block a domain or when your moderators decide to suspend a remote server. When that happens, you will be able to download lists of severed relationships, to be inspected and possibly imported on another server.
purged: Information about this server has been purged by your server's administrators.
type: Event
statuses:
attached:
audio:
@ -1742,12 +1665,25 @@ en:
edited_at_html: Edited %{date}
errors:
in_reply_not_found: The post you are trying to reply to does not appear to exist.
open_in_web: Open in web
over_character_limit: character limit of %{max} exceeded
pin_errors:
direct: Posts that are only visible to mentioned users cannot be pinned
limit: You have already pinned the maximum number of posts
ownership: Someone else's post cannot be pinned
reblog: A boost cannot be pinned
poll:
total_people:
one: "%{count} person"
other: "%{count} people"
total_votes:
one: "%{count} vote"
other: "%{count} votes"
vote: Vote
show_more: Show more
show_newer: Show newer
show_older: Show older
show_thread: Show thread
title: '%{name}: "%{quote}"'
visibilities:
direct: Direct
@ -1800,13 +1736,12 @@ en:
tags:
does_not_match_previous_name: does not match the previous name
themes:
contrast: Mastodon (High contrast)
default: Mastodon Bird UI (Dark)
mastodon-bird-ui-light: Mastodon Bird UI (Light)
mastodon-bird-ui-contrast: Mastodon Bird UI (High contrast)
mastodon-light: Mastodon (Light)
mastodon-dark: Mastodon (Dark)
system: Automatic (use system theme)
contrast: Mastodon (High contrast)
default: Mastodon Bird UI (Dark)
mastodon-bird-ui-light: Mastodon Bird UI (Light)
mastodon-bird-ui-contrast: Mastodon Bird UI (High contrast)
mastodon-light: Mastodon (Light)
mastodon-dark: Mastodon (Dark)
time:
formats:
default: "%b %d, %Y, %H:%M"
@ -1834,27 +1769,18 @@ en:
webauthn: Security keys
user_mailer:
appeal_approved:
action: Account Settings
action: Go to your account
explanation: The appeal of the strike against your account on %{strike_date} that you submitted on %{appeal_date} has been approved. Your account is once again in good standing.
subject: Your appeal from %{date} has been approved
subtitle: Your account is once again in good standing.
title: Appeal approved
appeal_rejected:
explanation: The appeal of the strike against your account on %{strike_date} that you submitted on %{appeal_date} has been rejected.
subject: Your appeal from %{date} has been rejected
subtitle: Your appeal has been rejected.
title: Appeal rejected
backup_ready:
explanation: You requested a full backup of your Mastodon account.
extra: It's now ready for download!
explanation: You requested a full backup of your Mastodon account. It's now ready for download!
subject: Your archive is ready for download
title: Archive takeout
failed_2fa:
details: 'Here are details of the sign-in attempt:'
explanation: Someone has tried to sign in to your account but provided an invalid second authentication factor.
further_actions_html: If this wasn't you, we recommend that you %{action} immediately as it may be compromised.
subject: Second factor authentication failure
title: Failed second factor authentication
suspicious_sign_in:
change_password: change your password
details: 'Here are details of the sign-in:'
@ -1894,44 +1820,13 @@ en:
silence: Account limited
suspend: Account suspended
welcome:
apps_android_action: Get it on Google Play
apps_ios_action: Download on the App Store
apps_step: Download our official apps.
apps_title: Mastodon apps
checklist_subtitle: 'Let''s get you started on this new social frontier:'
checklist_title: Welcome Checklist
edit_profile_action: Personalize
edit_profile_step: Boost your interactions by having a comprehensive profile.
edit_profile_title: Personalize your profile
edit_profile_action: Setup profile
edit_profile_step: You can customize your profile by uploading a profile picture, changing your display name and more. You can opt-in to review new followers before theyre allowed to follow you.
explanation: Here are some tips to get you started
feature_action: Learn more
feature_audience: Mastodon provides you with a unique possibility of managing your audience without middlemen. Mastodon deployed on your own infrastructure allows you to follow and be followed from any other Mastodon server online and is under no one's control but yours.
feature_audience_title: Build your audience in confidence
feature_control: You know best what you want to see on your home feed. No algorithms or ads to waste your time. Follow anyone across any Mastodon server from a single account and receive their posts in chronological order, and make your corner of the internet a little more like you.
feature_control_title: Stay in control of your own timeline
feature_creativity: Mastodon supports audio, video and picture posts, accessibility descriptions, polls, content warnings, animated avatars, custom emojis, thumbnail crop control, and more, to help you express yourself online. Whether you're publishing your art, your music, or your podcast, Mastodon is there for you.
feature_creativity_title: Unparalleled creativity
feature_moderation: Mastodon puts decision making back in your hands. Each server creates their own rules and regulations, which are enforced locally and not top-down like corporate social media, making it the most flexible in responding to the needs of different groups of people. Join a server with the rules you agree with, or host your own.
feature_moderation_title: Moderating the way it should be
follow_action: Follow
follow_step: Following interesting people is what Mastodon is all about.
follow_title: Personalize your home feed
follows_subtitle: Follow well-known accounts
follows_title: Who to follow
follows_view_more: View more people to follow
hashtags_recent_count:
one: "%{people} person in the past 2 days"
other: "%{people} people in the past 2 days"
hashtags_subtitle: Explore whats trending since past 2 days
hashtags_title: Trending hashtags
hashtags_view_more: View more trending hashtags
post_action: Compose
post_step: Say hello to the world with text, photos, videos, or polls.
post_title: Make your first post
share_action: Share
share_step: Let your friends know how to find you on Mastodon.
share_title: Share your Mastodon profile
sign_in_action: Sign in
final_action: Start posting
final_step: 'Start posting! Even without followers, your public posts may be seen by others, for example on the local timeline or in hashtags. You may want to introduce yourself on the #introductions hashtag.'
full_handle: Your full handle
full_handle_hint: This is what you would tell your friends so they can message or follow you from another server.
subject: Welcome to Mastodon
title: Welcome aboard, %{name}!
users:
@ -1940,7 +1835,7 @@ en:
invalid_otp_token: Invalid two-factor code
otp_lost_help_html: If you lost access to both, you may get in touch with %{email}
rate_limited: Too many authentication attempts, try again later.
seamless_external_login: You are logged in via an external service, so password and email settings are not available.
seamless_external_login: You are logged in via an external service, so password and e-mail settings are not available.
signed_in_as: 'Signed in as:'
verification:
extra_instructions_html: <strong>Tip:</strong> The link on your website can be invisible. The important part is <code>rel="me"</code> which prevents impersonation on websites with user-generated content. You can even use a <code>link</code> tag in the header of the page instead of <code>a</code>, but the HTML must be accessible without executing JavaScript.
@ -1949,7 +1844,6 @@ en:
instructions_html: Copy and paste the code below into the HTML of your website. Then add the address of your website into one of the extra fields on your profile from the "Edit profile" tab and save changes.
verification: Verification
verified_links: Your verified links
website_verification: Website verification
webauthn_credentials:
add: Add new security key
create:

File diff suppressed because it is too large Load diff