mattermost-mobile/assets/base/i18n/en.json
Manoj Malik 14d377e713
MM-36917 Custom status expiry (#5434)
* Started with the custom status feature
Added custom status actions and API integration
Added custom status selectors and types
Added custom status emoji component
Added EnableCustomStatuses flag in config
Added Set a status option in the settings sidebar

* Fixed emoji and added clear button
Fixed the default emoji in the set a status in the settings sidebar
Made a custom status label component to match the styling of rest of the drawer items
Fixed the bug in the selectors
Added localization id in en.json

* Added icon for clear button
Fixed the custom status label issue
Added styling and icon for the clear button
Fixed order of the localization ids

* Made custom status modal with suggestions
Fixed the long custom status overflowing in the sidebar with ellipses
Added the functionality to open custom status modal from sidebar
Made the constants for custom status
Made the custom status suggestion functional component
Made the custom status modal functional component
Made the selector for the recent custom statuses
Added some localization ids

* Changed the custom status modal to class component
Added recent custom statuses in the modal
Fixed the styling of titles
Fixed lint errors except one

* Fix types and use i18n translations

* Update types

* Refactored some code and made clear button component
Refactored the code of the custom status label to a different file and used it everywhere
Made a separate component for clear button and added it in recents and sidebar
Fixed the styling of the custom status text according to the new figma designs

* Added emojipicker in custom status modal
Fixed the Done button in custom status modal
Added the functionality to clear status from inside the modal

* Added custom status in user profile and post header and review fixes
Added custom status in user profile page
Added custom status emoji in post header
Added functionality to preventDoubleTap everywhere
Added localization ids
Review fixes

* Fixed several issues
Increased touch area of clear button everywhere
Fixed the event propagation issue in clearing suggestions
Fixed the center alignment issue of title in custom status modal
Added clear button in user profile page
Review fixes

* Fix types for custom status modal

* Fix tsc

* Fixed types and separated functions for Recent and suggestions in custom status modal

* Update app/components/sidebars/settings/settings_sidebar_base.js

* Updated localization id in settings sidebar

* Changed the method in removeRecentCustomStatus API call
Changed names of some variables

* Fixed the input height issue in ios and modalContext issue in ios

* Fixed various issues
Fixed clear button border radius issue in ios
Changed the method to post in removeRecentCustomStatus API call
Made the custom status modal input single line and fixed the height
Changed the height of iconContainer in custom status suggestion

* Fixed the event propagation issue without use of PanResponder

* Unit tests

Added unit tests for custom status emoji component
Added unit tests for custom status text component
Added unit tests for clear button component
Added unit tests for custom status suggestion component
Added unit tests for custom status modal component
Added tests and updated snapshtots in user profile screen

* Added custom status in several new locations
Added custom status emoji in LHS channel list
Added custom status emoji in channel header
Added custom status in channel info header
Modified the styles of some components

* Fixed width issue in LHS channel list and channel title (#8)

Added one check in channel info header

* E2E tests for custom status (#6)

* Completed MM-T3890, MM-T3891, MM-T3892, MM-T3893 e2e tests

Added EnableCustomUserStatuses in default config of detox
Added several testIDs in custom status modal and clear button components
Modified settings_sidebar ui component in detox support
Made custom status screen ui screen in detox support
Added testIDs in custom status suggestion and clear buttons
Modified custom status ui screen component in detox support
Added appropriate comments in the tests
Modified custom status emoji component to accept styling and added testID
Modified the custom status emoji styling in post header, user profile, LHS channel list, channel info header, channel title
Made user profile screen in detox support
Added testID prop in custom status emoji component
Added testIDs in channel info header and user profile and user profile row components

* Added unit tests for new components and updated tests for custom status emoji

Updated snapshots for existing components
Added new tests for channel title and LHS channel item
Added new tests for channel info and channel info header
Updated snapshots

* Fixed styles and emoji opacity in custom status input in modal

* Fixed the color of text and emoji in custom status suggestions
* Fixed the color of emoji and font size in the custom status input in modal

* Updated snapshots

* Fix the MM-T3893 E2E test case

* Update detox/e2e/test/smoke_test/custom_status.e2e.js

* Apply suggestions from code review

Co-authored-by: Joseph Baylon <joseph.baylon@mattermost.com>

* Updated snapshots and moved the custom status e2e test to different location

* Fix styles

* Fix ios styles

* Update snapshots

* Updated styles and localization ids

* Changed the API call for the remove recent custom status action (#12)

* Fix styles for ios

* Fixed styles in Android
Fixed the styling of clear button everywhere
Fixed the separator not showing issue in custom status suggestion
Fixed the emoji positioning issue in custom status suggestion

* Fixed tests and updated snapshots

* Fix stylessss for ios

* Updated snapshots

* Added close button and title in emojipicker screen opened from custom status modal

* Fixed the delay issue in clearing and setting the custom status in settings sidebar (#13)

* Fixed the delay issue in clearing the custom status in settings sidebar
Modified the unsetCustomStatus action to use request statuses
Modified the settings sidebar to use the request status to show or hide custom status
Made proper types and reducers for the unset custom status request

* Added the Retry message for setting and clearing the custom status
Made set custom status request action types and reducers
Modified the setCustomStatus action to dispatch request status actions
Made the retryMessage component
Added the logic for when to show the retry message

* Modified set custom status action to dispatch Update me action with the new custom status

* Modified the settings sidebar to use componentDidUpdate for the delay issue in custom status clearing and setting

* Modified componentDidUpdate and made a new function for handling request status change

* Modified handleRequestStatusChange function to two separate functions

* Code refactoring

* Updated tests

* Fixed the issue for custom status not updating in settings sidebar when changed from another client

* Fixed the issue for custom status not updating in settings sidebar when changed from another client
* Fixed the IOS UI issues
    - Fixed the font-weight of the channel header custom status
    - Fixed the extra space added on typing in input issue
* Fix custom status e2e tests

* Fixed the custom status input click area issue

* Fix custom status input touchable area

* added expiry time to custom status

* removed spaces from en.json

* Updated snapshots

* Updated snapshots

* added some ui changes to expiry stuff in custom status

* Apply suggestions from code review

Co-authored-by: Michel Engelen <32863416+michelengelen@users.noreply.github.com>

* Review fixes (#15)

* Review fixes
Sorted the import order in all files
Modified removeRecentCustomStatus action not to use bindClientFunction
Added types for custom status client functions
Added containerSize prop in clear button component
Removed the check for custom status enabled from custom status emoji and added it in post_header, channel_title, channel_item
Modified getCustomStatusSelector to return undefined if custom status does not exist
Modified settings_sidebar, channel_info, channel_info_header, custom_status_modal, user_profile to handle undefined custom status
Removed the text wrapper from the custom status emoji in channel_info_header
Added check for identifying the navigation button pressed in custom status modal

* Added server version check in isCustomStatusEnabled selector

* Refactored some code and added types in style in custom status modal
Added type in custom status suggestion functions in custom status modal
Refactored some code

* Fixed failing tests and updated snapshots

* Expiry Time functionality added

* Updated snapshot for clear button component

* ran npm run fix

* Added timezone functionality to custom status expiry

* Merged custom status into test-1230

* Review fixes

Removed logic for tracking requests for setting and unsetting custom status
Added logic for clearing status without delay in settings sidebar
Added event for set custom status failure and attached listener in settings sidebar
Added feature in custom status text component to accept string or FormattedText as prop and ellipsizeMode and numberOfLines as well
Removed labelSibling and failureText props from drawer item
Passed clearButton and retryMessage in labelComponent from settings sidebar to drawer item
Replaced Text with CustomStatusText in channel info header
Added localization in the custom status suggestions
Added exception handling in the getRecentCustomStatuses selector

* Fixed drawer item unit tests and updated snapshots

* Fixed UI issues for IOS in settings sidebar and main sidebar

* Updated snapshots

* Refactored duration code in custom status suggestion

* Review fixes
Removed check for user null or undefined from setCustomStatus action
Refactored some code in custom status emoji and post header
Memoized handleClear in custom status suggestion
Made stylesheet in settings_sidebar and added all styles there
Consolidated openCustomStatusModal function inside goToCustomStatusScreen

* Refactored some code
Refactored some code in set custom status action
Updated name of a unit test in drawer item and updated snapshot

* added ui fixes to date time picker component and displayExpiryTime
component

* Removed server version check for testing

* bug fix with timezone and statusSame

* Review UI fixes (#18)

Changed the padding for custom status both in settings sidebar and custom status suggestions
Changed the position of clear button in the settings sidebar

* UI fix in user profile screen
Fixed the call to apiGetChannelByName in custom status e2e test

* Added server version check for custom status feature

* Updated snapshots

* modified testIDs, output rendering logic

* Review fixes
Converted mapStateToProps to makeMapStateToProps and moved makeGetCustomStatus call inside them in several components

* Removed the server version check and fixed showing custom status in user profile bug

* Updated datetime picker version and fixed timezone issue
Fixed the memoization issue in getCurrentUserTimezone selector
Refactored the getCurrentDateTimeForTimezone to getCurrentMomentForTimezone
Added the timezoneOffsetInMinutes prop to the datetime picker

* Fixed ios UI issues
Fixed the positioning of Clear after in custom status modal in ios
Fixed the positioning of spinner date time picker in ios

* expiry time now showing in custom status,clear after modals

* Fixed the custom status not showing in user profile of other users if own status is not set

* Changed the emoji size in the channel title

* Updated snapshots

* Added custom status emoji in post header
Fixed the lint errors and type check errors

* Updated snapshots
Fixed the prop type isMilitaryTime for user_profile screen

* UI fixes and code refactoring (#19)

* added date time picker, fixed spacing in some components

* UI fixes, added isCustomStatusExpired selector

* removed extra spaces from package-lock.json

* Review Fixes, upgraded datetimepicker version

* Refactored some code

* Refactored some code

* Added server version check for the custom status feature

* Merge master into custom-status-expiry

* Review fixes and corrected import order

* Resolved tsc errors, corrected intl usage

* Code refactoring and minor bug fixes
Fixed the default value of isCustomStatusExpired in mapStateToProps from false to true in all components
Changed the ids of various expiry dropdown texts
Fixed the order of ids in en.json

* Changed date time format in front of Custom option in Clear after modal (#20)

* Corrected 'check' usage in front of 'Custom' in clear-after-modal

* Renamed clear_after_suggestions to clear_after_menu_item. removed unused
code

* Added unit tests and e2e tests

* Review fixes
Removed custom status clear after modal as a connected component

* Updated failing snapshot

* Review UI fixes
Changed the size of expiry time in channel header and fixed the width of custom status text along with the position of the emoji
Fixed the divider between custom status input and Clear after in the custom status modal
Changed the size of expiry time in custom status suggestions
Fixed the position of the tick in the clear after modal

* Updated snapshots

* Review fixes: Code refactoring

* Updated snapshots

* Code refactoring and fixed several issues
Updated and added unit tests for custom_status_expiry component
Refactored some code in custom_status_modal and clear_after_modal
Increased the size of the back icon in the Clear after modal
Added the logic for showing Clear after option only when the status is set
Added 30 minute intervals in the timepicker

* Custom status expiry review fixes (#24)

* Added server version check for custom status expiry and review fixes
Made an isCustomStatusExpirySupported selector for checking server version
Modified custom status modal not to show clear after row if expiry not supported
Fixed the bug of status not setting if expiry not supported
Added the logic for hiding the duratiion from suggestions if expiry not supported
Changed the transitioning of opening Clear After modal to open in the same stack level
Added the expiry supported check in settings sidebar and channel info screen and fixed the UI issues
Code refactoring

* Fixed the Back icon in the Clear after modal

* Fixed the Clear after flow and e2e tests
Fixed the Set status modal closing issue on closing Clear after modal
Added the feature to show Today in the custom status expiry component
Refactored and fixed the e2e tests for custom status expiry
Refactored some code in the Clear After modal

* Fixed unit tests and updated snapshots

* Fixed the bug showing invalid date in the Clear after field in the Set status modal

* Updated package-lock.json

* Code refactoring

* UI fixes in the user profile page
Added isExpirySupported check in the user profile page

* Fixed unit test and updated snapshot

* Updated snapshot for user_profile

* Review fixes: Code refactoring

* Fixed failing snapshots

* Fixed the MM-T4092 e2e test for ios (#25)

* Review fixes: Code refactoring
Deleted app/screens/custom_status_clear_after/index.ts file and changed import paths

* Code refactoring in e2e tests and updated eslint no shadow rule

* Disallowed the selection of past time in custom status date time picker

Co-authored-by: Chetanya Kandhari <chetanya.kandhari@brightscout.com>
Co-authored-by: Manoj <77336594+manojosh@users.noreply.github.com>
Co-authored-by: Joseph Baylon <joseph.baylon@mattermost.com>
Co-authored-by: Chetanya Kandhari <availchet@gmail.com>
Co-authored-by: Michel Engelen <32863416+michelengelen@users.noreply.github.com>
2021-07-23 04:02:19 +08:00

754 lines
55 KiB
JSON

{
"about.date": "Build Date:",
"about.enterpriseEditione1": "Enterprise Edition",
"about.enterpriseEditionLearn": "Learn more about Enterprise Edition at ",
"about.enterpriseEditionSt": "Modern communication from behind your firewall.",
"about.hash": "Build Hash:",
"about.hashee": "EE Build Hash:",
"about.teamEditionLearn": "Join the Mattermost community at ",
"about.teamEditionSt": "All your team communication in one place, instantly searchable and accessible anywhere.",
"about.teamEditiont0": "Team Edition",
"about.teamEditiont1": "Enterprise Edition",
"about.title": "About {appTitle}",
"announcment_banner.dont_show_again": "Don't show again",
"api.channel.add_member.added": "{addedUsername} added to the channel by {username}.",
"apps.error": "Error: {error}",
"apps.error.command.field_missing": "Required fields missing: `{fieldName}`.",
"apps.error.command.unknown_channel": "Unknown channel for field `{fieldName}`: `{option}`.",
"apps.error.command.unknown_option": "Unknown option for field `{fieldName}`: `{option}`.",
"apps.error.command.unknown_user": "Unknown user for field `{fieldName}`: `{option}`.",
"apps.error.form.no_call": "`call` is not defined.",
"apps.error.form.no_form": "`form` is not defined.",
"apps.error.form.no_lookup_call": "performLookupCall props.call is not defined",
"apps.error.form.refresh": "There has been an error fetching the select fields. Contact the app developer. Details: {details}",
"apps.error.form.refresh_no_refresh": "Called refresh on no refresh field.",
"apps.error.form.submit.pretext": "There has been an error submitting the modal. Contact the app developer. Details: {details}",
"apps.error.lookup.error_preparing_request": "Error preparing lookup request: {errorMessage}",
"apps.error.parser": "Parsing error: {error}",
"apps.error.parser.empty_value": "empty values are not allowed",
"apps.error.parser.missing_binding": "Missing command bindings.",
"apps.error.parser.missing_call": "Missing binding call.",
"apps.error.parser.missing_field_value": "Field value is missing.",
"apps.error.parser.missing_quote": "Matching double quote expected before end of input.",
"apps.error.parser.missing_tick": "Matching tick quote expected before end of input.",
"apps.error.parser.multiple_equal": "Multiple `=` signs are not allowed.",
"apps.error.parser.no_argument_pos_x": "Unable to identify argument.",
"apps.error.parser.no_bindings": "No command bindings.",
"apps.error.parser.no_match": "`{command}`: No matching command found in this workspace.",
"apps.error.parser.no_slash_start": "Command must start with a `/`.",
"apps.error.parser.unexpected_error": "Unexpected error.",
"apps.error.parser.unexpected_flag": "Command does not accept flag `{flagName}`.",
"apps.error.parser.unexpected_state": "Unreachable: Unexpected state in matchBinding: `{state}`.",
"apps.error.parser.unexpected_whitespace": "Unreachable: Unexpected whitespace.",
"apps.error.responses.form.no_form": "Response type is `form`, but no form was included in response.",
"apps.error.responses.navigate.no_submit": "Response type is `navigate`, but the call was not a submission.",
"apps.error.responses.navigate.no_url": "Response type is `navigate`, but no url was included in response.",
"apps.error.responses.unexpected_error": "Received an unexpected error.",
"apps.error.responses.unexpected_type": "App response type was not expected. Response type: {type}.",
"apps.error.responses.unknown_field_error": "Received an error for an unkown field. Field name: `{field}`. Error: `{error}`.",
"apps.error.responses.unknown_type": "App response type not supported. Response type: {type}.",
"apps.error.unknown": "Unknown error occurred.",
"apps.suggestion.dynamic.error": "Dynamic select error",
"apps.suggestion.errors.parser_error": "Parsing error",
"apps.suggestion.no_dynamic": "No data was returned for dynamic suggestions",
"apps.suggestion.no_static": "No matching options.",
"apps.suggestion.no_suggestion": "No matching suggestions.",
"archivedChannelMessage": "You are viewing an **archived channel**. New messages cannot be posted.",
"camera_type.photo.option": "Capture Photo",
"camera_type.title": "Choose an action",
"camera_type.video.option": "Record Video",
"center_panel.archived.closeChannel": "Close Channel",
"channel_header.addMembers": "Add Members",
"channel_header.directchannel.you": "{displayname} (you) ",
"channel_header.manageMembers": "Manage Members",
"channel_header.notificationPreference": "Mobile Notifications",
"channel_header.notificationPreference.all": "All",
"channel_header.notificationPreference.default": "Default",
"channel_header.notificationPreference.mention": "Mentions",
"channel_header.notificationPreference.none": "Never",
"channel_header.pinnedPosts": "Pinned Messages",
"channel_header.viewMembers": "View Members",
"channel_info.header": "Header:",
"channel_info.purpose": "Purpose:",
"channel_loader.someone": "Someone",
"channel_members_modal.remove": "Remove",
"channel_modal.cancel": "Cancel",
"channel_modal.descriptionHelp": "Describe how this channel should be used.",
"channel_modal.header": "Header",
"channel_modal.headerEx": "E.g.: \"[Link Title](http://example.com)\"",
"channel_modal.headerHelp": "Set text that will appear in the header of the channel beside the channel name. For example, include frequently used links by typing [Link Title](http://example.com).",
"channel_modal.name": "Name",
"channel_modal.nameEx": "E.g.: \"Bugs\", \"Marketing\", \"客户支持\"",
"channel_modal.optional": "(optional)",
"channel_modal.purpose": "Purpose",
"channel_modal.purposeEx": "E.g.: \"A channel to file bugs and improvements\"",
"channel_notifications.ignoreChannelMentions.settings": "Ignore @channel, @here, @all",
"channel_notifications.muteChannel.settings": "Mute channel",
"channel_notifications.preference.all_activity": "For all activity",
"channel_notifications.preference.global_default": "Global default ({notifyLevel})",
"channel_notifications.preference.header": "Send Notifications",
"channel_notifications.preference.never": "Never",
"channel_notifications.preference.only_mentions": "Only mentions and direct messages",
"channel_notifications.preference.save_error": "We couldn't save notification preference. Please check your connection and try again.",
"channel.channelHasGuests": "This channel has guests",
"channel.hasGuests": "This group message has guests",
"channel.isGuest": "This person is a guest",
"combined_system_message.added_to_channel.many_expanded": "{users} and {lastUser} were **added to the channel** by {actor}.",
"combined_system_message.added_to_channel.one": "{firstUser} **added to the channel** by {actor}.",
"combined_system_message.added_to_channel.one_you": "You were **added to the channel** by {actor}.",
"combined_system_message.added_to_channel.two": "{firstUser} and {secondUser} **added to the channel** by {actor}.",
"combined_system_message.added_to_team.many_expanded": "{users} and {lastUser} were **added to the team** by {actor}.",
"combined_system_message.added_to_team.one": "{firstUser} **added to the team** by {actor}.",
"combined_system_message.added_to_team.one_you": "You were **added to the team** by {actor}.",
"combined_system_message.added_to_team.two": "{firstUser} and {secondUser} **added to the team** by {actor}.",
"combined_system_message.joined_channel.many_expanded": "{users} and {lastUser} **joined the channel**.",
"combined_system_message.joined_channel.one": "{firstUser} **joined the channel**.",
"combined_system_message.joined_channel.one_you": "You **joined the channel**.",
"combined_system_message.joined_channel.two": "{firstUser} and {secondUser} **joined the channel**.",
"combined_system_message.joined_team.many_expanded": "{users} and {lastUser} **joined the team**.",
"combined_system_message.joined_team.one": "{firstUser} **joined the team**.",
"combined_system_message.joined_team.one_you": "You **joined the team**.",
"combined_system_message.joined_team.two": "{firstUser} and {secondUser} **joined the team**.",
"combined_system_message.left_channel.many_expanded": "{users} and {lastUser} **left the channel**.",
"combined_system_message.left_channel.one": "{firstUser} **left the channel**.",
"combined_system_message.left_channel.one_you": "You **left the channel**.",
"combined_system_message.left_channel.two": "{firstUser} and {secondUser} **left the channel**.",
"combined_system_message.left_team.many_expanded": "{users} and {lastUser} **left the team**.",
"combined_system_message.left_team.one": "{firstUser} **left the team**.",
"combined_system_message.left_team.one_you": "You **left the team**.",
"combined_system_message.left_team.two": "{firstUser} and {secondUser} **left the team**.",
"combined_system_message.removed_from_channel.many_expanded": "{users} and {lastUser} were **removed from the channel**.",
"combined_system_message.removed_from_channel.one": "{firstUser} was **removed from the channel**.",
"combined_system_message.removed_from_channel.one_you": "You were **removed from the channel**.",
"combined_system_message.removed_from_channel.two": "{firstUser} and {secondUser} were **removed from the channel**.",
"combined_system_message.removed_from_team.many_expanded": "{users} and {lastUser} were **removed from the team**.",
"combined_system_message.removed_from_team.one": "{firstUser} was **removed from the team**.",
"combined_system_message.removed_from_team.one_you": "You were **removed from the team**.",
"combined_system_message.removed_from_team.two": "{firstUser} and {secondUser} were **removed from the team**.",
"combined_system_message.you": "You",
"create_comment.addComment": "Add a comment...",
"create_post.deactivated": "You are viewing an archived channel with a deactivated user.",
"create_post.write": "Write to {channelDisplayName}",
"custom_status.expiry_dropdown.custom": "Custom",
"custom_status.expiry_dropdown.date_and_time": "Date and Time",
"custom_status.expiry_dropdown.dont_clear": "Don't clear",
"custom_status.expiry_dropdown.four_hours": "4 hours",
"custom_status.expiry_dropdown.one_hour": "1 hour",
"custom_status.expiry_dropdown.thirty_minutes": "30 minutes",
"custom_status.expiry_dropdown.this_week": "This week",
"custom_status.expiry_dropdown.today": "Today",
"custom_status.expiry_time.today": "Today",
"custom_status.expiry_time.tomorrow": "Tomorrow",
"custom_status.expiry.at": "at",
"custom_status.expiry.until": "Until",
"custom_status.failure_message": "Failed to update status. Try again",
"custom_status.set_status": "Set a status",
"custom_status.suggestions.in_a_meeting": "In a meeting",
"custom_status.suggestions.on_a_vacation": "On a vacation",
"custom_status.suggestions.out_for_lunch": "Out for lunch",
"custom_status.suggestions.out_sick": "Out sick",
"custom_status.suggestions.recent_title": "RECENT",
"custom_status.suggestions.title": "SUGGESTIONS",
"custom_status.suggestions.working_from_home": "Working from home",
"date_separator.today": "Today",
"date_separator.yesterday": "Yesterday",
"edit_post.editPost": "Edit the post...",
"edit_post.save": "Save",
"emoji_picker.activities": "Activities",
"emoji_picker.animals-nature": "Animals & Nature",
"emoji_picker.custom": "Custom",
"emoji_picker.flags": "Flags",
"emoji_picker.food-drink": "Food & Drink",
"emoji_picker.objects": "Objects",
"emoji_picker.people-body": "People & Body",
"emoji_picker.recent": "Recent",
"emoji_picker.searchResults": "Search Results",
"emoji_picker.smileys-emotion": "Smileys & Emotion",
"emoji_picker.symbols": "Symbols",
"emoji_picker.travel-places": "Travel & Places",
"emoji_skin.dark_skin_tone": "dark skin tone",
"emoji_skin.default": "default skin tone",
"emoji_skin.light_skin_tone": "light skin tone",
"emoji_skin.medium_dark_skin_tone": "medium dark skin tone",
"emoji_skin.medium_light_skin_tone": "medium light skin tone",
"emoji_skin.medium_skin_tone": "medium skin tone",
"file_upload.fileAbove": "Files must be less than {max}",
"friendly_date.daysAgo": "{count} {count, plural, one {day} other {days}} ago",
"friendly_date.hoursAgo": "{count} {count, plural, one {hour} other {hours}} ago",
"friendly_date.minsAgo": "{count} {count, plural, one {min} other {mins}} ago",
"friendly_date.monthsAgo": "{count} {count, plural, one {month} other {months}} ago",
"friendly_date.now": "Now",
"friendly_date.yearsAgo": "{count} {count, plural, one {year} other {years}} ago",
"friendly_date.yesterday": "Yesterday",
"gallery.download_file": "Download file",
"gallery.footer.channel_name": "Shared in {channelName}",
"gallery.open_file": "Open file",
"gallery.unsuppored": "Preview is not supported for this file type",
"get_post_link_modal.title": "Copy Link",
"global_threads.allThreads": "All Your Threads",
"global_threads.emptyThreads.message": "Any threads you are mentioned in or have participated in will show here along with any threads you have followed.",
"global_threads.emptyThreads.title": "No followed threads yet",
"global_threads.emptyUnreads.message": "Looks like you're all caught up.",
"global_threads.emptyUnreads.title": "No unread threads",
"global_threads.markAllRead.cancel": "Cancel",
"global_threads.markAllRead.markRead": "Mark read",
"global_threads.markAllRead.message": "This will clear any unread status for all of your threads shown here",
"global_threads.markAllRead.title": "Are you sure you want to mark all threads as read?",
"global_threads.unreads": "Unreads",
"integrations.add": "Add",
"intro_messages.anyMember": " Any member can join and read this channel.",
"intro_messages.beginning": "Beginning of {name}",
"intro_messages.creator": "This is the start of the {name} channel, created by {creator} on {date}.",
"intro_messages.creatorPrivate": "This is the start of the {name} private channel, created by {creator} on {date}.",
"intro_messages.group_message": "This is the start of your group message history with these teammates. Messages and files shared here are not shown to people outside this area.",
"intro_messages.noCreator": "This is the start of the {name} channel, created on {date}.",
"intro_messages.onlyInvited": " Only invited members can see this private channel.",
"last_users_message.added_to_channel.type": "were **added to the channel** by {actor}.",
"last_users_message.added_to_team.type": "were **added to the team** by {actor}.",
"last_users_message.first": "{firstUser} and ",
"last_users_message.joined_channel.type": "**joined the channel**.",
"last_users_message.joined_team.type": "**joined the team**.",
"last_users_message.left_channel.type": "**left the channel**.",
"last_users_message.left_team.type": "**left the team**.",
"last_users_message.others": "{numOthers} others ",
"last_users_message.removed_from_channel.type": "were **removed from the channel**.",
"last_users_message.removed_from_team.type": "were **removed from the team**.",
"login_mfa.enterToken": "To complete the sign in process, please enter a token from your smartphone's authenticator",
"login_mfa.token": "MFA Token",
"login_mfa.tokenReq": "Please enter an MFA token",
"login.email": "Email",
"login.forgot": "I forgot my password",
"login.invalidPassword": "Your password is incorrect.",
"login.ldapUsername": "AD/LDAP Username",
"login.ldapUsernameLower": "AD/LDAP username",
"login.noEmail": "Please enter your email",
"login.noEmailLdapUsername": "Please enter your email or {ldapUsername}",
"login.noEmailUsername": "Please enter your email or username",
"login.noEmailUsernameLdapUsername": "Please enter your email, username or {ldapUsername}",
"login.noLdapUsername": "Please enter your {ldapUsername}",
"login.noPassword": "Please enter your password",
"login.noUsername": "Please enter your username",
"login.noUsernameLdapUsername": "Please enter your username or {ldapUsername}",
"login.or": "or",
"login.password": "Password",
"login.signIn": "Sign in",
"login.username": "Username",
"login.userNotFound": "We couldn't find an account matching your login credentials.",
"mobile.about.appVersion": "App Version: {version} (Build {number})",
"mobile.about.copyright": "Copyright 2015-{currentYear} Mattermost, Inc. All rights reserved",
"mobile.about.database": "Database: {type}",
"mobile.about.licensed": "Licensed to: {company}",
"mobile.about.powered_by": "{site} is powered by Mattermost",
"mobile.about.serverVersion": "Server Version: {version} (Build {number})",
"mobile.about.serverVersionNoBuild": "Server Version: {version}",
"mobile.account_notifications.reply.header": "SEND REPLY NOTIFICATIONS FOR",
"mobile.account_notifications.threads_mentions": "Mentions in threads",
"mobile.account_notifications.threads_start": "Threads that I start",
"mobile.account_notifications.threads_start_participate": "Threads that I start or participate in",
"mobile.account.settings.save": "Save",
"mobile.action_menu.select": "Select an option",
"mobile.advanced_settings.clockDisplay": "Clock display",
"mobile.advanced_settings.delete": "Delete",
"mobile.advanced_settings.delete_message": "\nThis will reset all offline data and restart the app. You will be automatically logged back in once the app restarts.\n",
"mobile.advanced_settings.delete_title": "Delete Documents & Data",
"mobile.advanced_settings.timezone": "Timezone",
"mobile.advanced_settings.title": "Advanced Settings",
"mobile.alert_dialog.alertCancel": "Cancel",
"mobile.android.back_handler_exit": "Press back again to exit",
"mobile.android.photos_permission_denied_description": "Upload photos to your Mattermost instance or save them to your device. Open Settings to grant Mattermost Read and Write access to your photo library.",
"mobile.android.photos_permission_denied_title": "{applicationName} would like to access your photos",
"mobile.android.videos_permission_denied_description": "Upload videos to your Mattermost instance or save them to your device. Open Settings to grant Mattermost Read and Write access to your video library.",
"mobile.android.videos_permission_denied_title": "{applicationName} would like to access your videos",
"mobile.announcement_banner.title": "Announcement",
"mobile.calendar.dayNames": "Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday",
"mobile.calendar.dayNamesShort": "Sun,Mon,Tue,Wed,Thu,Fri,Sat",
"mobile.calendar.monthNames": "January,February,March,April,May,June,July,August,September,October,November,December",
"mobile.calendar.monthNamesShort": "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec",
"mobile.camera_photo_permission_denied_description": "Take photos and upload them to your Mattermost instance or save them to your device. Open Settings to grant Mattermost Read and Write access to your camera.",
"mobile.camera_photo_permission_denied_title": "{applicationName} would like to access your camera",
"mobile.camera_video_permission_denied_description": "Take videos and upload them to your Mattermost instance or save them to your device. Open Settings to grant Mattermost Read and Write access to your camera.",
"mobile.camera_video_permission_denied_title": "{applicationName} would like to access your camera",
"mobile.channel_drawer.search": "Jump to...",
"mobile.channel_info.alertMessageConvertChannel": "When you convert {displayName} to a private channel, history and membership are preserved. Publicly shared files remain accessible to anyone with the link. Membership in a private channel is by invitation only.\n\nThe change is permanent and cannot be undone.\n\nAre you sure you want to convert {displayName} to a private channel?",
"mobile.channel_info.alertMessageDeleteChannel": "Are you sure you want to archive the {term} {name}?",
"mobile.channel_info.alertMessageLeaveChannel": "Are you sure you want to leave the {term} {name}?",
"mobile.channel_info.alertMessageUnarchiveChannel": "Are you sure you want to unarchive the {term} {name}?",
"mobile.channel_info.alertNo": "No",
"mobile.channel_info.alertTitleConvertChannel": "Convert {displayName} to a private channel?",
"mobile.channel_info.alertTitleDeleteChannel": "Archive {term}",
"mobile.channel_info.alertTitleLeaveChannel": "Leave {term}",
"mobile.channel_info.alertTitleUnarchiveChannel": "Unarchive {term}",
"mobile.channel_info.alertYes": "Yes",
"mobile.channel_info.convert": "Convert to Private Channel",
"mobile.channel_info.convert_failed": "We were unable to convert {displayName} to a private channel.",
"mobile.channel_info.convert_success": "{displayName} is now a private channel.",
"mobile.channel_info.copy_header": "Copy Header",
"mobile.channel_info.copy_purpose": "Copy Purpose",
"mobile.channel_info.delete_failed": "We couldn't archive the channel {displayName}. Please check your connection and try again.",
"mobile.channel_info.edit": "Edit Channel",
"mobile.channel_info.privateChannel": "Private Channel",
"mobile.channel_info.publicChannel": "Public Channel",
"mobile.channel_info.unarchive_failed": "We couldn't unarchive the channel {displayName}. Please check your connection and try again.",
"mobile.channel_list.alertNo": "No",
"mobile.channel_list.alertYes": "Yes",
"mobile.channel_list.archived": "ARCHIVED",
"mobile.channel_list.channels": "CHANNELS",
"mobile.channel_list.closeDM": "Close Direct Message",
"mobile.channel_list.closeGM": "Close Group Message",
"mobile.channel_list.members": "MEMBERS",
"mobile.channel_list.not_member": "NOT A MEMBER",
"mobile.channel_list.unreads": "UNREADS",
"mobile.channel_loader.still_loading": "Still trying to load your content...",
"mobile.channel_members.add_members_alert": "You must select at least one member to add to the channel.",
"mobile.commands.error_title": "Error Executing Command",
"mobile.components.error_list.dismiss_all": "Dismiss All",
"mobile.components.select_server_view.connect": "Connect",
"mobile.components.select_server_view.connecting": "Connecting...",
"mobile.components.select_server_view.enterServerUrl": "Enter Server URL",
"mobile.components.select_server_view.proceed": "Proceed",
"mobile.components.select_server_view.siteUrlPlaceholder": "https://mattermost.example.com",
"mobile.create_channel": "Create",
"mobile.create_channel.private": "New Private Channel",
"mobile.create_channel.public": "New Public Channel",
"mobile.create_post.read_only": "This channel is read-only",
"mobile.custom_list.no_results": "No Results",
"mobile.custom_status.choose_emoji": "Choose an emoji",
"mobile.custom_status.clear_after": "Clear After",
"mobile.custom_status.modal_confirm": "Done",
"mobile.display_settings.sidebar": "Sidebar",
"mobile.display_settings.theme": "Theme",
"mobile.document_preview.failed_description": "An error occurred while opening the document. Please make sure you have a {fileType} viewer installed and try again.\n",
"mobile.document_preview.failed_title": "Open Document failed",
"mobile.downloader.disabled_description": "File downloads are disabled on this server. Please contact your System Admin for more details.\n",
"mobile.downloader.disabled_title": "Download disabled",
"mobile.downloader.failed_description": "An error occurred while downloading the file. Please check your internet connection and try again.\n",
"mobile.downloader.failed_title": "Download failed",
"mobile.drawer.teamsTitle": "Teams",
"mobile.edit_channel": "Save",
"mobile.edit_post.title": "Editing Message",
"mobile.edit_profile.remove_profile_photo": "Remove Photo",
"mobile.emoji_picker.search.not_found_description": "Check the spelling or try another search.",
"mobile.emoji_picker.search.not_found_title": "No results found for \"{searchTerm}\"",
"mobile.error_handler.button": "Relaunch",
"mobile.error_handler.description": "\nTap relaunch to open the app again. After restart, you can report the problem from the settings menu.\n",
"mobile.error_handler.title": "Unexpected error occurred",
"mobile.extension.authentication_required": "Authentication required: Please first login using the app.",
"mobile.extension.file_error": "There was an error reading the file to be shared.\nPlease try again.",
"mobile.extension.file_limit": "Sharing is limited to a maximum of 5 files.",
"mobile.extension.max_file_size": "File attachments shared in Mattermost must be less than {size}.",
"mobile.extension.permission": "Mattermost needs access to the device storage to share files.",
"mobile.extension.team_required": "You must belong to a team before you can share files.",
"mobile.extension.title": "Share in Mattermost",
"mobile.failed_network_action.retry": "Try again",
"mobile.failed_network_action.shortDescription": "Messages will load when you have an internet connection.",
"mobile.failed_network_action.teams_channel_description": "Channels could not be loaded for {teamName}.",
"mobile.failed_network_action.teams_description": "Teams could not be loaded.",
"mobile.failed_network_action.teams_title": "Something went wrong",
"mobile.failed_network_action.title": "No internet connection",
"mobile.file_upload.browse": "Browse Files",
"mobile.file_upload.camera_photo": "Take Photo",
"mobile.file_upload.camera_video": "Take Video",
"mobile.file_upload.disabled": "File uploads from mobile are disabled. Please contact your System Admin for more details.",
"mobile.file_upload.disabled2": "File uploads from mobile are disabled.",
"mobile.file_upload.library": "Photo Library",
"mobile.file_upload.max_warning": "Uploads limited to 5 files maximum.",
"mobile.file_upload.unsupportedMimeType": "Only BMP, JPG or PNG images may be used for profile pictures.",
"mobile.file_upload.video": "Video Library",
"mobile.files_paste.error_description": "An error occurred while pasting the file(s). Please try again.",
"mobile.files_paste.error_dismiss": "Dismiss",
"mobile.files_paste.error_title": "Paste failed",
"mobile.flagged_posts.empty_description": "Saved messages are only visible to you. Mark messages for follow-up or save something for later by long-pressing a message and choosing Save from the menu.",
"mobile.flagged_posts.empty_title": "No Saved messages yet",
"mobile.gallery.title": "{index} of {total}",
"mobile.general.error.title": "Error",
"mobile.help.title": "Help",
"mobile.intro_messages.default_message": "This is the first channel teammates see when they sign up - use it for posting updates everyone needs to know.",
"mobile.intro_messages.default_welcome": "Welcome to {name}!",
"mobile.intro_messages.DM": "This is the start of your direct message history with {teammate}. Direct messages and files shared here are not shown to people outside this area.",
"mobile.ios.photos_permission_denied_description": "Upload photos and videos to your Mattermost instance or save them to your device. Open Settings to grant Mattermost Read and Write access to your photo and video library.",
"mobile.ios.photos_permission_denied_title": "{applicationName} would like to access your photos",
"mobile.join_channel.error": "We couldn't join the channel {displayName}. Please check your connection and try again.",
"mobile.link.error.text": "Unable to open the link.",
"mobile.link.error.title": "Error",
"mobile.loading_channels": "Loading Channels...",
"mobile.loading_members": "Loading Members...",
"mobile.loading_options": "Loading Options...",
"mobile.loading_posts": "Loading messages...",
"mobile.login_options.choose_title": "Choose your login method",
"mobile.mailTo.error.text": "Unable to open an email client.",
"mobile.mailTo.error.title": "Error",
"mobile.managed.blocked_by": "Blocked by {vendor}",
"mobile.managed.exit": "Exit",
"mobile.managed.jailbreak": "Jailbroken devices are not trusted by {vendor}, please exit the app.",
"mobile.managed.not_secured.android": "This device must be secured with a screen lock to use Mattermost.",
"mobile.managed.not_secured.ios": "This device must be secured with a passcode to use Mattermost.\n\nGo to Settings > Face ID & Passcode.",
"mobile.managed.not_secured.ios.touchId": "This device must be secured with a passcode to use Mattermost.\n\nGo to Settings > Touch ID & Passcode.",
"mobile.managed.secured_by": "Secured by {vendor}",
"mobile.managed.settings": "Go to settings",
"mobile.markdown.code.copy_code": "Copy Code",
"mobile.markdown.code.plusMoreLines": "+{count, number} more {count, plural, one {line} other {lines}}",
"mobile.markdown.image.too_large": "Image exceeds max dimensions of {maxWidth} by {maxHeight}:",
"mobile.markdown.link.copy_url": "Copy URL",
"mobile.mention.copy_mention": "Copy Mention",
"mobile.message_length.message": "Your current message is too long. Current character count: {count}/{max}",
"mobile.message_length.message_split_left": "Message exceeds the character limit",
"mobile.message_length.title": "Message Length",
"mobile.more_dms.add_more": "You can add {remaining, number} more users",
"mobile.more_dms.cannot_add_more": "You cannot add more users",
"mobile.more_dms.one_more": "You can add 1 more user",
"mobile.more_dms.start": "Start",
"mobile.more_dms.title": "New Conversation",
"mobile.more_dms.you": "@{username} - you",
"mobile.more_messages_button.text": "{count} {isInitialMessage, select, true {new} other {more new}} {count, plural, one {message} other {messages}}",
"mobile.notice_mobile_link": "mobile apps",
"mobile.notice_platform_link": "server",
"mobile.notice_text": "Mattermost is made possible by the open source software used in our {platform} and {mobile}.",
"mobile.notification_settings_mentions.keywords": "Keywords",
"mobile.notification_settings_mentions.keywordsDescription": "Other words that trigger a mention",
"mobile.notification_settings_mentions.keywordsHelp": "Keywords are non-case sensitive and should be separated by a comma.",
"mobile.notification_settings_mentions.wordsTrigger": "WORDS THAT TRIGGER MENTIONS",
"mobile.notification_settings_mobile.default_sound": "Default ({sound})",
"mobile.notification_settings_mobile.light": "Light",
"mobile.notification_settings_mobile.no_sound": "None",
"mobile.notification_settings_mobile.push_activity": "SEND NOTIFICATIONS",
"mobile.notification_settings_mobile.push_activity_android": "Send notifications",
"mobile.notification_settings_mobile.push_status": "TRIGGER PUSH NOTIFICATIONS WHEN",
"mobile.notification_settings_mobile.push_status_android": "Trigger push notifications when",
"mobile.notification_settings_mobile.sound": "Sound",
"mobile.notification_settings_mobile.sounds_title": "Notification sound",
"mobile.notification_settings_mobile.test": "Send me a test notification",
"mobile.notification_settings_mobile.test_push": "This is a test push notification",
"mobile.notification_settings_mobile.vibrate": "Vibrate",
"mobile.notification_settings.auto_responder_short": "Automatic Replies",
"mobile.notification_settings.auto_responder.default_message": "Hello, I am out of office and unable to respond to messages.",
"mobile.notification_settings.auto_responder.enabled": "Enabled",
"mobile.notification_settings.auto_responder.footer_message": "Set a custom message that will be automatically sent in response to Direct Messages. Mentions in Public and Private Channels will not trigger the automated reply. Enabling Automatic Replies sets your status to Out of Office and disables email and push notifications.",
"mobile.notification_settings.auto_responder.message_placeholder": "Message",
"mobile.notification_settings.auto_responder.message_title": "CUSTOM MESSAGE",
"mobile.notification_settings.email": "Email",
"mobile.notification_settings.email_title": "Email Notifications",
"mobile.notification_settings.email.send": "SEND EMAIL NOTIFICATIONS",
"mobile.notification_settings.mentions_replies": "Mentions and Replies",
"mobile.notification_settings.mentions.channelWide": "Channel-wide mentions",
"mobile.notification_settings.mentions.reply_title": "Send Reply notifications for",
"mobile.notification_settings.mentions.sensitiveName": "Your case sensitive first name",
"mobile.notification_settings.mentions.sensitiveUsername": "Your non-case sensitive username",
"mobile.notification_settings.mobile": "Mobile",
"mobile.notification_settings.mobile_title": "Mobile Notifications",
"mobile.notification_settings.modal_cancel": "CANCEL",
"mobile.notification_settings.modal_save": "SAVE",
"mobile.notification_settings.ooo_auto_responder": "Automatic Direct Message Replies",
"mobile.notification_settings.save_failed_description": "The notification settings failed to save due to a connection issue. Please try again.",
"mobile.notification_settings.save_failed_title": "Connection issue",
"mobile.oauth.failed_to_login": "Your login attempt failed. Please try again.",
"mobile.oauth.failed_to_open_link": "The link failed to open. Please try again.",
"mobile.oauth.failed_to_open_link_no_browser": "The link failed to open. Please verify if a browser is installed in the current space.",
"mobile.oauth.restart_login": "Restart login",
"mobile.oauth.something_wrong": "Something went wrong",
"mobile.oauth.something_wrong.okButon": "OK",
"mobile.oauth.switch_to_browser": "Please use your browser to complete the login process.",
"mobile.oauth.try_again": "Try again",
"mobile.offlineIndicator.connected": "Connected",
"mobile.offlineIndicator.connecting": "Connecting...",
"mobile.offlineIndicator.offline": "No internet connection",
"mobile.open_dm.error": "We couldn't open a direct message with {displayName}. Please check your connection and try again.",
"mobile.open_gm.error": "We couldn't open a group message with those users. Please check your connection and try again.",
"mobile.open_unknown_channel.error": "Unable to join the channel. Please reset the cache and try again.",
"mobile.participants.header": "THREAD PARTICIPANTS",
"mobile.participants.you": "(you)",
"mobile.permission_denied_dismiss": "Don't Allow",
"mobile.permission_denied_retry": "Settings",
"mobile.pinned_posts.empty_description": "Pin important messages which are visible to the whole channel. Long press on a message and choose Pin to Channel to save it here.",
"mobile.pinned_posts.empty_title": "No Pinned messages yet",
"mobile.post_info.add_reaction": "Add Reaction",
"mobile.post_info.copy_text": "Copy Text",
"mobile.post_info.flag": "Save",
"mobile.post_info.mark_unread": "Mark as Unread",
"mobile.post_info.pin": "Pin to Channel",
"mobile.post_info.reply": "Reply",
"mobile.post_info.unflag": "Unsave",
"mobile.post_info.unpin": "Unpin from Channel",
"mobile.post_pre_header.flagged": "Saved",
"mobile.post_pre_header.pinned": "Pinned",
"mobile.post_pre_header.pinned_flagged": "Pinned and Saved",
"mobile.post_textbox.entire_channel.cancel": "Cancel",
"mobile.post_textbox.entire_channel.confirm": "Confirm",
"mobile.post_textbox.entire_channel.message": "By using @all or @channel you are about to send notifications to {totalMembers, number} {totalMembers, plural, one {person} other {people}}. Are you sure you want to do this?",
"mobile.post_textbox.entire_channel.message.with_timezones": "By using @all or @channel you are about to send notifications to {totalMembers, number} {totalMembers, plural, one {person} other {people}} in {timezones, number} {timezones, plural, one {timezone} other {timezones}}. Are you sure you want to do this?",
"mobile.post_textbox.entire_channel.title": "Confirm sending notifications to entire channel",
"mobile.post_textbox.groups.title": "Confirm sending notifications to groups",
"mobile.post_textbox.multi_group.message.with_timezones": "By using {mentions} and {finalMention} you are about to send notifications to at least {totalMembers} people in {timezones, number} {timezones, plural, one {timezone} other {timezones}}. Are you sure you want to do this?",
"mobile.post_textbox.multi_group.message.without_timezones": "By using {mentions} and {finalMention} you are about to send notifications to at least {totalMembers} people. Are you sure you want to do this?",
"mobile.post_textbox.one_group.message.with_timezones": "By using {mention} you are about to send notifications to {totalMembers} people in {timezones, number} {timezones, plural, one {timezone} other {timezones}}. Are you sure you want to do this?",
"mobile.post_textbox.one_group.message.without_timezones": "By using {mention} you are about to send notifications to {totalMembers} people. Are you sure you want to do this?",
"mobile.post_textbox.uploadFailedDesc": "Some attachments failed to upload to the server. Are you sure you want to post the message?",
"mobile.post_textbox.uploadFailedTitle": "Attachment failure",
"mobile.post.cancel": "Cancel",
"mobile.post.delete_question": "Are you sure you want to delete this post?",
"mobile.post.delete_title": "Delete Post",
"mobile.post.failed_delete": "Delete Message",
"mobile.post.failed_retry": "Try Again",
"mobile.post.failed_title": "Unable to send your message",
"mobile.post.retry": "Refresh",
"mobile.posts_view.moreMsg": "More New Messages Above",
"mobile.prepare_file.failed_description": "An error occurred while preparing the file. Please try again.\n",
"mobile.prepare_file.failed_title": "Preparing failed",
"mobile.prepare_file.text": "Preparing",
"mobile.privacy_link": "Privacy Policy",
"mobile.public_link.copied": "Public link copied",
"mobile.push_notification_reply.button": "Send",
"mobile.push_notification_reply.placeholder": "Write a reply...",
"mobile.push_notification_reply.title": "Reply",
"mobile.reaction_header.all_emojis": "All",
"mobile.recent_mentions.empty_description": "Messages where someone mentions you or includes your trigger words are saved here.",
"mobile.recent_mentions.empty_title": "No Mentions yet",
"mobile.rename_channel.display_name_maxLength": "Channel name must be less than {maxLength, number} characters",
"mobile.rename_channel.display_name_minLength": "Channel name must be {minLength, number} or more characters",
"mobile.rename_channel.display_name_required": "Channel name is required",
"mobile.rename_channel.name_lowercase": "URL be lowercase alphanumeric characters",
"mobile.rename_channel.name_maxLength": "URL must be less than {maxLength, number} characters",
"mobile.rename_channel.name_minLength": "URL must be {minLength, number} or more characters",
"mobile.rename_channel.name_required": "URL is required",
"mobile.request.invalid_response": "Received invalid response from the server.",
"mobile.reset_status.alert_cancel": "Cancel",
"mobile.reset_status.alert_ok": "Ok",
"mobile.reset_status.title_ooo": "Disable \"Out Of Office\"?",
"mobile.retry_message": "Fetching messages failed. Tap here to try again.",
"mobile.routes.channel_members.action": "Remove Members",
"mobile.routes.channel_members.action_message": "You must select at least one member to remove from the channel.",
"mobile.routes.channel_members.action_message_confirm": "Are you sure you want to remove the selected members from the channel?",
"mobile.routes.channelInfo": "Info",
"mobile.routes.channelInfo.createdBy": "Created by {creator} on ",
"mobile.routes.channelInfo.delete_channel": "Archive Channel",
"mobile.routes.channelInfo.favorite": "Favorite",
"mobile.routes.channelInfo.groupManaged": "Members are managed by linked groups",
"mobile.routes.channelInfo.unarchive_channel": "Unarchive Channel",
"mobile.routes.code": "{language} Code",
"mobile.routes.code.noLanguage": "Code",
"mobile.routes.custom_status": "Set a Status",
"mobile.routes.edit_profile": "Edit Profile",
"mobile.routes.login": "Login",
"mobile.routes.loginOptions": "Login Chooser",
"mobile.routes.mfa": "Multi-factor Authentication",
"mobile.routes.selectChannel": "Select Channel",
"mobile.routes.selectTeam": "Select Team",
"mobile.routes.settings": "Settings",
"mobile.routes.sso": "Single Sign-On",
"mobile.routes.table": "Table",
"mobile.routes.thread": "{channelName} Thread",
"mobile.routes.thread_crt": "Thread",
"mobile.routes.thread_crt.in": "in {channelName}",
"mobile.routes.thread_dm": "Direct Message Thread",
"mobile.routes.user_profile": "Profile",
"mobile.routes.user_profile.edit": "Edit",
"mobile.routes.user_profile.local_time": "LOCAL TIME",
"mobile.routes.user_profile.organization": "ORGANIZATION",
"mobile.routes.user_profile.send_message": "Send Message",
"mobile.search.after_modifier_description": "to find posts after a specific date",
"mobile.search.before_modifier_description": "to find posts before a specific date",
"mobile.search.from_modifier_description": "to find posts from specific users",
"mobile.search.from_modifier_title": "username",
"mobile.search.in_modifier_description": "to find posts in specific channels",
"mobile.search.in_modifier_title": "channel-name",
"mobile.search.jump": "Jump to recent messages",
"mobile.search.no_results": "No Results Found",
"mobile.search.on_modifier_description": "to find posts on a specific date",
"mobile.search.recent_title": "Recent Searches",
"mobile.select_team.guest_cant_join_team": "Your guest account has no teams or channels assigned. Please contact an administrator.",
"mobile.select_team.join_open": "Open teams you can join",
"mobile.select_team.no_teams": "There are no available teams for you to join.",
"mobile.server_link.error.text": "The link could not be found on this server.",
"mobile.server_link.error.title": "Link Error",
"mobile.server_link.unreachable_channel.error": "This link belongs to a deleted channel or to a channel to which you do not have access.",
"mobile.server_link.unreachable_team.error": "This link belongs to a deleted team or to a team to which you do not have access.",
"mobile.server_link.unreachable_user.error": "This link belongs to a deleted user.",
"mobile.server_ssl.error.text": "The certificate from {host} is not trusted.\n\nPlease contact your System Administrator to resolve the certificate issues and allow connections to this server.",
"mobile.server_ssl.error.title": "Untrusted Certificate",
"mobile.server_upgrade.alert_description": "This server version is unsupported and users will be exposed to compatibility issues that cause crashes or severe bugs breaking core functionality of the app. Upgrading to server version {serverVersion} or later is required.",
"mobile.server_upgrade.button": "OK",
"mobile.server_upgrade.dismiss": "Dismiss",
"mobile.server_upgrade.learn_more": "Learn More",
"mobile.server_upgrade.title": "Server upgrade required",
"mobile.server_url.empty": "Please enter a valid server URL",
"mobile.server_url.invalid_format": "URL must start with http:// or https://",
"mobile.session_expired": "Session Expired: Please log in to continue receiving notifications. Sessions for {siteName} are configured to expire every {daysCount, number} {daysCount, plural, one {day} other {days}}.",
"mobile.set_status.away": "Away",
"mobile.set_status.dnd": "Do Not Disturb",
"mobile.set_status.offline": "Offline",
"mobile.set_status.online": "Online",
"mobile.share_extension.channel": "Channel",
"mobile.share_extension.error_close": "Close",
"mobile.share_extension.error_message": "An error has occurred while using the share extension.",
"mobile.share_extension.error_title": "Extension Error",
"mobile.share_extension.team": "Team",
"mobile.share_extension.too_long_message": "Character count: {count}/{max}",
"mobile.share_extension.too_long_title": "Message is too long",
"mobile.sidebar_settings.permanent": "Permanent Sidebar",
"mobile.sidebar_settings.permanent_description": "Keep the sidebar open permanently",
"mobile.storage_permission_denied_description": "Upload files to your Mattermost instance. Open Settings to grant Mattermost Read and Write access to files on this device.",
"mobile.storage_permission_denied_title": "{applicationName} would like to access your files",
"mobile.suggestion.members": "Members",
"mobile.system_message.channel_archived_message": "{username} archived the channel",
"mobile.system_message.channel_unarchived_message": "{username} unarchived the channel",
"mobile.system_message.update_channel_displayname_message_and_forget.updated_from": "{username} updated the channel display name from: {oldDisplayName} to: {newDisplayName}",
"mobile.system_message.update_channel_header_message_and_forget.removed": "{username} removed the channel header (was: {oldHeader})",
"mobile.system_message.update_channel_header_message_and_forget.updated_from": "{username} updated the channel header from: {oldHeader} to: {newHeader}",
"mobile.system_message.update_channel_header_message_and_forget.updated_to": "{username} updated the channel header to: {newHeader}",
"mobile.system_message.update_channel_purpose_message.removed": "{username} removed the channel purpose (was: {oldPurpose})",
"mobile.system_message.update_channel_purpose_message.updated_from": "{username} updated the channel purpose from: {oldPurpose} to: {newPurpose}",
"mobile.system_message.update_channel_purpose_message.updated_to": "{username} updated the channel purpose to: {newPurpose}",
"mobile.terms_of_service.alert_cancel": "Cancel",
"mobile.terms_of_service.alert_ok": "OK",
"mobile.terms_of_service.alert_retry": "Try Again",
"mobile.terms_of_service.terms_rejected": "You must agree to the terms of service before accessing {siteName}. Please contact your System Administrator for more details.",
"mobile.timezone_settings.automatically": "Set automatically",
"mobile.timezone_settings.manual": "Change timezone",
"mobile.timezone_settings.select": "Select Timezone",
"mobile.tos_link": "Terms of Service",
"mobile.unsupported_server.message": "Attachments, link previews, reactions and embed data may not be displayed correctly. If this issue persists contact your System Administrator to upgrade your Mattermost server.",
"mobile.unsupported_server.ok": "OK",
"mobile.unsupported_server.title": "Unsupported server version",
"mobile.user_list.deactivated": "Deactivated",
"mobile.user_removed.message": "You were removed from the channel.",
"mobile.user_removed.title": "Removed from {channelName}",
"mobile.user.settings.notifications.email.fifteenMinutes": "Every 15 minutes",
"mobile.video_playback.failed_description": "An error occurred while trying to play the video.\n",
"mobile.video_playback.failed_title": "Video playback failed",
"mobile.youtube_playback_error.description": "An error occurred while trying to play the YouTube video.\nDetails: {details}",
"mobile.youtube_playback_error.title": "YouTube playback error",
"modal.manual_status.auto_responder.message_": "Would you like to switch your status to \"{status}\" and disable Automatic Replies?",
"modal.manual_status.auto_responder.message_away": "Would you like to switch your status to \"Away\" and disable Automatic Replies?",
"modal.manual_status.auto_responder.message_dnd": "Would you like to switch your status to \"Do Not Disturb\" and disable Automatic Replies?",
"modal.manual_status.auto_responder.message_offline": "Would you like to switch your status to \"Offline\" and disable Automatic Replies?",
"modal.manual_status.auto_responder.message_online": "Would you like to switch your status to \"Online\" and disable Automatic Replies?",
"more_channels.archivedChannels": "Archived Channels",
"more_channels.dropdownTitle": "Show",
"more_channels.noMore": "No more channels to join",
"more_channels.publicChannels": "Public Channels",
"more_channels.sharedChannels": "Shared Channels",
"more_channels.showArchivedChannels": "Show: Archived Channels",
"more_channels.showPublicChannels": "Show: Public Channels",
"more_channels.showSharedChannels": "Show: Shared Channels",
"more_channels.title": "More Channels",
"msg_typing.areTyping": "{users} and {last} are typing...",
"msg_typing.isTyping": "{user} is typing...",
"navbar.channel_drawer.button": "Channels and teams",
"navbar.channel_drawer.hint": "Opens the channels and teams drawer",
"navbar.leave": "Leave Channel",
"navbar.more_options.button": "More Options",
"navbar.more_options.hint": "Opens the more options right hand sidebar",
"navbar.search.button": "Channel Search",
"navbar.search.hint": "Opens the channel search modal",
"password_form.title": "Password Reset",
"password_send.checkInbox": "Please check your inbox.",
"password_send.description": "To reset your password, enter the email address you used to sign up",
"password_send.error": "Please enter a valid email address.",
"password_send.link": "If the account exists, a password reset email will be sent to:",
"password_send.reset": "Reset my password",
"permalink.error.access": "Permalink belongs to a deleted message or to a channel to which you do not have access.",
"permalink.error.link_not_found": "Link Not Found",
"permalink.show_dialog_warn.cancel": "Cancel",
"permalink.show_dialog_warn.description": "You are about to join \"{channel}\" without explicitly being added by the channel admin. Are you sure you wish to join this private channel?",
"permalink.show_dialog_warn.join": "Join",
"permalink.show_dialog_warn.title": "Join private channel",
"post_body.check_for_out_of_channel_groups_mentions.message": "did not get notified by this mention because they are not in the channel. They are also not a member of the groups linked to this channel.",
"post_body.check_for_out_of_channel_mentions.link.and": " and ",
"post_body.check_for_out_of_channel_mentions.link.private": "add them to this private channel",
"post_body.check_for_out_of_channel_mentions.link.public": "add them to the channel",
"post_body.check_for_out_of_channel_mentions.message_last": "? They will have access to all message history.",
"post_body.check_for_out_of_channel_mentions.message.multiple": "were mentioned but they are not in the channel. Would you like to ",
"post_body.check_for_out_of_channel_mentions.message.one": "was mentioned but is not in the channel. Would you like to ",
"post_body.commentedOn": "Commented on {name}{apostrophe} message: ",
"post_body.deleted": "(message deleted)",
"post_info.auto_responder": "AUTOMATIC REPLY",
"post_info.bot": "BOT",
"post_info.del": "Delete",
"post_info.edit": "Edit",
"post_info.guest": "GUEST",
"post_info.system": "System",
"post_message_view.edited": "(edited)",
"posts_view.newMsg": "New Messages",
"rhs_thread.rootPostDeletedMessage.body": "Part of this thread has been deleted due to a data retention policy. You can no longer reply to this thread.",
"search_bar.search": "Search",
"search_header.results": "Search Results",
"search_header.title2": "Recent Mentions",
"search_header.title3": "Saved Messages",
"search_item.channelArchived": "Archived",
"sidebar_right_menu.logout": "Logout",
"sidebar_right_menu.report": "Report a Problem",
"sidebar.channels": "PUBLIC CHANNELS",
"sidebar.direct": "DIRECT MESSAGES",
"sidebar.favorite": "FAVORITE CHANNELS",
"sidebar.pg": "PRIVATE CHANNELS",
"sidebar.types.recent": "RECENT ACTIVITY",
"sidebar.unreads": "More unreads",
"signup.email": "Email and Password",
"signup.google": "Google Apps",
"signup.office365": "Office 365",
"status_dropdown.set_away": "Away",
"status_dropdown.set_dnd": "Do Not Disturb",
"status_dropdown.set_offline": "Offline",
"status_dropdown.set_online": "Online",
"status_dropdown.set_ooo": "Out of Office",
"suggestion.mention.all": "Notifies everyone in this channel",
"suggestion.mention.channel": "Notifies everyone in this channel",
"suggestion.mention.channels": "My Channels",
"suggestion.mention.groups": "Group Mentions",
"suggestion.mention.here": "Notifies everyone online in this channel",
"suggestion.mention.members": "Channel Members",
"suggestion.mention.morechannels": "Other Channels",
"suggestion.mention.nonmembers": "Not in Channel",
"suggestion.mention.special": "Special Mentions",
"suggestion.mention.you": " (you)",
"suggestion.search.direct": "Direct Messages",
"suggestion.search.private": "Private Channels",
"suggestion.search.public": "Public Channels",
"terms_of_service.agreeButton": "I Agree",
"terms_of_service.api_error": "Unable to complete the request. If this issue persists, contact your System Administrator.",
"threads": "Threads",
"threads.deleted": "Original Message Deleted",
"threads.follow": "Follow",
"threads.following": "Following",
"threads.followThread": "Follow Thread",
"threads.newReplies": "{count} new {count, plural, one {reply} other {replies}}",
"threads.replies": "{count} {count, plural, one {reply} other {replies}}",
"threads.unfollowThread": "Unfollow Thread",
"user.settings.display.clockDisplay": "Clock Display",
"user.settings.display.custom_theme": "Custom Theme",
"user.settings.display.militaryClock": "24-hour clock (example: 16:00)",
"user.settings.display.normalClock": "12-hour clock (example: 4:00 PM)",
"user.settings.display.preferTime": "Select how you prefer time displayed.",
"user.settings.general.email": "Email",
"user.settings.general.emailCantUpdate": "Email must be updated using a web client or desktop application.",
"user.settings.general.emailGitlabCantUpdate": "Login occurs through GitLab. Email cannot be updated. Email address used for notifications is {email}.",
"user.settings.general.emailGoogleCantUpdate": "Login occurs through Google. Email cannot be updated. Email address used for notifications is {email}.",
"user.settings.general.emailHelp2": "Email has been disabled by your System Administrator. No notification emails will be sent until it is enabled.",
"user.settings.general.emailLdapCantUpdate": "Login occurs through AD/LDAP. Email cannot be updated. Email address used for notifications is {email}.",
"user.settings.general.emailOffice365CantUpdate": "Login occurs through Office 365. Email cannot be updated. Email address used for notifications is {email}.",
"user.settings.general.emailSamlCantUpdate": "Login occurs through SAML. Email cannot be updated. Email address used for notifications is {email}.",
"user.settings.general.field_handled_externally": "This field is handled through your login provider. If you want to change it, you need to do so through your login provider.",
"user.settings.general.firstName": "First Name",
"user.settings.general.lastName": "Last Name",
"user.settings.general.nickname": "Nickname",
"user.settings.general.position": "Position",
"user.settings.general.status": "Status",
"user.settings.general.username": "Username",
"user.settings.modal.display": "Display",
"user.settings.modal.notifications": "Notifications",
"user.settings.notifications.allActivity": "For all activity",
"user.settings.notifications.comments": "Reply notifications",
"user.settings.notifications.email.disabled": "Email notifications are not enabled",
"user.settings.notifications.email.everyHour": "Every hour",
"user.settings.notifications.email.immediately": "Immediately",
"user.settings.notifications.email.never": "Never",
"user.settings.notifications.email.send": "Send email notifications",
"user.settings.notifications.emailInfo": "Email notifications are sent for mentions and direct messages when you are offline or away for more than 5 minutes.",
"user.settings.notifications.never": "Never",
"user.settings.notifications.onlyMentions": "Only for mentions and direct messages",
"user.settings.push_notification.away": "Away or offline",
"user.settings.push_notification.disabled": "Push notifications are not enabled",
"user.settings.push_notification.disabled_long": "Push notifications have not been enabled by your System Administrator.",
"user.settings.push_notification.offline": "Offline",
"user.settings.push_notification.online": "Online, away or offline",
"web.root.signup_info": "All team communication in one place, searchable and accessible anywhere"
}