Run yarn i18n, copy some messages from en.json back into source files
This commit is contained in:
parent
b5f92b10f9
commit
f6251a221a
|
@ -91,7 +91,7 @@ const COMPOSE_EDITOR_STATE_SET = 'COMPOSE_EDITOR_STATE_SET' as const;
|
|||
|
||||
const messages = defineMessages({
|
||||
scheduleError: { id: 'compose.invalid_schedule', defaultMessage: 'You must schedule a post at least 5 minutes out.' },
|
||||
success: { id: 'compose.submit_success', defaultMessage: 'Your post was sent' },
|
||||
success: { id: 'compose.submit_success', defaultMessage: 'Your post was sent!' },
|
||||
editSuccess: { id: 'compose.edit_success', defaultMessage: 'Your post was edited' },
|
||||
uploadErrorLimit: { id: 'upload_error.limit', defaultMessage: 'File upload limit exceeded.' },
|
||||
uploadErrorPoll: { id: 'upload_error.poll', defaultMessage: 'File upload not allowed with polls.' },
|
||||
|
|
|
@ -49,7 +49,7 @@ const PollFooter: React.FC<IPollFooter> = ({ poll, showResults, selected }): JSX
|
|||
<Stack space={4} data-testid='poll-footer'>
|
||||
{(!showResults && poll.multiple) && (
|
||||
<Button onClick={handleVote} theme='primary' block>
|
||||
<FormattedMessage id='poll.vote' defaultMessage='Vote' />
|
||||
<FormattedMessage id='poll.vote' defaultMessage='Submit Vote' />
|
||||
</Button>
|
||||
)}
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ import type { Account as AccountEntity } from 'soapbox/types/entities';
|
|||
|
||||
const messages = defineMessages({
|
||||
followers: { id: 'account.followers', defaultMessage: 'Followers' },
|
||||
follows: { id: 'account.follows', defaultMessage: 'Follows' },
|
||||
follows: { id: 'account.follows', defaultMessage: 'Following' },
|
||||
profile: { id: 'account.profile', defaultMessage: 'Profile' },
|
||||
preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' },
|
||||
blocks: { id: 'navigation_bar.blocks', defaultMessage: 'Blocks' },
|
||||
|
|
|
@ -43,7 +43,7 @@ const messages = defineMessages({
|
|||
cancel_reblog_private: { id: 'status.cancel_reblog_private', defaultMessage: 'Un-repost' },
|
||||
cannot_reblog: { id: 'status.cannot_reblog', defaultMessage: 'This post cannot be reposted' },
|
||||
chat: { id: 'status.chat', defaultMessage: 'Chat with @{name}' },
|
||||
copy: { id: 'status.copy', defaultMessage: 'Copy link to post' },
|
||||
copy: { id: 'status.copy', defaultMessage: 'Copy Link to Post' },
|
||||
deactivateUser: { id: 'admin.users.actions.deactivate_user', defaultMessage: 'Deactivate @{name}' },
|
||||
delete: { id: 'status.delete', defaultMessage: 'Delete' },
|
||||
deleteConfirm: { id: 'confirmations.delete.confirm', defaultMessage: 'Delete' },
|
||||
|
@ -58,7 +58,7 @@ const messages = defineMessages({
|
|||
embed: { id: 'status.embed', defaultMessage: 'Embed post' },
|
||||
external: { id: 'status.external', defaultMessage: 'View post on {domain}' },
|
||||
favourite: { id: 'status.favourite', defaultMessage: 'Like' },
|
||||
groupBlockConfirm: { id: 'confirmations.block_from_group.confirm', defaultMessage: 'Ban' },
|
||||
groupBlockConfirm: { id: 'confirmations.block_from_group.confirm', defaultMessage: 'Ban User' },
|
||||
groupBlockFromGroupHeading: { id: 'confirmations.block_from_group.heading', defaultMessage: 'Ban From Group' },
|
||||
groupBlockFromGroupMessage: { id: 'confirmations.block_from_group.message', defaultMessage: 'Are you sure you want to ban @{name} from the group?' },
|
||||
groupModDelete: { id: 'status.group_mod_delete', defaultMessage: 'Delete post from group' },
|
||||
|
@ -70,12 +70,12 @@ const messages = defineMessages({
|
|||
more: { id: 'status.more', defaultMessage: 'More' },
|
||||
mute: { id: 'account.mute', defaultMessage: 'Mute @{name}' },
|
||||
muteConfirm: { id: 'confirmations.mute_group.confirm', defaultMessage: 'Mute' },
|
||||
muteConversation: { id: 'status.mute_conversation', defaultMessage: 'Mute conversation' },
|
||||
muteConversation: { id: 'status.mute_conversation', defaultMessage: 'Mute Conversation' },
|
||||
muteGroup: { id: 'group.mute.long_label', defaultMessage: 'Mute Group' },
|
||||
muteHeading: { id: 'confirmations.mute_group.heading', defaultMessage: 'Mute Group' },
|
||||
muteMessage: { id: 'confirmations.mute_group.message', defaultMessage: 'You are about to mute the group. Do you want to continue?' },
|
||||
muteSuccess: { id: 'group.mute.success', defaultMessage: 'Muted the group' },
|
||||
open: { id: 'status.open', defaultMessage: 'Expand this post' },
|
||||
open: { id: 'status.open', defaultMessage: 'Show Post Details' },
|
||||
pin: { id: 'status.pin', defaultMessage: 'Pin on profile' },
|
||||
pinToGroup: { id: 'status.pin_to_group', defaultMessage: 'Pin to Group' },
|
||||
pinToGroupSuccess: { id: 'status.pin_to_group.success', defaultMessage: 'Pinned to Group!' },
|
||||
|
@ -100,7 +100,7 @@ const messages = defineMessages({
|
|||
report: { id: 'status.report', defaultMessage: 'Report @{name}' },
|
||||
share: { id: 'status.share', defaultMessage: 'Share' },
|
||||
unbookmark: { id: 'status.unbookmark', defaultMessage: 'Remove bookmark' },
|
||||
unmuteConversation: { id: 'status.unmute_conversation', defaultMessage: 'Unmute conversation' },
|
||||
unmuteConversation: { id: 'status.unmute_conversation', defaultMessage: 'Unmute Conversation' },
|
||||
unmuteGroup: { id: 'group.unmute.long_label', defaultMessage: 'Unmute Group' },
|
||||
unmuteSuccess: { id: 'group.unmute.success', defaultMessage: 'Unmuted the group' },
|
||||
unpin: { id: 'status.unpin', defaultMessage: 'Unpin from profile' },
|
||||
|
|
|
@ -213,7 +213,7 @@ const StatusList: React.FC<IStatusList> = ({
|
|||
<div className='regeneration-indicator'>
|
||||
<div>
|
||||
<div className='regeneration-indicator__label'>
|
||||
<FormattedMessage id='regeneration_indicator.label' tagName='strong' defaultMessage='Loading…' />
|
||||
<FormattedMessage id='regeneration_indicator.label' tagName='strong' defaultMessage='Loading…' />
|
||||
<FormattedMessage id='regeneration_indicator.sublabel' defaultMessage='Your home feed is being prepared!' />
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -72,7 +72,7 @@ const ThumbNavigation: React.FC = (): JSX.Element => {
|
|||
{account && (
|
||||
<ThumbNavigationLink
|
||||
src={require('@tabler/icons/bell.svg')}
|
||||
text={<FormattedMessage id='navigation.notifications' defaultMessage='Alerts' />}
|
||||
text={<FormattedMessage id='navigation.notifications' defaultMessage='Notifications' />}
|
||||
to='/notifications'
|
||||
exact
|
||||
count={notificationCount}
|
||||
|
|
|
@ -8,7 +8,7 @@ import { useFeatures } from 'soapbox/hooks';
|
|||
const messages = defineMessages({
|
||||
username: {
|
||||
id: 'login.fields.username_label',
|
||||
defaultMessage: 'E-mail or username',
|
||||
defaultMessage: 'Email or username',
|
||||
},
|
||||
email: {
|
||||
id: 'login.fields.email_label',
|
||||
|
|
|
@ -9,7 +9,7 @@ import { useAppDispatch, useFeatures } from 'soapbox/hooks';
|
|||
import toast from 'soapbox/toast';
|
||||
|
||||
const messages = defineMessages({
|
||||
nicknameOrEmail: { id: 'password_reset.fields.username_placeholder', defaultMessage: 'E-mail or username' },
|
||||
nicknameOrEmail: { id: 'password_reset.fields.username_placeholder', defaultMessage: 'Email or username' },
|
||||
email: { id: 'password_reset.fields.email_placeholder', defaultMessage: 'E-mail address' },
|
||||
confirmation: { id: 'password_reset.confirmation', defaultMessage: 'Check your email for confirmation.' },
|
||||
});
|
||||
|
|
|
@ -17,7 +17,7 @@ const RegistrationPage: React.FC = () => {
|
|||
<Text theme='muted' align='center'>
|
||||
<FormattedMessage
|
||||
id='registration.closed_message'
|
||||
defaultMessage='{instance} is not accepting new members.'
|
||||
defaultMessage='{instance} is not accepting new members'
|
||||
values={{ instance: instance.title }}
|
||||
/>
|
||||
</Text>
|
||||
|
|
|
@ -4,7 +4,7 @@ import { defineMessages, useIntl } from 'react-intl';
|
|||
import { Icon, Input } from 'soapbox/components/ui';
|
||||
|
||||
const messages = defineMessages({
|
||||
searchPlaceholder: { id: 'chats.search_placeholder', defaultMessage: 'Search inbox' },
|
||||
searchPlaceholder: { id: 'chats.search_placeholder', defaultMessage: 'Start a chat with…' },
|
||||
});
|
||||
|
||||
interface IChatSearchInput {
|
||||
|
|
|
@ -13,7 +13,7 @@ import type { AutoSuggestion } from 'soapbox/components/autosuggest-input';
|
|||
const messages = defineMessages({
|
||||
option_placeholder: { id: 'compose_form.poll.option_placeholder', defaultMessage: 'Answer #{number}' },
|
||||
add_option: { id: 'compose_form.poll.add_option', defaultMessage: 'Add an answer' },
|
||||
pollDuration: { id: 'compose_form.poll.duration', defaultMessage: 'Duration' },
|
||||
pollDuration: { id: 'compose_form.poll.duration', defaultMessage: 'Poll duration' },
|
||||
removePoll: { id: 'compose_form.poll.remove', defaultMessage: 'Remove poll' },
|
||||
switchToMultiple: { id: 'compose_form.poll.switch_to_multiple', defaultMessage: 'Change poll to allow multiple answers' },
|
||||
switchToSingle: { id: 'compose_form.poll.switch_to_single', defaultMessage: 'Change poll to allow for a single answer' },
|
||||
|
@ -95,7 +95,7 @@ const Option: React.FC<IOption> = ({
|
|||
{index > 1 && (
|
||||
<div>
|
||||
<Button theme='danger' size='sm' onClick={handleOptionRemove}>
|
||||
<FormattedMessage id='compose_form.poll.remove_option' defaultMessage='Delete' />
|
||||
<FormattedMessage id='compose_form.poll.remove_option' defaultMessage='Remove this answer' />
|
||||
</Button>
|
||||
</div>
|
||||
)}
|
||||
|
|
|
@ -49,7 +49,7 @@ const messages = defineMessages({
|
|||
header: { id: 'edit_profile.header', defaultMessage: 'Edit Profile' },
|
||||
metaFieldLabel: { id: 'edit_profile.fields.meta_fields.label_placeholder', defaultMessage: 'Label' },
|
||||
metaFieldContent: { id: 'edit_profile.fields.meta_fields.content_placeholder', defaultMessage: 'Content' },
|
||||
success: { id: 'edit_profile.success', defaultMessage: 'Profile saved!' },
|
||||
success: { id: 'edit_profile.success', defaultMessage: 'Your profile has been successfully saved!' },
|
||||
error: { id: 'edit_profile.error', defaultMessage: 'Profile update failed' },
|
||||
bioPlaceholder: { id: 'edit_profile.fields.bio_placeholder', defaultMessage: 'Tell us about yourself.' },
|
||||
displayNamePlaceholder: { id: 'edit_profile.fields.display_name_placeholder', defaultMessage: 'Name' },
|
||||
|
|
|
@ -18,7 +18,7 @@ export const messages = defineMessages({
|
|||
emoji_pick: { id: 'emoji_button.pick', defaultMessage: 'Pick an emoji…' },
|
||||
emoji_oh_no: { id: 'emoji_button.oh_no', defaultMessage: 'Oh no!' },
|
||||
emoji_search: { id: 'emoji_button.search', defaultMessage: 'Search…' },
|
||||
emoji_not_found: { id: 'emoji_button.not_found', defaultMessage: 'No emoji\'s found.' },
|
||||
emoji_not_found: { id: 'emoji_button.not_found', defaultMessage: 'No emojis found.' },
|
||||
emoji_add_custom: { id: 'emoji_button.add_custom', defaultMessage: 'Add custom emoji' },
|
||||
custom: { id: 'emoji_button.custom', defaultMessage: 'Custom' },
|
||||
recent: { id: 'emoji_button.recent', defaultMessage: 'Frequently used' },
|
||||
|
|
|
@ -23,7 +23,7 @@ import type { Group, GroupMember } from 'soapbox/types/entities';
|
|||
const messages = defineMessages({
|
||||
adminLimitTitle: { id: 'group.member.admin.limit.title', defaultMessage: 'Admin limit reached' },
|
||||
adminLimitSummary: { id: 'group.member.admin.limit.summary', defaultMessage: 'You can assign up to {count, plural, one {admin} other {admins}} for the group at this time.' },
|
||||
blockConfirm: { id: 'confirmations.block_from_group.confirm', defaultMessage: 'Ban' },
|
||||
blockConfirm: { id: 'confirmations.block_from_group.confirm', defaultMessage: 'Ban User' },
|
||||
blockFromGroupHeading: { id: 'confirmations.block_from_group.heading', defaultMessage: 'Ban From Group' },
|
||||
blockFromGroupMessage: { id: 'confirmations.block_from_group.message', defaultMessage: 'Are you sure you want to ban @{name} from the group?' },
|
||||
blocked: { id: 'group.group_mod_block.success', defaultMessage: '@{name} is banned' },
|
||||
|
|
|
@ -25,7 +25,7 @@ const messages = defineMessages({
|
|||
deleteHeading: { id: 'confirmations.delete_group.heading', defaultMessage: 'Delete Group' },
|
||||
deleteMessage: { id: 'confirmations.delete_group.message', defaultMessage: 'Are you sure you want to delete this group? This is a permanent action that cannot be undone.' },
|
||||
members: { id: 'group.tabs.members', defaultMessage: 'Members' },
|
||||
other: { id: 'settings.other', defaultMessage: 'Other options' },
|
||||
other: { id: 'settings.other', defaultMessage: 'Other Options' },
|
||||
deleteSuccess: { id: 'group.delete.success', defaultMessage: 'Group successfully deleted' },
|
||||
});
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ import LayoutButtons, { GroupLayout } from './components/discover/layout-buttons
|
|||
import type { Group } from 'soapbox/schemas';
|
||||
|
||||
const messages = defineMessages({
|
||||
label: { id: 'groups.popular.label', defaultMessage: 'Popular Groups' },
|
||||
label: { id: 'groups.popular.label', defaultMessage: 'Suggested Groups' },
|
||||
});
|
||||
|
||||
const GridList: Components['List'] = React.forwardRef((props, ref) => {
|
||||
|
|
|
@ -148,7 +148,7 @@ const buildMessage = (
|
|||
others: totalCount && totalCount > 0 ? (
|
||||
<FormattedMessage
|
||||
id='notification.others'
|
||||
defaultMessage=' + {count, plural, one {# other} other {# others}}'
|
||||
defaultMessage='+ {count, plural, one {# other} other {# others}}'
|
||||
values={{ count: totalCount - 1 }}
|
||||
/>
|
||||
) : '',
|
||||
|
|
|
@ -134,7 +134,7 @@ const Preferences = () => {
|
|||
<ThemeToggle />
|
||||
</ListItem>
|
||||
|
||||
<ListItem label={<FormattedMessage id='preferences.fields.language_label' defaultMessage='Language' />}>
|
||||
<ListItem label={<FormattedMessage id='preferences.fields.language_label' defaultMessage='Display Language' />}>
|
||||
<SelectDropdown
|
||||
className='max-w-[200px]'
|
||||
items={languages}
|
||||
|
|
|
@ -68,7 +68,7 @@ const CommunityTimeline = () => {
|
|||
>
|
||||
<FormattedMessage
|
||||
id='fediverse_tab.explanation_box.explanation'
|
||||
defaultMessage='{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka "servers"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don't like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.'
|
||||
defaultMessage={'{site_title} is part of the Fediverse, a social network made up of thousands of independent social media sites (aka "servers"). The posts you see here are from 3rd-party servers. You have the freedom to engage with them, or to block any server you don\'t like. Pay attention to the full username after the second @ symbol to know which server a post is from. To see only {site_title} posts, visit {local}.'}
|
||||
values={{
|
||||
site_title: instance.title,
|
||||
local: (
|
||||
|
|
|
@ -25,7 +25,7 @@ const messages = defineMessages({
|
|||
mfaDisabled: { id: 'mfa.disabled', defaultMessage: 'Disabled' },
|
||||
mfaEnabled: { id: 'mfa.enabled', defaultMessage: 'Enabled' },
|
||||
mutes: { id: 'settings.mutes', defaultMessage: 'Mutes' },
|
||||
other: { id: 'settings.other', defaultMessage: 'Other options' },
|
||||
other: { id: 'settings.other', defaultMessage: 'Other Options' },
|
||||
preferences: { id: 'settings.preferences', defaultMessage: 'Preferences' },
|
||||
privacy: { id: 'settings.privacy', defaultMessage: 'Privacy' },
|
||||
profile: { id: 'settings.profile', defaultMessage: 'Profile' },
|
||||
|
|
|
@ -34,7 +34,7 @@ const UploadButton: React.FC<IUploadButton> = ({ disabled, onSelectFile }) => {
|
|||
/>
|
||||
|
||||
<Text size='sm' theme='primary' weight='semibold' transform='uppercase' tabIndex={0}>
|
||||
<FormattedMessage id='compose_event.upload_banner' defaultMessage='Upload photo' />
|
||||
<FormattedMessage id='compose_event.upload_banner' defaultMessage='Upload event banner' />
|
||||
</Text>
|
||||
<input
|
||||
ref={fileElement}
|
||||
|
|
|
@ -69,7 +69,7 @@ const ComposeModal: React.FC<IComposeModal> = ({ onClose, composeId = 'compose-m
|
|||
} else if (quote) {
|
||||
return <FormattedMessage id='navigation_bar.compose_quote' defaultMessage='Quote post' />;
|
||||
} else {
|
||||
return <FormattedMessage id='navigation_bar.compose' defaultMessage='Compose new post' />;
|
||||
return <FormattedMessage id='navigation_bar.compose' defaultMessage='Compose a post' />;
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -10,8 +10,8 @@ import { useAppDispatch, useAppSelector } from 'soapbox/hooks';
|
|||
const messages = defineMessages({
|
||||
save: { id: 'admin.edit_announcement.save', defaultMessage: 'Save' },
|
||||
announcementContentPlaceholder: { id: 'admin.edit_announcement.fields.content_placeholder', defaultMessage: 'Announcement content' },
|
||||
announcementStartTimePlaceholder: { id: 'admin.edit_announcement.fields.start_time_placeholder', defaultMessage: 'Announcement starts on…' },
|
||||
announcementEndTimePlaceholder: { id: 'admin.edit_announcement.fields.end_time_placeholder', defaultMessage: 'Announcement ends on…' },
|
||||
announcementStartTimePlaceholder: { id: 'admin.edit_announcement.fields.start_time_placeholder', defaultMessage: 'Announcement starts on:' },
|
||||
announcementEndTimePlaceholder: { id: 'admin.edit_announcement.fields.end_time_placeholder', defaultMessage: 'Announcement ends on:' },
|
||||
});
|
||||
|
||||
interface IEditAnnouncementModal {
|
||||
|
|
|
@ -4,7 +4,7 @@ import { injectIntl, FormattedMessage, IntlShape, defineMessages } from 'react-i
|
|||
import { Modal } from 'soapbox/components/ui';
|
||||
|
||||
const messages = defineMessages({
|
||||
modalTitle: { id: 'missing_description_modal.text', defaultMessage: 'You have not entered a description for all attachments.' },
|
||||
modalTitle: { id: 'missing_description_modal.text', defaultMessage: 'You have not entered a description for all attachments. Continue anyway?' },
|
||||
post: { id: 'missing_description_modal.continue', defaultMessage: 'Post' },
|
||||
cancel: { id: 'missing_description_modal.cancel', defaultMessage: 'Cancel' },
|
||||
});
|
||||
|
|
|
@ -18,7 +18,7 @@ import type { AxiosError } from 'axios';
|
|||
|
||||
const messages = defineMessages({
|
||||
login: { id: 'navbar.login.action', defaultMessage: 'Log in' },
|
||||
username: { id: 'navbar.login.username.placeholder', defaultMessage: 'E-mail or username' },
|
||||
username: { id: 'navbar.login.username.placeholder', defaultMessage: 'Email or username' },
|
||||
email: { id: 'navbar.login.email.placeholder', defaultMessage: 'E-mail address' },
|
||||
password: { id: 'navbar.login.password.label', defaultMessage: 'Password' },
|
||||
forgotPassword: { id: 'navbar.login.forgot_password', defaultMessage: 'Forgot password?' },
|
||||
|
|
|
@ -9,7 +9,7 @@ import type { Account } from 'soapbox/schemas';
|
|||
|
||||
const messages = defineMessages({
|
||||
followers: { id: 'account.followers', defaultMessage: 'Followers' },
|
||||
follows: { id: 'account.follows', defaultMessage: 'Follows' },
|
||||
follows: { id: 'account.follows', defaultMessage: 'Following' },
|
||||
});
|
||||
|
||||
interface IProfileStats {
|
||||
|
|
|
@ -97,7 +97,7 @@ const UserPanel: React.FC<IUserPanel> = ({ accountId, action, badges, domain })
|
|||
{shortNumberFormat(account.following_count)}
|
||||
</Text>
|
||||
<Text weight='bold' size='sm'>
|
||||
<FormattedMessage id='account.follows' defaultMessage='Follows' />
|
||||
<FormattedMessage id='account.follows' defaultMessage='Following' />
|
||||
</Text>
|
||||
</HStack>
|
||||
</Link>
|
||||
|
|
|
@ -156,9 +156,6 @@
|
|||
"admin_nav.awaiting_approval": "Waitlist",
|
||||
"admin_nav.dashboard": "Dashboard",
|
||||
"admin_nav.reports": "Reports",
|
||||
"age_verification.body": "{siteTitle} requires users to be at least {ageMinimum, plural, one {# year} other {# years}} old to access its platform. Anyone under the age of {ageMinimum, plural, one {# year} other {# years}} old cannot access this platform.",
|
||||
"age_verification.fail": "You must be {ageMinimum, plural, one {# year} other {# years}} old or older.",
|
||||
"age_verification.header": "Enter your birth date",
|
||||
"alert.unexpected.body": "We're sorry for the interruption. If the problem persists, please reach out to our support team. You may also try to {clearCookies} (this will log you out).",
|
||||
"alert.unexpected.browser": "Browser",
|
||||
"alert.unexpected.clear_cookies": "clear cookies and browser data",
|
||||
|
@ -189,7 +186,6 @@
|
|||
"auth.awaiting_approval": "Your account is awaiting approval",
|
||||
"auth.invalid_credentials": "Wrong username or password",
|
||||
"auth.logged_out": "Logged out.",
|
||||
"auth_layout.register": "Create an account",
|
||||
"authorize.success": "Approved",
|
||||
"backups.actions.create": "Create backup",
|
||||
"backups.empty_message": "No backups found. {action}",
|
||||
|
@ -200,12 +196,6 @@
|
|||
"birthdays_modal.empty": "None of your friends have birthday today.",
|
||||
"boost_modal.combo": "You can press {combo} to skip this next time",
|
||||
"boost_modal.title": "Repost?",
|
||||
"bundle_column_error.body": "Something went wrong while loading this page.",
|
||||
"bundle_column_error.retry": "Try again",
|
||||
"bundle_column_error.title": "Network error",
|
||||
"bundle_modal_error.close": "Close",
|
||||
"bundle_modal_error.message": "Something went wrong while loading this modal.",
|
||||
"bundle_modal_error.retry": "Try again",
|
||||
"card.back.label": "Back",
|
||||
"chat.actions.send": "Send",
|
||||
"chat.failed_to_send": "Message failed to send.",
|
||||
|
@ -239,9 +229,11 @@
|
|||
"chat_message_list_intro.leave_chat.confirm": "Leave Chat",
|
||||
"chat_message_list_intro.leave_chat.heading": "Leave Chat",
|
||||
"chat_message_list_intro.leave_chat.message": "Are you sure you want to leave this chat? Messages will be deleted for you and this chat will be removed from your inbox.",
|
||||
"chat_pane.blankslate.action": "Message someone",
|
||||
"chat_pane.blankslate.body": "Search for someone to chat with.",
|
||||
"chat_pane.blankslate.title": "No messages yet",
|
||||
"chat_search.blankslate.body": "Search for someone to chat with.",
|
||||
"chat_search.blankslate.title": "Start a chat",
|
||||
"chat_search.empty_results_blankslate.action": "Message someone",
|
||||
"chat_search.empty_results_blankslate.body": "Try searching for another name.",
|
||||
"chat_search.empty_results_blankslate.title": "No matches found",
|
||||
"chat_search.placeholder": "Type a name",
|
||||
|
@ -271,10 +263,10 @@
|
|||
"chat_window.auto_delete_label": "Auto-delete after {day, plural, one {# day} other {# days}}",
|
||||
"chat_window.auto_delete_tooltip": "Chat messages are set to auto-delete after {day, plural, one {# day} other {# days}} upon sending.",
|
||||
"chats.actions.copy": "Copy",
|
||||
"chats.actions.delete": "Delete message",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.deleteForMe": "Delete for me",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report user",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.dividers.today": "Today",
|
||||
"chats.main.blankslate.new_chat": "Message someone",
|
||||
"chats.main.blankslate.subtitle": "Search for someone to chat with",
|
||||
|
@ -336,7 +328,7 @@
|
|||
"column.filters.delete_error": "Error deleting filter",
|
||||
"column.filters.drop_header": "Drop instead of hide",
|
||||
"column.filters.drop_hint": "Filtered posts will disappear irreversibly, even if filter is later removed",
|
||||
"column.filters.edit": "Edit",
|
||||
"column.filters.edit": "Edit Filter",
|
||||
"column.filters.expires": "Expire after",
|
||||
"column.filters.hide_header": "Hide completely",
|
||||
"column.filters.hide_hint": "Completely hide the filtered content, instead of showing a warning",
|
||||
|
@ -371,10 +363,11 @@
|
|||
"column.notifications": "Notifications",
|
||||
"column.pins": "Pinned posts",
|
||||
"column.preferences": "Preferences",
|
||||
"column.public": "Federated timeline",
|
||||
"column.public": "Fediverse timeline",
|
||||
"column.quotes": "Post quotes",
|
||||
"column.reactions": "Reactions",
|
||||
"column.reblogs": "Reposts",
|
||||
"column.registration": "Sign Up",
|
||||
"column.scheduled_statuses": "Scheduled Posts",
|
||||
"column.search": "Search",
|
||||
"column.settings_store": "Settings store",
|
||||
|
@ -383,7 +376,6 @@
|
|||
"column_forbidden.body": "You do not have permission to access this page.",
|
||||
"column_forbidden.title": "Forbidden",
|
||||
"common.cancel": "Cancel",
|
||||
"common.error": "Something isn't right. Try reloading the page.",
|
||||
"compare_history_modal.header": "Edit history",
|
||||
"compose.character_counter.title": "Used {chars} out of {maxChars} {maxChars, plural, one {character} other {characters}}",
|
||||
"compose.edit_success": "Your post was edited",
|
||||
|
@ -417,14 +409,6 @@
|
|||
"compose_form.direct_message_warning": "This post will only be sent to the mentioned users.",
|
||||
"compose_form.event_placeholder": "Post to this event",
|
||||
"compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.",
|
||||
"compose_form.lexical.create_horizontal_line": "Create horizontal line",
|
||||
"compose_form.lexical.format_bold": "Format bold",
|
||||
"compose_form.lexical.format_italic": "Format italic",
|
||||
"compose_form.lexical.format_strikethrough": "Format strikethrough",
|
||||
"compose_form.lexical.format_underline": "Format underline",
|
||||
"compose_form.lexical.insert_code_block": "Insert code block",
|
||||
"compose_form.lexical.insert_link": "Insert link",
|
||||
"compose_form.lexical.upload_media": "Upload media",
|
||||
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
|
||||
"compose_form.lock_disclaimer.lock": "locked",
|
||||
"compose_form.markdown.marked": "Post markdown enabled",
|
||||
|
@ -440,7 +424,7 @@
|
|||
"compose_form.poll.remove_option": "Remove this answer",
|
||||
"compose_form.poll.switch_to_multiple": "Change poll to allow multiple answers",
|
||||
"compose_form.poll.switch_to_single": "Change poll to allow for a single answer",
|
||||
"compose_form.poll_placeholder": "Add a poll topic...",
|
||||
"compose_form.poll_placeholder": "Add a poll topic…",
|
||||
"compose_form.publish": "Post",
|
||||
"compose_form.publish_loud": "{publish}!",
|
||||
"compose_form.save_changes": "Save changes",
|
||||
|
@ -615,25 +599,6 @@
|
|||
"edit_profile.save": "Save",
|
||||
"edit_profile.success": "Your profile has been successfully saved!",
|
||||
"email_confirmation.success": "Your email has been confirmed!",
|
||||
"email_passthru.confirmed.body": "Close this tab and continue the registration process on the {bold} from which you sent this email confirmation.",
|
||||
"email_passthru.confirmed.heading": "Email Confirmed!",
|
||||
"email_passthru.fail.expired": "Your email token has expired",
|
||||
"email_passthru.fail.generic": "Unable to confirm your email",
|
||||
"email_passthru.fail.invalid_token": "Your token is invalid",
|
||||
"email_passthru.fail.not_found": "Your email token is invalid.",
|
||||
"email_passthru.generic_fail.body": "Please request a new email confirmation.",
|
||||
"email_passthru.generic_fail.heading": "Something Went Wrong",
|
||||
"email_passthru.success": "Your email has been verified!",
|
||||
"email_passthru.token_expired.body": "Your email token has expired. Please request a new email confirmation from the {bold} from which you sent this email confirmation.",
|
||||
"email_passthru.token_expired.heading": "Token Expired",
|
||||
"email_passthru.token_not_found.body": "Your email token was not found. Please request a new email confirmation from the {bold} from which you sent this email confirmation.",
|
||||
"email_passthru.token_not_found.heading": "Invalid Token",
|
||||
"email_verification.email.label": "E-mail address",
|
||||
"email_verification.fail": "Failed to request email verification.",
|
||||
"email_verification.header": "Enter your email address",
|
||||
"email_verification.success": "Verification email sent successfully.",
|
||||
"email_verification.taken": "is taken",
|
||||
"email_verifilcation.exists": "This email has already been taken.",
|
||||
"embed.instructions": "Embed this post on your website by copying the code below.",
|
||||
"emoji_button.activity": "Activity",
|
||||
"emoji_button.add_custom": "Add custom emoji",
|
||||
|
@ -876,13 +841,7 @@
|
|||
"groups.suggested.label": "Suggested Groups",
|
||||
"groups.tags.title": "Browse Topics",
|
||||
"hashtag.follow": "Follow hashtag",
|
||||
"header.home.label": "Home",
|
||||
"header.login.email.placeholder": "E-mail address",
|
||||
"header.login.forgot_password": "Forgot password?",
|
||||
"header.login.label": "Log in",
|
||||
"header.login.password.label": "Password",
|
||||
"header.login.username.placeholder": "Email or username",
|
||||
"header.menu.title": "Open menu",
|
||||
"header.register.label": "Register",
|
||||
"home.column_settings.show_reblogs": "Show reposts",
|
||||
"home.column_settings.show_replies": "Show replies",
|
||||
|
@ -943,7 +902,7 @@
|
|||
"keyboard_shortcuts.up": "to move up in the list",
|
||||
"landing_page_modal.download": "Download",
|
||||
"landing_page_modal.helpCenter": "Help Center",
|
||||
"lightbox.close": "Cancel",
|
||||
"lightbox.close": "Close",
|
||||
"lightbox.expand": "Expand",
|
||||
"lightbox.minimize": "Minimize",
|
||||
"lightbox.next": "Next",
|
||||
|
@ -1042,8 +1001,6 @@
|
|||
"missing_description_modal.text": "You have not entered a description for all attachments. Continue anyway?",
|
||||
"missing_indicator.label": "Not found",
|
||||
"missing_indicator.sublabel": "This resource could not be found",
|
||||
"modals.policy.submit": "Accept & Continue",
|
||||
"modals.policy.updateTitle": "You’ve scored the latest version of {siteTitle}! Take a moment to review the exciting new things we’ve been working on.",
|
||||
"moderation_overlay.contact": "Contact",
|
||||
"moderation_overlay.hide": "Hide content",
|
||||
"moderation_overlay.show": "Show Content",
|
||||
|
@ -1111,7 +1068,7 @@
|
|||
"notification.mentioned": "{name} mentioned you",
|
||||
"notification.move": "{name} moved to {targetName}",
|
||||
"notification.name": "{link}{others}",
|
||||
"notification.others": " + {count, plural, one {# other} other {# others}}",
|
||||
"notification.others": "+ {count, plural, one {# other} other {# others}}",
|
||||
"notification.pleroma:chat_mention": "{name} sent you a message",
|
||||
"notification.pleroma:emoji_reaction": "{name} reacted to your post",
|
||||
"notification.pleroma:event_reminder": "An event you are participating in starts soon",
|
||||
|
@ -1184,7 +1141,6 @@
|
|||
"poll_button.add_poll": "Add a poll",
|
||||
"poll_button.remove_poll": "Remove poll",
|
||||
"preferences.fields.auto_play_gif_label": "Auto-play animated GIFs",
|
||||
"preferences.fields.auto_play_video_label": "Auto-play videos",
|
||||
"preferences.fields.autoload_more_label": "Automatically load more items when scrolled to the bottom of the page",
|
||||
"preferences.fields.autoload_timelines_label": "Automatically load new posts when scrolled to the top of the page",
|
||||
"preferences.fields.boost_modal_label": "Show confirmation dialog before reposting",
|
||||
|
@ -1233,7 +1189,6 @@
|
|||
"regeneration_indicator.sublabel": "Your home feed is being prepared!",
|
||||
"register_invite.lead": "Complete the form below to create an account.",
|
||||
"register_invite.title": "You've been invited to join {siteTitle}!",
|
||||
"registration.acceptance": "By registering, you agree to the {terms} and {privacy}.",
|
||||
"registration.agreement": "I agree to the {tos}.",
|
||||
"registration.captcha.hint": "Click the image to get a new captcha",
|
||||
"registration.captcha.placeholder": "Enter the pictured text",
|
||||
|
@ -1245,27 +1200,13 @@
|
|||
"registration.fields.password_placeholder": "Password",
|
||||
"registration.fields.username_hint": "Only letters, numbers, and underscores are allowed.",
|
||||
"registration.fields.username_placeholder": "Username",
|
||||
"registration.header": "Register your account",
|
||||
"registration.newsletter": "Subscribe to newsletter.",
|
||||
"registration.password_mismatch": "Passwords don't match.",
|
||||
"registration.privacy": "Privacy Policy",
|
||||
"registration.reason": "Why do you want to join?",
|
||||
"registration.reason_hint": "This will help us review your application",
|
||||
"registration.sign_up": "Sign up",
|
||||
"registration.tos": "Terms of Service",
|
||||
"registration.username_unavailable": "Username is already taken.",
|
||||
"registration.validation.capital_letter": "1 capital letter",
|
||||
"registration.validation.lowercase_letter": "1 lowercase letter",
|
||||
"registration.validation.minimum_characters": "8 characters",
|
||||
"registrations.create_account": "Create an account",
|
||||
"registrations.error": "Failed to register your account.",
|
||||
"registrations.get_started": "Let's get started!",
|
||||
"registrations.password.label": "Password",
|
||||
"registrations.success": "Welcome to {siteTitle}!",
|
||||
"registrations.tagline": "Social Media Without Discrimination",
|
||||
"registrations.unprocessable_entity": "This username has already been taken.",
|
||||
"registrations.username.hint": "May only contain A-Z, 0-9, and underscores",
|
||||
"registrations.username.label": "Your username",
|
||||
"reject.success": "Rejected",
|
||||
"relative_time.days": "{number}d",
|
||||
"relative_time.hours": "{number}h",
|
||||
|
@ -1387,22 +1328,6 @@
|
|||
"signup_panel.subtitle": "Sign up now to discuss what's happening.",
|
||||
"signup_panel.title": "New to {site_title}?",
|
||||
"site_preview.preview": "Preview",
|
||||
"sms_verification.expired": "Your SMS token has expired.",
|
||||
"sms_verification.fail": "Failed to send SMS message to your phone number.",
|
||||
"sms_verification.header": "Enter your phone number",
|
||||
"sms_verification.invalid": "Please enter a valid phone number.",
|
||||
"sms_verification.modal.enter_code": "We sent you a 6-digit code via SMS. Enter it below.",
|
||||
"sms_verification.modal.resend_code": "Resend verification code?",
|
||||
"sms_verification.modal.verify_code": "Verify code",
|
||||
"sms_verification.modal.verify_help_text": "Verify your phone number to start using {instance}.",
|
||||
"sms_verification.modal.verify_number": "Verify phone number",
|
||||
"sms_verification.modal.verify_sms": "Verify SMS",
|
||||
"sms_verification.modal.verify_title": "Verify your phone number",
|
||||
"sms_verification.phone.label": "Phone number",
|
||||
"sms_verification.sent.actions.resend": "Resend verification code?",
|
||||
"sms_verification.sent.body": "We sent you a 6-digit code via SMS. Enter it below.",
|
||||
"sms_verification.sent.header": "Verification code",
|
||||
"sms_verification.success": "A verification code has been sent to your phone number.",
|
||||
"soapbox_config.authenticated_profile_hint": "Users must be logged-in to view replies and media on user profiles.",
|
||||
"soapbox_config.authenticated_profile_label": "Profiles require authentication",
|
||||
"soapbox_config.copyright_footer.meta_fields.label_placeholder": "Copyright footer",
|
||||
|
@ -1440,19 +1365,18 @@
|
|||
"soapbox_config.promo_panel.meta_fields.icon_placeholder": "Icon",
|
||||
"soapbox_config.promo_panel.meta_fields.label_placeholder": "Label",
|
||||
"soapbox_config.promo_panel.meta_fields.url_placeholder": "URL",
|
||||
"soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click Save to apply your changes.",
|
||||
"soapbox_config.raw_json_hint": "Edit the settings data directly. Changes made directly to the JSON file will override the form fields above. Click \"Save\" to apply your changes.",
|
||||
"soapbox_config.raw_json_invalid": "is invalid",
|
||||
"soapbox_config.raw_json_label": "Advanced: Edit raw JSON data",
|
||||
"soapbox_config.redirect_root_no_login_hint": "Path to redirect the homepage when a user is not logged in.",
|
||||
"soapbox_config.redirect_root_no_login_label": "Redirect homepage",
|
||||
"soapbox_config.save": "Save",
|
||||
"soapbox_config.saved": "Soapbox config saved!",
|
||||
"soapbox_config.sentry_dsn_hint": "DSN URL for error reporting. Works with Sentry and GlitchTip.",
|
||||
"soapbox_config.sentry_dsn_label": "Sentry DSN",
|
||||
"soapbox_config.tile_server_attribution_label": "Map tiles attribution",
|
||||
"soapbox_config.tile_server_label": "Map tile server",
|
||||
"soapbox_config.verified_can_edit_name_label": "Allow verified users to edit their own display name.",
|
||||
"sponsored.info.message": "{siteTitle} displays ads to help fund our service.",
|
||||
"sponsored.info.title": "Why am I seeing this ad?",
|
||||
"sponsored.subtitle": "Sponsored post",
|
||||
"status.admin_account": "Moderate @{name}",
|
||||
"status.admin_status": "Open this post in the moderation interface",
|
||||
"status.approval.pending": "Pending approval",
|
||||
|
@ -1595,7 +1519,5 @@
|
|||
"video.pause": "Pause",
|
||||
"video.play": "Play",
|
||||
"video.unmute": "Unmute sound",
|
||||
"waitlist.actions.verify_number": "Verify phone number",
|
||||
"waitlist.body": "Welcome back to {title}! You were previously placed on our waitlist. Please verify your phone number to receive immediate access to your account!",
|
||||
"who_to_follow.title": "People To Follow"
|
||||
}
|
|
@ -49,7 +49,7 @@ const ProfilePage: React.FC<IProfilePage> = ({ params, children }) => {
|
|||
name: 'profile',
|
||||
},
|
||||
{
|
||||
text: <FormattedMessage id='account.posts_with_replies' defaultMessage='Posts and replies' />,
|
||||
text: <FormattedMessage id='account.posts_with_replies' defaultMessage='Posts & replies' />,
|
||||
to: `/@${username}/with_replies`,
|
||||
name: 'replies',
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue