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' # - '127.0.0.1:9200:9200'
web: web:
image: richarvey:mastodon-bird-ui:latest build: .
image: richarvey/mastodon-bird-ui:latest
restart: always restart: always
env_file: .env.production env_file: .env.production
command: bundle exec puma -C config/puma.rb command: bundle exec puma -C config/puma.rb
@ -112,7 +113,7 @@ services:
- internal_network - internal_network
healthcheck: healthcheck:
# prettier-ignore # 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: ports:
- '127.0.0.1:3000:3000' - '127.0.0.1:3000:3000'
depends_on: depends_on:
@ -123,20 +124,17 @@ services:
- ./public/system:/mastodon/public/system - ./public/system:/mastodon/public/system
streaming: 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: .
# build: image: ghcr.io/mastodon/mastodon:v4.2.9
# dockerfile: ./streaming/Dockerfile
# context: .
image: ghcr.io/mastodon/mastodon-streaming:v4.3.0
restart: always restart: always
env_file: .env.production env_file: .env.production
command: node ./streaming/index.js command: node ./streaming
networks: networks:
- external_network - external_network
- internal_network - internal_network
healthcheck: healthcheck:
# prettier-ignore # 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: ports:
- '127.0.0.1:4000:4000' - '127.0.0.1:4000:4000'
depends_on: depends_on:
@ -145,7 +143,7 @@ services:
sidekiq: sidekiq:
build: . build: .
image: ghcr.io/mastodon/mastodon:v4.3.0 image: ghcr.io/mastodon/mastodon:v4.2.9
restart: always restart: always
env_file: .env.production env_file: .env.production
command: bundle exec sidekiq command: bundle exec sidekiq

View file

@ -1,18 +1,12 @@
#!/bin/bash #!/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 # Change to the main repo
cd mastodon 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 # Create a new folder for the theme
mkdir -p app/javascript/styles/mastodon-bird-ui 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 # If the main branch of the repo build tagged version and latest image
cd ../ cd ../
BRANCH="$(git rev-parse --abbrev-ref HEAD)" BRANCH="$(git rev-parse --abbrev-ref HEAD)"
if [[ "$BRANCH" == "main" ]]; then if [[ "$BRANCH" == "nightly" ]]; then
echo 'Main branch'; echo 'Nightly branch';
# Build the images for multiple architectures # Build the images for multiple architectures
cd mastodon 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 fi

View file

@ -1,15 +1,19 @@
--- mastodon/config/locales/en.yml 2024-10-08 19:09:07.372311428 +0100 --- mastodon/config/locales/en.yml 2024-06-17 17:21:11.527756697 +0000
+++ en.yml 2024-10-08 19:15:36.167324037 +0100 +++ en.yml 2024-06-17 17:24:46.506720584 +0000
@@ -1801,8 +1801,11 @@ @@ -1736,9 +1736,13 @@
tags:
does_not_match_previous_name: does not match the previous name does_not_match_previous_name: does not match the previous name
themes: themes:
contrast: Mastodon (High contrast) - contrast: Mastodon (High contrast)
- default: Mastodon (Dark) - default: Mastodon (Dark)
- mastodon-light: Mastodon (Light)
+ contrast: Mastodon (High contrast)
+ default: Mastodon Bird UI (Dark) + default: Mastodon Bird UI (Dark)
+ mastodon-bird-ui-dark: Mastodon Bird UI (Dark)
+ mastodon-bird-ui-light: Mastodon Bird UI (Light) + mastodon-bird-ui-light: Mastodon Bird UI (Light)
+ mastodon-bird-ui-contrast: Mastodon Bird UI (High contrast) + mastodon-bird-ui-contrast: Mastodon Bird UI (High contrast)
mastodon-light: Mastodon (Light) + mastodon-light: Mastodon (Light)
+ mastodon-dark: Mastodon (Dark) + mastodon-dark: Mastodon (Dark)
system: Automatic (use system theme)
time: time:
formats: 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 --- mastodon/config/locales/fi.yml 2024-06-17 18:16:43.497414066 +0100
+++ fi.yml 2024-10-08 19:15:03.228826466 +0100 +++ fi.yml 2024-06-17 20:45:58.558026465 +0100
@@ -1799,9 +1799,12 @@ @@ -1731,8 +1731,12 @@
tags:
does_not_match_previous_name: ei vastaa edellistä nimeä does_not_match_previous_name: ei vastaa edellistä nimeä
themes: themes:
- contrast: Mastodon (suuri kontrasti) contrast: Mastodon (Korkea kontrasti)
- default: Mastodon (tumma) - default: Mastodon (Tumma)
- mastodon-light: Mastodon (vaalea) + default: Mastodon Bird UI (Tumma)
+ contrast: Mastodon (High contrast) + mastodon-bird-ui-dark: Mastodon Vird UI (Tumma)
+ default: Mastodon Bird UI (Dark) + mastodon-bird-ui-light: Mastodon Bird UI (Vaalea)
+ mastodon-bird-ui-light: Mastodon Bird UI (Light) + mastodon-bird-ui-contrast: Mastodon Bird UI (Korkea kontrasti)
+ mastodon-bird-ui-contrast: Mastodon Bird UI (High contrast) mastodon-light: Mastodon (Vaalea)
+ mastodon-light: Mastodon (Light) + mastodon-dark: Mastodon (Tumma)
+ mastodon-dark: Mastodon (Dark)
system: Automaattinen (käytä järjestelmän teemaa)
time: time:
formats: 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} hosted_on: Mastodon hosted on %{domain}
title: About title: About
accounts: accounts:
follow: Follow
followers: followers:
one: Follower one: Follower
other: Followers other: Followers
@ -24,15 +25,13 @@ en:
admin: admin:
account_actions: account_actions:
action: Perform action 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} title: Perform moderation action on %{acct}
account_moderation_notes: account_moderation_notes:
create: Leave note create: Leave note
created_msg: Moderation note successfully created! created_msg: Moderation note successfully created!
destroyed_msg: Moderation note successfully destroyed! destroyed_msg: Moderation note successfully destroyed!
accounts: accounts:
add_email_domain_block: Block email domain add_email_domain_block: Block e-mail domain
approve: Approve approve: Approve
approved_msg: Successfully approved %{username}'s sign-up application approved_msg: Successfully approved %{username}'s sign-up application
are_you_sure: Are you sure? are_you_sure: Are you sure?
@ -47,7 +46,6 @@ en:
title: Change email for %{username} title: Change email for %{username}
change_role: change_role:
changed_msg: Role successfully changed! changed_msg: Role successfully changed!
edit_roles: Manage user roles
label: Change role label: Change role
no_role: No role no_role: No role
title: Change role for %{username} title: Change role for %{username}
@ -60,7 +58,7 @@ en:
demote: Demote demote: Demote
destroyed_msg: "%{username}'s data is now queued to be deleted imminently" destroyed_msg: "%{username}'s data is now queued to be deleted imminently"
disable: Freeze 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 disable_two_factor_authentication: Disable 2FA
disabled: Frozen disabled: Frozen
display_name: Display name display_name: Display name
@ -69,7 +67,7 @@ en:
email: Email email: Email
email_status: Email status email_status: Email status
enable: Unfreeze enable: Unfreeze
enable_sign_in_token_auth: Enable email token authentication enable_sign_in_token_auth: Enable e-mail token authentication
enabled: Enabled enabled: Enabled
enabled_msg: Successfully unfroze %{username}'s account enabled_msg: Successfully unfroze %{username}'s account
followers: Followers followers: Followers
@ -134,7 +132,7 @@ en:
resubscribe: Resubscribe resubscribe: Resubscribe
role: Role role: Role
search: Search 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 search_same_ip: Other users with the same IP
security: Security security: Security
security_measures: security_measures:
@ -175,26 +173,26 @@ en:
approve_appeal: Approve Appeal approve_appeal: Approve Appeal
approve_user: Approve User approve_user: Approve User
assigned_to_self_report: Assign Report 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 change_role_user: Change Role of User
confirm_user: Confirm User confirm_user: Confirm User
create_account_warning: Create Warning create_account_warning: Create Warning
create_announcement: Create Announcement 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_custom_emoji: Create Custom Emoji
create_domain_allow: Create Domain Allow create_domain_allow: Create Domain Allow
create_domain_block: Create Domain Block 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_ip_block: Create IP rule
create_unavailable_domain: Create Unavailable Domain create_unavailable_domain: Create Unavailable Domain
create_user_role: Create Role create_user_role: Create Role
demote_user: Demote User demote_user: Demote User
destroy_announcement: Delete Announcement 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_custom_emoji: Delete Custom Emoji
destroy_domain_allow: Delete Domain Allow destroy_domain_allow: Delete Domain Allow
destroy_domain_block: Delete Domain Block 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_instance: Purge Domain
destroy_ip_block: Delete IP rule destroy_ip_block: Delete IP rule
destroy_status: Delete Post destroy_status: Delete Post
@ -202,10 +200,10 @@ en:
destroy_user_role: Destroy Role destroy_user_role: Destroy Role
disable_2fa_user: Disable 2FA disable_2fa_user: Disable 2FA
disable_custom_emoji: Disable Custom Emoji 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 disable_user: Disable User
enable_custom_emoji: Enable Custom Emoji 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 enable_user: Enable User
memorialize_account: Memorialize Account memorialize_account: Memorialize Account
promote_user: Promote User promote_user: Promote User
@ -228,33 +226,32 @@ en:
update_custom_emoji: Update Custom Emoji update_custom_emoji: Update Custom Emoji
update_domain_block: Update Domain Block update_domain_block: Update Domain Block
update_ip_block: Update IP rule update_ip_block: Update IP rule
update_report: Update Report
update_status: Update Post update_status: Update Post
update_user_role: Update Role update_user_role: Update Role
actions: actions:
approve_appeal_html: "%{name} approved moderation decision appeal from %{target}" approve_appeal_html: "%{name} approved moderation decision appeal from %{target}"
approve_user_html: "%{name} approved sign-up from %{target}" approve_user_html: "%{name} approved sign-up from %{target}"
assigned_to_self_report_html: "%{name} assigned report %{target} to themselves" 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}" 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_account_warning_html: "%{name} sent a warning to %{target}"
create_announcement_html: "%{name} created new announcement %{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_custom_emoji_html: "%{name} uploaded new emoji %{target}"
create_domain_allow_html: "%{name} allowed federation with domain %{target}" create_domain_allow_html: "%{name} allowed federation with domain %{target}"
create_domain_block_html: "%{name} blocked 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_ip_block_html: "%{name} created rule for IP %{target}"
create_unavailable_domain_html: "%{name} stopped delivery to domain %{target}" create_unavailable_domain_html: "%{name} stopped delivery to domain %{target}"
create_user_role_html: "%{name} created %{target} role" create_user_role_html: "%{name} created %{target} role"
demote_user_html: "%{name} demoted user %{target}" demote_user_html: "%{name} demoted user %{target}"
destroy_announcement_html: "%{name} deleted announcement %{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_custom_emoji_html: "%{name} deleted emoji %{target}"
destroy_domain_allow_html: "%{name} disallowed federation with domain %{target}" destroy_domain_allow_html: "%{name} disallowed federation with domain %{target}"
destroy_domain_block_html: "%{name} unblocked 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_instance_html: "%{name} purged domain %{target}"
destroy_ip_block_html: "%{name} deleted rule for IP %{target}" destroy_ip_block_html: "%{name} deleted rule for IP %{target}"
destroy_status_html: "%{name} removed post by %{target}" destroy_status_html: "%{name} removed post by %{target}"
@ -262,10 +259,10 @@ en:
destroy_user_role_html: "%{name} deleted %{target} role" destroy_user_role_html: "%{name} deleted %{target} role"
disable_2fa_user_html: "%{name} disabled two factor requirement for user %{target}" disable_2fa_user_html: "%{name} disabled two factor requirement for user %{target}"
disable_custom_emoji_html: "%{name} disabled emoji %{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}" disable_user_html: "%{name} disabled login for user %{target}"
enable_custom_emoji_html: "%{name} enabled emoji %{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}" enable_user_html: "%{name} enabled login for user %{target}"
memorialize_account_html: "%{name} turned %{target}'s account into a memoriam page" memorialize_account_html: "%{name} turned %{target}'s account into a memoriam page"
promote_user_html: "%{name} promoted user %{target}" promote_user_html: "%{name} promoted user %{target}"
@ -273,7 +270,7 @@ en:
reject_user_html: "%{name} rejected sign-up from %{target}" reject_user_html: "%{name} rejected sign-up from %{target}"
remove_avatar_user_html: "%{name} removed %{target}'s avatar" remove_avatar_user_html: "%{name} removed %{target}'s avatar"
reopen_report_html: "%{name} reopened report %{target}" 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}" reset_password_user_html: "%{name} reset password of user %{target}"
resolve_report_html: "%{name} resolved report %{target}" resolve_report_html: "%{name} resolved report %{target}"
sensitive_account_html: "%{name} marked %{target}'s media as sensitive" sensitive_account_html: "%{name} marked %{target}'s media as sensitive"
@ -288,7 +285,6 @@ en:
update_custom_emoji_html: "%{name} updated emoji %{target}" update_custom_emoji_html: "%{name} updated emoji %{target}"
update_domain_block_html: "%{name} updated domain block for %{target}" update_domain_block_html: "%{name} updated domain block for %{target}"
update_ip_block_html: "%{name} changed rule for IP %{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_status_html: "%{name} updated post by %{target}"
update_user_role_html: "%{name} changed %{target} role" update_user_role_html: "%{name} changed %{target} role"
deleted_account: deleted account deleted_account: deleted account
@ -296,7 +292,6 @@ en:
filter_by_action: Filter by action filter_by_action: Filter by action
filter_by_user: Filter by user filter_by_user: Filter by user
title: Audit log title: Audit log
unavailable_instance: "(domain name unavailable)"
announcements: announcements:
destroyed_msg: Announcement successfully deleted! destroyed_msg: Announcement successfully deleted!
edit: edit:
@ -430,11 +425,10 @@ en:
view: View domain block view: View domain block
email_domain_blocks: email_domain_blocks:
add_new: Add new add_new: Add new
allow_registrations_with_approval: Allow registrations with approval
attempts_over_week: attempts_over_week:
one: "%{count} attempt over the last week" one: "%{count} attempt over the last week"
other: "%{count} sign-up attempts 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 delete: Delete
dns: dns:
types: types:
@ -443,12 +437,12 @@ en:
new: new:
create: Add domain create: Add domain
resolve: Resolve domain resolve: Resolve domain
title: Block new email domain title: Block new e-mail domain
no_email_domain_block_selected: No email domain blocks were changed as none were selected no_email_domain_block_selected: No e-mail domain blocks were changed as none were selected
not_permitted: Not permitted 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} resolved_through_html: Resolved through %{domain}
title: Blocked email domains title: Blocked e-mail domains
export_domain_allows: export_domain_allows:
new: new:
title: Import domain allows title: Import domain allows
@ -473,9 +467,6 @@ en:
title: Follow recommendations title: Follow recommendations
unsuppress: Restore follow recommendation unsuppress: Restore follow recommendation
instances: instances:
audit_log:
title: Recent Audit Logs
view_all: View full audit logs
availability: availability:
description_html: 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. 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_reported: Reports about them
total_storage: Media attachments total_storage: Media attachments
totals_time_period_hint_html: The totals displayed below include data for all time. 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: invites:
deactivate_all: Deactivate all deactivate_all: Deactivate all
filter: 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. 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. 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. 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_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 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? are_you_sure: Are you sure?
assign_to_self: Assign to me assign_to_self: Assign to me
assigned: Assigned moderator assigned: Assigned moderator
@ -624,7 +610,6 @@ en:
created_at: Reported created_at: Reported
delete_and_resolve: Delete posts delete_and_resolve: Delete posts
forwarded: Forwarded 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} forwarded_to: Forwarded to %{domain}
mark_as_resolved: Mark as resolved mark_as_resolved: Mark as resolved
mark_as_sensitive: Mark as sensitive mark_as_sensitive: Mark as sensitive
@ -645,7 +630,6 @@ en:
report: 'Report #%{id}' report: 'Report #%{id}'
reported_account: Reported account reported_account: Reported account
reported_by: Reported by reported_by: Reported by
reported_with_application: Reported with application
resolved: Resolved resolved: Resolved
resolved_msg: Report successfully resolved! resolved_msg: Report successfully resolved!
skip_to_actions: Skip to actions 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 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:" 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 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. warning_placeholder: Optional additional reasoning for the moderation action.
target_origin: Origin of reported account target_origin: Origin of reported account
title: Reports title: Reports
@ -708,7 +692,7 @@ en:
manage_appeals: Manage Appeals manage_appeals: Manage Appeals
manage_appeals_description: Allows users to review appeals against moderation actions manage_appeals_description: Allows users to review appeals against moderation actions
manage_blocks: Manage Blocks 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: Manage Custom Emojis
manage_custom_emojis_description: Allows users to manage custom emojis on the server manage_custom_emojis_description: Allows users to manage custom emojis on the server
manage_federation: Manage Federation manage_federation: Manage Federation
@ -726,7 +710,7 @@ en:
manage_taxonomies: Manage Taxonomies manage_taxonomies: Manage Taxonomies
manage_taxonomies_description: Allows users to review trending content and update hashtag settings manage_taxonomies_description: Allows users to review trending content and update hashtag settings
manage_user_access: Manage User Access 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: Manage Users
manage_users_description: Allows users to view other users' details and perform moderation actions against them manage_users_description: Allows users to view other users' details and perform moderation actions against them
manage_webhooks: Manage Webhooks 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. 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 title: Require new users to solve a CAPTCHA to confirm their account
content_retention: content_retention:
danger_zone: Danger zone
preamble: Control how user-generated content is stored in Mastodon. preamble: Control how user-generated content is stored in Mastodon.
title: Content retention title: Content retention
default_noindex: default_noindex:
@ -801,7 +784,7 @@ en:
destroyed_msg: Site upload successfully deleted! destroyed_msg: Site upload successfully deleted!
software_updates: software_updates:
critical_update: Critical — please update quickly 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 documentation_link: Learn more
release_notes: Release notes release_notes: Release notes
title: Available updates title: Available updates
@ -875,9 +858,6 @@ en:
message_html: You haven't defined any server rules. message_html: You haven't defined any server rules.
sidekiq_process_check: sidekiq_process_check:
message_html: No Sidekiq process running for the %{value} queue(s). Please review your Sidekiq configuration 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: software_version_critical_check:
action: See available updates action: See available updates
message_html: A critical Mastodon update is available, please update as quickly as possible. 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 action: Check here for more information
message_html: "<strong>Your object storage is misconfigured. The privacy of your users is at risk.</strong>" message_html: "<strong>Your object storage is misconfigured. The privacy of your users is at risk.</strong>"
tags: 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 review: Review status
search: Search
title: Hashtags
updated_msg: Hashtag settings updated successfully updated_msg: Hashtag settings updated successfully
title: Administration title: Administration
trends: trends:
allow: Allow allow: Allow
approved: Approved 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 disallow: Disallow
links: links:
allow: Allow link allow: Allow link
allow_provider: Allow publisher 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. 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: Disallow link
disallow_provider: Disallow publisher disallow_provider: Disallow publisher
@ -947,10 +904,6 @@ en:
statuses: statuses:
allow: Allow post allow: Allow post
allow_account: Allow author 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. 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: Disallow post
disallow_account: Disallow author disallow_account: Disallow author
@ -983,14 +936,14 @@ en:
used_by_over_week: used_by_over_week:
one: Used by one person over the last week one: Used by one person over the last week
other: Used by %{count} people over the last week other: Used by %{count} people over the last week
title: Recommendations & Trends title: Trends
trending: Trending trending: Trending
warning_presets: warning_presets:
add_new: Add new add_new: Add new
delete: Delete delete: Delete
edit_preset: Edit warning preset edit_preset: Edit warning preset
empty: You haven't defined any warning presets yet. empty: You haven't defined any warning presets yet.
title: Warning presets title: Manage warning presets
webhooks: webhooks:
add_new: Add endpoint add_new: Add endpoint
delete: Delete delete: Delete
@ -1047,6 +1000,8 @@ en:
new_trending_statuses: new_trending_statuses:
title: Trending posts title: Trending posts
new_trending_tags: 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 title: Trending hashtags
subject: New trends up for review on %{instance} subject: New trends up for review on %{instance}
aliases: aliases:
@ -1068,9 +1023,9 @@ en:
guide_link_text: Everyone can contribute. guide_link_text: Everyone can contribute.
sensitive_content: Sensitive content sensitive_content: Sensitive content
application_mailer: application_mailer:
notification_preferences: Change email preferences notification_preferences: Change e-mail preferences
salutation: "%{name}," salutation: "%{name},"
settings: 'Change email preferences: %{link}' settings: 'Change e-mail preferences: %{link}'
unsubscribe: Unsubscribe unsubscribe: Unsubscribe
view: 'View:' view: 'View:'
view_profile: View profile 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". 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 title: Security check
confirmations: 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! wrong_email_hint: If that e-mail address is not correct, you can change it in account settings.
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.
delete_account: Delete account 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. 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: description:
@ -1119,7 +1066,7 @@ en:
or_log_in_with: Or log in with 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> privacy_policy_agreement_html: I have read and agree to the <a href="%{privacy_policy_path}" target="_blank">privacy policy</a>
progress: progress:
confirm: Confirm email confirm: Confirm e-mail
details: Your details details: Your details
review: Our review review: Our review
rules: Accept rules rules: Accept rules
@ -1141,10 +1088,10 @@ en:
security: Security security: Security
set_new_password: Set new password set_new_password: Set new password
setup: 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. 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? 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 title: Check your inbox
sign_in: 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. 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}. title: Let's get you set up on %{domain}.
status: status:
account_status: Account 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. 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}. 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 view_strikes: View past strikes against your account
too_fast: Form submitted too fast, try again. too_fast: Form submitted too fast, try again.
use_security_key: Use security key 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: challenge:
confirm: Continue confirm: Continue
hint_html: "<strong>Tip:</strong> We won't ask you for your password again for the next hour." hint_html: "<strong>Tip:</strong> We won't ask you for your password again for the next hour."
@ -1177,6 +1117,7 @@ en:
crypto: crypto:
errors: errors:
invalid_key: is not a valid Ed25519 or Curve25519 key invalid_key: is not a valid Ed25519 or Curve25519 key
invalid_signature: is not a valid Ed25519 signature
date: date:
formats: formats:
default: "%b %d, %Y" default: "%b %d, %Y"
@ -1205,9 +1146,9 @@ en:
before: 'Before proceeding, please read these notes carefully:' before: 'Before proceeding, please read these notes carefully:'
caches: Content that has been cached by other servers may persist caches: Content that has been cached by other servers may persist
data_removal: Your posts and other data will be permanently removed 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_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 email <a href="mailto:%{email}">%{email}</a> for help 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 email, you can <a href="%{path}">request it again</a> 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 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>. more_details_html: For more details, see the <a href="%{terms_path}">privacy policy</a>.
username_available: Your username will become available again username_available: Your username will become available again
@ -1242,6 +1183,8 @@ en:
your_appeal_approved: Your appeal has been approved your_appeal_approved: Your appeal has been approved
your_appeal_pending: You have submitted an appeal your_appeal_pending: You have submitted an appeal
your_appeal_rejected: Your appeal has been rejected your_appeal_rejected: Your appeal has been rejected
domain_validator:
invalid_domain: is not a valid domain name
edit_profile: edit_profile:
basic_information: Basic information 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." 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 '86400': 1 day
expires_in_prompt: Never expires_in_prompt: Never
generate: Generate invite link generate: Generate invite link
invalid: This invite is not valid
invited_by: 'You were invited by:' invited_by: 'You were invited by:'
max_uses: max_uses:
one: 1 use one: 1 use
@ -1438,7 +1380,7 @@ en:
authentication_methods: authentication_methods:
otp: two-factor authentication app otp: two-factor authentication app
password: password password: password
sign_in_token: email security code sign_in_token: e-mail security code
webauthn: security keys webauthn: security keys
description_html: If you see activity that you don't recognize, consider changing your password and enabling two-factor authentication. 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 empty: No authentication history available
@ -1449,21 +1391,20 @@ en:
unsubscribe: unsubscribe:
action: Yes, unsubscribe action: Yes, unsubscribe
complete: Unsubscribed 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: emails:
notification_emails: notification_emails:
favourite: favorite notification emails favourite: favorite notification e-mails
follow: follow notification emails follow: follow notification e-mails
follow_request: follow request emails follow_request: follow request e-mails
mention: mention notification emails mention: mention notification e-mails
reblog: boost notification emails reblog: boost notification e-mails
resubscribe_html: If you've unsubscribed by mistake, you can re-subscribe from your <a href="%{settings_path}">email notification settings</a>. 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 email at %{email}. success_html: You'll no longer receive %{type} for Mastodon on %{domain} to your e-mail at %{email}.
title: Unsubscribe title: Unsubscribe
media_attachments: media_attachments:
validations: validations:
images_and_video: Cannot attach a video to a post that already contains images 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! not_ready: Cannot attach files that have not finished processing. Try again in a moment!
too_many: Cannot attach more than 4 files too_many: Cannot attach more than 4 files
migrations: migrations:
@ -1540,9 +1481,10 @@ en:
update: update:
subject: "%{name} edited a post" subject: "%{name} edited a post"
notifications: notifications:
administration_emails: Admin email notifications administration_emails: Admin e-mail notifications
email_events: Events for email notifications email_events: Events for e-mail notifications
email_events_hint: 'Select events that you want to receive notifications for:' email_events_hint: 'Select events that you want to receive notifications for:'
other_settings: Other notifications settings
number: number:
human: human:
decimal_units: decimal_units:
@ -1599,9 +1541,6 @@ en:
errors: errors:
limit_reached: Limit of different reactions reached limit_reached: Limit of different reactions reached
unrecognized_emoji: is not a recognized emoji unrecognized_emoji: is not a recognized emoji
redirects:
prompt: If you trust this link, click it to continue.
title: You are leaving %{instance}.
relationships: relationships:
activity: Account activity activity: Account activity
confirm_follow_selected_followers: Are you sure you want to follow selected followers? 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_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 over_total_limit: You have exceeded the limit of %{limit} scheduled posts
too_soon: The scheduled date must be in the future 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: sessions:
activity: Last activity activity: Last activity
browser: Browser browser: Browser
@ -1664,7 +1600,6 @@ en:
unknown_browser: Unknown Browser unknown_browser: Unknown Browser
weibo: Weibo weibo: Weibo
current_session: Current session current_session: Current session
date: Date
description: "%{browser} on %{platform}" description: "%{browser} on %{platform}"
explanation: These are the web browsers currently logged in to your Mastodon account. explanation: These are the web browsers currently logged in to your Mastodon account.
ip: IP ip: IP
@ -1696,31 +1631,19 @@ en:
delete: Account deletion delete: Account deletion
development: Development development: Development
edit_profile: Edit profile edit_profile: Edit profile
export: Export export: Data export
featured_tags: Featured hashtags featured_tags: Featured hashtags
import: Import import: Import
import_and_export: Import and export import_and_export: Import and export
migrate: Account migration migrate: Account migration
notifications: Email notifications notifications: Notifications
preferences: Preferences preferences: Preferences
profile: Public profile profile: Public profile
relationships: Follows and followers relationships: Follows and followers
severed_relationships: Severed relationships
statuses_cleanup: Automated post deletion statuses_cleanup: Automated post deletion
strikes: Moderation strikes strikes: Moderation strikes
two_factor_authentication: Two-factor Auth two_factor_authentication: Two-factor Auth
webauthn_authentication: Security keys 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: statuses:
attached: attached:
audio: audio:
@ -1742,12 +1665,25 @@ en:
edited_at_html: Edited %{date} edited_at_html: Edited %{date}
errors: errors:
in_reply_not_found: The post you are trying to reply to does not appear to exist. 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 over_character_limit: character limit of %{max} exceeded
pin_errors: pin_errors:
direct: Posts that are only visible to mentioned users cannot be pinned direct: Posts that are only visible to mentioned users cannot be pinned
limit: You have already pinned the maximum number of posts limit: You have already pinned the maximum number of posts
ownership: Someone else's post cannot be pinned ownership: Someone else's post cannot be pinned
reblog: A boost 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}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: Direct direct: Direct
@ -1806,7 +1742,6 @@ en:
mastodon-bird-ui-contrast: Mastodon Bird UI (High contrast) mastodon-bird-ui-contrast: Mastodon Bird UI (High contrast)
mastodon-light: Mastodon (Light) mastodon-light: Mastodon (Light)
mastodon-dark: Mastodon (Dark) mastodon-dark: Mastodon (Dark)
system: Automatic (use system theme)
time: time:
formats: formats:
default: "%b %d, %Y, %H:%M" default: "%b %d, %Y, %H:%M"
@ -1834,27 +1769,18 @@ en:
webauthn: Security keys webauthn: Security keys
user_mailer: user_mailer:
appeal_approved: 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. 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 subject: Your appeal from %{date} has been approved
subtitle: Your account is once again in good standing.
title: Appeal approved title: Appeal approved
appeal_rejected: appeal_rejected:
explanation: The appeal of the strike against your account on %{strike_date} that you submitted on %{appeal_date} has been 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 subject: Your appeal from %{date} has been rejected
subtitle: Your appeal has been rejected.
title: Appeal rejected title: Appeal rejected
backup_ready: backup_ready:
explanation: You requested a full backup of your Mastodon account. explanation: You requested a full backup of your Mastodon account. It's now ready for download!
extra: It's now ready for download!
subject: Your archive is ready for download subject: Your archive is ready for download
title: Archive takeout 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: suspicious_sign_in:
change_password: change your password change_password: change your password
details: 'Here are details of the sign-in:' details: 'Here are details of the sign-in:'
@ -1894,44 +1820,13 @@ en:
silence: Account limited silence: Account limited
suspend: Account suspended suspend: Account suspended
welcome: welcome:
apps_android_action: Get it on Google Play edit_profile_action: Setup profile
apps_ios_action: Download on the App Store 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.
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
explanation: Here are some tips to get you started explanation: Here are some tips to get you started
feature_action: Learn more final_action: Start posting
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. 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.'
feature_audience_title: Build your audience in confidence full_handle: Your full handle
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. full_handle_hint: This is what you would tell your friends so they can message or follow you from another server.
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
subject: Welcome to Mastodon subject: Welcome to Mastodon
title: Welcome aboard, %{name}! title: Welcome aboard, %{name}!
users: users:
@ -1940,7 +1835,7 @@ en:
invalid_otp_token: Invalid two-factor code invalid_otp_token: Invalid two-factor code
otp_lost_help_html: If you lost access to both, you may get in touch with %{email} 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. 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:' signed_in_as: 'Signed in as:'
verification: 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. 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. 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 verification: Verification
verified_links: Your verified links verified_links: Your verified links
website_verification: Website verification
webauthn_credentials: webauthn_credentials:
add: Add new security key add: Add new security key
create: create:

File diff suppressed because it is too large Load diff