Tusky-App-Android/app/src/main/res/values/strings.xml

743 lines
42 KiB
XML
Raw Normal View History

<resources>
2017-01-03 00:30:27 +01:00
<string name="error_generic">An error occurred.</string>
<string name="error_network">A network error occurred! Please check your connection and try again!</string>
<string name="error_empty">This cannot be empty.</string>
<string name="error_invalid_domain">Invalid domain entered</string>
<string name="error_failed_app_registration">Failed authenticating with that instance. If this persists, try "Login in Browser" from the menu.</string>
<string name="error_no_web_browser_found">Couldn\'t find a web browser to use.</string>
<string name="error_authorization_unknown">An unidentified authorization error occurred. If this persists, try "Login in Browser" from the menu.</string>
<string name="error_authorization_denied">Authorization was denied. If you\'re sure that you supplied the correct credentials, try "Login in Browser" from the menu.</string>
<string name="error_retrieving_oauth_token">Failed getting a login token. If this persists, try "Login in Browser" from the menu.</string>
<string name="error_loading_account_details">Failed loading account details</string>
<string name="error_could_not_load_login_page">Could not load the login page.</string>
<string name="error_compose_character_limit">The post is too long!</string>
<string name="error_multimedia_size_limit">Video and audio files cannot exceed %s MB in size.</string>
<string name="error_image_edit_failed">The image could not be edited.</string>
<string name="error_media_upload_type">That type of file cannot be uploaded.</string>
<string name="error_media_upload_opening">That file could not be opened.</string>
<string name="error_media_upload_permission">Permission to read media is required.</string>
<string name="error_media_download_permission">Permission to store media is required.</string>
<string name="error_media_upload_image_or_video">Images and videos cannot both be attached to the same post.</string>
<string name="error_media_upload_sending">The upload failed.</string>
<string name="error_sender_account_gone">Error sending post.</string>
<string name="error_following_hashtag_format">Error following #%s</string>
<string name="error_unfollowing_hashtag_format">Error unfollowing #%s</string>
<string name="error_following_hashtags_unsupported">This instance does not support following hashtags.</string>
<string name="error_muting_hashtag_format">Error muting #%s</string>
<string name="error_unmuting_hashtag_format">Error unmuting #%s</string>
<string name="error_status_source_load">Failed to load the status source from the server.</string>
2022-04-28 20:38:51 +02:00
<string name="title_login">Login</string>
<string name="title_home">Home</string>
<string name="title_notifications">Notifications</string>
2017-03-31 04:31:17 +02:00
<string name="title_public_local">Local</string>
<string name="title_public_federated">Federated</string>
<string name="title_direct_messages">Direct messages</string>
<string name="title_tab_preferences">Tabs</string>
<string name="title_view_thread">Thread</string>
<string name="title_posts">Posts</string>
<string name="title_posts_with_replies">With replies</string>
<string name="title_posts_pinned">Pinned</string>
<string name="title_follows">Follows</string>
<string name="title_followers">Followers</string>
<string name="title_favourites">Favorites</string>
<string name="title_bookmarks">Bookmarks</string>
2017-04-22 01:02:04 +02:00
<string name="title_mutes">Muted users</string>
2017-03-12 14:01:50 +01:00
<string name="title_blocks">Blocked users</string>
<string name="title_domain_mutes">Hidden domains</string>
<string name="title_migration_relogin">Re-login for push notifications</string>
<string name="title_follow_requests">Follow requests</string>
2017-04-30 21:57:15 +02:00
<string name="title_edit_profile">Edit your profile</string>
<string name="title_drafts">Drafts</string>
<string name="title_scheduled_posts">Scheduled posts</string>
<string name="title_announcements">Announcements</string>
<string name="title_licenses">Licenses</string>
<string name="title_followed_hashtags">Followed hashtags</string>
<string name="title_edits">Edits</string>
<string name="post_username_format">\@%s</string>
<string name="post_boosted_format">%s boosted</string>
<string name="post_sensitive_media_title">Sensitive content</string>
<string name="post_media_hidden_title">Media hidden</string>
<string name="post_media_alt">ALT</string>
<string name="post_sensitive_media_directions">Click to view</string>
<string name="post_content_warning_show_more">Show More</string>
<string name="post_content_warning_show_less">Show Less</string>
<string name="post_content_show_more">Expand</string>
<string name="post_content_show_less">Collapse</string>
<string name="post_edited">Edited %s</string>
2017-01-03 00:30:27 +01:00
<string name="message_empty">Nothing here.</string>
<string name="footer_empty">Nothing here. Pull down to refresh!</string>
<string name="notification_reblog_format">%s boosted your post</string>
<string name="notification_favourite_format">%s favorited your post</string>
<string name="notification_follow_format">%s followed you</string>
<string name="notification_follow_request_format">%s requested to follow you</string>
<string name="notification_sign_up_format">%s signed up</string>
<string name="notification_subscription_format">%s just posted</string>
<string name="notification_update_format">%s edited their post</string>
<string name="notification_report_format">New report on %s</string>
<string name="notification_header_report_format">%s reported %s</string>
<string name="notification_summary_report_format">%s · %d posts attached</string>
2017-03-10 23:47:04 +01:00
<string name="report_username_format">Report @%s</string>
2017-03-09 19:31:15 +01:00
<string name="report_comment_hint">Additional comments?</string>
2017-02-27 06:21:46 +01:00
<string name="action_quick_reply">Quick Reply</string>
<string name="action_reply">Reply</string>
<string name="action_reblog">Boost</string>
<string name="action_unreblog">Remove boost</string>
<string name="action_favourite">Favorite</string>
<string name="action_unfavourite">Remove favorite</string>
<string name="action_bookmark">Bookmark</string>
<string name="action_unbookmark">Remove bookmark</string>
<string name="action_more">More</string>
<string name="action_compose">Compose</string>
<string name="action_login">Login with Tusky</string>
<string name="action_browser_login">Login with Browser</string>
<string name="action_logout">Log out</string>
<string name="action_logout_confirm">Are you sure you want to log out of the account %1$s?</string>
<string name="action_post_failed">Upload failed</string>
<string name="action_post_failed_detail">Your post failed to upload and has been saved to drafts.\n\nEither the server could not be contacted, or it rejected the post.</string>
<string name="action_post_failed_detail_plural">Your posts failed to upload and have been saved to drafts.\n\nEither the server could not be contacted, or it rejected the posts.</string>
<string name="action_post_failed_show_drafts">Show drafts</string>
<string name="action_post_failed_do_nothing">Dismiss</string>
<string name="action_follow">Follow</string>
<string name="action_unfollow">Unfollow</string>
<string name="action_block">Block</string>
<string name="action_unblock">Unblock</string>
<string name="action_share_account_link">Share link to account</string>
<string name="action_share_account_username">Share username of account</string>
Account activity redesign (#662) * Refactor-all-the-things version of the fix for issue #573 * Migrate SpanUtils to kotlin because why not * Minimal fix for issue #573 * Add tests for compose spanning * Clean up code suggestions * Make FakeSpannable.getSpans implementation less awkward * Add secondary validation pass for urls * Address code review feedback * Fixup type filtering in FakeSpannable again * Make all mentions in compose activity use the default link color * new layout for AccountActivity * fix the light theme * convert AccountActivity to Kotlin * introduce AccountViewModel * Merge branch 'master' into account-activity-redesign # Conflicts: # app/src/main/java/com/keylesspalace/tusky/AccountActivity.java * add Bot badge to profile * parse custom emojis in usernames * add possibility to cancel follow request * add third tab on profiles * add account fields to profile * add support for moved accounts * set click listener on account moved view * fix tests * use 24dp as statusbar size * add ability to hide reblogs from followed accounts * add button to edit own account to AccountActivity * set toolbar top margin programmatically * fix crash * add shadow behind statusbar * introduce ViewExtensions to clean up code * move code out of offsetChangedListener for perf reasons * clean up stuff * add error handling * improve type safety * fix ConstraintLayout warning * remove unneeded ressources * fix event dispatching * fix crash in event handling * set correct emoji on title * improve some things * wrap follower/foillowing/status views
2018-06-18 13:26:18 +02:00
<string name="action_hide_reblogs">Hide boosts</string>
<string name="action_show_reblogs">Show boosts</string>
2017-02-27 06:21:46 +01:00
<string name="action_report">Report</string>
<string name="action_edit">Edit</string>
<string name="action_delete">Delete</string>
<string name="action_delete_conversation">Delete conversation</string>
<string name="action_delete_and_redraft">Delete and re-draft</string>
<string name="action_discard">Discard changes</string>
<string name="action_continue_edit">Continue editing</string>
<string name="action_send">TOOT</string>
<string name="action_send_public">TOOT!</string>
<string name="action_retry">Retry</string>
<string name="action_close">Close</string>
<string name="action_view_profile">Profile</string>
<string name="action_view_preferences">Preferences</string>
<string name="action_view_account_preferences">Account preferences</string>
<string name="action_view_favourites">Favorites</string>
<string name="action_view_bookmarks">Bookmarks</string>
2017-04-22 01:02:04 +02:00
<string name="action_view_mutes">Muted users</string>
2017-03-09 19:31:15 +01:00
<string name="action_view_blocks">Blocked users</string>
<string name="action_view_domain_mutes">Hidden domains</string>
<string name="action_view_follow_requests">Follow requests</string>
<string name="action_view_media">Media</string>
2017-03-09 17:51:44 +01:00
<string name="action_open_in_web">Open in browser</string>
ComposeActivity improvements (#548) * do not add media urls to status text * add scrolling to content * add arrow icon and animation to replying-to toggle * remove unnecessary compose_button_colors.xml * improve toot button * improve bottom bar, add bottom sheet for compose options, dedicated cw button * fix crash on Android < API 21 * move media picking from dialog to bottom sheet * add small style tootbutton * fix colors/button background for light theme * add icons to media chose bottom sheet * improve hide media button, delete unused styles * fix crash on dev build when taking photo * consolidate drawables * consolidate strings and ids, add tooltips to buttons * allow media only toots * change error message to show max size of upload correctly * fix button color * add emoji * code cleanup * Merge branch 'master' into compose_activity_refactoring # Conflicts: # app/src/main/java/com/keylesspalace/tusky/ComposeActivity.java * fix hidden snackbar * improve hint text color * add SendTootService * fix timeline refreshing * toot saving and error handling for sendtootservice * restructure some code * convert EditTextTyped to Kotlin * fixed pick media button disabled color * force sensitive media when content warning is shown * add db cache for emojis & fix tests * reorder buttons to match mastodon web * add possibility to cancel sending of toot * correctly delete sent toots * refresh SavedTootActivity after toot was sent * remove unused resources * correct params for toot saving in SendTootService * consolidate strings * bugfix * remove unused resources * fix notifications on old android for SendTootService * fix crash
2018-04-13 22:37:21 +02:00
<string name="action_add_media">Add media</string>
<string name="action_add_poll">Add poll</string>
<string name="action_photo_take">Take photo</string>
<string name="action_share">Share</string>
<string name="action_mute">Mute</string>
<string name="action_unmute">Unmute</string>
<string name="action_unmute_desc">Unmute %s</string>
<string name="action_mute_domain">Mute %s</string>
<string name="action_unmute_domain">Unmute %s</string>
<string name="action_mute_conversation">Mute conversation</string>
<string name="action_unmute_conversation">Unmute conversation</string>
<string name="action_mention">Mention</string>
<string name="action_hide_media">Hide media</string>
<string name="action_open_drawer">Open drawer</string>
<string name="action_save">Save</string>
<string name="action_edit_profile">Edit profile</string>
Account activity redesign (#662) * Refactor-all-the-things version of the fix for issue #573 * Migrate SpanUtils to kotlin because why not * Minimal fix for issue #573 * Add tests for compose spanning * Clean up code suggestions * Make FakeSpannable.getSpans implementation less awkward * Add secondary validation pass for urls * Address code review feedback * Fixup type filtering in FakeSpannable again * Make all mentions in compose activity use the default link color * new layout for AccountActivity * fix the light theme * convert AccountActivity to Kotlin * introduce AccountViewModel * Merge branch 'master' into account-activity-redesign # Conflicts: # app/src/main/java/com/keylesspalace/tusky/AccountActivity.java * add Bot badge to profile * parse custom emojis in usernames * add possibility to cancel follow request * add third tab on profiles * add account fields to profile * add support for moved accounts * set click listener on account moved view * fix tests * use 24dp as statusbar size * add ability to hide reblogs from followed accounts * add button to edit own account to AccountActivity * set toolbar top margin programmatically * fix crash * add shadow behind statusbar * introduce ViewExtensions to clean up code * move code out of offsetChangedListener for perf reasons * clean up stuff * add error handling * improve type safety * fix ConstraintLayout warning * remove unneeded ressources * fix event dispatching * fix crash in event handling * set correct emoji on title * improve some things * wrap follower/foillowing/status views
2018-06-18 13:26:18 +02:00
<string name="action_edit_own_profile">Edit</string>
<string name="action_undo">Undo</string>
<string name="action_accept">Accept</string>
<string name="action_reject">Reject</string>
<string name="action_search">Search</string>
<string name="action_access_drafts">Drafts</string>
<string name="action_access_scheduled_posts">Scheduled posts</string>
<string name="action_toggle_visibility">Post visibility</string>
ComposeActivity improvements (#548) * do not add media urls to status text * add scrolling to content * add arrow icon and animation to replying-to toggle * remove unnecessary compose_button_colors.xml * improve toot button * improve bottom bar, add bottom sheet for compose options, dedicated cw button * fix crash on Android < API 21 * move media picking from dialog to bottom sheet * add small style tootbutton * fix colors/button background for light theme * add icons to media chose bottom sheet * improve hide media button, delete unused styles * fix crash on dev build when taking photo * consolidate drawables * consolidate strings and ids, add tooltips to buttons * allow media only toots * change error message to show max size of upload correctly * fix button color * add emoji * code cleanup * Merge branch 'master' into compose_activity_refactoring # Conflicts: # app/src/main/java/com/keylesspalace/tusky/ComposeActivity.java * fix hidden snackbar * improve hint text color * add SendTootService * fix timeline refreshing * toot saving and error handling for sendtootservice * restructure some code * convert EditTextTyped to Kotlin * fixed pick media button disabled color * force sensitive media when content warning is shown * add db cache for emojis & fix tests * reorder buttons to match mastodon web * add possibility to cancel sending of toot * correctly delete sent toots * refresh SavedTootActivity after toot was sent * remove unused resources * correct params for toot saving in SendTootService * consolidate strings * bugfix * remove unused resources * fix notifications on old android for SendTootService * fix crash
2018-04-13 22:37:21 +02:00
<string name="action_content_warning">Content warning</string>
<string name="action_emoji_keyboard">Emoji keyboard</string>
<string name="action_schedule_post">Schedule Post</string>
<string name="action_reset_schedule">Reset</string>
<string name="action_add_tab">Add Tab</string>
<string name="action_links">Links</string>
<string name="action_mentions">Mentions</string>
<string name="action_hashtags">Hashtags</string>
<string name="action_open_reblogger">Open boost author</string>
<string name="action_open_reblogged_by">Show boosts</string>
<string name="action_open_faved_by">Show favorites</string>
<string name="action_dismiss">Dismiss</string>
<string name="action_details">Details</string>
<string name="action_add_reaction">add reaction</string>
<string name="title_hashtags_dialog">Hashtags</string>
<string name="title_mentions_dialog">Mentions</string>
<string name="title_links_dialog">Links</string>
<string name="action_open_media_n">Open media #%d</string>
<string name="download_image">Downloading %1$s</string>
2017-10-16 23:31:39 +02:00
<string name="action_copy_link">Copy the link</string>
<string name="action_open_as">Open as %s</string>
<string name="action_share_as">Share as …</string>
<string name="download_media">Download media</string>
<string name="downloading_media">Downloading media</string>
<string name="send_post_link_to">Share post URL to…</string>
<string name="send_post_content_to">Share post to…</string>
<string name="send_account_link_to">Share account URL to…</string>
<string name="send_account_username_to">Share account username to…</string>
<string name="send_media_to">Share media to…</string>
<string name="account_username_copied">Username copied</string>
2017-02-27 06:21:46 +01:00
<string name="confirmation_reported">Sent!</string>
<string name="confirmation_unblocked">User unblocked</string>
<string name="confirmation_unmuted">User unmuted</string>
<string name="confirmation_domain_unmuted">%s unhidden</string>
<string name="confirmation_hashtag_unfollowed">#%s unfollowed</string>
<string name="post_sent">Sent!</string>
<string name="post_sent_long">Reply sent successfully.</string>
2017-03-07 15:03:41 +01:00
<string name="hint_domain">Which instance?</string>
2017-03-07 14:09:33 +01:00
<string name="hint_compose">What\'s happening?</string>
<string name="hint_content_warning">Content warning</string>
<string name="hint_display_name">Display name</string>
<string name="hint_note">Bio</string>
<string name="hint_search">Search…</string>
<string name="hint_media_description_missing">Media should have a description.</string>
<string name="search_no_results">No results</string>
<string name="label_quick_reply">Reply…</string>
<string name="label_avatar">Avatar</string>
<string name="label_header">Header</string>
<string name="link_whats_an_instance">What\'s an instance?</string>
<string name="login_connection">Connecting…</string>
<string name="dialog_whats_an_instance">The address or domain of any instance can be entered
here, such as mastodon.social, icosahedron.website, social.tchncs.de, and
<a href="https://instances.social">more!</a>
\n\nIf you don\'t yet have an account, you can enter the name of the instance you\'d like to
join and create an account there.\n\nAn instance is a single place where your account is
hosted, but you can easily communicate with and follow folks on other instances as though
you were on the same site.
\n\nMore info can be found at <a href="https://joinmastodon.org">joinmastodon.org</a>.
</string>
2017-02-07 08:05:50 +01:00
<string name="dialog_title_finishing_media_upload">Finishing Media Upload</string>
<string name="dialog_message_uploading_media">Uploading…</string>
2017-04-21 06:19:37 +02:00
<string name="dialog_download_image">Download</string>
Account activity redesign (#662) * Refactor-all-the-things version of the fix for issue #573 * Migrate SpanUtils to kotlin because why not * Minimal fix for issue #573 * Add tests for compose spanning * Clean up code suggestions * Make FakeSpannable.getSpans implementation less awkward * Add secondary validation pass for urls * Address code review feedback * Fixup type filtering in FakeSpannable again * Make all mentions in compose activity use the default link color * new layout for AccountActivity * fix the light theme * convert AccountActivity to Kotlin * introduce AccountViewModel * Merge branch 'master' into account-activity-redesign # Conflicts: # app/src/main/java/com/keylesspalace/tusky/AccountActivity.java * add Bot badge to profile * parse custom emojis in usernames * add possibility to cancel follow request * add third tab on profiles * add account fields to profile * add support for moved accounts * set click listener on account moved view * fix tests * use 24dp as statusbar size * add ability to hide reblogs from followed accounts * add button to edit own account to AccountActivity * set toolbar top margin programmatically * fix crash * add shadow behind statusbar * introduce ViewExtensions to clean up code * move code out of offsetChangedListener for perf reasons * clean up stuff * add error handling * improve type safety * fix ConstraintLayout warning * remove unneeded ressources * fix event dispatching * fix crash in event handling * set correct emoji on title * improve some things * wrap follower/foillowing/status views
2018-06-18 13:26:18 +02:00
<string name="dialog_message_cancel_follow_request">Revoke the follow request?</string>
<string name="dialog_unfollow_warning">Unfollow this account?</string>
<string name="dialog_delete_post_warning">Delete this post?</string>
<string name="dialog_redraft_post_warning">Delete and re-draft this post?</string>
<string name="dialog_delete_conversation_warning">Delete this conversation?</string>
<string name="mute_domain_warning">Are you sure you want to block all of %s? You will not see content from that domain in any public timelines or in your notifications. Your followers from that domain will be removed.</string>
<string name="mute_domain_warning_dialog_ok">Hide entire domain</string>
<string name="dialog_block_warning">Block @%s?</string>
<string name="dialog_mute_warning">Mute @%s?</string>
<string name="dialog_mute_hide_notifications">Hide notifications</string>
2017-04-18 12:59:42 +02:00
<string name="visibility_public">Public: Post to public timelines</string>
<string name="visibility_unlisted">Unlisted: Do not show in public timelines</string>
<string name="visibility_private">Followers-Only: Post to followers only</string>
2017-04-18 12:59:42 +02:00
<string name="visibility_direct">Direct: Post to mentioned users only</string>
<string name="pref_title_edit_notification_settings">Notifications</string>
<string name="pref_title_notifications_enabled">Notifications</string>
<string name="pref_title_notification_alerts">Alerts</string>
<string name="pref_title_notification_alert_sound">Notify with a sound</string>
<string name="pref_title_notification_alert_vibrate">Notify with vibration</string>
<string name="pref_title_notification_alert_light">Notify with light</string>
<string name="pref_title_notification_filters">Notify me when</string>
<string name="pref_title_notification_filter_mentions">mentioned</string>
<string name="pref_title_notification_filter_follows">followed</string>
<string name="pref_title_notification_filter_follow_requests">follow requested</string>
<string name="pref_title_notification_filter_reblogs">my posts are boosted</string>
<string name="pref_title_notification_filter_favourites">my posts are favorited</string>
<string name="pref_title_notification_filter_poll">polls have ended</string>
<string name="pref_title_notification_filter_subscriptions">somebody I\'m subscribed to published a new post</string>
<string name="pref_title_notification_filter_sign_ups">somebody signed up</string>
<string name="pref_title_notification_filter_updates">a post I\'ve interacted with is edited</string>
<string name="pref_title_notification_filter_reports">there\'s a new report</string>
<string name="pref_title_appearance_settings">Appearance</string>
<string name="pref_title_app_theme">App theme</string>
<string name="pref_title_timelines">Timelines</string>
<string name="pref_title_timeline_filters">Filters</string>
Theming improvements (#502) * Split theme definitions into day and night * Add support for Night Mode in code * Add theme chooser in preferences * Fix translations * Adjust IDs * Adjust preferences for custom themes * UI tweaks for custom theme support * Added code for custom theme support 🍅 * Fixed resource display in Kotlin 🍅 * Restored styles * Updated strings * Fixed getIdentifier() to fit into setTheme() * Removed redundant resources * Reset default theme to "Dusky" * Fixed night mode handler to maintain compatibility * Refactor functions to use helper methods * Added license block * Added preview to theme selector * Added color identifier getter helper method * Fixed reference in AccountMediaFragment * Cleanup * Fixed navbar foreground not changing color * Fix fallback theme switch(){} * Enable location-based daylight trigger * Cleanup * Modified theming strategy to reduce clutter in preferences * Updated translations for latest version * Removed "Default" theme flavor from settings * Updated Polish translations 🇵🇱 * Modified TwilightManager handling code to support Android M's UiModeManager features and moved it to its own function * Updated Polish translations 🇵🇱 * Cleanup; Fixed hardcoded string * Added missing escape in string * Removed permission request dialog. As we now use native UiModeManager APIs that don't need special permission for Android 6.0 and above, we no longer need to bother user with Android M+ specific location permission request dialog. * Increased readability of ThemeUtil class * Refactored ThemeUtils.setAppNightMode method * Cleanup
2018-01-20 13:39:01 +01:00
<string name="app_them_dark">Dark</string>
<string name="app_theme_light">Light</string>
<string name="app_theme_black">Black</string>
<string name="app_theme_auto">Automatic at sunset</string>
<string name="app_theme_system">Use System Design</string>
Theming improvements (#502) * Split theme definitions into day and night * Add support for Night Mode in code * Add theme chooser in preferences * Fix translations * Adjust IDs * Adjust preferences for custom themes * UI tweaks for custom theme support * Added code for custom theme support 🍅 * Fixed resource display in Kotlin 🍅 * Restored styles * Updated strings * Fixed getIdentifier() to fit into setTheme() * Removed redundant resources * Reset default theme to "Dusky" * Fixed night mode handler to maintain compatibility * Refactor functions to use helper methods * Added license block * Added preview to theme selector * Added color identifier getter helper method * Fixed reference in AccountMediaFragment * Cleanup * Fixed navbar foreground not changing color * Fix fallback theme switch(){} * Enable location-based daylight trigger * Cleanup * Modified theming strategy to reduce clutter in preferences * Updated translations for latest version * Removed "Default" theme flavor from settings * Updated Polish translations 🇵🇱 * Modified TwilightManager handling code to support Android M's UiModeManager features and moved it to its own function * Updated Polish translations 🇵🇱 * Cleanup; Fixed hardcoded string * Added missing escape in string * Removed permission request dialog. As we now use native UiModeManager APIs that don't need special permission for Android 6.0 and above, we no longer need to bother user with Android M+ specific location permission request dialog. * Increased readability of ThemeUtil class * Refactored ThemeUtils.setAppNightMode method * Cleanup
2018-01-20 13:39:01 +01:00
2017-04-07 04:25:54 +02:00
<string name="pref_title_browser_settings">Browser</string>
<string name="pref_title_custom_tabs">Use Chrome Custom Tabs</string>
<string name="pref_title_hide_follow_button">Hide compose button while scrolling</string>
<string name="pref_title_language">Language</string>
<string name="pref_title_bot_overlay">Show indicator for bots</string>
<string name="pref_title_animate_gif_avatars">Animate GIF avatars</string>
<string name="pref_title_gradient_for_media">Show colorful gradients for hidden media</string>
<string name="pref_title_animate_custom_emojis">Animate custom emojis</string>
<string name="pref_title_post_filter">Timeline filtering</string>
<string name="pref_title_post_tabs">Tabs</string>
<string name="pref_title_show_boosts">Show boosts</string>
<string name="pref_title_show_replies">Show replies</string>
<string name="pref_title_show_media_preview">Download media previews</string>
<string name="pref_title_proxy_settings">Proxy</string>
<string name="pref_title_http_proxy_settings">HTTP proxy</string>
<string name="pref_title_http_proxy_enable">Enable HTTP proxy</string>
<string name="pref_title_http_proxy_server">HTTP proxy server</string>
<string name="pref_title_http_proxy_port">HTTP proxy port</string>
<string name="pref_title_http_proxy_port_message">Port should be between %d and %d</string>
<string name="pref_summary_http_proxy_disabled">Disabled</string>
<string name="pref_summary_http_proxy_missing">&lt;not set></string>
<string name="pref_summary_http_proxy_invalid">&lt;invalid></string>
<string name="pref_default_post_privacy">Default post privacy</string>
<string name="pref_default_post_language">Default posting language</string>
<string name="pref_default_media_sensitivity">Always mark media as sensitive</string>
<string name="pref_publishing">Publishing (synced with server)</string>
<string name="pref_failed_to_sync">Failed to sync settings</string>
<string name="pref_main_nav_position">Main navigation position</string>
<string name="pref_main_nav_position_option_top">Top</string>
<string name="pref_main_nav_position_option_bottom">Bottom</string>
<string name="post_privacy_public">Public</string>
<string name="post_privacy_unlisted">Unlisted</string>
<string name="post_privacy_followers_only">Followers-only</string>
<string name="pref_post_text_size">Post text size</string>
<string name="post_text_size_smallest">Smallest</string>
<string name="post_text_size_small">Small</string>
<string name="post_text_size_medium">Medium</string>
<string name="post_text_size_large">Large</string>
<string name="post_text_size_largest">Largest</string>
<string name="pref_show_self_username_always">Always</string>
<string name="pref_show_self_username_disambiguate">When multiple accounts logged in</string>
<string name="pref_show_self_username_never">Never</string>
<string name="notification_mention_name">New Mentions</string>
<string name="notification_mention_descriptions">Notifications about new mentions</string>
<string name="notification_follow_name">New Followers</string>
<string name="notification_follow_description">Notifications about new followers</string>
<string name="notification_follow_request_name">Follow requests</string>
<string name="notification_follow_request_description">Notifications about follow requests</string>
<string name="notification_boost_name">Boosts</string>
<string name="notification_boost_description">Notifications when your posts get boosted</string>
<string name="notification_favourite_name">Favorites</string>
<string name="notification_favourite_description">Notifications when your posts get marked as favorite</string>
<string name="notification_poll_name">Polls</string>
<string name="notification_poll_description">Notifications about polls that have ended</string>
<string name="notification_subscription_name">New posts</string>
<string name="notification_subscription_description">Notifications when somebody you\'re subscribed to published a new post</string>
<string name="notification_sign_up_name">Sign ups</string>
<string name="notification_sign_up_description">Notifications about new users</string>
<string name="notification_update_name">Post edits</string>
<string name="notification_update_description">Notifications when posts you\'ve interacted with are edited</string>
<string name="notification_report_name">Reports</string>
<string name="notification_report_description">Notifications about moderation reports</string>
2017-03-12 08:31:20 +01:00
<string name="notification_mention_format">%s mentioned you</string>
<string name="notification_summary_large">%1$s, %2$s, %3$s and %4$d others</string>
<string name="notification_summary_medium">%1$s, %2$s, and %3$s</string>
<string name="notification_summary_small">%1$s and %2$s</string>
<plurals name="notification_title_summary">
<item quantity="one">%d new interaction</item>
<item quantity="other">%d new interactions</item>
</plurals>
<string name="description_account_locked">Locked Account</string>
2017-04-15 20:05:25 +02:00
<string name="about_title_activity">About</string>
<string name="about_tusky_version">Tusky %s</string>
<string name="about_powered_by_tusky">Powered by Tusky</string>
<string name="about_tusky_license">Tusky is free and open-source software.
It is licensed under the GNU General Public License Version 3.
You can view the license here: https://www.gnu.org/licenses/gpl-3.0.en.html</string>
2018-04-20 17:21:52 +02:00
<!-- note to translators:
* you should think of “free” as in “free speech,” not as in “free beer”.
We sometimes call it “libre software,” borrowing the French or Spanish word for “free” as in freedom,
to show we do not mean the software is gratis. Source: https://www.gnu.org/philosophy/free-sw.html
* the url can be changed to link to the localized version of the license.
-->
<string name="about_project_site">
Project website:\n
2019-03-18 15:47:02 +01:00
https://tusky.app
</string>
<string name="about_bug_feature_request_site">
Bug reports &amp; feature requests:\n
2018-02-25 14:51:06 +01:00
https://github.com/tuskyapp/Tusky/issues
</string>
<string name="about_tusky_account">Tusky\'s Profile</string>
2017-04-15 20:05:25 +02:00
<string name="post_share_content">Share content of post</string>
<string name="post_share_link">Share link to post</string>
<string name="post_media_images">Images</string>
<string name="post_media_video">Video</string>
<string name="post_media_audio">Audio</string>
<string name="post_media_attachments">Attachments</string>
<string name="status_count_one_plus">1+</string>
<string name="status_created_at_now">now</string>
<string name="state_follow_requested">Follow requested</string>
<!--These are for timestamps on posts. For example: "16s" or "2d"-->
2017-07-15 01:45:26 +02:00
<string name="abbreviated_in_years">in %dy</string>
<string name="abbreviated_in_days">in %dd</string>
<string name="abbreviated_in_hours">in %dh</string>
<string name="abbreviated_in_minutes">in %dm</string>
<string name="abbreviated_in_seconds">in %ds</string>
<string name="abbreviated_years_ago">%dy</string>
<string name="abbreviated_days_ago">%dd</string>
<string name="abbreviated_hours_ago">%dh</string>
<string name="abbreviated_minutes_ago">%dm</string>
<string name="abbreviated_seconds_ago">%ds</string>
<string name="follows_you">Follows you</string>
<string name="pref_title_alway_show_sensitive_media">Always show sensitive content</string>
<string name="pref_title_alway_open_spoiler">Always expand posts marked with content warnings</string>
2017-11-05 22:32:36 +01:00
<string name="title_media">Media</string>
<string name="replying_to">Replying to @%s</string>
2017-11-03 22:17:31 +01:00
<string name="load_more_placeholder_text">load more</string>
<string name="pref_title_public_filter_keywords">Public timelines</string>
<string name="pref_title_thread_filter_keywords">Conversations</string>
<string name="filter_addition_dialog_title">Add filter</string>
<string name="filter_edit_dialog_title">Edit filter</string>
<string name="filter_dialog_remove_button">Remove</string>
<string name="filter_dialog_update_button">Update</string>
<string name="filter_dialog_whole_word">Whole word</string>
<string name="filter_dialog_whole_word_description">When the keyword or phrase is alphanumeric only, it will only be applied if it matches the whole word</string>
<string name="filter_add_description">Phrase to filter</string>
<string name="filter_expiration_format">%s (%s)</string>
<string name="add_account_name">Add Account</string>
<string name="add_account_description">Add new Mastodon Account</string>
2018-01-06 19:01:37 +01:00
<string name="action_lists">Lists</string>
<string name="title_lists">Lists</string>
<string name="error_create_list">Could not create list</string>
<string name="error_rename_list">Could not rename list</string>
<string name="error_delete_list">Could not delete list</string>
<string name="action_create_list">Create a list</string>
<string name="action_rename_list">Rename the list</string>
<string name="action_delete_list">Delete the list</string>
<string name="action_edit_list">Edit the list</string>
<string name="hint_search_people_list">Search for people you follow</string>
<string name="action_add_to_list">Add account to the list</string>
<string name="action_remove_from_list">Remove account from the list</string>
<string name="action_add_or_remove_from_list">Add or remove from list</string>
<string name="failed_to_add_to_list">Failed to add the account to the list</string>
<string name="failed_to_remove_from_list">Failed to remove the account from the list</string>
<string name="compose_active_account_description">Posting as %1$s</string>
2018-01-08 23:16:21 +01:00
<string name="error_failed_set_caption">Failed to set caption</string>
Add UI for image-attachment "focus" (#2620) * Attempt-zero implementation of a "focus" feature for image attachments. Choose "Set focus" in the attachment menu, tap once to select focus point (no visual feedback currently), tap "OK". Works in tests. * Remove code duplication between 'update description' and 'update focus' * Fix ktlint/bitrise failures * Make updateMediaItem private * When focus is set on a post attachment the preview focuses correctly. ProgressImageView now inherits from MediaPreviewImageView. * Replace use of PointF for Focus where focus is represented, fix ktlint * Substitute 'focus' for 'focus point' in strings * First attempt draw focus point. Only updates on initial load. Modeled on code from RoundedCorners builtin from Glide * Redraw focus after each tap * Dark curtain where focus isn't (now looks like mastosoc) * Correct ktlint for FocusDialog * draft: switch to overlay for focus indicator * Draw focus circle, but ImageView and FocusIndicatorView seem to share a single canvas * Switch focus circle to path approach * Correctly scale, save and load focuses. Clamp to visible area. Focus editor looks and feels right * ktlint fixes and comments * Focus indicator drawing should use device-independent pixels * Shrink focus window when it gets unattractively tall (no linting, misbehaves on wide aspect ratio screens) * Correct max-height behavior for screens in landscape mode * Focus attachment result is are flipped on x axis; fix this * Correctly thread focus through on scheduled posts, redrafted posts, and drafts (but draft focus is lost on post) * More focus ktlint fixes * Fix specific case where a draft is given a focus, then deleted, then posted in that order * Fix accidental file change in focus PR * ktLint fix * Fix property style warnings in focus * Fix remaining style warnings from focus PR Co-authored-by: Conny Duck <k.pozniak@gmx.at>
2022-09-21 20:28:06 +02:00
<string name="error_failed_set_focus">Failed to set focus point</string>
<plurals name="hint_describe_for_visually_impaired">
<item quantity="other">Describe for visually impaired\n(%d character limit)</item>
</plurals>
<string name="set_focus_description">Tap or drag the circle to choose the focal point which will always be visible in thumbnails.</string>
2018-01-08 23:16:21 +01:00
<string name="action_set_caption">Set caption</string>
Add UI for image-attachment "focus" (#2620) * Attempt-zero implementation of a "focus" feature for image attachments. Choose "Set focus" in the attachment menu, tap once to select focus point (no visual feedback currently), tap "OK". Works in tests. * Remove code duplication between 'update description' and 'update focus' * Fix ktlint/bitrise failures * Make updateMediaItem private * When focus is set on a post attachment the preview focuses correctly. ProgressImageView now inherits from MediaPreviewImageView. * Replace use of PointF for Focus where focus is represented, fix ktlint * Substitute 'focus' for 'focus point' in strings * First attempt draw focus point. Only updates on initial load. Modeled on code from RoundedCorners builtin from Glide * Redraw focus after each tap * Dark curtain where focus isn't (now looks like mastosoc) * Correct ktlint for FocusDialog * draft: switch to overlay for focus indicator * Draw focus circle, but ImageView and FocusIndicatorView seem to share a single canvas * Switch focus circle to path approach * Correctly scale, save and load focuses. Clamp to visible area. Focus editor looks and feels right * ktlint fixes and comments * Focus indicator drawing should use device-independent pixels * Shrink focus window when it gets unattractively tall (no linting, misbehaves on wide aspect ratio screens) * Correct max-height behavior for screens in landscape mode * Focus attachment result is are flipped on x axis; fix this * Correctly thread focus through on scheduled posts, redrafted posts, and drafts (but draft focus is lost on post) * More focus ktlint fixes * Fix specific case where a draft is given a focus, then deleted, then posted in that order * Fix accidental file change in focus PR * ktLint fix * Fix property style warnings in focus * Fix remaining style warnings from focus PR Co-authored-by: Conny Duck <k.pozniak@gmx.at>
2022-09-21 20:28:06 +02:00
<string name="action_set_focus">Set focus point</string>
<string name="action_edit_image">Edit image</string>
<string name="action_remove">Remove</string>
2018-03-27 20:46:53 +02:00
<string name="lock_account_label">Lock account</string>
<string name="lock_account_label_description">Requires you to manually approve followers</string>
ComposeActivity improvements (#548) * do not add media urls to status text * add scrolling to content * add arrow icon and animation to replying-to toggle * remove unnecessary compose_button_colors.xml * improve toot button * improve bottom bar, add bottom sheet for compose options, dedicated cw button * fix crash on Android < API 21 * move media picking from dialog to bottom sheet * add small style tootbutton * fix colors/button background for light theme * add icons to media chose bottom sheet * improve hide media button, delete unused styles * fix crash on dev build when taking photo * consolidate drawables * consolidate strings and ids, add tooltips to buttons * allow media only toots * change error message to show max size of upload correctly * fix button color * add emoji * code cleanup * Merge branch 'master' into compose_activity_refactoring # Conflicts: # app/src/main/java/com/keylesspalace/tusky/ComposeActivity.java * fix hidden snackbar * improve hint text color * add SendTootService * fix timeline refreshing * toot saving and error handling for sendtootservice * restructure some code * convert EditTextTyped to Kotlin * fixed pick media button disabled color * force sensitive media when content warning is shown * add db cache for emojis & fix tests * reorder buttons to match mastodon web * add possibility to cancel sending of toot * correctly delete sent toots * refresh SavedTootActivity after toot was sent * remove unused resources * correct params for toot saving in SendTootService * consolidate strings * bugfix * remove unused resources * fix notifications on old android for SendTootService * fix crash
2018-04-13 22:37:21 +02:00
<string name="compose_save_draft">Save draft?</string>
<string name="compose_save_draft_loses_media">Save draft? (Attachments will be uploaded again when you restore the draft.)</string>
<string name="compose_unsaved_changes">You have unsaved changes.</string>
<string name="send_post_notification_title">Sending post…</string>
<string name="send_post_notification_error_title">Error sending post</string>
<string name="send_post_notification_channel_name">Sending Posts</string>
<string name="send_post_notification_cancel_title">Sending cancelled</string>
<string name="send_post_notification_saved_content">A copy of the post has been saved to your drafts</string>
<string name="action_compose_shortcut">Compose</string>
<string name="error_no_custom_emojis">Your instance %s does not have any custom emojis</string>
EmojiCompat support (#600) * Add EmojiCompat * EmojiCompat doesn' replace all emojis anymore * This app should be now capable of loading a EmojiCompat-font located in a file somewhere inside the device's storage * Should now replace all emojis * Add EmojiCompat support to EditTextTyped * Provide EmojiCompat fonts * The app won't crash anymore when no emoji font is available. Emoji font should now be located at [Private external app directory]/files/EmojiCompat.ttf * Removed BundledEmojiCompat dependency Since this EmojiCompat-implementation does not rely on BundledEmojiCompat, there's no reason to have it enabled. * Update EditTextTyped.kt Since connection isn't assigned to (I tried doing so), it can be declared final/val again. * Update README.md * Add some non-working emoji preferences * Add a short font list for testing * Finished implementation * Add Twemoji to font list * Update documentation, more comments * Delete AssetEmojiCompat which is obsolete now * Update the font list * Update the font list * Fix font list & add Exception handling for malformed JSON files (hopefully) * More fixes. It should work now... * Removed AssetEmojiCompat (again) * Add most of the changes * Improved the EmojiCompat dialog's style * The font list is now based on a static layout without external files * Re-add the real font URL for Twemoji * Emoji-font captions are now translatable * Removed one unused String (loading) * Removed emoji fonts from this repo * Applied changes from the PR change requests * The correct emoji font will be selected after cancelling a change * Add details on the EmojiCompat fonts available (not shown yet) * Add licensing information on Twemoji and Blobmoji * Reworked some strings * Moved FileEmojiCompat to its own library * Update FileEmojiCompat to the latest version (1.0.3) * EmojiCompat bug should be fixed * Better handling of failed downloads * Removed one TODO Signed-off-by: Constantin A <10349490+C1710@users.noreply.github.com> * Update emoji attribution strings Signed-off-by: Constantin A <10349490+C1710@users.noreply.github.com> * Fixed some misspelled strings Signed-off-by: Constantin A <10349490+C1710@users.noreply.github.com>
2018-05-10 11:16:56 +02:00
<string name="emoji_style">Emoji style</string>
<string name="system_default">System default</string>
<string name="download_fonts">You\'ll need to download these emoji sets first</string>
<string name="performing_lookup_title">Performing lookup…</string>
<string name="expand_collapse_all_posts">Expand/Collapse all posts</string>
<string name="action_open_post">Open post</string>
EmojiCompat support (#600) * Add EmojiCompat * EmojiCompat doesn' replace all emojis anymore * This app should be now capable of loading a EmojiCompat-font located in a file somewhere inside the device's storage * Should now replace all emojis * Add EmojiCompat support to EditTextTyped * Provide EmojiCompat fonts * The app won't crash anymore when no emoji font is available. Emoji font should now be located at [Private external app directory]/files/EmojiCompat.ttf * Removed BundledEmojiCompat dependency Since this EmojiCompat-implementation does not rely on BundledEmojiCompat, there's no reason to have it enabled. * Update EditTextTyped.kt Since connection isn't assigned to (I tried doing so), it can be declared final/val again. * Update README.md * Add some non-working emoji preferences * Add a short font list for testing * Finished implementation * Add Twemoji to font list * Update documentation, more comments * Delete AssetEmojiCompat which is obsolete now * Update the font list * Update the font list * Fix font list & add Exception handling for malformed JSON files (hopefully) * More fixes. It should work now... * Removed AssetEmojiCompat (again) * Add most of the changes * Improved the EmojiCompat dialog's style * The font list is now based on a static layout without external files * Re-add the real font URL for Twemoji * Emoji-font captions are now translatable * Removed one unused String (loading) * Removed emoji fonts from this repo * Applied changes from the PR change requests * The correct emoji font will be selected after cancelling a change * Add details on the EmojiCompat fonts available (not shown yet) * Add licensing information on Twemoji and Blobmoji * Reworked some strings * Moved FileEmojiCompat to its own library * Update FileEmojiCompat to the latest version (1.0.3) * EmojiCompat bug should be fixed * Better handling of failed downloads * Removed one TODO Signed-off-by: Constantin A <10349490+C1710@users.noreply.github.com> * Update emoji attribution strings Signed-off-by: Constantin A <10349490+C1710@users.noreply.github.com> * Fixed some misspelled strings Signed-off-by: Constantin A <10349490+C1710@users.noreply.github.com>
2018-05-10 11:16:56 +02:00
<string name="restart_required">App restart required</string>
<string name="restart_emoji">You\'ll need to restart Tusky in order to apply these changes</string>
<string name="later">Later</string>
<string name="restart">Restart</string>
<string name="caption_systememoji">Your device\'s default emoji set</string>
2018-06-25 16:23:43 +02:00
<string name="caption_blobmoji">The Blob emojis known from Android 4.47.1</string>
EmojiCompat support (#600) * Add EmojiCompat * EmojiCompat doesn' replace all emojis anymore * This app should be now capable of loading a EmojiCompat-font located in a file somewhere inside the device's storage * Should now replace all emojis * Add EmojiCompat support to EditTextTyped * Provide EmojiCompat fonts * The app won't crash anymore when no emoji font is available. Emoji font should now be located at [Private external app directory]/files/EmojiCompat.ttf * Removed BundledEmojiCompat dependency Since this EmojiCompat-implementation does not rely on BundledEmojiCompat, there's no reason to have it enabled. * Update EditTextTyped.kt Since connection isn't assigned to (I tried doing so), it can be declared final/val again. * Update README.md * Add some non-working emoji preferences * Add a short font list for testing * Finished implementation * Add Twemoji to font list * Update documentation, more comments * Delete AssetEmojiCompat which is obsolete now * Update the font list * Update the font list * Fix font list & add Exception handling for malformed JSON files (hopefully) * More fixes. It should work now... * Removed AssetEmojiCompat (again) * Add most of the changes * Improved the EmojiCompat dialog's style * The font list is now based on a static layout without external files * Re-add the real font URL for Twemoji * Emoji-font captions are now translatable * Removed one unused String (loading) * Removed emoji fonts from this repo * Applied changes from the PR change requests * The correct emoji font will be selected after cancelling a change * Add details on the EmojiCompat fonts available (not shown yet) * Add licensing information on Twemoji and Blobmoji * Reworked some strings * Moved FileEmojiCompat to its own library * Update FileEmojiCompat to the latest version (1.0.3) * EmojiCompat bug should be fixed * Better handling of failed downloads * Removed one TODO Signed-off-by: Constantin A <10349490+C1710@users.noreply.github.com> * Update emoji attribution strings Signed-off-by: Constantin A <10349490+C1710@users.noreply.github.com> * Fixed some misspelled strings Signed-off-by: Constantin A <10349490+C1710@users.noreply.github.com>
2018-05-10 11:16:56 +02:00
<string name="caption_twemoji">Mastodon\'s standard emoji set</string>
<string name="caption_notoemoji">Google\'s current emoji set</string>
EmojiCompat support (#600) * Add EmojiCompat * EmojiCompat doesn' replace all emojis anymore * This app should be now capable of loading a EmojiCompat-font located in a file somewhere inside the device's storage * Should now replace all emojis * Add EmojiCompat support to EditTextTyped * Provide EmojiCompat fonts * The app won't crash anymore when no emoji font is available. Emoji font should now be located at [Private external app directory]/files/EmojiCompat.ttf * Removed BundledEmojiCompat dependency Since this EmojiCompat-implementation does not rely on BundledEmojiCompat, there's no reason to have it enabled. * Update EditTextTyped.kt Since connection isn't assigned to (I tried doing so), it can be declared final/val again. * Update README.md * Add some non-working emoji preferences * Add a short font list for testing * Finished implementation * Add Twemoji to font list * Update documentation, more comments * Delete AssetEmojiCompat which is obsolete now * Update the font list * Update the font list * Fix font list & add Exception handling for malformed JSON files (hopefully) * More fixes. It should work now... * Removed AssetEmojiCompat (again) * Add most of the changes * Improved the EmojiCompat dialog's style * The font list is now based on a static layout without external files * Re-add the real font URL for Twemoji * Emoji-font captions are now translatable * Removed one unused String (loading) * Removed emoji fonts from this repo * Applied changes from the PR change requests * The correct emoji font will be selected after cancelling a change * Add details on the EmojiCompat fonts available (not shown yet) * Add licensing information on Twemoji and Blobmoji * Reworked some strings * Moved FileEmojiCompat to its own library * Update FileEmojiCompat to the latest version (1.0.3) * EmojiCompat bug should be fixed * Better handling of failed downloads * Removed one TODO Signed-off-by: Constantin A <10349490+C1710@users.noreply.github.com> * Update emoji attribution strings Signed-off-by: Constantin A <10349490+C1710@users.noreply.github.com> * Fixed some misspelled strings Signed-off-by: Constantin A <10349490+C1710@users.noreply.github.com>
2018-05-10 11:16:56 +02:00
<string name="download_failed">Download failed</string>
Account activity redesign (#662) * Refactor-all-the-things version of the fix for issue #573 * Migrate SpanUtils to kotlin because why not * Minimal fix for issue #573 * Add tests for compose spanning * Clean up code suggestions * Make FakeSpannable.getSpans implementation less awkward * Add secondary validation pass for urls * Address code review feedback * Fixup type filtering in FakeSpannable again * Make all mentions in compose activity use the default link color * new layout for AccountActivity * fix the light theme * convert AccountActivity to Kotlin * introduce AccountViewModel * Merge branch 'master' into account-activity-redesign # Conflicts: # app/src/main/java/com/keylesspalace/tusky/AccountActivity.java * add Bot badge to profile * parse custom emojis in usernames * add possibility to cancel follow request * add third tab on profiles * add account fields to profile * add support for moved accounts * set click listener on account moved view * fix tests * use 24dp as statusbar size * add ability to hide reblogs from followed accounts * add button to edit own account to AccountActivity * set toolbar top margin programmatically * fix crash * add shadow behind statusbar * introduce ViewExtensions to clean up code * move code out of offsetChangedListener for perf reasons * clean up stuff * add error handling * improve type safety * fix ConstraintLayout warning * remove unneeded ressources * fix event dispatching * fix crash in event handling * set correct emoji on title * improve some things * wrap follower/foillowing/status views
2018-06-18 13:26:18 +02:00
<string name="profile_badge_bot_text">Bot</string>
<string name="account_moved_description">%1$s has moved to:</string>
<string name="reblog_private">Boost to original audience</string>
<string name="unreblog_private">Unboost</string>
<string name="license_description">Tusky contains code and assets from the following open source projects:</string>
<string name="license_apache_2">Licensed under the Apache License (copy below)</string>
<string name="license_cc_by_4">CC-BY 4.0</string>
<string name="license_cc_by_sa_4">CC-BY-SA 4.0</string>
<string name="profile_metadata_label">Profile metadata</string>
<string name="profile_metadata_add">add data</string>
<string name="profile_metadata_label_label">Label</string>
<string name="profile_metadata_content_label">Content</string>
2018-08-16 15:51:23 +02:00
<string name="pref_title_absolute_time">Use absolute time</string>
<string name="label_remote_account">Information below may reflect the user\'s profile incompletely. Press to open full profile in browser.</string>
<string name="unpin_action">Unpin</string>
<string name="pin_action">Pin</string>
<string name="failed_to_pin">Failed to Pin</string>
<string name="failed_to_unpin">Failed to Unpin</string>
2018-08-16 15:51:23 +02:00
<plurals name="favs">
<item quantity="one">&lt;b>%1$s&lt;/b> Favorite</item>
<item quantity="other">&lt;b>%1$s&lt;/b> Favorites</item>
</plurals>
<plurals name="reblogs">
<item quantity="one">&lt;b>%s&lt;/b> Boost</item>
<item quantity="other">&lt;b>%s&lt;/b> Boosts</item>
</plurals>
<string name="title_reblogged_by">Boosted by</string>
<string name="title_favourited_by">Favorited by</string>
<string name="conversation_1_recipients">%1$s</string>
<string name="conversation_2_recipients">%1$s and %2$s</string>
<string name="conversation_more_recipients">%1$s, %2$s and %3$d more</string>
<plurals name="max_tab_number_reached">
<item quantity="one">maximum of %1$d tab reached</item>
<item quantity="other">maximum of %1$d tabs reached</item>
</plurals>
<string name="description_post_media">
Media: %s
</string>
<string name="description_post_cw">
Content warning: %s
</string>
<string name="description_post_media_no_description_placeholder">
No description
</string>
<string name="description_post_edited">
Edited
</string>
<string name="description_post_reblogged">
Reblogged
</string>
<string name="description_post_favourited">
Favorited
</string>
<string name="description_post_bookmarked">
Bookmarked
</string>
<string name="description_visibility_public">
Public
</string>
<string name="description_visibility_unlisted">
Unlisted
</string>
<string name="description_visibility_private">
Followers
</string>
<string name="description_visibility_direct">
Direct
</string>
<string name="description_poll">
2019-06-24 22:15:31 +02:00
Poll with choices: %1$s, %2$s, %3$s, %4$s; %5$s
</string>
<string name="description_post_language">Post language</string>
<string name="description_login">Works in most cases. No data is leaked to other apps.</string>
<string name="description_browser_login">May support additional authentication methods, but requires a supported browser.</string>
<string name="hint_list_name">List name</string>
<string name="add_hashtag_title">Add hashtag</string>
<string name="edit_hashtag_hint">Hashtag without #</string>
<string name="hashtags">Hashtags</string>
<string name="select_list_title">Select list</string>
<string name="list">List</string>
<string name="notifications_clear">Clear</string>
<string name="notifications_apply_filter">Filter</string>
<string name="filter_apply">Apply</string>
<string name="compose_shortcut_long_label">Compose post</string>
<string name="compose_shortcut_short_label">Compose</string>
<string name="notification_clear_text">Are you sure you want to permanently clear all your notifications?</string>
<string name="compose_preview_image_description">Actions for image %s</string>
<string name="poll_info_format">
<!-- 15 votes • 1 hour left -->
%1$s • %2$s</string>
<plurals name="poll_info_votes">
<item quantity="one">%s vote</item>
<item quantity="other">%s votes</item>
</plurals>
<plurals name="poll_info_people">
<item quantity="one">%s person</item>
<item quantity="other">%s people</item>
</plurals>
<string name="poll_info_time_absolute">ends at %s</string>
<string name="poll_info_closed">closed</string>
<string name="poll_vote">Vote</string>
<string name="poll_ended_voted">A poll you have voted in has ended</string>
<string name="poll_ended_created">A poll you created has ended</string>
<!--These are for timestamps on polls -->
<plurals name="poll_timespan_days">
<item quantity="one">%d day left</item>
<item quantity="other">%d days left</item>
</plurals>
<plurals name="poll_timespan_hours">
<item quantity="one">%d hour left</item>
<item quantity="other">%d hours left</item>
</plurals>
<plurals name="poll_timespan_minutes">
<item quantity="one">%d minute left</item>
<item quantity="other">%d minutes left</item>
</plurals>
<plurals name="poll_timespan_seconds">
<item quantity="one">%d second left</item>
<item quantity="other">%d seconds left</item>
</plurals>
<string name="button_continue">Continue</string>
<string name="button_back">Back</string>
<string name="button_done">Done</string>
<string name="report_sent_success">Successfully reported @%s</string>
<string name="hint_additional_info">Additional comments</string>
<string name="report_remote_instance">Forward to %s</string>
<string name="failed_report">Failed to report</string>
<string name="failed_fetch_posts">Failed to fetch posts</string>
<string name="report_description_1">The report will be sent to your server moderator. You can provide an explanation of why you are reporting this account below:</string>
<string name="report_description_remote_instance">The account is from another server. Send an anonymized copy of the report there as well?</string>
<string name="title_accounts">Accounts</string>
<string name="failed_search">Failed to search</string>
<string name="pref_title_show_notifications_filter">Show Notifications filter</string>
<string name="pref_title_enable_swipe_for_tabs">Enable swipe gesture to switch between tabs</string>
<string name="create_poll_title">Poll</string>
<string name="label_duration">Duration</string>
<string name="duration_indefinite">Indefinite</string>
<string name="duration_5_min">5 minutes</string>
<string name="duration_30_min">30 minutes</string>
<string name="duration_1_hour">1 hour</string>
<string name="duration_6_hours">6 hours</string>
<string name="duration_1_day">1 day</string>
<string name="duration_3_days">3 days</string>
<string name="duration_7_days">7 days</string>
<string name="duration_14_days">14 days</string>
<string name="duration_30_days">30 days</string>
<string name="duration_60_days">60 days</string>
<string name="duration_90_days">90 days</string>
<string name="duration_180_days">180 days</string>
<string name="duration_365_days">365 days</string>
<string name="duration_no_change">(No change)</string>
<string name="add_poll_choice">Add choice</string>
<string name="poll_allow_multiple_choices">Multiple choices</string>
<string name="poll_new_choice_hint">Choice %d</string>
<string name="edit_poll">Edit</string>
<string name="post_lookup_error_format">Error looking up post %s</string>
<string name="no_drafts">You don\'t have any drafts.</string>
<string name="no_scheduled_posts">You don\'t have any scheduled posts.</string>
<string name="no_announcements">There are no announcements.</string>
<string name="no_lists">You don\'t have any lists.</string>
<string name="warning_scheduling_interval">Mastodon has a minimum scheduling interval of 5 minutes.</string>
<string name="pref_title_show_self_username">Show username in toolbars</string>
<string name="pref_title_show_cards_in_timelines">Show link previews in timelines</string>
<string name="pref_title_confirm_reblogs">Show confirmation dialog before boosting</string>
<string name="pref_title_confirm_favourites">Show confirmation dialog before favoriting</string>
2020-08-16 10:01:51 +02:00
<string name="pref_title_hide_top_toolbar">Hide the title of the top toolbar</string>
<string name="pref_title_wellbeing_mode">Wellbeing</string>
<string name="account_note_hint">Your private note about this account</string>
<string name="account_note_saved">Saved!</string>
<string name="wellbeing_mode_notice">Some information that might affect your mental wellbeing will be hidden. This includes:\n\n
- Favorite/Boost/Follow notifications\n
- Favorite/Boost count on posts\n
- Follower/Post stats on profiles\n\n
Push-notifications will not be affected, but you can review your notification preferences manually.
</string>
<string name="review_notifications">Review Notifications</string>
<string name="limit_notifications">Limit timeline notifications</string>
<string name="wellbeing_hide_stats_posts">Hide quantitative stats on posts</string>
<string name="wellbeing_hide_stats_profile">Hide quantitative stats on profiles</string>
<plurals name="error_upload_max_media_reached">
<item quantity="one">You cannot upload more than %1$d media attachment.</item>
<item quantity="other">You cannot upload more than %1$d media attachments.</item>
</plurals>
<string name="dialog_delete_list_warning">Do you really want to delete the list %s?</string>
<string name="drafts_post_failed_to_send">This post failed to send!</string>
<string name="drafts_failed_loading_reply">Failed loading Reply information</string>
<string name="draft_deleted">Draft deleted</string>
<string name="drafts_post_reply_removed">The post you drafted a reply to has been removed</string>
<string name="follow_requests_info">Even though your account is not locked, the %1$s staff thought you might want to review follow requests from these accounts manually.</string>
<string name="action_subscribe_account">Subscribe</string>
<string name="action_unsubscribe_account">Unsubscribe</string>
<string name="tusky_compose_post_quicksetting_label">Compose Post</string>
<string name="account_date_joined">Joined %1$s</string>
<string name="saving_draft">Saving draft…</string>
<string name="tips_push_notification_migration">Re-login all accounts to enable push notification support.</string>
<string name="dialog_push_notification_migration">In order to use push notifications via UnifiedPush, Tusky needs permission to subscribe to notifications on your Mastodon server. This requires a re-login to change the OAuth scopes granted to Tusky. Using the re-login option here or in "Account preferences" will preserve all of your local drafts and cache.</string>
<string name="dialog_push_notification_migration_other_accounts">You have re-logged into your current account to grant push subscription permission to Tusky. However, you still have other accounts that have not been migrated this way. Switch to them and re-login one by one in order to enable UnifiedPush notifications support.</string>
<string name="url_domain_notifier">%s (🔗 %s)</string>
<string name="delete_scheduled_post_warning">Delete this scheduled post?</string>
<string name="instance_rule_info">By logging in you agree to the rules of %s.</string>
<string name="instance_rule_title">%s rules</string>
<string name="language_display_name_format">%s (%s)</string>
<string name="report_category_violation">Rule violation</string>
<string name="report_category_spam">Spam</string>
<string name="report_category_other">Other</string>
<string name="action_unfollow_hashtag_format">Unfollow #%s?</string>
<string name="mute_notifications_switch">Mute notifications</string>
Keep scroll position when loading missing statuses (#3000) * Change "Load more" to load oldest statuses first in home timeline Previous behaviour loaded missing statuses by using "since_id" and "max_id". This loads the most recent N statuses, looking backwards from "max_id". Change to load the oldest statuses first, assuming the user is scrolling up through the timeline and will want to load statuses in reverse chronological order. * Scroll to the bottom of new entries added by "Load more" - Remember the position of the "Load more" placeholder - Check the position of inserted entries - If they match, scroll to the bottom * Change "Load more" to load oldest statuses first in home timeline Previous behaviour loaded missing statuses by using "since_id" and "max_id". This loads the most recent N statuses, looking backwards from "max_id". Change to load the oldest statuses first, assuming the user is scrolling up through the timeline and will want to load statuses in reverse chronological order. * Scroll to the bottom of new entries added by "Load more" - Remember the position of the "Load more" placeholder - Check the position of inserted entries - If they match, scroll to the bottom * Ensure the user can't have two simultaneous "Load more" coroutines Having two simultanous coroutines would break the calculation used to figure out which item in the list to scroll to after a "Load more" in the timeline. Do this by: - Creating a TimelineUiState and associated flow that tracks the "Load more" state - Updating this in the (Cached|Network)TimelineViewModel - Listening for changes to it in TimelineFragment, and notifying the adapter - The adapter will disable any placeholder views while "Load more" is active * Revert changes that loaded the oldest statuses instead of the newest * Be more robust about locating the status to scroll to Weirdness with the PagingData library meant that positionStart could still be wrong after "Load more" was clicked. Instead, remember the position of the "Load more" item and the ID of the status immediately after it. When new items are added, search for the remembered status at the position of the "Load more" item. This is quick, testing at most LOAD_AT_ONCE items in the adapter. If the remembered status is not visible on screen then scroll to it. * Lint * Add a preference to specify the reading order Default behaviour (oldest first) is for "load more" to load statuses and stay at the oldest of the new statuses. Alternative behaviour (if the user is reading from top to bottom) is to stay at the newest of the new statuses. * Move ReadingOrder enum construction logic in to the enum * Jump to top if swipe/refresh while preferring newest-first order * Show a circular progress spinner during "Load more" operations Remove a dedicated view, and use an icon on the button instead. Adjust the placeholder attributes and styles accordingly. * Remove the "loadMoreActive" property Complicates the code and doesn't really achieve the desired effect. If the user wants to tap multiple "Load more" buttons they can. * Update comments in TimelineFragment * Respect the user's reading order preference if it changes * Add developer tools This is for functionality that makes it easier for developers to interact with the app, or get it in to a known-state. These features are for use by users, so are only visible in debug builds. * Adjust how content is loaded based on preferred reading order - Add the readingOrder to TimelineViewModel so derived classes can use it. - Update the homeTimeline API to support the `minId` parameter and update calls in NetworkTimelineViewModel In CachedTimelineViewModel: - Set the bounds of the load to be the status IDs on either side of the placeholder ID (update TimelineDao with a new query for this) - Load statuses using either minId or sinceId depending on the reading order - Is there was no overlap then insert the new placeholder at the start/end of the list depending on reading order * Lint * Rename unused dialog parameter to _ * Update API arguments in tests * Simplify ReadingOrder preference handling * Fix bug with Placeholder and the "expanded" property If a status is a Placeholder the "expanded" propery is used to indicate whether or not it is loading. replaceStatusRange() set this property based on the old value, and the user's alwaysOpenSpoiler preference setting. This shouldn't have been used if the status is a Placeholder, as it can lead to incorrect loading states. Fix this. While I'm here, introduce an explicit computed property for whether a TimelineStatusEntity is a placeholder, and use that for code clarity. * Set the "Load more" button background to transparent * Fix typo. * Inline spec, update comment * Revert 1480c6aa3ac5c0c2d362fb271f47ea2259ab14e2 Turns out the behaviour is not desired. * Remove unnecessary Log call * Extract function * Change default to newest first
2023-01-13 19:26:24 +01:00
<!-- Reading order preference -->
<string name="pref_title_reading_order">Reading order</string>
<string name="pref_reading_order_oldest_first">Oldest first</string>
<string name="pref_reading_order_newest_first">Newest first</string>
<!--@Tusky edited 19th December 2022 13:37 -->
<string name="status_edit_info">%1$s edited %2$s</string>
<!--@Tusky created 19th December 2022 13:12 -->
<string name="status_created_info">%1$s created %2$s</string>
Improve the actual and perceived speed of thread loading (#3118) * Improve the actual and perceived speed of thread loading To improve the actual speed, note that if the user has opened a thread from their home timeline then the initial status is cached in the database. Other statuses in the same thread may be cached as well. So try and load the initial status from the database, falling back to the network if it's not present (e.g., the user has opened a thread from the local or federated timelines, or a search). Introduce a new loading state to deal with this case. In typical cases this allows the UI to display the initial status immediately with no need to show a progress indicator. To improve the perceived speed, delay showing the initial loading circular progress indicators by 500ms. If loading the initial status completes within that time no spinner is shown and the user will perceive the action as close-to-immediate (https://www.nngroup.com/articles/response-times-3-important-limits/). Additionally, introduce an extra indeterminate progress indicator. The new indicator is linear, anchored to the bottom of the screen, and shows progress loading ancestor/descendant statuses. Like the other indicator is also delayed 500ms from when ancestor/descendant status information is fetched, and if the fetch completes in that time it will not be shown. * Mark `getStatus` as suspend so it doesn't run on the main thread * Save an allocation, use an isDetailed parameter to TimelineStatusWithAccount.toViewData Rename Status.toViewData's "detailed" parameter to "isDetailed" for consistency with other uses. * Ensure suspend functions run to completion when testing * Delay-load the status from the network even if it's cached This speeds up the UI while ensuring it will eventually contain accurate data from the remote. * Load the network status before updating the list Avoids excess animations if the network copy has changes * Fix UI flicker when loading reblogged statuses * Lint * Fixup tests
2023-01-09 21:31:31 +01:00
<string name="a11y_label_loading_thread">Loading thread</string>
2017-01-03 00:30:27 +01:00
</resources>