From a263fe666f3d9893f17f6140bfbae08694c486df Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 6 Aug 2021 12:48:09 +0200 Subject: [PATCH 001/115] New translations app.json (Spanish, Argentina) --- Localization/StringsConvertor/input/es_AR/app.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/es_AR/app.json b/Localization/StringsConvertor/input/es_AR/app.json index eae2f6714..ebabfac80 100644 --- a/Localization/StringsConvertor/input/es_AR/app.json +++ b/Localization/StringsConvertor/input/es_AR/app.json @@ -509,7 +509,7 @@ "trigger": { "anyone": "cualquiera", "follower": "un seguidor", - "follow": "cualquiera que sigo", + "follow": "alguien a quien sigo", "noone": "nadie", "title": "Notificarme cuando" } From 142133175f94775ce704cea227ca018e42cc6c3b Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 6 Aug 2021 12:48:20 +0200 Subject: [PATCH 002/115] New translations app.json (Chinese Traditional) --- .../StringsConvertor/input/zh_TW/app.json | 561 ++++++++++++++++++ 1 file changed, 561 insertions(+) create mode 100644 Localization/StringsConvertor/input/zh_TW/app.json diff --git a/Localization/StringsConvertor/input/zh_TW/app.json b/Localization/StringsConvertor/input/zh_TW/app.json new file mode 100644 index 000000000..7b5e271e4 --- /dev/null +++ b/Localization/StringsConvertor/input/zh_TW/app.json @@ -0,0 +1,561 @@ +{ + "common": { + "alerts": { + "common": { + "please_try_again": "Please try again.", + "please_try_again_later": "Please try again later." + }, + "sign_up_failure": { + "title": "Sign Up Failure" + }, + "server_error": { + "title": "Server Error" + }, + "vote_failure": { + "title": "Vote Failure", + "poll_expired": "The poll has expired" + }, + "discard_post_content": { + "title": "Discard Draft", + "message": "Confirm to discard composed post content." + }, + "publish_post_failure": { + "title": "Publish Failure", + "message": "Failed to publish the post.\nPlease check your internet connection.", + "attachments_message": { + "video_attach_with_photo": "Cannot attach a video to a post that already contains images.", + "more_than_one_video": "Cannot attach more than one video." + } + }, + "edit_profile_failure": { + "title": "Edit Profile Error", + "message": "Cannot edit profile. Please try again." + }, + "sign_out": { + "title": "Sign Out", + "message": "Are you sure you want to sign out?", + "confirm": "Sign Out" + }, + "block_domain": { + "title": "Are you really, really sure you want to block the entire %s? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain and any of your followers from that domain will be removed.", + "block_entire_domain": "Block Domain" + }, + "save_photo_failure": { + "title": "Save Photo Failure", + "message": "Please enable the photo library access permission to save the photo." + }, + "delete_post": { + "title": "Are you sure you want to delete this post?", + "delete": "Delete" + }, + "clean_cache": { + "title": "Clean Cache", + "message": "Successfully cleaned %s cache." + } + }, + "controls": { + "actions": { + "back": "Back", + "next": "Next", + "previous": "Previous", + "open": "Open", + "add": "Add", + "remove": "Remove", + "edit": "Edit", + "save": "Save", + "ok": "OK", + "done": "Done", + "confirm": "Confirm", + "continue": "Continue", + "cancel": "Cancel", + "discard": "Discard", + "try_again": "Try Again", + "take_photo": "Take Photo", + "save_photo": "Save Photo", + "copy_photo": "Copy Photo", + "sign_in": "Sign In", + "sign_up": "Sign Up", + "see_more": "See More", + "preview": "Preview", + "share": "Share", + "share_user": "Share %s", + "share_post": "Share Post", + "open_in_safari": "Open in Safari", + "find_people": "Find people to follow", + "manually_search": "Manually search instead", + "skip": "Skip", + "reply": "Reply", + "report_user": "Report %s", + "block_domain": "Block %s", + "unblock_domain": "Unblock %s", + "settings": "Settings", + "delete": "Delete" + }, + "tabs": { + "home": "Home", + "search": "Search", + "notification": "Notification", + "profile": "Profile" + }, + "keyboard": { + "common": { + "switch_to_tab": "Switch to %s", + "compose_new_post": "Compose New Post", + "show_favorites": "Show Favorites", + "open_settings": "Open Settings" + }, + "timeline": { + "previous_status": "Previous Post", + "next_status": "Next Post", + "open_status": "Open Post", + "open_author_profile": "Open Author's Profile", + "open_reblogger_profile": "Open Reblogger's Profile", + "reply_status": "Reply to Post", + "toggle_reblog": "Toggle Reblog on Post", + "toggle_favorite": "Toggle Favorite on Post", + "toggle_content_warning": "Toggle Content Warning", + "preview_image": "Preview Image" + }, + "segmented_control": { + "previous_section": "Previous Section", + "next_section": "Next Section" + } + }, + "status": { + "user_reblogged": "%s reblogged", + "user_replied_to": "Replied to %s", + "show_post": "Show Post", + "show_user_profile": "Show user profile", + "content_warning": "Content Warning", + "media_content_warning": "Tap anywhere to reveal", + "poll": { + "vote": "Vote", + "time_left": "%s left", + "closed": "Closed" + }, + "actions": { + "reply": "Reply", + "reblog": "Reblog", + "unreblog": "Undo reblog", + "favorite": "Favorite", + "unfavorite": "Unfavorite", + "menu": "Menu" + }, + "tag": { + "url": "URL", + "mention": "Mention", + "link": "Link", + "hashtag": "Hashtag", + "email": "Email", + "emoji": "Emoji" + } + }, + "friendship": { + "follow": "Follow", + "following": "Following", + "request": "Request", + "pending": "Pending", + "block": "Block", + "block_user": "Block %s", + "block_domain": "Block %s", + "unblock": "Unblock", + "unblock_user": "Unblock %s", + "blocked": "Blocked", + "mute": "Mute", + "mute_user": "Mute %s", + "unmute": "Unmute", + "unmute_user": "Unmute %s", + "muted": "Muted", + "edit_info": "Edit Info" + }, + "timeline": { + "filtered": "Filtered", + "timestamp": { + "now": "Now", + "time_ago": "%s ago" + }, + "loader": { + "load_missing_posts": "Load missing posts", + "loading_missing_posts": "Loading missing posts...", + "show_more_replies": "Show more replies" + }, + "header": { + "no_status_found": "No Post Found", + "blocking_warning": "You can’t view this user's profile\n until you unblock them.\nYour profile looks like this to them.", + "user_blocking_warning": "You can’t view %s’s profile\n until you unblock them.\nYour profile looks like this to them.", + "blocked_warning": "You can’t view this user’s profile\n until they unblock you.", + "user_blocked_warning": "You can’t view %s’s profile\n until they unblock you.", + "suspended_warning": "This user has been suspended.", + "user_suspended_warning": "%s’s account has been suspended." + }, + "accessibility": { + "count_replies": "%s replies", + "count_reblogs": "%s reblogs", + "count_favorites": "%s favorites" + } + } + } + }, + "scene": { + "welcome": { + "slogan": "Social networking\nback in your hands." + }, + "server_picker": { + "title": "Pick a server,\nany server.", + "button": { + "category": { + "all": "All", + "all_accessiblity_description": "Category: All", + "academia": "academia", + "activism": "activism", + "food": "food", + "furry": "furry", + "games": "games", + "general": "general", + "journalism": "journalism", + "lgbt": "lgbt", + "regional": "regional", + "art": "art", + "music": "music", + "tech": "tech" + }, + "see_less": "See Less", + "see_more": "See More" + }, + "label": { + "language": "LANGUAGE", + "users": "USERS", + "category": "CATEGORY" + }, + "input": { + "placeholder": "Find a server or join your own..." + }, + "empty_state": { + "finding_servers": "Finding available servers...", + "bad_network": "Something went wrong while loading the data. Check your internet connection.", + "no_results": "No results" + } + }, + "register": { + "title": "Tell us about you.", + "input": { + "avatar": { + "delete": "Delete" + }, + "username": { + "placeholder": "username", + "duplicate_prompt": "This username is taken." + }, + "display_name": { + "placeholder": "display name" + }, + "email": { + "placeholder": "email" + }, + "password": { + "placeholder": "password", + "hint": "Your password needs at least eight characters" + }, + "invite": { + "registration_user_invite_request": "Why do you want to join?" + } + }, + "error": { + "item": { + "username": "Username", + "email": "Email", + "password": "Password", + "agreement": "Agreement", + "locale": "Locale", + "reason": "Reason" + }, + "reason": { + "blocked": "%s contains a disallowed email provider", + "unreachable": "%s does not seem to exist", + "taken": "%s is already in use", + "reserved": "%s is a reserved keyword", + "accepted": "%s must be accepted", + "blank": "%s is required", + "invalid": "%s is invalid", + "too_long": "%s is too long", + "too_short": "%s is too short", + "inclusion": "%s is not a supported value" + }, + "special": { + "username_invalid": "Username must only contain alphanumeric characters and underscores", + "username_too_long": "Username is too long (can’t be longer than 30 characters)", + "email_invalid": "This is not a valid email address", + "password_too_short": "Password is too short (must be at least 8 characters)" + } + } + }, + "server_rules": { + "title": "Some ground rules.", + "subtitle": "These rules are set by the admins of %s.", + "prompt": "By continuing, you’re subject to the terms of service and privacy policy for %s.", + "terms_of_service": "terms of service", + "privacy_policy": "privacy policy", + "button": { + "confirm": "I Agree" + } + }, + "confirm_email": { + "title": "One last thing.", + "subtitle": "We just sent an email to %s,\ntap the link to confirm your account.", + "button": { + "open_email_app": "Open Email App", + "dont_receive_email": "I never got an email" + }, + "dont_receive_email": { + "title": "Check your email", + "description": "Check if your email address is correct as well as your junk folder if you haven’t.", + "resend_email": "Resend Email" + }, + "open_email_app": { + "title": "Check your inbox.", + "description": "We just sent you an email. Check your junk folder if you haven’t.", + "mail": "Mail", + "open_email_client": "Open Email Client" + } + }, + "home_timeline": { + "title": "Home", + "navigation_bar_state": { + "offline": "Offline", + "new_posts": "See new posts", + "published": "Published!", + "Publishing": "Publishing post..." + } + }, + "suggestion_account": { + "title": "Find People to Follow", + "follow_explain": "When you follow someone, you’ll see their posts in your home feed." + }, + "public_timeline": { + "title": "Public" + }, + "compose": { + "title": { + "new_post": "New Post", + "new_reply": "New Reply" + }, + "media_selection": { + "camera": "Take Photo", + "photo_library": "Photo Library", + "browse": "Browse" + }, + "content_input_placeholder": "Type or paste what’s on your mind", + "compose_action": "Publish", + "replying_to_user": "replying to %s", + "attachment": { + "photo": "photo", + "video": "video", + "attachment_broken": "This %s is broken and can’t be\nuploaded to Mastodon.", + "description_photo": "Describe the photo for the visually-impaired...", + "description_video": "Describe the video for the visually-impaired..." + }, + "poll": { + "duration_time": "Duration: %s", + "thirty_minutes": "30 minutes", + "one_hour": "1 Hour", + "six_hours": "6 Hours", + "one_day": "1 Day", + "three_days": "3 Days", + "seven_days": "7 Days", + "option_number": "Option %ld" + }, + "content_warning": { + "placeholder": "Write an accurate warning here..." + }, + "visibility": { + "public": "Public", + "unlisted": "Unlisted", + "private": "Followers only", + "direct": "Only people I mention" + }, + "auto_complete": { + "space_to_add": "Space to add" + }, + "accessibility": { + "append_attachment": "Add Attachment", + "append_poll": "Add Poll", + "remove_poll": "Remove Poll", + "custom_emoji_picker": "Custom Emoji Picker", + "enable_content_warning": "Enable Content Warning", + "disable_content_warning": "Disable Content Warning", + "post_visibility_menu": "Post Visibility Menu", + "input_limit_remains_count": "Input limit remains %ld", + "input_limit_exceeds_count": "Input limit exceeds %ld" + }, + "keyboard": { + "discard_post": "Discard Post", + "publish_post": "Publish Post", + "toggle_poll": "Toggle Poll", + "toggle_content_warning": "Toggle Content Warning", + "append_attachment_entry": "Add Attachment - %s", + "select_visibility_entry": "Select Visibility - %s" + } + }, + "profile": { + "dashboard": { + "posts": "posts", + "following": "following", + "followers": "followers", + "accessibility": { + "count_posts": "%ld posts", + "count_following": "%ld following", + "count_followers": "%ld followers" + } + }, + "fields": { + "add_row": "Add Row", + "placeholder": { + "label": "Label", + "content": "Content" + } + }, + "segmented_control": { + "posts": "Posts", + "replies": "Replies", + "media": "Media" + }, + "relationship_action_alert": { + "confirm_unmute_user": { + "title": "Unmute Account", + "message": "Confirm to unmute %s" + }, + "confirm_unblock_usre": { + "title": "Unblock Account", + "message": "Confirm to unblock %s" + } + } + }, + "search": { + "title": "Search", + "search_bar": { + "placeholder": "Search hashtags and users", + "cancel": "Cancel" + }, + "recommend": { + "button_text": "See All", + "hash_tag": { + "title": "Trending on Mastodon", + "description": "Hashtags that are getting quite a bit of attention", + "people_talking": "%s people are talking" + }, + "accounts": { + "title": "Accounts you might like", + "description": "You may like to follow these accounts", + "follow": "Follow" + } + }, + "searching": { + "segment": { + "all": "All", + "people": "People", + "hashtags": "Hashtags", + "posts": "Posts" + }, + "empty_state": { + "no_results": "No results" + }, + "recent_search": "Recent searches", + "clear": "Clear" + } + }, + "hashtag": { + "prompt": "%s people talking" + }, + "favorite": { + "title": "Your Favorites" + }, + "notification": { + "title": { + "Everything": "Everything", + "Mentions": "Mentions" + }, + "action": { + "follow": "followed you", + "favourite": "favorited your post", + "reblog": "reblogged your post", + "poll": "Your poll has ended", + "mention": "mentioned you", + "follow_request": "requested to follow you" + }, + "keyobard": { + "show_everything": "Show Everything", + "show_mentions": "Show Mentions" + } + }, + "thread": { + "back_title": "Post", + "title": "Post from %s" + }, + "settings": { + "title": "Settings", + "section": { + "appearance": { + "title": "Appearance", + "automatic": "Automatic", + "light": "Always Light", + "dark": "Always Dark" + }, + "notifications": { + "title": "Notifications", + "favorites": "Favorites my post", + "follows": "Follows me", + "boosts": "Reblogs my post", + "mentions": "Mentions me", + "trigger": { + "anyone": "anyone", + "follower": "a follower", + "follow": "anyone I follow", + "noone": "no one", + "title": "Notify me when" + } + }, + "preference": { + "title": "Preferences", + "true_black_dark_mode": "True black dark mode", + "disable_avatar_animation": "Disable animated avatars", + "disable_emoji_animation": "Disable animated emojis", + "using_default_browser": "Use default browser to open links" + }, + "boring_zone": { + "title": "The Boring Zone", + "account_settings": "Account Settings", + "terms": "Terms of Service", + "privacy": "Privacy Policy" + }, + "spicy_zone": { + "title": "The Spicy Zone", + "clear": "Clear Media Cache", + "signout": "Sign Out" + } + }, + "footer": { + "mastodon_description": "Mastodon is open source software. You can report issues on GitHub at %s (%s)" + }, + "keyboard": { + "close_settings_window": "Close Settings Window" + } + }, + "report": { + "title": "Report %s", + "step1": "Step 1 of 2", + "step2": "Step 2 of 2", + "content1": "Are there any other posts you’d like to add to the report?", + "content2": "Is there anything the moderators should know about this report?", + "send": "Send Report", + "skip_to_send": "Send without comment", + "text_placeholder": "Type or paste additional comments" + }, + "preview": { + "keyboard": { + "close_preview": "Close Preview", + "show_next": "Show Next", + "show_previous": "Show Previous" + } + } + } +} \ No newline at end of file From e0bc3604b45422bdd1c991991df48a917fc6d51d Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 6 Aug 2021 12:48:26 +0200 Subject: [PATCH 003/115] New translations ios-infoPlist.json (Chinese Traditional) --- .../StringsConvertor/input/zh_TW/ios-infoPlist.json | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 Localization/StringsConvertor/input/zh_TW/ios-infoPlist.json diff --git a/Localization/StringsConvertor/input/zh_TW/ios-infoPlist.json b/Localization/StringsConvertor/input/zh_TW/ios-infoPlist.json new file mode 100644 index 000000000..c6db73de0 --- /dev/null +++ b/Localization/StringsConvertor/input/zh_TW/ios-infoPlist.json @@ -0,0 +1,6 @@ +{ + "NSCameraUsageDescription": "Used to take photo for post status", + "NSPhotoLibraryAddUsageDescription": "Used to save photo into the Photo Library", + "NewPostShortcutItemTitle": "New Post", + "SearchShortcutItemTitle": "Search" +} From b9af6ffc133b9e78a453dcdb8c776be0ea2e9976 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 6 Aug 2021 12:48:27 +0200 Subject: [PATCH 004/115] New translations Localizable.stringsdict (Chinese Traditional) --- .../input/zh_TW/Localizable.stringsdict | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 Localization/StringsConvertor/input/zh_TW/Localizable.stringsdict diff --git a/Localization/StringsConvertor/input/zh_TW/Localizable.stringsdict b/Localization/StringsConvertor/input/zh_TW/Localizable.stringsdict new file mode 100644 index 000000000..caa81fb6a --- /dev/null +++ b/Localization/StringsConvertor/input/zh_TW/Localizable.stringsdict @@ -0,0 +1,90 @@ + + + + + plural.count.metric_formatted.post + + NSStringLocalizedFormatKey + %@ %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + posts + + + plural.count.favorite + + NSStringLocalizedFormatKey + %#@favorite_count@ + favorite_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld favorites + + + plural.count.reblog + + NSStringLocalizedFormatKey + %#@reblog_count@ + reblog_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld reblogs + + + plural.count.vote + + NSStringLocalizedFormatKey + %#@vote_count@ + vote_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld votes + + + plural.count.voter + + NSStringLocalizedFormatKey + %#@voter_count@ + voter_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld voters + + + plural.people_talking + + NSStringLocalizedFormatKey + %#@count_people_talking@ + count_people_talking + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld people talking + + + + From 058df95c111add887c9e6148f407ac08fc398fb6 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 6 Aug 2021 14:42:31 +0200 Subject: [PATCH 005/115] New translations app.json (German) --- .../StringsConvertor/input/de_DE/app.json | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/Localization/StringsConvertor/input/de_DE/app.json b/Localization/StringsConvertor/input/de_DE/app.json index 2202c1aba..87648cf05 100644 --- a/Localization/StringsConvertor/input/de_DE/app.json +++ b/Localization/StringsConvertor/input/de_DE/app.json @@ -38,7 +38,7 @@ }, "block_domain": { "title": "Bist du dir wirklich sicher, dass du die ganze Domain %s blockieren willst? In den meisten Fällen reichen ein paar gezielte Blockierungen oder Stummschaltungen aus und werden bevorzugt. Du wirst den Inhalt von dieser Domain nicht mehr sehen. Deine Folgenden von dieser Domain werden entfernt.", - "block_entire_domain": "Block Domain" + "block_entire_domain": "Domain blockieren" }, "save_photo_failure": { "title": "Foto konnte nicht gespeichert werden", @@ -113,7 +113,7 @@ "reply_status": "Auf Beitrag antworten", "toggle_reblog": "Toggle Reblog on Post", "toggle_favorite": "Toggle Favorite on Post", - "toggle_content_warning": "Toggle Content Warning", + "toggle_content_warning": "Inhaltswarnung umschalten", "preview_image": "Bildvorschau" }, "segmented_control": { @@ -124,7 +124,7 @@ "status": { "user_reblogged": "%s reblogged", "user_replied_to": "Replied to %s", - "show_post": "Show Post", + "show_post": "Beitrag anzeigen", "show_user_profile": "Benutzerprofil anzeigen", "content_warning": "Inhaltswarnung", "media_content_warning": "Tippe irgendwo zum Anzeigen", @@ -139,11 +139,11 @@ "unreblog": "Undo reblog", "favorite": "Favorit", "unfavorite": "Aus Favoriten entfernen", - "menu": "Menu" + "menu": "Menü" }, "tag": { "url": "URL", - "mention": "Mention", + "mention": "Erwähnung", "link": "Link", "hashtag": "Hashtag", "email": "E-Mail", @@ -152,7 +152,7 @@ }, "friendship": { "follow": "Folgen", - "following": "Following", + "following": "Folge Ich", "request": "Anfragen", "pending": "In Warteschlange", "block": "Blockieren", @@ -160,7 +160,7 @@ "block_domain": "%s blockieren", "unblock": "Blockierung aufheben", "unblock_user": "@%s entblocken", - "blocked": "Blocked", + "blocked": "Blockiert", "mute": "Stummschalten", "mute_user": "%s stummschalten", "unmute": "Unmute", @@ -185,7 +185,7 @@ "user_blocking_warning": "Du kannst %s's Profil nicht anzeigen\n solange du es nicht entsperrst.\nDein Profil sieht für diesen Benutzer so aus.", "blocked_warning": "Das Profil dieses Benutzers\n kann nicht angezeigt werden, bis er dich entsperrt.", "user_blocked_warning": "You can’t view %s’s profile\n until they unblock you.", - "suspended_warning": "This user has been suspended.", + "suspended_warning": "Dieser Nutzer wurde gesperrt.", "user_suspended_warning": "%s’s account has been suspended." }, "accessibility": { @@ -198,7 +198,7 @@ }, "scene": { "welcome": { - "slogan": "Social networking\nback in your hands." + "slogan": "Soziale Netzwerke wieder in deinen Händen." }, "server_picker": { "title": "Pick a server,\nany server.", @@ -291,9 +291,9 @@ }, "server_rules": { "title": "Some ground rules.", - "subtitle": "These rules are set by the admins of %s.", + "subtitle": "Diese Regeln werden von den Administratoren von %s festgelegt.", "prompt": "By continuing, you’re subject to the terms of service and privacy policy for %s.", - "terms_of_service": "terms of service", + "terms_of_service": "Nutzungsbedingungen", "privacy_policy": "Datenschutzerklärung", "button": { "confirm": "Ich stimme zu" @@ -304,12 +304,12 @@ "subtitle": "Wir haben gerade eine E-Mail an %s gesendet,\ntippe auf den Link, um Dein Konto zu bestätigen.", "button": { "open_email_app": "E-Mail-App öffnen", - "dont_receive_email": "I never got an email" + "dont_receive_email": "Ich habe keine E-Mail erhalten." }, "dont_receive_email": { "title": "Check your email", "description": "Check if your email address is correct as well as your junk folder if you haven’t.", - "resend_email": "Resend Email" + "resend_email": "E-Mail erneut versenden" }, "open_email_app": { "title": "Check your inbox.", @@ -439,12 +439,12 @@ "recommend": { "button_text": "Alle anzeigen", "hash_tag": { - "title": "Trending on Mastodon", + "title": "Angesagt auf Mastodon", "description": "Hashtags that are getting quite a bit of attention", "people_talking": "%s Leute reden" }, "accounts": { - "title": "Accounts you might like", + "title": "Konten, die dir gefallen könnten", "description": "You may like to follow these accounts", "follow": "Folgen" } From af04f3c098e104478ac446afdd3237c7fa567ce9 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 6 Aug 2021 14:42:32 +0200 Subject: [PATCH 006/115] New translations Localizable.stringsdict (German) --- .../StringsConvertor/input/de_DE/Localizable.stringsdict | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Localization/StringsConvertor/input/de_DE/Localizable.stringsdict b/Localization/StringsConvertor/input/de_DE/Localizable.stringsdict index 646920f42..03d0eb971 100644 --- a/Localization/StringsConvertor/input/de_DE/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/de_DE/Localizable.stringsdict @@ -47,7 +47,7 @@ one 1 Reblog other - %ld reblogs + %ld Reblogs plural.count.vote @@ -61,7 +61,7 @@ NSStringFormatValueTypeKey ld one - 1 vote + 1 Stimme other %ld Stimmen @@ -77,7 +77,7 @@ NSStringFormatValueTypeKey ld one - 1 voter + 1 Wähler other %ld Wähler From 935180182bc32399779dd4c2a5f5dc426f0dbacb Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 6 Aug 2021 16:40:41 +0200 Subject: [PATCH 007/115] New translations app.json (Russian) --- .../StringsConvertor/input/ru_RU/app.json | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/Localization/StringsConvertor/input/ru_RU/app.json b/Localization/StringsConvertor/input/ru_RU/app.json index 3d11d1680..2837c63e1 100644 --- a/Localization/StringsConvertor/input/ru_RU/app.json +++ b/Localization/StringsConvertor/input/ru_RU/app.json @@ -220,41 +220,41 @@ "tech": "технологии" }, "see_less": "Показать меньше", - "see_more": "See More" + "see_more": "Ещё" }, "label": { - "language": "LANGUAGE", - "users": "USERS", - "category": "CATEGORY" + "language": "ЯЗЫК", + "users": "ПОЛЬЗОВАТЕЛИ", + "category": "КАТЕГОРИЯ" }, "input": { - "placeholder": "Find a server or join your own..." + "placeholder": "Найдите сервер или присоединитесь к своему..." }, "empty_state": { - "finding_servers": "Finding available servers...", - "bad_network": "Something went wrong while loading the data. Check your internet connection.", - "no_results": "No results" + "finding_servers": "Ищем доступные сервера...", + "bad_network": "Что-то пошло не так при загрузке данных. Проверьте подключение к интернету.", + "no_results": "Нет результатов" } }, "register": { - "title": "Tell us about you.", + "title": "Расскажите нам о себе.", "input": { "avatar": { - "delete": "Delete" + "delete": "Удалить" }, "username": { - "placeholder": "username", - "duplicate_prompt": "This username is taken." + "placeholder": "имя пользователя", + "duplicate_prompt": "Это имя пользователя занято." }, "display_name": { - "placeholder": "display name" + "placeholder": "отображаемое имя" }, "email": { - "placeholder": "email" + "placeholder": "e-mail" }, "password": { - "placeholder": "password", - "hint": "Your password needs at least eight characters" + "placeholder": "пароль", + "hint": "Пароль должен содержать не менее восьми символов" }, "invite": { "registration_user_invite_request": "Why do you want to join?" From f3ad0866b219753973c06cbf4e1277be0902af61 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 6 Aug 2021 17:52:30 +0200 Subject: [PATCH 008/115] New translations app.json (Russian) --- .../StringsConvertor/input/ru_RU/app.json | 58 +++++++++---------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/Localization/StringsConvertor/input/ru_RU/app.json b/Localization/StringsConvertor/input/ru_RU/app.json index 2837c63e1..de1ac150a 100644 --- a/Localization/StringsConvertor/input/ru_RU/app.json +++ b/Localization/StringsConvertor/input/ru_RU/app.json @@ -257,51 +257,51 @@ "hint": "Пароль должен содержать не менее восьми символов" }, "invite": { - "registration_user_invite_request": "Why do you want to join?" + "registration_user_invite_request": "Почему вы хотите присоединиться?" } }, "error": { "item": { - "username": "Username", - "email": "Email", - "password": "Password", - "agreement": "Agreement", - "locale": "Locale", - "reason": "Reason" + "username": "Имя пользователя", + "email": "E-mail", + "password": "Пароль", + "agreement": "Соглашение", + "locale": "Язык", + "reason": "Причина" }, "reason": { - "blocked": "%s contains a disallowed email provider", - "unreachable": "%s does not seem to exist", - "taken": "%s is already in use", - "reserved": "%s is a reserved keyword", - "accepted": "%s must be accepted", - "blank": "%s is required", - "invalid": "%s is invalid", - "too_long": "%s is too long", - "too_short": "%s is too short", - "inclusion": "%s is not a supported value" + "blocked": "%s содержит запрещённый e-mail сервис", + "unreachable": "%s не существует", + "taken": "%s уже используется", + "reserved": "%s является зарезервированным ключевым словом", + "accepted": "%s должно быть принято", + "blank": "Поле «%s» обязательно", + "invalid": "Недопустимое значение поля «%s»", + "too_long": "%s слишком длинный", + "too_short": "%s слишком короткий", + "inclusion": "Неподдерживаемое значение «%s»" }, "special": { - "username_invalid": "Username must only contain alphanumeric characters and underscores", - "username_too_long": "Username is too long (can’t be longer than 30 characters)", - "email_invalid": "This is not a valid email address", - "password_too_short": "Password is too short (must be at least 8 characters)" + "username_invalid": "Имя пользователя может содержать только латинские буквы, цифры и подчёркивания", + "username_too_long": "Слишком длинное имя пользователя (не может быть длиннее 30 символов)", + "email_invalid": "Недопустимый e-mail адрес", + "password_too_short": "Пароль слишком короткий (должен содержать не менее 8 символов)" } } }, "server_rules": { - "title": "Some ground rules.", - "subtitle": "These rules are set by the admins of %s.", - "prompt": "By continuing, you’re subject to the terms of service and privacy policy for %s.", - "terms_of_service": "terms of service", - "privacy_policy": "privacy policy", + "title": "Несколько основных правил.", + "subtitle": "Эти правила установлены администраторами %s.", + "prompt": "Продолжая, вы соглашаетесь с условиям использования и политикой конфиденциальности %s.", + "terms_of_service": "условия использования", + "privacy_policy": "политика конфиденциальности", "button": { - "confirm": "I Agree" + "confirm": "Принимаю" } }, "confirm_email": { - "title": "One last thing.", - "subtitle": "We just sent an email to %s,\ntap the link to confirm your account.", + "title": "И ещё кое-что.", + "subtitle": "Мы только что отправили письмо на\n%s.\nНажмите на ссылку в нём, чтобы\nподтвердить свою учётную запись.", "button": { "open_email_app": "Open Email App", "dont_receive_email": "I never got an email" From 6f307efc57a6469bdfc26a6625f6e15db21f8043 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 7 Aug 2021 14:40:17 +0200 Subject: [PATCH 009/115] New translations app.json (Scottish Gaelic) --- .../StringsConvertor/input/gd_GB/app.json | 332 +++++++++--------- 1 file changed, 166 insertions(+), 166 deletions(-) diff --git a/Localization/StringsConvertor/input/gd_GB/app.json b/Localization/StringsConvertor/input/gd_GB/app.json index 7b5e271e4..c192c5492 100644 --- a/Localization/StringsConvertor/input/gd_GB/app.json +++ b/Localization/StringsConvertor/input/gd_GB/app.json @@ -2,191 +2,191 @@ "common": { "alerts": { "common": { - "please_try_again": "Please try again.", - "please_try_again_later": "Please try again later." + "please_try_again": "Feuch ris a-rithist.", + "please_try_again_later": "Feuch ris a-rithist an ceann greis." }, "sign_up_failure": { - "title": "Sign Up Failure" + "title": "Dh’fhàillig leis a’ chlàradh" }, "server_error": { - "title": "Server Error" + "title": "Mearachd an fhrithealaiche" }, "vote_failure": { - "title": "Vote Failure", - "poll_expired": "The poll has expired" + "title": "Dh’fhàillig leis a’ bhòt", + "poll_expired": "Dh’fhalbh an ùine air a’ chunntas-bheachd" }, "discard_post_content": { - "title": "Discard Draft", - "message": "Confirm to discard composed post content." + "title": "Tilg air falbh an dreachd", + "message": "Dearbh tilgeil air falbh susbaint a’ phuist a sgrìobh thu." }, "publish_post_failure": { - "title": "Publish Failure", - "message": "Failed to publish the post.\nPlease check your internet connection.", + "title": "Dh’fhàillig leis an fhoillseachadh", + "message": "Cha deach leinn am post fhoillseachadh.\nThoir sùil air a’ cheangal agad ris an eadar-lìon.", "attachments_message": { - "video_attach_with_photo": "Cannot attach a video to a post that already contains images.", - "more_than_one_video": "Cannot attach more than one video." + "video_attach_with_photo": "Chan urrainn dhut video a cheangal ri post sa bheil dealbh mu thràth.", + "more_than_one_video": "Chan urrainn dhut barrachd air aon video a cheangal ris." } }, "edit_profile_failure": { - "title": "Edit Profile Error", - "message": "Cannot edit profile. Please try again." + "title": "Mearachd le deasachadh na pròifil", + "message": "Cha b’ urrainn dhuinn a’ pròifil a dheasachadh. Feuch ris a-rithist." }, "sign_out": { - "title": "Sign Out", - "message": "Are you sure you want to sign out?", - "confirm": "Sign Out" + "title": "Clàraich a-mach", + "message": "A bheil thu cinnteach gu bheil thu airson clàradh a-mach?", + "confirm": "Clàraich a-mach" }, "block_domain": { - "title": "Are you really, really sure you want to block the entire %s? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain and any of your followers from that domain will be removed.", - "block_entire_domain": "Block Domain" + "title": "A bheil thu cinnteach dha-rìribh gu bheil thu airson an àrainn %s a bhacadh uile gu lèir? Mar as trice, foghnaidh gun dèan thu bacadh no mùchadh no dhà gu sònraichte agus bhiod sin na b’ fheàrr. Chan fhaic thu susbaint on àrainn ud agus thèid an luchd-leantainn agad on àrainn ud a thoirt air falbh.", + "block_entire_domain": "Bac an àrainn" }, "save_photo_failure": { - "title": "Save Photo Failure", - "message": "Please enable the photo library access permission to save the photo." + "title": "Dh’fhàillig le sàbhaladh an deilbh", + "message": "Cuir cead inntrigidh do thasg-lann nan dealbhan an comas gus an dealbh a shàbhaladh." }, "delete_post": { - "title": "Are you sure you want to delete this post?", - "delete": "Delete" + "title": "A bheil thu cinnteach gu bheil thu airson am post seo a sguabadh às?", + "delete": "Sguab às" }, "clean_cache": { - "title": "Clean Cache", - "message": "Successfully cleaned %s cache." + "title": "Falamhaich an tasgadan", + "message": "Chaidh %s a thasgadan fhalamhachadh." } }, "controls": { "actions": { - "back": "Back", - "next": "Next", - "previous": "Previous", - "open": "Open", - "add": "Add", - "remove": "Remove", - "edit": "Edit", - "save": "Save", - "ok": "OK", - "done": "Done", - "confirm": "Confirm", - "continue": "Continue", - "cancel": "Cancel", - "discard": "Discard", - "try_again": "Try Again", - "take_photo": "Take Photo", - "save_photo": "Save Photo", - "copy_photo": "Copy Photo", - "sign_in": "Sign In", - "sign_up": "Sign Up", - "see_more": "See More", - "preview": "Preview", - "share": "Share", - "share_user": "Share %s", - "share_post": "Share Post", - "open_in_safari": "Open in Safari", - "find_people": "Find people to follow", - "manually_search": "Manually search instead", - "skip": "Skip", - "reply": "Reply", - "report_user": "Report %s", - "block_domain": "Block %s", - "unblock_domain": "Unblock %s", - "settings": "Settings", - "delete": "Delete" + "back": "Air ais", + "next": "Air adhart", + "previous": "Air ais", + "open": "Fosgail", + "add": "Cuir ris", + "remove": "Thoir air falbh", + "edit": "Deasaich", + "save": "Sàbhail", + "ok": "Ceart ma-thà", + "done": "Deiseil", + "confirm": "Dearbh", + "continue": "Lean air adhart", + "cancel": "Sguir dheth", + "discard": "Tilg air falbh", + "try_again": "Feuch ris a-rithist", + "take_photo": "Tog dealbh", + "save_photo": "Sàbhail an dealbh", + "copy_photo": "Dèan lethbhreac dhen dealbh", + "sign_in": "Clàraich a-steach", + "sign_up": "Clàraich leinn", + "see_more": "Seall a bharrachd", + "preview": "Ro-sheall", + "share": "Co-roinn", + "share_user": "Co-roinn %s", + "share_post": "Co-roinn am post", + "open_in_safari": "Fosgail ann an Safari", + "find_people": "Lorg daoine a leanas tu", + "manually_search": "Lorg a làimh ’na àite", + "skip": "Leum thairis air", + "reply": "Freagair", + "report_user": "Dèan gearan mu %s", + "block_domain": "Bac %s", + "unblock_domain": "Dì-bhac %s", + "settings": "Roghainnean", + "delete": "Sguab às" }, "tabs": { - "home": "Home", - "search": "Search", - "notification": "Notification", - "profile": "Profile" + "home": "Dachaigh", + "search": "Lorg", + "notification": "Brath", + "profile": "Pròifil" }, "keyboard": { "common": { - "switch_to_tab": "Switch to %s", - "compose_new_post": "Compose New Post", - "show_favorites": "Show Favorites", - "open_settings": "Open Settings" + "switch_to_tab": "Geàrr leum gu %s", + "compose_new_post": "Sgrìobh post ùr", + "show_favorites": "Seall na h-annsachdan", + "open_settings": "Fosgail na roghainnean" }, "timeline": { - "previous_status": "Previous Post", - "next_status": "Next Post", - "open_status": "Open Post", - "open_author_profile": "Open Author's Profile", - "open_reblogger_profile": "Open Reblogger's Profile", - "reply_status": "Reply to Post", - "toggle_reblog": "Toggle Reblog on Post", - "toggle_favorite": "Toggle Favorite on Post", - "toggle_content_warning": "Toggle Content Warning", - "preview_image": "Preview Image" + "previous_status": "Am post roimhe", + "next_status": "An ath-phost", + "open_status": "Fosgail am post", + "open_author_profile": "Fosgail pròifil an ùghdair", + "open_reblogger_profile": "Fosgail pròifil an neach-brosnachaidh", + "reply_status": "Freagair do phost", + "toggle_reblog": "Toglaich brosnachadh a’ phuist", + "toggle_favorite": "Toglaich annsachd a’ phuist", + "toggle_content_warning": "Toglaich rabhadh susbainte a’ phuist", + "preview_image": "Ro-sheall an dealbh" }, "segmented_control": { - "previous_section": "Previous Section", - "next_section": "Next Section" + "previous_section": "An earrann roimhpe", + "next_section": "An ath earrann" } }, "status": { - "user_reblogged": "%s reblogged", - "user_replied_to": "Replied to %s", - "show_post": "Show Post", - "show_user_profile": "Show user profile", - "content_warning": "Content Warning", - "media_content_warning": "Tap anywhere to reveal", + "user_reblogged": "Tha %s ’ga bhrosnachadh", + "user_replied_to": "Air %s fhreagairt", + "show_post": "Seall am post", + "show_user_profile": "Seall pròifil a’ chleachdaiche", + "content_warning": "Rabhadh susbainte", + "media_content_warning": "Thoir gnogag àite sam bith gus a nochdadh", "poll": { - "vote": "Vote", - "time_left": "%s left", - "closed": "Closed" + "vote": "Cuir bhòt", + "time_left": "%s air fhàgail", + "closed": "Dùinte" }, "actions": { - "reply": "Reply", - "reblog": "Reblog", - "unreblog": "Undo reblog", - "favorite": "Favorite", - "unfavorite": "Unfavorite", - "menu": "Menu" + "reply": "Freagair", + "reblog": "Brosnaich", + "unreblog": "Na brosnaich tuilleadh", + "favorite": "Cuir ris na h-annsachdan", + "unfavorite": "Thoir air falbh o na h-annsachdan", + "menu": "Clàr-taice" }, "tag": { "url": "URL", - "mention": "Mention", - "link": "Link", - "hashtag": "Hashtag", - "email": "Email", + "mention": "Iomradh", + "link": "Ceangal", + "hashtag": "Taga hais", + "email": "Post-d", "emoji": "Emoji" } }, "friendship": { - "follow": "Follow", - "following": "Following", - "request": "Request", - "pending": "Pending", - "block": "Block", - "block_user": "Block %s", - "block_domain": "Block %s", - "unblock": "Unblock", - "unblock_user": "Unblock %s", - "blocked": "Blocked", - "mute": "Mute", - "mute_user": "Mute %s", - "unmute": "Unmute", - "unmute_user": "Unmute %s", - "muted": "Muted", - "edit_info": "Edit Info" + "follow": "Lean air", + "following": "’Ga leantainn", + "request": "Iarrtas", + "pending": "Ri dhèiligeadh", + "block": "Bac", + "block_user": "Bac %s", + "block_domain": "Bac %s", + "unblock": "Dì-bhac", + "unblock_user": "Dì-bhac %s", + "blocked": "’Ga bhacadh", + "mute": "Mùch", + "mute_user": "Mùch %s", + "unmute": "Dì-mhùch", + "unmute_user": "Dì-mhùch %s", + "muted": "’Ga mhùchadh", + "edit_info": "Deasaich" }, "timeline": { - "filtered": "Filtered", + "filtered": "Criathraichte", "timestamp": { - "now": "Now", - "time_ago": "%s ago" + "now": "An-dràsta", + "time_ago": "%s air ais" }, "loader": { - "load_missing_posts": "Load missing posts", - "loading_missing_posts": "Loading missing posts...", - "show_more_replies": "Show more replies" + "load_missing_posts": "Luchdaich postaichean a dhìth", + "loading_missing_posts": "A’ luchdadh nam post a tha a dhìth…", + "show_more_replies": "Seall barrachd freagairtean" }, "header": { - "no_status_found": "No Post Found", - "blocking_warning": "You can’t view this user's profile\n until you unblock them.\nYour profile looks like this to them.", - "user_blocking_warning": "You can’t view %s’s profile\n until you unblock them.\nYour profile looks like this to them.", - "blocked_warning": "You can’t view this user’s profile\n until they unblock you.", - "user_blocked_warning": "You can’t view %s’s profile\n until they unblock you.", - "suspended_warning": "This user has been suspended.", - "user_suspended_warning": "%s’s account has been suspended." + "no_status_found": "Cha deach post a lorg", + "blocking_warning": "Chan fhaic thu pròifil a’ chleachdaiche seo\n gus an dì-bhac thu iad.\nSeo an coltas a th’ air a’ phròifil agad dhaibh-san.", + "user_blocking_warning": "Chan fhaic thu a’ phròifil aig %s\n gus an dì-bhac thu iad.\nSeo an coltas a th’ air a’ phròifil agad dhaibh-san.", + "blocked_warning": "Chan fhaic thu pròifil a’ chleachdaiche seo\n mus dì-bhac iad thu.", + "user_blocked_warning": "Chan fhaic thu a’ phròifil aig %s\n mus dì-bhac iad thu.", + "suspended_warning": "Chaidh an cleachdaiche seo a chur à rèim.", + "user_suspended_warning": "Chaidh an cunntas aig %s a chur à rèim." }, "accessibility": { "count_replies": "%s replies", @@ -198,76 +198,76 @@ }, "scene": { "welcome": { - "slogan": "Social networking\nback in your hands." + "slogan": "A’ cur nan lìonraidhean sòisealta\n’nad làmhan fhèin." }, "server_picker": { - "title": "Pick a server,\nany server.", + "title": "Tagh frithealaiche sam bith.", "button": { "category": { - "all": "All", - "all_accessiblity_description": "Category: All", - "academia": "academia", - "activism": "activism", - "food": "food", + "all": "Na h-uile", + "all_accessiblity_description": "Roinn-seòrsa: Na h-uile", + "academia": "saoghal nan sgoilear", + "activism": "iomairteachd", + "food": "biadh", "furry": "furry", - "games": "games", - "general": "general", - "journalism": "journalism", - "lgbt": "lgbt", - "regional": "regional", - "art": "art", - "music": "music", - "tech": "tech" + "games": "geamannan", + "general": "coitcheann", + "journalism": "naidheachdas", + "lgbt": "LGBT", + "regional": "ionadail", + "art": "ealain", + "music": "ceòl", + "tech": "teicneolas" }, - "see_less": "See Less", - "see_more": "See More" + "see_less": "Seall nas lugha", + "see_more": "Seall a bharrachd" }, "label": { - "language": "LANGUAGE", - "users": "USERS", - "category": "CATEGORY" + "language": "CÀNAN", + "users": "CLEACHDAICHEAN", + "category": "ROINN-SEÒRSA" }, "input": { - "placeholder": "Find a server or join your own..." + "placeholder": "Lorg frithealaiche no gabh pàirt san fhear agad fhèin…" }, "empty_state": { - "finding_servers": "Finding available servers...", - "bad_network": "Something went wrong while loading the data. Check your internet connection.", - "no_results": "No results" + "finding_servers": "A’ lorg nam frithealaichean ri am faighinn…", + "bad_network": "Chaidh rudeigin ceàrr le luchdadh an dàta. Thoir sùil air a’ cheangal agad ris an eadar-lìon.", + "no_results": "Gun toradh" } }, "register": { - "title": "Tell us about you.", + "title": "Innis dhuinn mu do dhèidhinn.", "input": { "avatar": { - "delete": "Delete" + "delete": "Sguab às" }, "username": { - "placeholder": "username", - "duplicate_prompt": "This username is taken." + "placeholder": "ainm-cleachdaiche", + "duplicate_prompt": "Tha an t-ainm-cleachdaiche seo aig cuideigin eile." }, "display_name": { - "placeholder": "display name" + "placeholder": "ainm-taisbeanaidh" }, "email": { - "placeholder": "email" + "placeholder": "post-d" }, "password": { - "placeholder": "password", - "hint": "Your password needs at least eight characters" + "placeholder": "facal-faire", + "hint": "Feumaidh ochd caractaran a bhith san fhacal-fhaire agad air a char as giorra" }, "invite": { - "registration_user_invite_request": "Why do you want to join?" + "registration_user_invite_request": "Carson a bu mhiann leat ballrachd fhaighinn?" } }, "error": { "item": { - "username": "Username", - "email": "Email", - "password": "Password", - "agreement": "Agreement", + "username": "Ainm-cleachdaiche", + "email": "Post-d", + "password": "Facal-faire", + "agreement": "Aonta", "locale": "Locale", - "reason": "Reason" + "reason": "Adhbhar" }, "reason": { "blocked": "%s contains a disallowed email provider", From ee195cba3c689673afc4854e2139ab2f33a8442b Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 7 Aug 2021 15:39:14 +0200 Subject: [PATCH 010/115] New translations app.json (Scottish Gaelic) --- .../StringsConvertor/input/gd_GB/app.json | 298 +++++++++--------- 1 file changed, 149 insertions(+), 149 deletions(-) diff --git a/Localization/StringsConvertor/input/gd_GB/app.json b/Localization/StringsConvertor/input/gd_GB/app.json index c192c5492..8324d7b91 100644 --- a/Localization/StringsConvertor/input/gd_GB/app.json +++ b/Localization/StringsConvertor/input/gd_GB/app.json @@ -266,141 +266,141 @@ "email": "Post-d", "password": "Facal-faire", "agreement": "Aonta", - "locale": "Locale", + "locale": "Sgeama ionadail", "reason": "Adhbhar" }, "reason": { - "blocked": "%s contains a disallowed email provider", - "unreachable": "%s does not seem to exist", - "taken": "%s is already in use", - "reserved": "%s is a reserved keyword", - "accepted": "%s must be accepted", - "blank": "%s is required", - "invalid": "%s is invalid", - "too_long": "%s is too long", - "too_short": "%s is too short", - "inclusion": "%s is not a supported value" + "blocked": "Tha solaraiche puist-d nach eil ceadaichte am broinn %s", + "unreachable": "Tha coltas nach eil %s ann", + "taken": "Tha %s ’ga chleachdadh mu thràth", + "reserved": "’S e facal glèidhte a th’ ann an %s", + "accepted": "Feumaidh tu aontachadh ri %s", + "blank": "Tha %s riatanach", + "invalid": "Chan eil %s dligheach", + "too_long": "Tha %s ro fhada", + "too_short": "Tha %s ro ghoirid", + "inclusion": "Cha chuir sinn taic ri luach %s" }, "special": { - "username_invalid": "Username must only contain alphanumeric characters and underscores", - "username_too_long": "Username is too long (can’t be longer than 30 characters)", - "email_invalid": "This is not a valid email address", - "password_too_short": "Password is too short (must be at least 8 characters)" + "username_invalid": "Chan fhaod ach litrichean gun stràcan is fo-loidhnichean a bhith am broinn ainm-cleachdaiche", + "username_too_long": "Tha an t-ainm-cleachdaiche ro fhada (chan fhaod e a bhith nas fhaide na 30 caractar)", + "email_invalid": "Chan e seòladh puist-d dligheach a tha seo", + "password_too_short": "Tha am facal-faire ro ghoirid (feumaidh 8 caractaran a bhith ann air a char as giorra)" } } }, "server_rules": { - "title": "Some ground rules.", - "subtitle": "These rules are set by the admins of %s.", - "prompt": "By continuing, you’re subject to the terms of service and privacy policy for %s.", - "terms_of_service": "terms of service", - "privacy_policy": "privacy policy", + "title": "Riaghailt bhunasach no dhà.", + "subtitle": "Shuidhich rianairean %s na riaghailtean seo.", + "prompt": "Ma leanas tu air adhart, bidh thu fo bhuaidh teirmichean seirbheise is poileasaidh prìobhaideachd %s.", + "terms_of_service": "teirmichean na seirbheise", + "privacy_policy": "poileasaidh prìobhaideachd", "button": { - "confirm": "I Agree" + "confirm": "Gabhaidh mi ris" } }, "confirm_email": { - "title": "One last thing.", - "subtitle": "We just sent an email to %s,\ntap the link to confirm your account.", + "title": "Aon rud eile.", + "subtitle": "Tha sinn air post-d a chur gu %s,\nthoir gnogag air a’ chunntas a dhearbhadh a’ chunntais agad.", "button": { - "open_email_app": "Open Email App", - "dont_receive_email": "I never got an email" + "open_email_app": "Fosgail aplacaid a’ phuist-d", + "dont_receive_email": "Cha d’ fhuair mi post-d a-riamh" }, "dont_receive_email": { - "title": "Check your email", - "description": "Check if your email address is correct as well as your junk folder if you haven’t.", - "resend_email": "Resend Email" + "title": "Thoir sùil air a’ phost-d agad", + "description": "Dearbh gu bheil an seòladh puist-d agad mar bu chòir agus nach eil dad ann am pasgan an truilleis.", + "resend_email": "Cuir am post-d a-rithist" }, "open_email_app": { - "title": "Check your inbox.", - "description": "We just sent you an email. Check your junk folder if you haven’t.", - "mail": "Mail", - "open_email_client": "Open Email Client" + "title": "Thoir sùil air a’ bhogsa a-steach agad.", + "description": "Tha sinn air post-d a chur thugad. Thoir sùil air pasgan an truilleis agad mura d’ fhuair thu e.", + "mail": "Post", + "open_email_client": "Fosgail cliant puist-d" } }, "home_timeline": { - "title": "Home", + "title": "Dachaigh", "navigation_bar_state": { - "offline": "Offline", - "new_posts": "See new posts", - "published": "Published!", - "Publishing": "Publishing post..." + "offline": "Far loidhne", + "new_posts": "Seall na postaichean ùra", + "published": "Chaidh fhoillseachadh!", + "Publishing": "A’ foillseachadh a’ phuist…" } }, "suggestion_account": { - "title": "Find People to Follow", - "follow_explain": "When you follow someone, you’ll see their posts in your home feed." + "title": "Lorg daoine a leanas tu", + "follow_explain": "Nuair a leanas tu air cuideigin, chì thu na puist aca air inbhir na dachaigh agad." }, "public_timeline": { - "title": "Public" + "title": "Poblach" }, "compose": { "title": { - "new_post": "New Post", - "new_reply": "New Reply" + "new_post": "Post ùr", + "new_reply": "Freagairt ùr" }, "media_selection": { - "camera": "Take Photo", - "photo_library": "Photo Library", - "browse": "Browse" + "camera": "Tog dealbh", + "photo_library": "Leabhar-lann nan dealbhan", + "browse": "Rùraich" }, - "content_input_placeholder": "Type or paste what’s on your mind", - "compose_action": "Publish", - "replying_to_user": "replying to %s", + "content_input_placeholder": "Sgrìobh no cuir ann na tha air d’ aire", + "compose_action": "Foillsich", + "replying_to_user": "a’ freagairt gu %s", "attachment": { - "photo": "photo", + "photo": "dealbh", "video": "video", - "attachment_broken": "This %s is broken and can’t be\nuploaded to Mastodon.", - "description_photo": "Describe the photo for the visually-impaired...", - "description_video": "Describe the video for the visually-impaired..." + "attachment_broken": "Seo %s a tha briste is cha ghabh\na luchdadh suas gu Mastodon.", + "description_photo": "Mìnich an dealbh dhan fheadhainn air a bheil cion-lèirsinne…", + "description_video": "Mìnich a’ video dhan fheadhainn air a bheil cion-lèirsinne…" }, "poll": { - "duration_time": "Duration: %s", - "thirty_minutes": "30 minutes", - "one_hour": "1 Hour", - "six_hours": "6 Hours", - "one_day": "1 Day", - "three_days": "3 Days", - "seven_days": "7 Days", - "option_number": "Option %ld" + "duration_time": "Faide: %s", + "thirty_minutes": "Leth-uair a thìde", + "one_hour": "Uair a thìde", + "six_hours": "6 uairean a thìde", + "one_day": "Latha", + "three_days": "3 làithean", + "seven_days": "Seachdain", + "option_number": "Roghainn %ld" }, "content_warning": { - "placeholder": "Write an accurate warning here..." + "placeholder": "Sgrìobh rabhadh pongail an-seo…" }, "visibility": { - "public": "Public", - "unlisted": "Unlisted", - "private": "Followers only", - "direct": "Only people I mention" + "public": "Poblach", + "unlisted": "Falaichte o liostaichean", + "private": "Luchd-leantainn a-mhàin", + "direct": "Daoine air an dug mi iomradh a-mhàin" }, "auto_complete": { "space_to_add": "Space to add" }, "accessibility": { - "append_attachment": "Add Attachment", - "append_poll": "Add Poll", - "remove_poll": "Remove Poll", - "custom_emoji_picker": "Custom Emoji Picker", - "enable_content_warning": "Enable Content Warning", - "disable_content_warning": "Disable Content Warning", - "post_visibility_menu": "Post Visibility Menu", - "input_limit_remains_count": "Input limit remains %ld", - "input_limit_exceeds_count": "Input limit exceeds %ld" + "append_attachment": "Cuir ceanglachan ris", + "append_poll": "Cuir cunntas-bheachd ris", + "remove_poll": "Thoir air falbh an cunntas-bheachd", + "custom_emoji_picker": "Roghnaichear nan Emoji gnàthaichte", + "enable_content_warning": "Cuir rabhadh susbainte an comas", + "disable_content_warning": "Cuir rabhadh susbainte à comas", + "post_visibility_menu": "Clàr-taice faicsinneachd a’ phuist", + "input_limit_remains_count": "Tha %ld a charactaran air fhàgail dhut", + "input_limit_exceeds_count": "Caractaran ion-chuir thar na crìche: %ld" }, "keyboard": { - "discard_post": "Discard Post", - "publish_post": "Publish Post", - "toggle_poll": "Toggle Poll", - "toggle_content_warning": "Toggle Content Warning", - "append_attachment_entry": "Add Attachment - %s", - "select_visibility_entry": "Select Visibility - %s" + "discard_post": "Tilg air falbh am post", + "publish_post": "Foillsich am post", + "toggle_poll": "Toglaich an cunntas-bheachd", + "toggle_content_warning": "Toglaich rabhadh susbainte", + "append_attachment_entry": "Cuir ceanglachan ris – %s", + "select_visibility_entry": "Tagh an fhaicsinneachd – %s" } }, "profile": { "dashboard": { - "posts": "posts", - "following": "following", - "followers": "followers", + "posts": "postaichean", + "following": "a’ leantainn", + "followers": "luchd-leantainn", "accessibility": { "count_posts": "%ld posts", "count_following": "%ld following", @@ -408,100 +408,100 @@ } }, "fields": { - "add_row": "Add Row", + "add_row": "Cuir ràgh ris", "placeholder": { - "label": "Label", - "content": "Content" + "label": "Leubail", + "content": "Susbaint" } }, "segmented_control": { - "posts": "Posts", - "replies": "Replies", - "media": "Media" + "posts": "Postaichean", + "replies": "Freagairtean", + "media": "Meadhanan" }, "relationship_action_alert": { "confirm_unmute_user": { - "title": "Unmute Account", - "message": "Confirm to unmute %s" + "title": "Dì-mhùch an cunntas", + "message": "Dearbh dì-mhùchadh %s" }, "confirm_unblock_usre": { - "title": "Unblock Account", - "message": "Confirm to unblock %s" + "title": "Dì-bhac an cunntas", + "message": "Dearbh dì-bhacadh %s" } } }, "search": { - "title": "Search", + "title": "Lorg", "search_bar": { - "placeholder": "Search hashtags and users", - "cancel": "Cancel" + "placeholder": "Lorg sna tagaichean hais is cleachdaichean", + "cancel": "Sguir dheth" }, "recommend": { - "button_text": "See All", + "button_text": "Seall na h-uile", "hash_tag": { - "title": "Trending on Mastodon", - "description": "Hashtags that are getting quite a bit of attention", - "people_talking": "%s people are talking" + "title": "A’ treandadh air Mastodon", + "description": "Tagaichean hais le aire orra an-dràsta", + "people_talking": "Tha %s a’ bruidhinn" }, "accounts": { - "title": "Accounts you might like", - "description": "You may like to follow these accounts", - "follow": "Follow" + "title": "Cunntasan a chòrdas riut ma dh’fhaoidte", + "description": "Saoil am bu toigh leat leantainn air na cunntasan seo?", + "follow": "Lean air" } }, "searching": { "segment": { - "all": "All", - "people": "People", - "hashtags": "Hashtags", - "posts": "Posts" + "all": "Na h-uile", + "people": "Daoine", + "hashtags": "Tagaichean hais", + "posts": "Postaichean" }, "empty_state": { - "no_results": "No results" + "no_results": "Gun toradh" }, - "recent_search": "Recent searches", - "clear": "Clear" + "recent_search": "Na lorg thu o chionn goirid", + "clear": "Falamhaich" } }, "hashtag": { - "prompt": "%s people talking" + "prompt": "%s a’ bruidhinn" }, "favorite": { - "title": "Your Favorites" + "title": "Na h-annsachdan agad" }, "notification": { "title": { - "Everything": "Everything", - "Mentions": "Mentions" + "Everything": "A h-uile rud", + "Mentions": "Iomraidhean" }, "action": { "follow": "followed you", "favourite": "favorited your post", "reblog": "reblogged your post", - "poll": "Your poll has ended", + "poll": "Thàinig an cunntas-bheachd agad gu crìoch", "mention": "mentioned you", "follow_request": "requested to follow you" }, "keyobard": { - "show_everything": "Show Everything", - "show_mentions": "Show Mentions" + "show_everything": "Seall a h-uile càil", + "show_mentions": "Seall na h-iomraidhean" } }, "thread": { "back_title": "Post", - "title": "Post from %s" + "title": "Post o %s" }, "settings": { - "title": "Settings", + "title": "Roghainnean", "section": { "appearance": { - "title": "Appearance", - "automatic": "Automatic", - "light": "Always Light", - "dark": "Always Dark" + "title": "Coltas", + "automatic": "Fèin-obrachail", + "light": "Soilleir an-còmhnaidh", + "dark": "Dorcha an-còmhnaidh" }, "notifications": { - "title": "Notifications", + "title": "Brathan", "favorites": "Favorites my post", "follows": "Follows me", "boosts": "Reblogs my post", @@ -515,46 +515,46 @@ } }, "preference": { - "title": "Preferences", - "true_black_dark_mode": "True black dark mode", - "disable_avatar_animation": "Disable animated avatars", - "disable_emoji_animation": "Disable animated emojis", - "using_default_browser": "Use default browser to open links" + "title": "Roghainnean", + "true_black_dark_mode": "Modh dubh dorcha", + "disable_avatar_animation": "Cuir beothachadh nan avataran à comas", + "disable_emoji_animation": "Cuir beothachadh nan Emojis à comas", + "using_default_browser": "Cleachd am brabhsair bunaiteach airson ceanglaichean fhosgladh" }, "boring_zone": { - "title": "The Boring Zone", - "account_settings": "Account Settings", - "terms": "Terms of Service", - "privacy": "Privacy Policy" + "title": "An earrann ràsanach", + "account_settings": "Roghainnean a’ chunntais", + "terms": "Teirmichean na seirbheise", + "privacy": "Am poileasaidh prìobhaideachd" }, "spicy_zone": { - "title": "The Spicy Zone", - "clear": "Clear Media Cache", - "signout": "Sign Out" + "title": "Gnìomhan", + "clear": "Falamhaich tasgadan nam meadhanan", + "signout": "Clàraich a-mach" } }, "footer": { - "mastodon_description": "Mastodon is open source software. You can report issues on GitHub at %s (%s)" + "mastodon_description": "’S e bathar-bog le bun-tùs fosgailte a th’ ann am Mastodon. ’S urrainn dhut aithris a dhèanamh air duilgheadasan air GitHub fo %s (%s)" }, "keyboard": { - "close_settings_window": "Close Settings Window" + "close_settings_window": "Dùin uinneag nan roghainnean" } }, "report": { - "title": "Report %s", - "step1": "Step 1 of 2", - "step2": "Step 2 of 2", - "content1": "Are there any other posts you’d like to add to the report?", - "content2": "Is there anything the moderators should know about this report?", - "send": "Send Report", - "skip_to_send": "Send without comment", - "text_placeholder": "Type or paste additional comments" + "title": "Dèan gearan mu %s", + "step1": "Ceum 1 à 2", + "step2": "Ceum 2 à 2", + "content1": "A bheil post sam bith eile ann a bu mhiann leat cur ris a’ ghearan?", + "content2": "A bheil rud sam bith ann a bu mhiann leat innse dha na maoir mun ghearan seo?", + "send": "Cuir an gearan", + "skip_to_send": "Cuir gun bheachd ris", + "text_placeholder": "Sgrìobh no cuir ann beachdan a bharrachd" }, "preview": { "keyboard": { - "close_preview": "Close Preview", - "show_next": "Show Next", - "show_previous": "Show Previous" + "close_preview": "Dùin an ro-shealladh", + "show_next": "Air adhart", + "show_previous": "Air ais" } } } From bf16535931a1d1cf1ad8c93d3b7e11eed2312538 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 7 Aug 2021 15:39:15 +0200 Subject: [PATCH 011/115] New translations ios-infoPlist.json (Scottish Gaelic) --- .../StringsConvertor/input/gd_GB/ios-infoPlist.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/gd_GB/ios-infoPlist.json b/Localization/StringsConvertor/input/gd_GB/ios-infoPlist.json index c6db73de0..2e521376d 100644 --- a/Localization/StringsConvertor/input/gd_GB/ios-infoPlist.json +++ b/Localization/StringsConvertor/input/gd_GB/ios-infoPlist.json @@ -1,6 +1,6 @@ { - "NSCameraUsageDescription": "Used to take photo for post status", - "NSPhotoLibraryAddUsageDescription": "Used to save photo into the Photo Library", - "NewPostShortcutItemTitle": "New Post", - "SearchShortcutItemTitle": "Search" + "NSCameraUsageDescription": "’Ga chleachdadh airson dealbh a thogail do staid puist", + "NSPhotoLibraryAddUsageDescription": "’Ga chleachdadh airson dealbh a shàbhaladh ann an tasg-lann nan dealbhan", + "NewPostShortcutItemTitle": "Post ùr", + "SearchShortcutItemTitle": "Lorg" } From 133b209826ba5843af0a85df37c0af2fd45df0e1 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 7 Aug 2021 15:39:15 +0200 Subject: [PATCH 012/115] New translations Localizable.stringsdict (Scottish Gaelic) --- .../input/gd_GB/Localizable.stringsdict | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/Localization/StringsConvertor/input/gd_GB/Localizable.stringsdict b/Localization/StringsConvertor/input/gd_GB/Localizable.stringsdict index 8b9ad59e5..650d19283 100644 --- a/Localization/StringsConvertor/input/gd_GB/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/gd_GB/Localizable.stringsdict @@ -13,13 +13,13 @@ NSStringFormatValueTypeKey ld one - post + phost two - posts + phost few - posts + postaichean other - posts + post plural.count.favorite @@ -33,13 +33,13 @@ NSStringFormatValueTypeKey ld one - 1 favorite + %ld annsachd two - %ld favorites + %ld annsachd few - %ld favorites + %ld annsachdan other - %ld favorites + %ld annsachd plural.count.reblog @@ -53,13 +53,13 @@ NSStringFormatValueTypeKey ld one - 1 reblog + %ld bhrosnachadh two - %ld reblogs + %ld bhrosnachadh few - %ld reblogs + %ld brosnachaidhean other - %ld reblogs + %ld brosnachadh plural.count.vote @@ -73,13 +73,13 @@ NSStringFormatValueTypeKey ld one - 1 vote + %ld bhòt two - %ld votes + %ld bhòt few - %ld votes + %ld bhòtaichean other - %ld votes + %ld bhòt plural.count.voter @@ -93,13 +93,13 @@ NSStringFormatValueTypeKey ld one - 1 voter + %ld neach-bhòtaidh two - %ld voters + %ld luchd-bhòtaidh few - %ld voters + %ld luchd-bhòtaidh other - %ld voters + %ld luchd-bhòtaidh plural.people_talking @@ -113,13 +113,13 @@ NSStringFormatValueTypeKey ld one - 1 people talking + %ld a’ bruidhinn two - %ld people talking + %ld a’ bruidhinn few - %ld people talking + %ld a’ bruidhinn other - %ld people talking + %ld a’ bruidhinn From 0ddcdb60a81d0539b0c3c2159119bcb16707a166 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sun, 8 Aug 2021 01:14:08 +0200 Subject: [PATCH 013/115] New translations app.json (Catalan) --- Localization/StringsConvertor/input/ca_ES/app.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/ca_ES/app.json b/Localization/StringsConvertor/input/ca_ES/app.json index 9697cf5f7..0d7600780 100644 --- a/Localization/StringsConvertor/input/ca_ES/app.json +++ b/Localization/StringsConvertor/input/ca_ES/app.json @@ -336,7 +336,7 @@ }, "compose": { "title": { - "new_post": "Nueva publicació", + "new_post": "Nova publicació", "new_reply": "Nova Resposta" }, "media_selection": { @@ -507,16 +507,16 @@ "boosts": "Ha impulsat el meu estat", "mentions": "M'ha mencionat", "trigger": { - "anyone": "ningú", + "anyone": "algú", "follower": "un seguidor", "follow": "a qualsevol que segueixi", - "noone": "ningú", + "noone": "algú", "title": "Notifica'm quan" } }, "preference": { "title": "Preferències", - "true_black_dark_mode": "Mode autèntic negre fosc", + "true_black_dark_mode": "Mode negre fosc autèntic", "disable_avatar_animation": "Desactiva avatars animats", "disable_emoji_animation": "Desactiva emojis animats", "using_default_browser": "Utilitza el navegador predeterminat per a obrir enllaços" From b0294327e7928d2e194928263e3bf24ec9ef23ce Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sun, 8 Aug 2021 21:11:04 +0200 Subject: [PATCH 014/115] New translations app.json (Scottish Gaelic) --- Localization/StringsConvertor/input/gd_GB/app.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Localization/StringsConvertor/input/gd_GB/app.json b/Localization/StringsConvertor/input/gd_GB/app.json index 8324d7b91..648284d11 100644 --- a/Localization/StringsConvertor/input/gd_GB/app.json +++ b/Localization/StringsConvertor/input/gd_GB/app.json @@ -189,9 +189,9 @@ "user_suspended_warning": "Chaidh an cunntas aig %s a chur à rèim." }, "accessibility": { - "count_replies": "%s replies", - "count_reblogs": "%s reblogs", - "count_favorites": "%s favorites" + "count_replies": "Fhreagair %s dha", + "count_reblogs": "Tha %s ’ga bhrosnachadh", + "count_favorites": "Chuir %s ris na h-annsachdan e" } } } @@ -402,9 +402,9 @@ "following": "a’ leantainn", "followers": "luchd-leantainn", "accessibility": { - "count_posts": "%ld posts", - "count_following": "%ld following", - "count_followers": "%ld followers" + "count_posts": "Postaichean: %ld", + "count_following": "A’ leantainn air %ld", + "count_followers": "Luchd-leantainn: %ld" } }, "fields": { From 8bc21a77a05c94dbb0291964f380d7b48ed578e2 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sun, 8 Aug 2021 23:31:00 +0200 Subject: [PATCH 015/115] New translations app.json (Dutch) --- .../StringsConvertor/input/nl_NL/app.json | 561 ++++++++++++++++++ 1 file changed, 561 insertions(+) create mode 100644 Localization/StringsConvertor/input/nl_NL/app.json diff --git a/Localization/StringsConvertor/input/nl_NL/app.json b/Localization/StringsConvertor/input/nl_NL/app.json new file mode 100644 index 000000000..7b5e271e4 --- /dev/null +++ b/Localization/StringsConvertor/input/nl_NL/app.json @@ -0,0 +1,561 @@ +{ + "common": { + "alerts": { + "common": { + "please_try_again": "Please try again.", + "please_try_again_later": "Please try again later." + }, + "sign_up_failure": { + "title": "Sign Up Failure" + }, + "server_error": { + "title": "Server Error" + }, + "vote_failure": { + "title": "Vote Failure", + "poll_expired": "The poll has expired" + }, + "discard_post_content": { + "title": "Discard Draft", + "message": "Confirm to discard composed post content." + }, + "publish_post_failure": { + "title": "Publish Failure", + "message": "Failed to publish the post.\nPlease check your internet connection.", + "attachments_message": { + "video_attach_with_photo": "Cannot attach a video to a post that already contains images.", + "more_than_one_video": "Cannot attach more than one video." + } + }, + "edit_profile_failure": { + "title": "Edit Profile Error", + "message": "Cannot edit profile. Please try again." + }, + "sign_out": { + "title": "Sign Out", + "message": "Are you sure you want to sign out?", + "confirm": "Sign Out" + }, + "block_domain": { + "title": "Are you really, really sure you want to block the entire %s? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain and any of your followers from that domain will be removed.", + "block_entire_domain": "Block Domain" + }, + "save_photo_failure": { + "title": "Save Photo Failure", + "message": "Please enable the photo library access permission to save the photo." + }, + "delete_post": { + "title": "Are you sure you want to delete this post?", + "delete": "Delete" + }, + "clean_cache": { + "title": "Clean Cache", + "message": "Successfully cleaned %s cache." + } + }, + "controls": { + "actions": { + "back": "Back", + "next": "Next", + "previous": "Previous", + "open": "Open", + "add": "Add", + "remove": "Remove", + "edit": "Edit", + "save": "Save", + "ok": "OK", + "done": "Done", + "confirm": "Confirm", + "continue": "Continue", + "cancel": "Cancel", + "discard": "Discard", + "try_again": "Try Again", + "take_photo": "Take Photo", + "save_photo": "Save Photo", + "copy_photo": "Copy Photo", + "sign_in": "Sign In", + "sign_up": "Sign Up", + "see_more": "See More", + "preview": "Preview", + "share": "Share", + "share_user": "Share %s", + "share_post": "Share Post", + "open_in_safari": "Open in Safari", + "find_people": "Find people to follow", + "manually_search": "Manually search instead", + "skip": "Skip", + "reply": "Reply", + "report_user": "Report %s", + "block_domain": "Block %s", + "unblock_domain": "Unblock %s", + "settings": "Settings", + "delete": "Delete" + }, + "tabs": { + "home": "Home", + "search": "Search", + "notification": "Notification", + "profile": "Profile" + }, + "keyboard": { + "common": { + "switch_to_tab": "Switch to %s", + "compose_new_post": "Compose New Post", + "show_favorites": "Show Favorites", + "open_settings": "Open Settings" + }, + "timeline": { + "previous_status": "Previous Post", + "next_status": "Next Post", + "open_status": "Open Post", + "open_author_profile": "Open Author's Profile", + "open_reblogger_profile": "Open Reblogger's Profile", + "reply_status": "Reply to Post", + "toggle_reblog": "Toggle Reblog on Post", + "toggle_favorite": "Toggle Favorite on Post", + "toggle_content_warning": "Toggle Content Warning", + "preview_image": "Preview Image" + }, + "segmented_control": { + "previous_section": "Previous Section", + "next_section": "Next Section" + } + }, + "status": { + "user_reblogged": "%s reblogged", + "user_replied_to": "Replied to %s", + "show_post": "Show Post", + "show_user_profile": "Show user profile", + "content_warning": "Content Warning", + "media_content_warning": "Tap anywhere to reveal", + "poll": { + "vote": "Vote", + "time_left": "%s left", + "closed": "Closed" + }, + "actions": { + "reply": "Reply", + "reblog": "Reblog", + "unreblog": "Undo reblog", + "favorite": "Favorite", + "unfavorite": "Unfavorite", + "menu": "Menu" + }, + "tag": { + "url": "URL", + "mention": "Mention", + "link": "Link", + "hashtag": "Hashtag", + "email": "Email", + "emoji": "Emoji" + } + }, + "friendship": { + "follow": "Follow", + "following": "Following", + "request": "Request", + "pending": "Pending", + "block": "Block", + "block_user": "Block %s", + "block_domain": "Block %s", + "unblock": "Unblock", + "unblock_user": "Unblock %s", + "blocked": "Blocked", + "mute": "Mute", + "mute_user": "Mute %s", + "unmute": "Unmute", + "unmute_user": "Unmute %s", + "muted": "Muted", + "edit_info": "Edit Info" + }, + "timeline": { + "filtered": "Filtered", + "timestamp": { + "now": "Now", + "time_ago": "%s ago" + }, + "loader": { + "load_missing_posts": "Load missing posts", + "loading_missing_posts": "Loading missing posts...", + "show_more_replies": "Show more replies" + }, + "header": { + "no_status_found": "No Post Found", + "blocking_warning": "You can’t view this user's profile\n until you unblock them.\nYour profile looks like this to them.", + "user_blocking_warning": "You can’t view %s’s profile\n until you unblock them.\nYour profile looks like this to them.", + "blocked_warning": "You can’t view this user’s profile\n until they unblock you.", + "user_blocked_warning": "You can’t view %s’s profile\n until they unblock you.", + "suspended_warning": "This user has been suspended.", + "user_suspended_warning": "%s’s account has been suspended." + }, + "accessibility": { + "count_replies": "%s replies", + "count_reblogs": "%s reblogs", + "count_favorites": "%s favorites" + } + } + } + }, + "scene": { + "welcome": { + "slogan": "Social networking\nback in your hands." + }, + "server_picker": { + "title": "Pick a server,\nany server.", + "button": { + "category": { + "all": "All", + "all_accessiblity_description": "Category: All", + "academia": "academia", + "activism": "activism", + "food": "food", + "furry": "furry", + "games": "games", + "general": "general", + "journalism": "journalism", + "lgbt": "lgbt", + "regional": "regional", + "art": "art", + "music": "music", + "tech": "tech" + }, + "see_less": "See Less", + "see_more": "See More" + }, + "label": { + "language": "LANGUAGE", + "users": "USERS", + "category": "CATEGORY" + }, + "input": { + "placeholder": "Find a server or join your own..." + }, + "empty_state": { + "finding_servers": "Finding available servers...", + "bad_network": "Something went wrong while loading the data. Check your internet connection.", + "no_results": "No results" + } + }, + "register": { + "title": "Tell us about you.", + "input": { + "avatar": { + "delete": "Delete" + }, + "username": { + "placeholder": "username", + "duplicate_prompt": "This username is taken." + }, + "display_name": { + "placeholder": "display name" + }, + "email": { + "placeholder": "email" + }, + "password": { + "placeholder": "password", + "hint": "Your password needs at least eight characters" + }, + "invite": { + "registration_user_invite_request": "Why do you want to join?" + } + }, + "error": { + "item": { + "username": "Username", + "email": "Email", + "password": "Password", + "agreement": "Agreement", + "locale": "Locale", + "reason": "Reason" + }, + "reason": { + "blocked": "%s contains a disallowed email provider", + "unreachable": "%s does not seem to exist", + "taken": "%s is already in use", + "reserved": "%s is a reserved keyword", + "accepted": "%s must be accepted", + "blank": "%s is required", + "invalid": "%s is invalid", + "too_long": "%s is too long", + "too_short": "%s is too short", + "inclusion": "%s is not a supported value" + }, + "special": { + "username_invalid": "Username must only contain alphanumeric characters and underscores", + "username_too_long": "Username is too long (can’t be longer than 30 characters)", + "email_invalid": "This is not a valid email address", + "password_too_short": "Password is too short (must be at least 8 characters)" + } + } + }, + "server_rules": { + "title": "Some ground rules.", + "subtitle": "These rules are set by the admins of %s.", + "prompt": "By continuing, you’re subject to the terms of service and privacy policy for %s.", + "terms_of_service": "terms of service", + "privacy_policy": "privacy policy", + "button": { + "confirm": "I Agree" + } + }, + "confirm_email": { + "title": "One last thing.", + "subtitle": "We just sent an email to %s,\ntap the link to confirm your account.", + "button": { + "open_email_app": "Open Email App", + "dont_receive_email": "I never got an email" + }, + "dont_receive_email": { + "title": "Check your email", + "description": "Check if your email address is correct as well as your junk folder if you haven’t.", + "resend_email": "Resend Email" + }, + "open_email_app": { + "title": "Check your inbox.", + "description": "We just sent you an email. Check your junk folder if you haven’t.", + "mail": "Mail", + "open_email_client": "Open Email Client" + } + }, + "home_timeline": { + "title": "Home", + "navigation_bar_state": { + "offline": "Offline", + "new_posts": "See new posts", + "published": "Published!", + "Publishing": "Publishing post..." + } + }, + "suggestion_account": { + "title": "Find People to Follow", + "follow_explain": "When you follow someone, you’ll see their posts in your home feed." + }, + "public_timeline": { + "title": "Public" + }, + "compose": { + "title": { + "new_post": "New Post", + "new_reply": "New Reply" + }, + "media_selection": { + "camera": "Take Photo", + "photo_library": "Photo Library", + "browse": "Browse" + }, + "content_input_placeholder": "Type or paste what’s on your mind", + "compose_action": "Publish", + "replying_to_user": "replying to %s", + "attachment": { + "photo": "photo", + "video": "video", + "attachment_broken": "This %s is broken and can’t be\nuploaded to Mastodon.", + "description_photo": "Describe the photo for the visually-impaired...", + "description_video": "Describe the video for the visually-impaired..." + }, + "poll": { + "duration_time": "Duration: %s", + "thirty_minutes": "30 minutes", + "one_hour": "1 Hour", + "six_hours": "6 Hours", + "one_day": "1 Day", + "three_days": "3 Days", + "seven_days": "7 Days", + "option_number": "Option %ld" + }, + "content_warning": { + "placeholder": "Write an accurate warning here..." + }, + "visibility": { + "public": "Public", + "unlisted": "Unlisted", + "private": "Followers only", + "direct": "Only people I mention" + }, + "auto_complete": { + "space_to_add": "Space to add" + }, + "accessibility": { + "append_attachment": "Add Attachment", + "append_poll": "Add Poll", + "remove_poll": "Remove Poll", + "custom_emoji_picker": "Custom Emoji Picker", + "enable_content_warning": "Enable Content Warning", + "disable_content_warning": "Disable Content Warning", + "post_visibility_menu": "Post Visibility Menu", + "input_limit_remains_count": "Input limit remains %ld", + "input_limit_exceeds_count": "Input limit exceeds %ld" + }, + "keyboard": { + "discard_post": "Discard Post", + "publish_post": "Publish Post", + "toggle_poll": "Toggle Poll", + "toggle_content_warning": "Toggle Content Warning", + "append_attachment_entry": "Add Attachment - %s", + "select_visibility_entry": "Select Visibility - %s" + } + }, + "profile": { + "dashboard": { + "posts": "posts", + "following": "following", + "followers": "followers", + "accessibility": { + "count_posts": "%ld posts", + "count_following": "%ld following", + "count_followers": "%ld followers" + } + }, + "fields": { + "add_row": "Add Row", + "placeholder": { + "label": "Label", + "content": "Content" + } + }, + "segmented_control": { + "posts": "Posts", + "replies": "Replies", + "media": "Media" + }, + "relationship_action_alert": { + "confirm_unmute_user": { + "title": "Unmute Account", + "message": "Confirm to unmute %s" + }, + "confirm_unblock_usre": { + "title": "Unblock Account", + "message": "Confirm to unblock %s" + } + } + }, + "search": { + "title": "Search", + "search_bar": { + "placeholder": "Search hashtags and users", + "cancel": "Cancel" + }, + "recommend": { + "button_text": "See All", + "hash_tag": { + "title": "Trending on Mastodon", + "description": "Hashtags that are getting quite a bit of attention", + "people_talking": "%s people are talking" + }, + "accounts": { + "title": "Accounts you might like", + "description": "You may like to follow these accounts", + "follow": "Follow" + } + }, + "searching": { + "segment": { + "all": "All", + "people": "People", + "hashtags": "Hashtags", + "posts": "Posts" + }, + "empty_state": { + "no_results": "No results" + }, + "recent_search": "Recent searches", + "clear": "Clear" + } + }, + "hashtag": { + "prompt": "%s people talking" + }, + "favorite": { + "title": "Your Favorites" + }, + "notification": { + "title": { + "Everything": "Everything", + "Mentions": "Mentions" + }, + "action": { + "follow": "followed you", + "favourite": "favorited your post", + "reblog": "reblogged your post", + "poll": "Your poll has ended", + "mention": "mentioned you", + "follow_request": "requested to follow you" + }, + "keyobard": { + "show_everything": "Show Everything", + "show_mentions": "Show Mentions" + } + }, + "thread": { + "back_title": "Post", + "title": "Post from %s" + }, + "settings": { + "title": "Settings", + "section": { + "appearance": { + "title": "Appearance", + "automatic": "Automatic", + "light": "Always Light", + "dark": "Always Dark" + }, + "notifications": { + "title": "Notifications", + "favorites": "Favorites my post", + "follows": "Follows me", + "boosts": "Reblogs my post", + "mentions": "Mentions me", + "trigger": { + "anyone": "anyone", + "follower": "a follower", + "follow": "anyone I follow", + "noone": "no one", + "title": "Notify me when" + } + }, + "preference": { + "title": "Preferences", + "true_black_dark_mode": "True black dark mode", + "disable_avatar_animation": "Disable animated avatars", + "disable_emoji_animation": "Disable animated emojis", + "using_default_browser": "Use default browser to open links" + }, + "boring_zone": { + "title": "The Boring Zone", + "account_settings": "Account Settings", + "terms": "Terms of Service", + "privacy": "Privacy Policy" + }, + "spicy_zone": { + "title": "The Spicy Zone", + "clear": "Clear Media Cache", + "signout": "Sign Out" + } + }, + "footer": { + "mastodon_description": "Mastodon is open source software. You can report issues on GitHub at %s (%s)" + }, + "keyboard": { + "close_settings_window": "Close Settings Window" + } + }, + "report": { + "title": "Report %s", + "step1": "Step 1 of 2", + "step2": "Step 2 of 2", + "content1": "Are there any other posts you’d like to add to the report?", + "content2": "Is there anything the moderators should know about this report?", + "send": "Send Report", + "skip_to_send": "Send without comment", + "text_placeholder": "Type or paste additional comments" + }, + "preview": { + "keyboard": { + "close_preview": "Close Preview", + "show_next": "Show Next", + "show_previous": "Show Previous" + } + } + } +} \ No newline at end of file From 23d43a5123b5c3832750f8e074edd01be3f8cb60 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sun, 8 Aug 2021 23:31:01 +0200 Subject: [PATCH 016/115] New translations ios-infoPlist.json (Dutch) --- .../StringsConvertor/input/nl_NL/ios-infoPlist.json | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 Localization/StringsConvertor/input/nl_NL/ios-infoPlist.json diff --git a/Localization/StringsConvertor/input/nl_NL/ios-infoPlist.json b/Localization/StringsConvertor/input/nl_NL/ios-infoPlist.json new file mode 100644 index 000000000..c6db73de0 --- /dev/null +++ b/Localization/StringsConvertor/input/nl_NL/ios-infoPlist.json @@ -0,0 +1,6 @@ +{ + "NSCameraUsageDescription": "Used to take photo for post status", + "NSPhotoLibraryAddUsageDescription": "Used to save photo into the Photo Library", + "NewPostShortcutItemTitle": "New Post", + "SearchShortcutItemTitle": "Search" +} From f62b0151a5bc03603b1c70db9c3a4b12f89c17b2 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sun, 8 Aug 2021 23:31:02 +0200 Subject: [PATCH 017/115] New translations Localizable.stringsdict (Dutch) --- .../input/nl_NL/Localizable.stringsdict | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 Localization/StringsConvertor/input/nl_NL/Localizable.stringsdict diff --git a/Localization/StringsConvertor/input/nl_NL/Localizable.stringsdict b/Localization/StringsConvertor/input/nl_NL/Localizable.stringsdict new file mode 100644 index 000000000..33e100fae --- /dev/null +++ b/Localization/StringsConvertor/input/nl_NL/Localizable.stringsdict @@ -0,0 +1,102 @@ + + + + + plural.count.metric_formatted.post + + NSStringLocalizedFormatKey + %@ %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + post + other + posts + + + plural.count.favorite + + NSStringLocalizedFormatKey + %#@favorite_count@ + favorite_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 favorite + other + %ld favorites + + + plural.count.reblog + + NSStringLocalizedFormatKey + %#@reblog_count@ + reblog_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 reblog + other + %ld reblogs + + + plural.count.vote + + NSStringLocalizedFormatKey + %#@vote_count@ + vote_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 vote + other + %ld votes + + + plural.count.voter + + NSStringLocalizedFormatKey + %#@voter_count@ + voter_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 voter + other + %ld voters + + + plural.people_talking + + NSStringLocalizedFormatKey + %#@count_people_talking@ + count_people_talking + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 people talking + other + %ld people talking + + + + From 5b5873f9743ef7e940297706dceb720929109a4d Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 00:33:33 +0200 Subject: [PATCH 018/115] New translations app.json (Russian) --- .../StringsConvertor/input/ru_RU/app.json | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/Localization/StringsConvertor/input/ru_RU/app.json b/Localization/StringsConvertor/input/ru_RU/app.json index de1ac150a..8a1f071e7 100644 --- a/Localization/StringsConvertor/input/ru_RU/app.json +++ b/Localization/StringsConvertor/input/ru_RU/app.json @@ -105,31 +105,31 @@ "open_settings": "Открыть настройки" }, "timeline": { - "previous_status": "Previous Post", - "next_status": "Next Post", - "open_status": "Open Post", - "open_author_profile": "Open Author's Profile", - "open_reblogger_profile": "Open Reblogger's Profile", - "reply_status": "Reply to Post", - "toggle_reblog": "Toggle Reblog on Post", - "toggle_favorite": "Toggle Favorite on Post", - "toggle_content_warning": "Toggle Content Warning", - "preview_image": "Preview Image" + "previous_status": "Прошлый пост", + "next_status": "Следующий пост", + "open_status": "Открыть пост", + "open_author_profile": "Открыть профиль автора", + "open_reblogger_profile": "Открыть профиль продвинувшего", + "reply_status": "Ответить на пост", + "toggle_reblog": "Продвинуть или убрать продвижение", + "toggle_favorite": "Добавить или убрать из избранного", + "toggle_content_warning": "Раскрыть или спрятать содержимое", + "preview_image": "Предпросмотр изображения" }, "segmented_control": { - "previous_section": "Previous Section", - "next_section": "Next Section" + "previous_section": "Предыдущий раздел", + "next_section": "Следующий раздел" } }, "status": { - "user_reblogged": "%s reblogged", - "user_replied_to": "Replied to %s", - "show_post": "Show Post", - "show_user_profile": "Show user profile", - "content_warning": "Content Warning", - "media_content_warning": "Tap anywhere to reveal", + "user_reblogged": "%s продвинул(а)", + "user_replied_to": "Ответил(а) %s", + "show_post": "Показать пост", + "show_user_profile": "Показать профиль пользователя", + "content_warning": "Предупреждение о содержании", + "media_content_warning": "Нажмите в любом месте, чтобы показать", "poll": { - "vote": "Vote", + "vote": "Проголосовать", "time_left": "%s left", "closed": "Closed" }, @@ -303,13 +303,13 @@ "title": "И ещё кое-что.", "subtitle": "Мы только что отправили письмо на\n%s.\nНажмите на ссылку в нём, чтобы\nподтвердить свою учётную запись.", "button": { - "open_email_app": "Open Email App", - "dont_receive_email": "I never got an email" + "open_email_app": "Открыть приложение почты", + "dont_receive_email": "Я не получил письма" }, "dont_receive_email": { - "title": "Check your email", - "description": "Check if your email address is correct as well as your junk folder if you haven’t.", - "resend_email": "Resend Email" + "title": "Проверьте свой e-mail адрес", + "description": "Проверьте, правильно ли указан ваш e-mail адрес, а также папку «спам», если ещё не сделали этого.", + "resend_email": "Отправить ещё раз" }, "open_email_app": { "title": "Проверьте вашу почту.", From 574a78b58442cdca7165c3e94a868c09bc04771a Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 01:32:10 +0200 Subject: [PATCH 019/115] New translations app.json (German) --- .../StringsConvertor/input/de_DE/app.json | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/Localization/StringsConvertor/input/de_DE/app.json b/Localization/StringsConvertor/input/de_DE/app.json index 87648cf05..fa09a9119 100644 --- a/Localization/StringsConvertor/input/de_DE/app.json +++ b/Localization/StringsConvertor/input/de_DE/app.json @@ -50,7 +50,7 @@ }, "clean_cache": { "title": "Zwischenspeicher leeren", - "message": "Successfully cleaned %s cache." + "message": "%s erfolgreich aus dem Cache gelöscht." } }, "controls": { @@ -109,7 +109,7 @@ "next_status": "Nächster Beitrag", "open_status": "Beitrag öffnen", "open_author_profile": "Profil des Verfassers ansehen", - "open_reblogger_profile": "Open Reblogger's Profile", + "open_reblogger_profile": "Profil des teilenden Nutzers öffnen", "reply_status": "Auf Beitrag antworten", "toggle_reblog": "Toggle Reblog on Post", "toggle_favorite": "Toggle Favorite on Post", @@ -122,8 +122,8 @@ } }, "status": { - "user_reblogged": "%s reblogged", - "user_replied_to": "Replied to %s", + "user_reblogged": "%s teilte", + "user_replied_to": "Antwortet auf %s", "show_post": "Beitrag anzeigen", "show_user_profile": "Benutzerprofil anzeigen", "content_warning": "Inhaltswarnung", @@ -135,8 +135,8 @@ }, "actions": { "reply": "Antworten", - "reblog": "Reblog", - "unreblog": "Undo reblog", + "reblog": "Teilen", + "unreblog": "Nicht mehr teilen", "favorite": "Favorit", "unfavorite": "Aus Favoriten entfernen", "menu": "Menü" @@ -189,9 +189,9 @@ "user_suspended_warning": "%s’s account has been suspended." }, "accessibility": { - "count_replies": "%s replies", - "count_reblogs": "%s reblogs", - "count_favorites": "%s favorites" + "count_replies": "%s Antworten", + "count_reblogs": "%s Teilungen", + "count_favorites": "%s Favoriten" } } } @@ -201,7 +201,7 @@ "slogan": "Soziale Netzwerke wieder in deinen Händen." }, "server_picker": { - "title": "Pick a server,\nany server.", + "title": "Wähle einen Server,\nbeliebigen Server.", "button": { "category": { "all": "Alle", @@ -232,7 +232,7 @@ }, "empty_state": { "finding_servers": "Verfügbare Server werden gesucht...", - "bad_network": "Something went wrong while loading the data. Check your internet connection.", + "bad_network": "Da ist etwas schief gelaufen. Bitte versuchen Sie es erneut oder überprüfen Sie Ihre Internetverbindung.", "no_results": "Keine Ergebnisse" } }, @@ -270,20 +270,20 @@ "reason": "Begründung" }, "reason": { - "blocked": "%s contains a disallowed email provider", - "unreachable": "%s does not seem to exist", - "taken": "%s is already in use", - "reserved": "%s is a reserved keyword", - "accepted": "%s must be accepted", - "blank": "%s is required", - "invalid": "%s is invalid", - "too_long": "%s is too long", - "too_short": "%s is too short", - "inclusion": "%s is not a supported value" + "blocked": "%s verwendet einen nicht erlaubten E-Mail-Anbieter", + "unreachable": "%s scheint nicht zu existieren", + "taken": "%s wird bereits verwendet", + "reserved": "%s ist ein reserviertes Schlüsselwort", + "accepted": "%s muss akzeptiert werden", + "blank": "%s ist erforderlich", + "invalid": "%s ist ungültig", + "too_long": "%s ist zu lang", + "too_short": "%s ist zu kurz", + "inclusion": "%s ist kein unterstützter Wert" }, "special": { - "username_invalid": "Username must only contain alphanumeric characters and underscores", - "username_too_long": "Username is too long (can’t be longer than 30 characters)", + "username_invalid": "Benutzername kann nur alphanumerische Zeichen und Unterstriche enthalten", + "username_too_long": "Benutzername ist zu lang (darf nicht länger als 30 Zeichen sein)", "email_invalid": "This is not a valid email address", "password_too_short": "Password is too short (must be at least 8 characters)" } From 38938ec0c210c1f14d3d2c11454ccc40a8302d70 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 01:32:11 +0200 Subject: [PATCH 020/115] New translations app.json (Russian) --- .../StringsConvertor/input/ru_RU/app.json | 78 +++++++++---------- 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/Localization/StringsConvertor/input/ru_RU/app.json b/Localization/StringsConvertor/input/ru_RU/app.json index 8a1f071e7..09cadb458 100644 --- a/Localization/StringsConvertor/input/ru_RU/app.json +++ b/Localization/StringsConvertor/input/ru_RU/app.json @@ -130,23 +130,23 @@ "media_content_warning": "Нажмите в любом месте, чтобы показать", "poll": { "vote": "Проголосовать", - "time_left": "%s left", - "closed": "Closed" + "time_left": "Осталось: %s", + "closed": "Завершён" }, "actions": { - "reply": "Reply", - "reblog": "Reblog", - "unreblog": "Undo reblog", - "favorite": "Favorite", - "unfavorite": "Unfavorite", - "menu": "Menu" + "reply": "Ответить", + "reblog": "Продвинуть", + "unreblog": "Убрать продвижение", + "favorite": "Добавить в избранное", + "unfavorite": "Убрать из избранного", + "menu": "Меню" }, "tag": { - "url": "URL", - "mention": "Mention", - "link": "Link", - "hashtag": "Hashtag", - "email": "Email", + "url": "Ссылка", + "mention": "Упоминание", + "link": "Ссылка", + "hashtag": "Хэштег", + "email": "E-mail", "emoji": "Эмодзи" } }, @@ -341,31 +341,31 @@ }, "media_selection": { "camera": "Сделать фото", - "photo_library": "Photo Library", + "photo_library": "Медиатека", "browse": "Выбрать" }, - "content_input_placeholder": "Type or paste what’s on your mind", + "content_input_placeholder": "Напишите то, о чём думаете", "compose_action": "Опубликовать", - "replying_to_user": "replying to %s", + "replying_to_user": "ответ %s", "attachment": { - "photo": "photo", - "video": "video", - "attachment_broken": "This %s is broken and can’t be\nuploaded to Mastodon.", - "description_photo": "Describe the photo for the visually-impaired...", - "description_video": "Describe the video for the visually-impaired..." + "photo": "изображение", + "video": "видео", + "attachment_broken": "Это %s повреждено и не может\nбыть отправлено в Mastodon.", + "description_photo": "Опишите фото для людей с нарушениями зрения...", + "description_video": "Опишите видео для людей с нарушениями зрения..." }, "poll": { - "duration_time": "Duration: %s", - "thirty_minutes": "30 minutes", - "one_hour": "1 Hour", - "six_hours": "6 Hours", - "one_day": "1 Day", - "three_days": "3 Days", - "seven_days": "7 Days", - "option_number": "Option %ld" + "duration_time": "Продолжительность: %s", + "thirty_minutes": "30 минут", + "one_hour": "1 час", + "six_hours": "6 часов", + "one_day": "1 день", + "three_days": "3 дня", + "seven_days": "7 дней", + "option_number": "Вариант %ld" }, "content_warning": { - "placeholder": "Write an accurate warning here..." + "placeholder": "Напишите предупреждение здесь..." }, "visibility": { "public": "Public", @@ -454,29 +454,29 @@ "all": "All", "people": "People", "hashtags": "Hashtags", - "posts": "Posts" + "posts": "Посты" }, "empty_state": { - "no_results": "No results" + "no_results": "Нет результатов" }, - "recent_search": "Recent searches", - "clear": "Clear" + "recent_search": "Последние запросы", + "clear": "Очистить" } }, "hashtag": { "prompt": "%s people talking" }, "favorite": { - "title": "Your Favorites" + "title": "Ваше избранное" }, "notification": { "title": { - "Everything": "Everything", - "Mentions": "Mentions" + "Everything": "Все", + "Mentions": "Упоминания" }, "action": { - "follow": "followed you", - "favourite": "favorited your post", + "follow": "подписался (-ась) на вас", + "favourite": "добавил(а) ваш пост в избранное", "reblog": "reblogged your post", "poll": "Your poll has ended", "mention": "mentioned you", From fac1c7ad583a8c03a35c96148b45c59a63834cee Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 02:47:59 +0200 Subject: [PATCH 021/115] New translations app.json (German) --- .../StringsConvertor/input/de_DE/app.json | 84 +++++++++---------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/Localization/StringsConvertor/input/de_DE/app.json b/Localization/StringsConvertor/input/de_DE/app.json index fa09a9119..53df9aa6a 100644 --- a/Localization/StringsConvertor/input/de_DE/app.json +++ b/Localization/StringsConvertor/input/de_DE/app.json @@ -2,8 +2,8 @@ "common": { "alerts": { "common": { - "please_try_again": "Bitte versuchen Sie es erneut.", - "please_try_again_later": "Bitte versuchen Sie es später nochmal." + "please_try_again": "Bitte versuche es erneut.", + "please_try_again_later": "Bitte versuche es später nochmal." }, "sign_up_failure": { "title": "Anmeldefehler" @@ -17,11 +17,11 @@ }, "discard_post_content": { "title": "Entwurf Verwerfen", - "message": "Bestätigen Sie um den Beitrag zu verwerfen." + "message": "Bestätige um den Beitrag zu verwerfen." }, "publish_post_failure": { "title": "Fehler bei Veröffentlichung", - "message": "Fehler beim Veröffentlichen des Beitrags.\nBitte überprüfen Sie Ihre Internetverbindung.", + "message": "Fehler beim Veröffentlichen des Beitrags.\nBitte überprüfe deine Internetverbindung.", "attachments_message": { "video_attach_with_photo": "Es kann kein Video an einen Beitrag, der bereits Bilder enthält, angehängt werden.", "more_than_one_video": "Es kann nicht mehr als ein Video hinzugefügt werden." @@ -29,11 +29,11 @@ }, "edit_profile_failure": { "title": "Fehler beim Bearbeiten des Profils", - "message": "Profil kann nicht bearbeitet werden. Bitte versuchen Sie es erneut." + "message": "Profil kann nicht bearbeitet werden. Bitte versuche es erneut." }, "sign_out": { "title": "Abmelden", - "message": "Sind Sie sicher, dass Sie sich abmelden möchten?", + "message": "Bist du sicher, dass du dich abmelden möchten?", "confirm": "Abmelden" }, "block_domain": { @@ -45,7 +45,7 @@ "message": "Bitte aktiviere den Zugriff auf die Fotobibliothek, um das Foto zu speichern." }, "delete_post": { - "title": "Sind Sie sicher, dass Sie diesen Beitrag löschen möchten?", + "title": "Bist du dir sicher, dass du diesen Beitrag löschen möchtest?", "delete": "Löschen" }, "clean_cache": { @@ -111,8 +111,8 @@ "open_author_profile": "Profil des Verfassers ansehen", "open_reblogger_profile": "Profil des teilenden Nutzers öffnen", "reply_status": "Auf Beitrag antworten", - "toggle_reblog": "Toggle Reblog on Post", - "toggle_favorite": "Toggle Favorite on Post", + "toggle_reblog": "Teilen vom Beitrag umschalten", + "toggle_favorite": "Favorit vom Beitrag umschalten", "toggle_content_warning": "Inhaltswarnung umschalten", "preview_image": "Bildvorschau" }, @@ -163,8 +163,8 @@ "blocked": "Blockiert", "mute": "Stummschalten", "mute_user": "%s stummschalten", - "unmute": "Unmute", - "unmute_user": "Unmute %s", + "unmute": "Nicht mehr stummschalten", + "unmute_user": "%s nicht mehr stummschalten", "muted": "Stummgeschaltet", "edit_info": "Information bearbeiten" }, @@ -181,12 +181,12 @@ }, "header": { "no_status_found": "Kein Beitrag gefunden", - "blocking_warning": "Du kannst das Profil dieses Benutzers nicht anzeigen\n solange du es nicht entsperrst.\nDein Profil sieht für diesen Benutzer so aus.", - "user_blocking_warning": "Du kannst %s's Profil nicht anzeigen\n solange du es nicht entsperrst.\nDein Profil sieht für diesen Benutzer so aus.", + "blocking_warning": "Du kannst das Profil dieses Benutzers nicht sehen\n solange du den Benutzer nicht entsperrst.\nDein Profil sieht für diesen Benutzer auch so aus.", + "user_blocking_warning": "Du kannst %ss Profil nicht sehen\n solange du diesen Benutzer nicht entsperrst.\nDein Profil sieht für diesen Benutzer auch so aus.", "blocked_warning": "Das Profil dieses Benutzers\n kann nicht angezeigt werden, bis er dich entsperrt.", - "user_blocked_warning": "You can’t view %s’s profile\n until they unblock you.", + "user_blocked_warning": "Du kannst das Profil von %s nicht sehen\n bis der Benutzer dich entsperrt.", "suspended_warning": "Dieser Nutzer wurde gesperrt.", - "user_suspended_warning": "%s’s account has been suspended." + "user_suspended_warning": "Das Konto von %s wurde gesperrt." }, "accessibility": { "count_replies": "%s Antworten", @@ -232,7 +232,7 @@ }, "empty_state": { "finding_servers": "Verfügbare Server werden gesucht...", - "bad_network": "Da ist etwas schief gelaufen. Bitte versuchen Sie es erneut oder überprüfen Sie Ihre Internetverbindung.", + "bad_network": "Da ist etwas schief gelaufen. Bitte versuche es erneut oder überprüfe deine Internetverbindung.", "no_results": "Keine Ergebnisse" } }, @@ -284,15 +284,15 @@ "special": { "username_invalid": "Benutzername kann nur alphanumerische Zeichen und Unterstriche enthalten", "username_too_long": "Benutzername ist zu lang (darf nicht länger als 30 Zeichen sein)", - "email_invalid": "This is not a valid email address", - "password_too_short": "Password is too short (must be at least 8 characters)" + "email_invalid": "Dies ist keine gültige E-Mail Adresse", + "password_too_short": "Passwort ist zu kurz (mindestens 8 Zeichen erforderlich)" } } }, "server_rules": { - "title": "Some ground rules.", + "title": "Einige Grundregeln.", "subtitle": "Diese Regeln werden von den Administratoren von %s festgelegt.", - "prompt": "By continuing, you’re subject to the terms of service and privacy policy for %s.", + "prompt": "Wenn du fortfährst, unterliegst du den Nutzungsbedingungen und den Datenschutzrichtlinien für %s.", "terms_of_service": "Nutzungsbedingungen", "privacy_policy": "Datenschutzerklärung", "button": { @@ -307,15 +307,15 @@ "dont_receive_email": "Ich habe keine E-Mail erhalten." }, "dont_receive_email": { - "title": "Check your email", - "description": "Check if your email address is correct as well as your junk folder if you haven’t.", + "title": "Bitte überprüfe deine E-Mails", + "description": "Überprüfe, ob deine E-Mail-Adresse korrekt ist und sieh im Spam-Ordner nach, falls du es noch nicht getan hast.", "resend_email": "E-Mail erneut versenden" }, "open_email_app": { - "title": "Check your inbox.", - "description": "We just sent you an email. Check your junk folder if you haven’t.", + "title": "Überprüfe deinen Posteingang.", + "description": "Wir haben dir gerade eine E-Mail geschickt. Überprüfe deinen Spam-Ordner, falls du es noch nicht getan hast.", "mail": "Mail", - "open_email_client": "Open Email Client" + "open_email_client": "E-Mail-Client öffnen" } }, "home_timeline": { @@ -324,12 +324,12 @@ "offline": "Offline", "new_posts": "Neue Beiträge anzeigen", "published": "Veröffentlicht!", - "Publishing": "Publishing post..." + "Publishing": "Beitrag wird veröffentlicht..." } }, "suggestion_account": { - "title": "Find People to Follow", - "follow_explain": "When you follow someone, you’ll see their posts in your home feed." + "title": "Entdecke Benutzer zum Folgen", + "follow_explain": "Wenn du jemandem folgst, siehst du deren Beiträge dann in deinem Home-Feed." }, "public_timeline": { "title": "Öffentlich" @@ -350,7 +350,7 @@ "attachment": { "photo": "Foto", "video": "Video", - "attachment_broken": "This %s is broken and can’t be\nuploaded to Mastodon.", + "attachment_broken": "Dieses %s scheint defekt zu sein und\nkann nicht auf Mastodon hochgeladen werden.", "description_photo": "Für Menschen mit Sehbehinderung beschreiben...", "description_video": "Für Menschen mit Sehbehinderung beschreiben..." }, @@ -362,7 +362,7 @@ "one_day": "1 Tag", "three_days": "3 Tage", "seven_days": "7 Tage", - "option_number": "Option %ld" + "option_number": "Auswahlmöglichkeit %ld" }, "content_warning": { "placeholder": "Schreibe eine Inhaltswarnung hier..." @@ -374,26 +374,26 @@ "direct": "Nur für Leute, die ich erwähne" }, "auto_complete": { - "space_to_add": "Space to add" + "space_to_add": "Leerzeichen um hinzuzufügen" }, "accessibility": { "append_attachment": "Anhang hinzufügen", "append_poll": "Umfrage hinzufügen", "remove_poll": "Umfrage entfernen", - "custom_emoji_picker": "Custom Emoji Picker", - "enable_content_warning": "Enable Content Warning", - "disable_content_warning": "Disable Content Warning", - "post_visibility_menu": "Post Visibility Menu", - "input_limit_remains_count": "Input limit remains %ld", - "input_limit_exceeds_count": "Input limit exceeds %ld" + "custom_emoji_picker": "Benutzerdefinierter Emojiwähler", + "enable_content_warning": "Inhaltswarnung einschalten", + "disable_content_warning": "Inhaltswarnung ausschalten", + "post_visibility_menu": "Sichtbarkeitsmenü", + "input_limit_remains_count": "Eingabelimit bleibt %ld", + "input_limit_exceeds_count": "Eingabelimit überschreitet %ld" }, "keyboard": { "discard_post": "Beitrag verwerfen", "publish_post": "Beitrag veröffentlichen", "toggle_poll": "Umfrage umschalten", "toggle_content_warning": "Inhaltswarnung umschalten", - "append_attachment_entry": "Add Attachment - %s", - "select_visibility_entry": "Select Visibility - %s" + "append_attachment_entry": "Anhang hinzufügen - %s", + "select_visibility_entry": "Sichtbarkeit auswählen - %s" } }, "profile": { @@ -422,7 +422,7 @@ "relationship_action_alert": { "confirm_unmute_user": { "title": "Ton einschalten", - "message": "Confirm to unmute %s" + "message": "Bestätige um %s nicht mehr stummzuschalten" }, "confirm_unblock_usre": { "title": "Konto entsperren", @@ -440,12 +440,12 @@ "button_text": "Alle anzeigen", "hash_tag": { "title": "Angesagt auf Mastodon", - "description": "Hashtags that are getting quite a bit of attention", + "description": "Hashtags die an Aufmerksamkeit zunehmen", "people_talking": "%s Leute reden" }, "accounts": { "title": "Konten, die dir gefallen könnten", - "description": "You may like to follow these accounts", + "description": "Vielleicht gefallen dir diese Benutzer", "follow": "Folgen" } }, From 6a463697364912578a93437a9ed138ef5b2458be Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 02:48:00 +0200 Subject: [PATCH 022/115] New translations app.json (Russian) --- .../StringsConvertor/input/ru_RU/app.json | 122 +++++++++--------- 1 file changed, 61 insertions(+), 61 deletions(-) diff --git a/Localization/StringsConvertor/input/ru_RU/app.json b/Localization/StringsConvertor/input/ru_RU/app.json index 09cadb458..0c7f49884 100644 --- a/Localization/StringsConvertor/input/ru_RU/app.json +++ b/Localization/StringsConvertor/input/ru_RU/app.json @@ -368,39 +368,39 @@ "placeholder": "Напишите предупреждение здесь..." }, "visibility": { - "public": "Public", - "unlisted": "Unlisted", - "private": "Followers only", - "direct": "Only people I mention" + "public": "Публичный", + "unlisted": "Скрытый", + "private": "Для подписчиков", + "direct": "Только для упомянутых людей" }, "auto_complete": { "space_to_add": "Space to add" }, "accessibility": { - "append_attachment": "Add Attachment", - "append_poll": "Add Poll", - "remove_poll": "Remove Poll", - "custom_emoji_picker": "Custom Emoji Picker", - "enable_content_warning": "Enable Content Warning", - "disable_content_warning": "Disable Content Warning", - "post_visibility_menu": "Post Visibility Menu", - "input_limit_remains_count": "Input limit remains %ld", - "input_limit_exceeds_count": "Input limit exceeds %ld" + "append_attachment": "Прикрепить файл", + "append_poll": "Добавить опрос", + "remove_poll": "Убрать опрос", + "custom_emoji_picker": "Меню пользовательских эмодзи", + "enable_content_warning": "Добавить предупреждение о содержании", + "disable_content_warning": "Убрать предупреждение о содержании", + "post_visibility_menu": "Меню видимости поста", + "input_limit_remains_count": "Символов осталось: %ld", + "input_limit_exceeds_count": "Превышающих лимит символов: %ld" }, "keyboard": { - "discard_post": "Discard Post", - "publish_post": "Publish Post", + "discard_post": "Удалить пост", + "publish_post": "Опубликовать пост", "toggle_poll": "Toggle Poll", "toggle_content_warning": "Toggle Content Warning", - "append_attachment_entry": "Add Attachment - %s", - "select_visibility_entry": "Select Visibility - %s" + "append_attachment_entry": "Прикрепить файл — %s", + "select_visibility_entry": "Выбрать видимость — %s" } }, "profile": { "dashboard": { - "posts": "posts", - "following": "following", - "followers": "followers", + "posts": "посты", + "following": "подписки", + "followers": "подписчики", "accessibility": { "count_posts": "%ld posts", "count_following": "%ld following", @@ -410,8 +410,8 @@ "fields": { "add_row": "Add Row", "placeholder": { - "label": "Label", - "content": "Content" + "label": "Ярлык", + "content": "Содержимое" } }, "segmented_control": { @@ -477,73 +477,73 @@ "action": { "follow": "подписался (-ась) на вас", "favourite": "добавил(а) ваш пост в избранное", - "reblog": "reblogged your post", - "poll": "Your poll has ended", - "mention": "mentioned you", - "follow_request": "requested to follow you" + "reblog": "продвинул(а) ваш пост", + "poll": "Ваш опрос завершился", + "mention": "упомянул(а) вас", + "follow_request": "отправил(а) запрос на подписку" }, "keyobard": { - "show_everything": "Show Everything", - "show_mentions": "Show Mentions" + "show_everything": "Показать все", + "show_mentions": "Показать упоминания" } }, "thread": { - "back_title": "Post", + "back_title": "Пост", "title": "Post from %s" }, "settings": { - "title": "Settings", + "title": "Настройки", "section": { "appearance": { - "title": "Appearance", - "automatic": "Automatic", - "light": "Always Light", - "dark": "Always Dark" + "title": "Внешний вид", + "automatic": "Автоматически", + "light": "Светлая тема", + "dark": "Тёмная тема" }, "notifications": { - "title": "Notifications", - "favorites": "Favorites my post", - "follows": "Follows me", - "boosts": "Reblogs my post", - "mentions": "Mentions me", + "title": "Уведомления", + "favorites": "Добавляет мой пост в избранное", + "follows": "Подписался на меня", + "boosts": "Продвигает мой пост", + "mentions": "Упоминает меня", "trigger": { - "anyone": "anyone", - "follower": "a follower", - "follow": "anyone I follow", - "noone": "no one", - "title": "Notify me when" + "anyone": "кто угодно", + "follower": "мой подписчик", + "follow": "любой, на кого я подписан(а)", + "noone": "никто", + "title": "Уведомлять меня, когда" } }, "preference": { - "title": "Preferences", - "true_black_dark_mode": "True black dark mode", - "disable_avatar_animation": "Disable animated avatars", - "disable_emoji_animation": "Disable animated emojis", - "using_default_browser": "Use default browser to open links" + "title": "Предпочтения", + "true_black_dark_mode": "Полноценно чёрный режим", + "disable_avatar_animation": "Отключить анимацию аватарок", + "disable_emoji_animation": "Отключить анимацию эмодзи", + "using_default_browser": "Использовать браузер по умолчанию для открытия ссылок" }, "boring_zone": { - "title": "The Boring Zone", - "account_settings": "Account Settings", - "terms": "Terms of Service", - "privacy": "Privacy Policy" + "title": "Зона скукотищи", + "account_settings": "Настройки аккаунта", + "terms": "Условия использования", + "privacy": "Политика конфиденциальности" }, "spicy_zone": { - "title": "The Spicy Zone", - "clear": "Clear Media Cache", - "signout": "Sign Out" + "title": "Пикантная зона", + "clear": "Очистить кэш медиа", + "signout": "Выйти из учётной записи" } }, "footer": { - "mastodon_description": "Mastodon is open source software. You can report issues on GitHub at %s (%s)" + "mastodon_description": "Mastodon — проект с открытым исходным кодом. Сообщить о проблемах можно на GitHub по адресу %s (%s)" }, "keyboard": { - "close_settings_window": "Close Settings Window" + "close_settings_window": "Закрыть окно настроек" } }, "report": { - "title": "Report %s", - "step1": "Step 1 of 2", - "step2": "Step 2 of 2", + "title": "Пожаловаться на %s", + "step1": "Шаг 1 из 2", + "step2": "Шаг 2 из 2", "content1": "Are there any other posts you’d like to add to the report?", "content2": "Is there anything the moderators should know about this report?", "send": "Send Report", From dd181348d5065325bebf8bdbce0a13348a5eaeb2 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 03:47:54 +0200 Subject: [PATCH 023/115] New translations app.json (Dutch) --- .../StringsConvertor/input/nl_NL/app.json | 100 +++++++++--------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/Localization/StringsConvertor/input/nl_NL/app.json b/Localization/StringsConvertor/input/nl_NL/app.json index 7b5e271e4..41170b8c5 100644 --- a/Localization/StringsConvertor/input/nl_NL/app.json +++ b/Localization/StringsConvertor/input/nl_NL/app.json @@ -2,84 +2,84 @@ "common": { "alerts": { "common": { - "please_try_again": "Please try again.", - "please_try_again_later": "Please try again later." + "please_try_again": "Probeer het opnieuw.", + "please_try_again_later": "Probeer het later nog eens." }, "sign_up_failure": { - "title": "Sign Up Failure" + "title": "Registratiefout" }, "server_error": { - "title": "Server Error" + "title": "Serverfout" }, "vote_failure": { - "title": "Vote Failure", - "poll_expired": "The poll has expired" + "title": "Stemmen Mislukt", + "poll_expired": "De peiling is verlopen" }, "discard_post_content": { - "title": "Discard Draft", - "message": "Confirm to discard composed post content." + "title": "Concept Verwijderen", + "message": "Bevestig het verwijderen van het concept bericht." }, "publish_post_failure": { - "title": "Publish Failure", - "message": "Failed to publish the post.\nPlease check your internet connection.", + "title": "Publicatiefout", + "message": "Het publiceren van het bericht is mislukt. Controleer alstublieft uw internetverbinding.", "attachments_message": { - "video_attach_with_photo": "Cannot attach a video to a post that already contains images.", - "more_than_one_video": "Cannot attach more than one video." + "video_attach_with_photo": "Een video kan niet aan een bericht met afbeeldingen worden gekoppeld.", + "more_than_one_video": "Slechts één video kan aan een bericht worden gekoppeld." } }, "edit_profile_failure": { - "title": "Edit Profile Error", - "message": "Cannot edit profile. Please try again." + "title": "Profiel bewerken mislukt", + "message": "Het profiel kan niet bewerkt worden. Probeer het opnieuw." }, "sign_out": { - "title": "Sign Out", - "message": "Are you sure you want to sign out?", - "confirm": "Sign Out" + "title": "Afmelden", + "message": "Weet u zeker dat u zich wilt afmelden?", + "confirm": "Afmelden" }, "block_domain": { - "title": "Are you really, really sure you want to block the entire %s? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain and any of your followers from that domain will be removed.", - "block_entire_domain": "Block Domain" + "title": "Weet u zeker dat u alles van %s wilt blokkeren? In de meeste gevallen is het blokkeren of negeren van een paar specifieke personen voldoende en wenselijker. U zult geen berichten meer zien van dit domein en volgers van dit domein worden verwijderd.", + "block_entire_domain": "Domein blokkeren" }, "save_photo_failure": { - "title": "Save Photo Failure", - "message": "Please enable the photo library access permission to save the photo." + "title": "Foto Opslaan Mislukt", + "message": "Geef toestemming om de foto op te slaan." }, "delete_post": { - "title": "Are you sure you want to delete this post?", - "delete": "Delete" + "title": "Weet u zeker dat u dit bericht wilt verwijderen?", + "delete": "Verwijderen" }, "clean_cache": { - "title": "Clean Cache", - "message": "Successfully cleaned %s cache." + "title": "Cache-geheugen Wissen", + "message": "Cache-geheugen (%s) succesvol gewist." } }, "controls": { "actions": { - "back": "Back", - "next": "Next", - "previous": "Previous", + "back": "Terug", + "next": "Volgende", + "previous": "Vorige", "open": "Open", - "add": "Add", - "remove": "Remove", - "edit": "Edit", - "save": "Save", - "ok": "OK", - "done": "Done", - "confirm": "Confirm", - "continue": "Continue", - "cancel": "Cancel", - "discard": "Discard", - "try_again": "Try Again", - "take_photo": "Take Photo", - "save_photo": "Save Photo", - "copy_photo": "Copy Photo", - "sign_in": "Sign In", - "sign_up": "Sign Up", - "see_more": "See More", - "preview": "Preview", - "share": "Share", - "share_user": "Share %s", - "share_post": "Share Post", + "add": "Toevoegen", + "remove": "Verwijderen", + "edit": "Bewerken", + "save": "Opslaan", + "ok": "Oké", + "done": "Klaar", + "confirm": "Bevestigen", + "continue": "Doorgaan", + "cancel": "Annuleren", + "discard": "Weggooien", + "try_again": "Probeer Opnieuw", + "take_photo": "Foto Maken", + "save_photo": "Foto Opslaan", + "copy_photo": "Foto kopiëren", + "sign_in": "Aanmelden", + "sign_up": "Registreren", + "see_more": "Meer", + "preview": "Voorvertoning", + "share": "Delen", + "share_user": "Delen %s", + "share_post": "Bericht Delen", "open_in_safari": "Open in Safari", "find_people": "Find people to follow", "manually_search": "Manually search instead", @@ -151,7 +151,7 @@ } }, "friendship": { - "follow": "Follow", + "follow": "Volgen", "following": "Following", "request": "Request", "pending": "Pending", From fc6eaabb249baab1b90af8966fb5d88c6e5359a0 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 03:47:55 +0200 Subject: [PATCH 024/115] New translations app.json (Russian) --- .../StringsConvertor/input/ru_RU/app.json | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Localization/StringsConvertor/input/ru_RU/app.json b/Localization/StringsConvertor/input/ru_RU/app.json index 0c7f49884..04e31b350 100644 --- a/Localization/StringsConvertor/input/ru_RU/app.json +++ b/Localization/StringsConvertor/input/ru_RU/app.json @@ -408,32 +408,32 @@ } }, "fields": { - "add_row": "Add Row", + "add_row": "Добавить строку", "placeholder": { "label": "Ярлык", "content": "Содержимое" } }, "segmented_control": { - "posts": "Posts", - "replies": "Replies", - "media": "Media" + "posts": "Посты", + "replies": "Ответы", + "media": "Медиа" }, "relationship_action_alert": { "confirm_unmute_user": { - "title": "Unmute Account", - "message": "Confirm to unmute %s" + "title": "Убрать из игнорируемых", + "message": "Убрать %s из игнорируемых?" }, "confirm_unblock_usre": { - "title": "Unblock Account", - "message": "Confirm to unblock %s" + "title": "Разблокировать", + "message": "Убрать %s из списка блокировки?" } } }, "search": { - "title": "Search", + "title": "Поиск", "search_bar": { - "placeholder": "Search hashtags and users", + "placeholder": "Поиск хэштегов и пользователей", "cancel": "Cancel" }, "recommend": { From d9ea7fdd1781e2b2ad3fbf54d02e18f531d3d785 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 04:47:15 +0200 Subject: [PATCH 025/115] New translations app.json (Japanese) --- Localization/StringsConvertor/input/ja_JP/app.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/ja_JP/app.json b/Localization/StringsConvertor/input/ja_JP/app.json index 4845347ef..5ada6e9c5 100644 --- a/Localization/StringsConvertor/input/ja_JP/app.json +++ b/Localization/StringsConvertor/input/ja_JP/app.json @@ -166,7 +166,7 @@ "unmute": "ミュートを解除", "unmute_user": "%sのミュートを解除", "muted": "ミュート済み", - "edit_info": "Edit Info" + "edit_info": "編集" }, "timeline": { "filtered": "フィルター済み", From dc0f61503722bcc2a2e22321cd25801dc98c6bd1 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 04:47:17 +0200 Subject: [PATCH 026/115] New translations app.json (Dutch) --- Localization/StringsConvertor/input/nl_NL/app.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Localization/StringsConvertor/input/nl_NL/app.json b/Localization/StringsConvertor/input/nl_NL/app.json index 41170b8c5..4d1a070ea 100644 --- a/Localization/StringsConvertor/input/nl_NL/app.json +++ b/Localization/StringsConvertor/input/nl_NL/app.json @@ -152,12 +152,12 @@ }, "friendship": { "follow": "Volgen", - "following": "Following", - "request": "Request", - "pending": "Pending", - "block": "Block", - "block_user": "Block %s", - "block_domain": "Block %s", + "following": "Gevolgd", + "request": "Verzoeken", + "pending": "In afwachting", + "block": "Blokkeren", + "block_user": "Blokkeer %s", + "block_domain": "Blokkeer %s", "unblock": "Unblock", "unblock_user": "Unblock %s", "blocked": "Blocked", From e895662f670ae56f5331aaff9c2baf076cce8238 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 08:49:58 +0200 Subject: [PATCH 027/115] New translations app.json (Dutch) --- .../StringsConvertor/input/nl_NL/app.json | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/Localization/StringsConvertor/input/nl_NL/app.json b/Localization/StringsConvertor/input/nl_NL/app.json index 4d1a070ea..9681f8bf8 100644 --- a/Localization/StringsConvertor/input/nl_NL/app.json +++ b/Localization/StringsConvertor/input/nl_NL/app.json @@ -81,36 +81,36 @@ "share_user": "Delen %s", "share_post": "Bericht Delen", "open_in_safari": "Open in Safari", - "find_people": "Find people to follow", - "manually_search": "Manually search instead", - "skip": "Skip", - "reply": "Reply", - "report_user": "Report %s", - "block_domain": "Block %s", - "unblock_domain": "Unblock %s", - "settings": "Settings", - "delete": "Delete" + "find_people": "Zoek mensen om te volgen", + "manually_search": "Handmatig zoeken", + "skip": "Overslaan", + "reply": "Reageren", + "report_user": "Rapporteer %s", + "block_domain": "Blokkeer %s", + "unblock_domain": "Deblokkeer %s", + "settings": "Instellingen", + "delete": "Verwijderen" }, "tabs": { - "home": "Home", - "search": "Search", - "notification": "Notification", - "profile": "Profile" + "home": "Start", + "search": "Zoeken", + "notification": "Melding", + "profile": "Profiel" }, "keyboard": { "common": { - "switch_to_tab": "Switch to %s", - "compose_new_post": "Compose New Post", - "show_favorites": "Show Favorites", - "open_settings": "Open Settings" + "switch_to_tab": "Wisselen naar %s", + "compose_new_post": "Nieuw Bericht Opstellen", + "show_favorites": "Favorieten Weergeven", + "open_settings": "Open Instellingen" }, "timeline": { - "previous_status": "Previous Post", - "next_status": "Next Post", - "open_status": "Open Post", - "open_author_profile": "Open Author's Profile", + "previous_status": "Vorig Bericht", + "next_status": "Volgend Bericht", + "open_status": "Open Bericht", + "open_author_profile": "Open Auteursprofiel", "open_reblogger_profile": "Open Reblogger's Profile", - "reply_status": "Reply to Post", + "reply_status": "Reageren", "toggle_reblog": "Toggle Reblog on Post", "toggle_favorite": "Toggle Favorite on Post", "toggle_content_warning": "Toggle Content Warning", From 53647dfb0e786b71b3c75f6ea68c66f609cfb3ce Mon Sep 17 00:00:00 2001 From: CMK Date: Mon, 9 Aug 2021 15:14:08 +0800 Subject: [PATCH 028/115] chore: update i18n --- Localization/Localizable.stringsdict | 242 ++++++++++++++++++ Localization/app.json | 25 +- .../xcschemes/xcschememanagement.plist | 12 +- .../Section/Status/StatusSection.swift | 6 +- Mastodon/Extension/Date.swift | 24 +- .../Compose/ComposeViewModel+DataSource.swift | 2 +- .../Share/View/Node/Status/StatusNode.swift | 4 +- 7 files changed, 275 insertions(+), 40 deletions(-) diff --git a/Localization/Localizable.stringsdict b/Localization/Localizable.stringsdict index b002a41c3..cfa87b017 100644 --- a/Localization/Localizable.stringsdict +++ b/Localization/Localizable.stringsdict @@ -2,6 +2,50 @@ + a11y.plural.count.input_limit_exceeds + + NSStringLocalizedFormatKey + Input limit exceeds %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + 0 characters + one + 1 character + few + %ld characters + many + %ld characters + other + %ld characters + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Input limit remains %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + 0 characters + one + 1 character + few + %ld characters + many + %ld characters + other + %ld characters + + plural.count.metric_formatted.post NSStringLocalizedFormatKey @@ -23,6 +67,28 @@ other posts + + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + 0 posts + one + 1 post + few + %ld posts + many + %ld posts + other + %ld posts + plural.count.favorite @@ -134,5 +200,181 @@ %ld people talking + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + 0 following + one + 1 following + few + %ld following + many + %ld following + other + %ld following + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + 0 followers + one + 1 follower + few + %ld followers + many + %ld followers + other + %ld followers + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + 0 years left + one + 1 year left + few + %ld years left + many + %ld years left + other + %ld years left + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + 0 months left + one + 1 months left + few + %ld months left + many + %ld months left + other + %ld months left + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + 0 days left + one + 1 day left + few + %ld days left + many + %ld days left + other + %ld days left + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + 0 hours left + one + 1 hour left + few + %ld hours left + many + %ld hours left + other + %ld hours left + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + 0 minutes left + one + 1 minute left + few + %ld minutes left + many + %ld minutes left + other + %ld minutes left + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + 0 seconds left + one + 1 second left + few + %ld seconds left + many + %ld seconds left + other + %ld seconds left + + diff --git a/Localization/app.json b/Localization/app.json index 7b5e271e4..ba6aca468 100644 --- a/Localization/app.json +++ b/Localization/app.json @@ -13,7 +13,7 @@ }, "vote_failure": { "title": "Vote Failure", - "poll_expired": "The poll has expired" + "poll_ended": "The poll has ended" }, "discard_post_content": { "title": "Discard Draft", @@ -130,7 +130,6 @@ "media_content_warning": "Tap anywhere to reveal", "poll": { "vote": "Vote", - "time_left": "%s left", "closed": "Closed" }, "actions": { @@ -171,8 +170,7 @@ "timeline": { "filtered": "Filtered", "timestamp": { - "now": "Now", - "time_ago": "%s ago" + "now": "Now" }, "loader": { "load_missing_posts": "Load missing posts", @@ -187,11 +185,6 @@ "user_blocked_warning": "You can’t view %s’s profile\n until they unblock you.", "suspended_warning": "This user has been suspended.", "user_suspended_warning": "%s’s account has been suspended." - }, - "accessibility": { - "count_replies": "%s replies", - "count_reblogs": "%s reblogs", - "count_favorites": "%s favorites" } } } @@ -383,9 +376,7 @@ "custom_emoji_picker": "Custom Emoji Picker", "enable_content_warning": "Enable Content Warning", "disable_content_warning": "Disable Content Warning", - "post_visibility_menu": "Post Visibility Menu", - "input_limit_remains_count": "Input limit remains %ld", - "input_limit_exceeds_count": "Input limit exceeds %ld" + "post_visibility_menu": "Post Visibility Menu" }, "keyboard": { "discard_post": "Discard Post", @@ -400,12 +391,7 @@ "dashboard": { "posts": "posts", "following": "following", - "followers": "followers", - "accessibility": { - "count_posts": "%ld posts", - "count_following": "%ld following", - "count_followers": "%ld followers" - } + "followers": "followers" }, "fields": { "add_row": "Add Row", @@ -463,9 +449,6 @@ "clear": "Clear" } }, - "hashtag": { - "prompt": "%s people talking" - }, "favorite": { "title": "Your Favorites" }, diff --git a/Mastodon.xcodeproj/xcuserdata/mainasuk.xcuserdatad/xcschemes/xcschememanagement.plist b/Mastodon.xcodeproj/xcuserdata/mainasuk.xcuserdatad/xcschemes/xcschememanagement.plist index 575dc6248..6faa9959a 100644 --- a/Mastodon.xcodeproj/xcuserdata/mainasuk.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/Mastodon.xcodeproj/xcuserdata/mainasuk.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,12 +7,12 @@ AppShared.xcscheme_^#shared#^_ orderHint - 32 + 30 CoreDataStack.xcscheme_^#shared#^_ orderHint - 33 + 34 Mastodon - ASDK.xcscheme_^#shared#^_ @@ -37,7 +37,7 @@ Mastodon - ca.xcscheme_^#shared#^_ orderHint - 30 + 29 Mastodon - en.xcscheme_^#shared#^_ @@ -67,7 +67,7 @@ Mastodon - zh_Hans.xcscheme_^#shared#^_ orderHint - 29 + 28 Mastodon.xcscheme_^#shared#^_ @@ -77,7 +77,7 @@ MastodonIntent.xcscheme_^#shared#^_ orderHint - 31 + 32 MastodonIntents.xcscheme_^#shared#^_ @@ -97,7 +97,7 @@ ShareActionExtension.xcscheme_^#shared#^_ orderHint - 35 + 31 SuppressBuildableAutocreation diff --git a/Mastodon/Diffiable/Section/Status/StatusSection.swift b/Mastodon/Diffiable/Section/Status/StatusSection.swift index 0958ec73f..92f39b215 100644 --- a/Mastodon/Diffiable/Section/Status/StatusSection.swift +++ b/Mastodon/Diffiable/Section/Status/StatusSection.swift @@ -390,14 +390,14 @@ extension StatusSection { StatusSection.configureStatusViewAuthor(cell: cell, status: status) // set timestamp let createdAt = (status.reblog ?? status).createdAt - cell.statusView.dateLabel.text = createdAt.slowedTimeAgoSinceNow + cell.statusView.dateLabel.text = createdAt.localizedSlowedTimeAgoSinceNow cell.statusView.dateLabel.accessibilityValue = createdAt.timeAgoSinceNow AppContext.shared.timestampUpdatePublisher .receive(on: RunLoop.main) // will be paused when scrolling (on purpose) .sink { [weak cell] _ in guard let cell = cell else { return } - cell.statusView.dateLabel.text = createdAt.slowedTimeAgoSinceNow - cell.statusView.dateLabel.accessibilityLabel = createdAt.slowedTimeAgoSinceNow + cell.statusView.dateLabel.text = createdAt.localizedSlowedTimeAgoSinceNow + cell.statusView.dateLabel.accessibilityLabel = createdAt.localizedSlowedTimeAgoSinceNow } .store(in: &cell.disposeBag) // set content diff --git a/Mastodon/Extension/Date.swift b/Mastodon/Extension/Date.swift index daa5eab6c..2d2ff6a99 100644 --- a/Mastodon/Extension/Date.swift +++ b/Mastodon/Extension/Date.swift @@ -10,21 +10,31 @@ import DateToolsSwift extension Date { - var slowedTimeAgoSinceNow: String { - return self.slowedTimeAgo(since: Date()) + static let relativeTimestampFormatter: RelativeDateTimeFormatter = { + let formatter = RelativeDateTimeFormatter() + formatter.dateTimeStyle = .numeric + formatter.unitsStyle = .abbreviated + return formatter + }() + + var localizedSlowedTimeAgoSinceNow: String { + return self.localizedSlowedTimeAgo(since: Date()) } - func slowedTimeAgo(since date: Date) -> String { + func localizedSlowedTimeAgo(since date: Date) -> String { let earlierDate = date < self ? date : self - let latest = earlierDate == date ? self : date + let latestDate = earlierDate == date ? self : date - if earlierDate.timeIntervalSince(latest) >= -60 { + if earlierDate.timeIntervalSince(latestDate) >= -60 { return L10n.Common.Controls.Timeline.Timestamp.now } else { - let interval = latest.shortTimeAgo(since: earlierDate) // 1s - return L10n.Common.Controls.Timeline.Timestamp.timeAgo(interval) // 1s ago + return Date.relativeTimestampFormatter.localizedString(for: earlierDate, relativeTo: latestDate) } } + func timeLeft() -> String { + return "" + } + } diff --git a/Mastodon/Scene/Compose/ComposeViewModel+DataSource.swift b/Mastodon/Scene/Compose/ComposeViewModel+DataSource.swift index 49406144b..f6e700fbb 100644 --- a/Mastodon/Scene/Compose/ComposeViewModel+DataSource.swift +++ b/Mastodon/Scene/Compose/ComposeViewModel+DataSource.swift @@ -212,7 +212,7 @@ extension ComposeViewModel: UITableViewDataSource { assertionFailure() } // set date - cell.statusView.dateLabel.text = status.createdAt.slowedTimeAgoSinceNow + cell.statusView.dateLabel.text = status.createdAt.localizedSlowedTimeAgoSinceNow } return cell case .status: diff --git a/Mastodon/Scene/Share/View/Node/Status/StatusNode.swift b/Mastodon/Scene/Share/View/Node/Status/StatusNode.swift index 693540473..2f640a140 100644 --- a/Mastodon/Scene/Share/View/Node/Status/StatusNode.swift +++ b/Mastodon/Scene/Share/View/Node/Status/StatusNode.swift @@ -101,7 +101,7 @@ final class StatusNode: ASCellNode { .font: UIFont.systemFont(ofSize: 13, weight: .regular) ]) // set date - dateTextNode.attributedText = NSAttributedString(string: timestamp.slowedTimeAgoSinceNow, attributes: [ + dateTextNode.attributedText = NSAttributedString(string: timestamp.localizedSlowedTimeAgoSinceNow, attributes: [ .foregroundColor: Asset.Colors.Label.secondary.color, .font: UIFont.systemFont(ofSize: 13, weight: .regular) ]) @@ -131,7 +131,7 @@ final class StatusNode: ASCellNode { timestampSubscription = AppContext.shared.timestampUpdatePublisher .sink { [weak self] _ in guard let self = self else { return } - self.dateTextNode.attributedText = NSAttributedString(string: self.timestamp.slowedTimeAgoSinceNow, attributes: [ + self.dateTextNode.attributedText = NSAttributedString(string: self.timestamp.localizedSlowedTimeAgoSinceNow, attributes: [ .foregroundColor: Asset.Colors.Label.secondary.color, .font: UIFont.systemFont(ofSize: 13, weight: .regular) ]) From 698ae6de6fe1ed454051f3c15f7e46a0ca790604 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:16:35 +0200 Subject: [PATCH 029/115] New translations app.json (Romanian) --- .../StringsConvertor/input/ro_RO/app.json | 25 +++---------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/Localization/StringsConvertor/input/ro_RO/app.json b/Localization/StringsConvertor/input/ro_RO/app.json index 5afb5f55e..95faeff92 100644 --- a/Localization/StringsConvertor/input/ro_RO/app.json +++ b/Localization/StringsConvertor/input/ro_RO/app.json @@ -13,7 +13,7 @@ }, "vote_failure": { "title": "Eșec la vot", - "poll_expired": "Sondajul a expirat" + "poll_ended": "The poll has ended" }, "discard_post_content": { "title": "Șterge Schită", @@ -130,7 +130,6 @@ "media_content_warning": "Tap anywhere to reveal", "poll": { "vote": "Vote", - "time_left": "%s left", "closed": "Closed" }, "actions": { @@ -171,8 +170,7 @@ "timeline": { "filtered": "Filtered", "timestamp": { - "now": "Now", - "time_ago": "%s ago" + "now": "Now" }, "loader": { "load_missing_posts": "Load missing posts", @@ -187,11 +185,6 @@ "user_blocked_warning": "You can’t view %s’s profile\n until they unblock you.", "suspended_warning": "This user has been suspended.", "user_suspended_warning": "%s’s account has been suspended." - }, - "accessibility": { - "count_replies": "%s replies", - "count_reblogs": "%s reblogs", - "count_favorites": "%s favorites" } } } @@ -383,9 +376,7 @@ "custom_emoji_picker": "Custom Emoji Picker", "enable_content_warning": "Enable Content Warning", "disable_content_warning": "Disable Content Warning", - "post_visibility_menu": "Post Visibility Menu", - "input_limit_remains_count": "Input limit remains %ld", - "input_limit_exceeds_count": "Input limit exceeds %ld" + "post_visibility_menu": "Post Visibility Menu" }, "keyboard": { "discard_post": "Discard Post", @@ -400,12 +391,7 @@ "dashboard": { "posts": "posts", "following": "following", - "followers": "followers", - "accessibility": { - "count_posts": "%ld posts", - "count_following": "%ld following", - "count_followers": "%ld followers" - } + "followers": "followers" }, "fields": { "add_row": "Add Row", @@ -463,9 +449,6 @@ "clear": "Clear" } }, - "hashtag": { - "prompt": "%s people talking" - }, "favorite": { "title": "Your Favorites" }, From 3406ecf2c80e3dd6a4e581cec37386be2c7a2141 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:16:36 +0200 Subject: [PATCH 030/115] New translations Localizable.stringsdict (Russian) --- .../input/ru_RU/Localizable.stringsdict | 220 ++++++++++++++++++ 1 file changed, 220 insertions(+) diff --git a/Localization/StringsConvertor/input/ru_RU/Localizable.stringsdict b/Localization/StringsConvertor/input/ru_RU/Localizable.stringsdict index bce5a6fe3..0b48ac969 100644 --- a/Localization/StringsConvertor/input/ru_RU/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/ru_RU/Localizable.stringsdict @@ -2,6 +2,46 @@ + a11y.plural.count.input_limit_exceeds + + NSStringLocalizedFormatKey + Input limit exceeds %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + few + %ld characters + many + %ld characters + other + %ld characters + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Input limit remains %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + few + %ld characters + many + %ld characters + other + %ld characters + + plural.count.metric_formatted.post NSStringLocalizedFormatKey @@ -22,6 +62,26 @@ posts + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 post + few + %ld posts + many + %ld posts + other + %ld posts + + plural.count.favorite NSStringLocalizedFormatKey @@ -122,5 +182,165 @@ %ld people talking + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 following + few + %ld following + many + %ld following + other + %ld following + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 follower + few + %ld followers + many + %ld followers + other + %ld followers + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 year left + few + %ld years left + many + %ld years left + other + %ld years left + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 months left + few + %ld months left + many + %ld months left + other + %ld months left + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 day left + few + %ld days left + many + %ld days left + other + %ld days left + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 hour left + few + %ld hours left + many + %ld hours left + other + %ld hours left + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 minute left + few + %ld minutes left + many + %ld minutes left + other + %ld minutes left + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 second left + few + %ld seconds left + many + %ld seconds left + other + %ld seconds left + + From cc60cb2124be3a6d0fb012591f3a9823df09e3a2 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:16:38 +0200 Subject: [PATCH 031/115] New translations app.json (Hindi) --- .../StringsConvertor/input/hi_IN/app.json | 25 +++---------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/Localization/StringsConvertor/input/hi_IN/app.json b/Localization/StringsConvertor/input/hi_IN/app.json index 7b5e271e4..ba6aca468 100644 --- a/Localization/StringsConvertor/input/hi_IN/app.json +++ b/Localization/StringsConvertor/input/hi_IN/app.json @@ -13,7 +13,7 @@ }, "vote_failure": { "title": "Vote Failure", - "poll_expired": "The poll has expired" + "poll_ended": "The poll has ended" }, "discard_post_content": { "title": "Discard Draft", @@ -130,7 +130,6 @@ "media_content_warning": "Tap anywhere to reveal", "poll": { "vote": "Vote", - "time_left": "%s left", "closed": "Closed" }, "actions": { @@ -171,8 +170,7 @@ "timeline": { "filtered": "Filtered", "timestamp": { - "now": "Now", - "time_ago": "%s ago" + "now": "Now" }, "loader": { "load_missing_posts": "Load missing posts", @@ -187,11 +185,6 @@ "user_blocked_warning": "You can’t view %s’s profile\n until they unblock you.", "suspended_warning": "This user has been suspended.", "user_suspended_warning": "%s’s account has been suspended." - }, - "accessibility": { - "count_replies": "%s replies", - "count_reblogs": "%s reblogs", - "count_favorites": "%s favorites" } } } @@ -383,9 +376,7 @@ "custom_emoji_picker": "Custom Emoji Picker", "enable_content_warning": "Enable Content Warning", "disable_content_warning": "Disable Content Warning", - "post_visibility_menu": "Post Visibility Menu", - "input_limit_remains_count": "Input limit remains %ld", - "input_limit_exceeds_count": "Input limit exceeds %ld" + "post_visibility_menu": "Post Visibility Menu" }, "keyboard": { "discard_post": "Discard Post", @@ -400,12 +391,7 @@ "dashboard": { "posts": "posts", "following": "following", - "followers": "followers", - "accessibility": { - "count_posts": "%ld posts", - "count_following": "%ld following", - "count_followers": "%ld followers" - } + "followers": "followers" }, "fields": { "add_row": "Add Row", @@ -463,9 +449,6 @@ "clear": "Clear" } }, - "hashtag": { - "prompt": "%s people talking" - }, "favorite": { "title": "Your Favorites" }, From 487b4689f336a5ab8bf3081165856933bdb82257 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:16:39 +0200 Subject: [PATCH 032/115] New translations app.json (Welsh) --- .../StringsConvertor/input/cy_GB/app.json | 25 +++---------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/Localization/StringsConvertor/input/cy_GB/app.json b/Localization/StringsConvertor/input/cy_GB/app.json index 7b5e271e4..ba6aca468 100644 --- a/Localization/StringsConvertor/input/cy_GB/app.json +++ b/Localization/StringsConvertor/input/cy_GB/app.json @@ -13,7 +13,7 @@ }, "vote_failure": { "title": "Vote Failure", - "poll_expired": "The poll has expired" + "poll_ended": "The poll has ended" }, "discard_post_content": { "title": "Discard Draft", @@ -130,7 +130,6 @@ "media_content_warning": "Tap anywhere to reveal", "poll": { "vote": "Vote", - "time_left": "%s left", "closed": "Closed" }, "actions": { @@ -171,8 +170,7 @@ "timeline": { "filtered": "Filtered", "timestamp": { - "now": "Now", - "time_ago": "%s ago" + "now": "Now" }, "loader": { "load_missing_posts": "Load missing posts", @@ -187,11 +185,6 @@ "user_blocked_warning": "You can’t view %s’s profile\n until they unblock you.", "suspended_warning": "This user has been suspended.", "user_suspended_warning": "%s’s account has been suspended." - }, - "accessibility": { - "count_replies": "%s replies", - "count_reblogs": "%s reblogs", - "count_favorites": "%s favorites" } } } @@ -383,9 +376,7 @@ "custom_emoji_picker": "Custom Emoji Picker", "enable_content_warning": "Enable Content Warning", "disable_content_warning": "Disable Content Warning", - "post_visibility_menu": "Post Visibility Menu", - "input_limit_remains_count": "Input limit remains %ld", - "input_limit_exceeds_count": "Input limit exceeds %ld" + "post_visibility_menu": "Post Visibility Menu" }, "keyboard": { "discard_post": "Discard Post", @@ -400,12 +391,7 @@ "dashboard": { "posts": "posts", "following": "following", - "followers": "followers", - "accessibility": { - "count_posts": "%ld posts", - "count_following": "%ld following", - "count_followers": "%ld followers" - } + "followers": "followers" }, "fields": { "add_row": "Add Row", @@ -463,9 +449,6 @@ "clear": "Clear" } }, - "hashtag": { - "prompt": "%s people talking" - }, "favorite": { "title": "Your Favorites" }, From a5502d8df0287749ff2143f98207b8ce2e126b4f Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:16:41 +0200 Subject: [PATCH 033/115] New translations Localizable.stringsdict (French) --- .../input/fr_FR/Localizable.stringsdict | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) diff --git a/Localization/StringsConvertor/input/fr_FR/Localizable.stringsdict b/Localization/StringsConvertor/input/fr_FR/Localizable.stringsdict index d31559e32..56e176d1e 100644 --- a/Localization/StringsConvertor/input/fr_FR/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/fr_FR/Localizable.stringsdict @@ -2,6 +2,38 @@ + a11y.plural.count.input_limit_exceeds + + NSStringLocalizedFormatKey + Input limit exceeds %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Input limit remains %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.metric_formatted.post NSStringLocalizedFormatKey @@ -18,6 +50,22 @@ publications + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 post + other + %ld posts + + plural.count.favorite NSStringLocalizedFormatKey @@ -98,5 +146,133 @@ %ld personnes en parlent + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 following + other + %ld following + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 follower + other + %ld followers + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 year left + other + %ld years left + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 months left + other + %ld months left + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 day left + other + %ld days left + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 hour left + other + %ld hours left + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 minute left + other + %ld minutes left + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 second left + other + %ld seconds left + + From f89097ba11dce6d36392f11d76971b6b8d7fc42d Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:16:45 +0200 Subject: [PATCH 034/115] New translations Localizable.stringsdict (Spanish) --- .../input/es_ES/Localizable.stringsdict | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) diff --git a/Localization/StringsConvertor/input/es_ES/Localizable.stringsdict b/Localization/StringsConvertor/input/es_ES/Localizable.stringsdict index 77bb9668e..9097a22c4 100644 --- a/Localization/StringsConvertor/input/es_ES/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/es_ES/Localizable.stringsdict @@ -2,6 +2,38 @@ + a11y.plural.count.input_limit_exceeds + + NSStringLocalizedFormatKey + Input limit exceeds %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Input limit remains %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.metric_formatted.post NSStringLocalizedFormatKey @@ -18,6 +50,22 @@ publicaciones + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 post + other + %ld posts + + plural.count.favorite NSStringLocalizedFormatKey @@ -98,5 +146,133 @@ %ld personas están hablando de esto + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 following + other + %ld following + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 follower + other + %ld followers + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 year left + other + %ld years left + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 months left + other + %ld months left + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 day left + other + %ld days left + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 hour left + other + %ld hours left + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 minute left + other + %ld minutes left + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 second left + other + %ld seconds left + + From 72e3e1c73898dba61d18df983869964f8760c65b Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:16:46 +0200 Subject: [PATCH 035/115] New translations Localizable.stringsdict (Arabic) --- .../input/ar_SA/Localizable.stringsdict | 264 ++++++++++++++++++ 1 file changed, 264 insertions(+) diff --git a/Localization/StringsConvertor/input/ar_SA/Localizable.stringsdict b/Localization/StringsConvertor/input/ar_SA/Localizable.stringsdict index 7efc3e0f3..ac93b644b 100644 --- a/Localization/StringsConvertor/input/ar_SA/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/ar_SA/Localizable.stringsdict @@ -2,6 +2,54 @@ + a11y.plural.count.input_limit_exceeds + + NSStringLocalizedFormatKey + Input limit exceeds %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld characters + one + 1 character + two + %ld characters + few + %ld characters + many + %ld characters + other + %ld characters + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Input limit remains %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld characters + one + 1 character + two + %ld characters + few + %ld characters + many + %ld characters + other + %ld characters + + plural.count.metric_formatted.post NSStringLocalizedFormatKey @@ -26,6 +74,30 @@ posts + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld posts + one + 1 post + two + %ld posts + few + %ld posts + many + %ld posts + other + %ld posts + + plural.count.favorite NSStringLocalizedFormatKey @@ -146,5 +218,197 @@ %ld people talking + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld following + one + 1 following + two + %ld following + few + %ld following + many + %ld following + other + %ld following + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld followers + one + 1 follower + two + %ld followers + few + %ld followers + many + %ld followers + other + %ld followers + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld years left + one + 1 year left + two + %ld years left + few + %ld years left + many + %ld years left + other + %ld years left + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld months left + one + 1 months left + two + %ld months left + few + %ld months left + many + %ld months left + other + %ld months left + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld days left + one + 1 day left + two + %ld days left + few + %ld days left + many + %ld days left + other + %ld days left + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld hours left + one + 1 hour left + two + %ld hours left + few + %ld hours left + many + %ld hours left + other + %ld hours left + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld minutes left + one + 1 minute left + two + %ld minutes left + few + %ld minutes left + many + %ld minutes left + other + %ld minutes left + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld seconds left + one + 1 second left + two + %ld seconds left + few + %ld seconds left + many + %ld seconds left + other + %ld seconds left + + From 63188e46c72998007e20ebaf7d3eab7817f0cfde Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:16:47 +0200 Subject: [PATCH 036/115] New translations Localizable.stringsdict (German) --- .../input/de_DE/Localizable.stringsdict | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) diff --git a/Localization/StringsConvertor/input/de_DE/Localizable.stringsdict b/Localization/StringsConvertor/input/de_DE/Localizable.stringsdict index 03d0eb971..e0e798625 100644 --- a/Localization/StringsConvertor/input/de_DE/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/de_DE/Localizable.stringsdict @@ -2,6 +2,38 @@ + a11y.plural.count.input_limit_exceeds + + NSStringLocalizedFormatKey + Input limit exceeds %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Input limit remains %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.metric_formatted.post NSStringLocalizedFormatKey @@ -18,6 +50,22 @@ Beiträge + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 post + other + %ld posts + + plural.count.favorite NSStringLocalizedFormatKey @@ -98,5 +146,133 @@ %ld Leute reden + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 following + other + %ld following + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 follower + other + %ld followers + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 year left + other + %ld years left + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 months left + other + %ld months left + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 day left + other + %ld days left + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 hour left + other + %ld hours left + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 minute left + other + %ld minutes left + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 second left + other + %ld seconds left + + From 23db37c7963a918e234d972fd8cc5e25eb5d784b Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:16:48 +0200 Subject: [PATCH 037/115] New translations Localizable.stringsdict (Japanese) --- .../input/ja_JP/Localizable.stringsdict | 154 ++++++++++++++++++ 1 file changed, 154 insertions(+) diff --git a/Localization/StringsConvertor/input/ja_JP/Localizable.stringsdict b/Localization/StringsConvertor/input/ja_JP/Localizable.stringsdict index caa81fb6a..82230ebcd 100644 --- a/Localization/StringsConvertor/input/ja_JP/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/ja_JP/Localizable.stringsdict @@ -2,6 +2,34 @@ + a11y.plural.count.input_limit_exceeds + + NSStringLocalizedFormatKey + Input limit exceeds %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld characters + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Input limit remains %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld characters + + plural.count.metric_formatted.post NSStringLocalizedFormatKey @@ -16,6 +44,20 @@ posts + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld posts + + plural.count.favorite NSStringLocalizedFormatKey @@ -86,5 +128,117 @@ %ld people talking + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld following + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld followers + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld years left + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld months left + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld days left + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld hours left + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld minutes left + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld seconds left + + From 8b595271fad7e7795d974e4736b5428086b2c3ca Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:16:49 +0200 Subject: [PATCH 038/115] New translations Localizable.stringsdict (Portuguese) --- .../input/pt_PT/Localizable.stringsdict | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) diff --git a/Localization/StringsConvertor/input/pt_PT/Localizable.stringsdict b/Localization/StringsConvertor/input/pt_PT/Localizable.stringsdict index 33e100fae..42c07cec9 100644 --- a/Localization/StringsConvertor/input/pt_PT/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/pt_PT/Localizable.stringsdict @@ -2,6 +2,38 @@ + a11y.plural.count.input_limit_exceeds + + NSStringLocalizedFormatKey + Input limit exceeds %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Input limit remains %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.metric_formatted.post NSStringLocalizedFormatKey @@ -18,6 +50,22 @@ posts + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 post + other + %ld posts + + plural.count.favorite NSStringLocalizedFormatKey @@ -98,5 +146,133 @@ %ld people talking + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 following + other + %ld following + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 follower + other + %ld followers + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 year left + other + %ld years left + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 months left + other + %ld months left + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 day left + other + %ld days left + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 hour left + other + %ld hours left + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 minute left + other + %ld minutes left + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 second left + other + %ld seconds left + + From 55ba8233f96ea8e1e72c5574aae1b3371e00bf5a Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:16:50 +0200 Subject: [PATCH 039/115] New translations Localizable.stringsdict (Chinese Simplified) --- .../input/zh_CN/Localizable.stringsdict | 154 ++++++++++++++++++ 1 file changed, 154 insertions(+) diff --git a/Localization/StringsConvertor/input/zh_CN/Localizable.stringsdict b/Localization/StringsConvertor/input/zh_CN/Localizable.stringsdict index e94476863..c416ce76f 100644 --- a/Localization/StringsConvertor/input/zh_CN/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/zh_CN/Localizable.stringsdict @@ -2,6 +2,34 @@ + a11y.plural.count.input_limit_exceeds + + NSStringLocalizedFormatKey + Input limit exceeds %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld characters + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Input limit remains %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld characters + + plural.count.metric_formatted.post NSStringLocalizedFormatKey @@ -16,6 +44,20 @@ 帖子 + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld posts + + plural.count.favorite NSStringLocalizedFormatKey @@ -86,5 +128,117 @@ %ld 人正在讨论 + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld following + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld followers + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld years left + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld months left + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld days left + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld hours left + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld minutes left + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld seconds left + + From 5207cf1c23bc0320817b85935a194c7ff31ba01d Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:16:51 +0200 Subject: [PATCH 040/115] New translations Localizable.stringsdict (Portuguese, Brazilian) --- .../input/pt_BR/Localizable.stringsdict | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) diff --git a/Localization/StringsConvertor/input/pt_BR/Localizable.stringsdict b/Localization/StringsConvertor/input/pt_BR/Localizable.stringsdict index 33e100fae..42c07cec9 100644 --- a/Localization/StringsConvertor/input/pt_BR/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/pt_BR/Localizable.stringsdict @@ -2,6 +2,38 @@ + a11y.plural.count.input_limit_exceeds + + NSStringLocalizedFormatKey + Input limit exceeds %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Input limit remains %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.metric_formatted.post NSStringLocalizedFormatKey @@ -18,6 +50,22 @@ posts + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 post + other + %ld posts + + plural.count.favorite NSStringLocalizedFormatKey @@ -98,5 +146,133 @@ %ld people talking + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 following + other + %ld following + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 follower + other + %ld followers + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 year left + other + %ld years left + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 months left + other + %ld months left + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 day left + other + %ld days left + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 hour left + other + %ld hours left + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 minute left + other + %ld minutes left + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 second left + other + %ld seconds left + + From 84ae695d129df2df8f4fee3f25df139d5c31025e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:16:52 +0200 Subject: [PATCH 041/115] New translations Localizable.stringsdict (Spanish, Argentina) --- .../input/es_AR/Localizable.stringsdict | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) diff --git a/Localization/StringsConvertor/input/es_AR/Localizable.stringsdict b/Localization/StringsConvertor/input/es_AR/Localizable.stringsdict index 9af995567..d1c258f4b 100644 --- a/Localization/StringsConvertor/input/es_AR/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/es_AR/Localizable.stringsdict @@ -2,6 +2,38 @@ + a11y.plural.count.input_limit_exceeds + + NSStringLocalizedFormatKey + Input limit exceeds %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Input limit remains %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.metric_formatted.post NSStringLocalizedFormatKey @@ -18,6 +50,22 @@ mensajes + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 post + other + %ld posts + + plural.count.favorite NSStringLocalizedFormatKey @@ -98,5 +146,133 @@ %ld cuentas hablando + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 following + other + %ld following + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 follower + other + %ld followers + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 year left + other + %ld years left + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 months left + other + %ld months left + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 day left + other + %ld days left + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 hour left + other + %ld hours left + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 minute left + other + %ld minutes left + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 second left + other + %ld seconds left + + From ae5b1e438e7531c0298cbabba55962f0f8444087 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:16:53 +0200 Subject: [PATCH 042/115] New translations Localizable.stringsdict (Hindi) --- .../input/hi_IN/Localizable.stringsdict | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) diff --git a/Localization/StringsConvertor/input/hi_IN/Localizable.stringsdict b/Localization/StringsConvertor/input/hi_IN/Localizable.stringsdict index 33e100fae..42c07cec9 100644 --- a/Localization/StringsConvertor/input/hi_IN/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/hi_IN/Localizable.stringsdict @@ -2,6 +2,38 @@ + a11y.plural.count.input_limit_exceeds + + NSStringLocalizedFormatKey + Input limit exceeds %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Input limit remains %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.metric_formatted.post NSStringLocalizedFormatKey @@ -18,6 +50,22 @@ posts + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 post + other + %ld posts + + plural.count.favorite NSStringLocalizedFormatKey @@ -98,5 +146,133 @@ %ld people talking + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 following + other + %ld following + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 follower + other + %ld followers + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 year left + other + %ld years left + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 months left + other + %ld months left + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 day left + other + %ld days left + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 hour left + other + %ld hours left + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 minute left + other + %ld minutes left + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 second left + other + %ld seconds left + + From 3b2cb0884eed9e1e075068bef6ea1cc979bc1c5f Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:16:54 +0200 Subject: [PATCH 043/115] New translations Localizable.stringsdict (Welsh) --- .../input/cy_GB/Localizable.stringsdict | 264 ++++++++++++++++++ 1 file changed, 264 insertions(+) diff --git a/Localization/StringsConvertor/input/cy_GB/Localizable.stringsdict b/Localization/StringsConvertor/input/cy_GB/Localizable.stringsdict index 7efc3e0f3..ac93b644b 100644 --- a/Localization/StringsConvertor/input/cy_GB/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/cy_GB/Localizable.stringsdict @@ -2,6 +2,54 @@ + a11y.plural.count.input_limit_exceeds + + NSStringLocalizedFormatKey + Input limit exceeds %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld characters + one + 1 character + two + %ld characters + few + %ld characters + many + %ld characters + other + %ld characters + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Input limit remains %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld characters + one + 1 character + two + %ld characters + few + %ld characters + many + %ld characters + other + %ld characters + + plural.count.metric_formatted.post NSStringLocalizedFormatKey @@ -26,6 +74,30 @@ posts + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld posts + one + 1 post + two + %ld posts + few + %ld posts + many + %ld posts + other + %ld posts + + plural.count.favorite NSStringLocalizedFormatKey @@ -146,5 +218,197 @@ %ld people talking + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld following + one + 1 following + two + %ld following + few + %ld following + many + %ld following + other + %ld following + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld followers + one + 1 follower + two + %ld followers + few + %ld followers + many + %ld followers + other + %ld followers + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld years left + one + 1 year left + two + %ld years left + few + %ld years left + many + %ld years left + other + %ld years left + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld months left + one + 1 months left + two + %ld months left + few + %ld months left + many + %ld months left + other + %ld months left + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld days left + one + 1 day left + two + %ld days left + few + %ld days left + many + %ld days left + other + %ld days left + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld hours left + one + 1 hour left + two + %ld hours left + few + %ld hours left + many + %ld hours left + other + %ld hours left + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld minutes left + one + 1 minute left + two + %ld minutes left + few + %ld minutes left + many + %ld minutes left + other + %ld minutes left + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld seconds left + one + 1 second left + two + %ld seconds left + few + %ld seconds left + many + %ld seconds left + other + %ld seconds left + + From b71ce5e5f6178ee555db8c16145e1f9218e65d41 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:16:55 +0200 Subject: [PATCH 044/115] New translations Localizable.stringsdict (Korean) --- .../input/ko_KR/Localizable.stringsdict | 154 ++++++++++++++++++ 1 file changed, 154 insertions(+) diff --git a/Localization/StringsConvertor/input/ko_KR/Localizable.stringsdict b/Localization/StringsConvertor/input/ko_KR/Localizable.stringsdict index b4603a304..2a55b670b 100644 --- a/Localization/StringsConvertor/input/ko_KR/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/ko_KR/Localizable.stringsdict @@ -2,6 +2,34 @@ + a11y.plural.count.input_limit_exceeds + + NSStringLocalizedFormatKey + Input limit exceeds %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld characters + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Input limit remains %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld characters + + plural.count.metric_formatted.post NSStringLocalizedFormatKey @@ -16,6 +44,20 @@ 게시물 + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld posts + + plural.count.favorite NSStringLocalizedFormatKey @@ -86,5 +128,117 @@ %ld 명이 말하고 있음 + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld following + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld followers + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld years left + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld months left + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld days left + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld hours left + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld minutes left + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld seconds left + + From 7feaee411b3cb7501aff99334db58f7cc2c88d2a Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:16:56 +0200 Subject: [PATCH 045/115] New translations Localizable.stringsdict (Catalan) --- .../input/ca_ES/Localizable.stringsdict | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) diff --git a/Localization/StringsConvertor/input/ca_ES/Localizable.stringsdict b/Localization/StringsConvertor/input/ca_ES/Localizable.stringsdict index 76ff3b6f2..c52d8f770 100644 --- a/Localization/StringsConvertor/input/ca_ES/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/ca_ES/Localizable.stringsdict @@ -2,6 +2,38 @@ + a11y.plural.count.input_limit_exceeds + + NSStringLocalizedFormatKey + Input limit exceeds %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Input limit remains %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.metric_formatted.post NSStringLocalizedFormatKey @@ -18,6 +50,22 @@ publicacions + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 post + other + %ld posts + + plural.count.favorite NSStringLocalizedFormatKey @@ -98,5 +146,133 @@ %ld persones en parlen + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 following + other + %ld following + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 follower + other + %ld followers + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 year left + other + %ld years left + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 months left + other + %ld months left + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 day left + other + %ld days left + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 hour left + other + %ld hours left + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 minute left + other + %ld minutes left + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 second left + other + %ld seconds left + + From 0656afcd85bce528bcd5ca1d2ebca1fd97adfba1 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:16:56 +0200 Subject: [PATCH 046/115] New translations Localizable.stringsdict (Romanian) --- .../input/ro_RO/Localizable.stringsdict | 198 ++++++++++++++++++ 1 file changed, 198 insertions(+) diff --git a/Localization/StringsConvertor/input/ro_RO/Localizable.stringsdict b/Localization/StringsConvertor/input/ro_RO/Localizable.stringsdict index 0948a4c2e..c263567d2 100644 --- a/Localization/StringsConvertor/input/ro_RO/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/ro_RO/Localizable.stringsdict @@ -2,6 +2,42 @@ + a11y.plural.count.input_limit_exceeds + + NSStringLocalizedFormatKey + Input limit exceeds %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + few + %ld characters + other + %ld characters + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Input limit remains %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + few + %ld characters + other + %ld characters + + plural.count.metric_formatted.post NSStringLocalizedFormatKey @@ -20,6 +56,24 @@ posts + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 post + few + %ld posts + other + %ld posts + + plural.count.favorite NSStringLocalizedFormatKey @@ -110,5 +164,149 @@ %ld people talking + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 following + few + %ld following + other + %ld following + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 follower + few + %ld followers + other + %ld followers + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 year left + few + %ld years left + other + %ld years left + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 months left + few + %ld months left + other + %ld months left + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 day left + few + %ld days left + other + %ld days left + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 hour left + few + %ld hours left + other + %ld hours left + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 minute left + few + %ld minutes left + other + %ld minutes left + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 second left + few + %ld seconds left + other + %ld seconds left + + From 711ba0a0f04f02bd55990d93f30c97eec9971aa0 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:16:57 +0200 Subject: [PATCH 047/115] New translations app.json (Scottish Gaelic) --- .../StringsConvertor/input/gd_GB/app.json | 25 +++---------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/Localization/StringsConvertor/input/gd_GB/app.json b/Localization/StringsConvertor/input/gd_GB/app.json index 648284d11..509882fc9 100644 --- a/Localization/StringsConvertor/input/gd_GB/app.json +++ b/Localization/StringsConvertor/input/gd_GB/app.json @@ -13,7 +13,7 @@ }, "vote_failure": { "title": "Dh’fhàillig leis a’ bhòt", - "poll_expired": "Dh’fhalbh an ùine air a’ chunntas-bheachd" + "poll_ended": "The poll has ended" }, "discard_post_content": { "title": "Tilg air falbh an dreachd", @@ -130,7 +130,6 @@ "media_content_warning": "Thoir gnogag àite sam bith gus a nochdadh", "poll": { "vote": "Cuir bhòt", - "time_left": "%s air fhàgail", "closed": "Dùinte" }, "actions": { @@ -171,8 +170,7 @@ "timeline": { "filtered": "Criathraichte", "timestamp": { - "now": "An-dràsta", - "time_ago": "%s air ais" + "now": "An-dràsta" }, "loader": { "load_missing_posts": "Luchdaich postaichean a dhìth", @@ -187,11 +185,6 @@ "user_blocked_warning": "Chan fhaic thu a’ phròifil aig %s\n mus dì-bhac iad thu.", "suspended_warning": "Chaidh an cleachdaiche seo a chur à rèim.", "user_suspended_warning": "Chaidh an cunntas aig %s a chur à rèim." - }, - "accessibility": { - "count_replies": "Fhreagair %s dha", - "count_reblogs": "Tha %s ’ga bhrosnachadh", - "count_favorites": "Chuir %s ris na h-annsachdan e" } } } @@ -383,9 +376,7 @@ "custom_emoji_picker": "Roghnaichear nan Emoji gnàthaichte", "enable_content_warning": "Cuir rabhadh susbainte an comas", "disable_content_warning": "Cuir rabhadh susbainte à comas", - "post_visibility_menu": "Clàr-taice faicsinneachd a’ phuist", - "input_limit_remains_count": "Tha %ld a charactaran air fhàgail dhut", - "input_limit_exceeds_count": "Caractaran ion-chuir thar na crìche: %ld" + "post_visibility_menu": "Clàr-taice faicsinneachd a’ phuist" }, "keyboard": { "discard_post": "Tilg air falbh am post", @@ -400,12 +391,7 @@ "dashboard": { "posts": "postaichean", "following": "a’ leantainn", - "followers": "luchd-leantainn", - "accessibility": { - "count_posts": "Postaichean: %ld", - "count_following": "A’ leantainn air %ld", - "count_followers": "Luchd-leantainn: %ld" - } + "followers": "luchd-leantainn" }, "fields": { "add_row": "Cuir ràgh ris", @@ -463,9 +449,6 @@ "clear": "Falamhaich" } }, - "hashtag": { - "prompt": "%s a’ bruidhinn" - }, "favorite": { "title": "Na h-annsachdan agad" }, From a905ced65e0728107fd6e0473c413ed908d901e8 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:16:59 +0200 Subject: [PATCH 048/115] New translations Localizable.stringsdict (Scottish Gaelic) --- .../input/gd_GB/Localizable.stringsdict | 220 ++++++++++++++++++ 1 file changed, 220 insertions(+) diff --git a/Localization/StringsConvertor/input/gd_GB/Localizable.stringsdict b/Localization/StringsConvertor/input/gd_GB/Localizable.stringsdict index 650d19283..214befaad 100644 --- a/Localization/StringsConvertor/input/gd_GB/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/gd_GB/Localizable.stringsdict @@ -2,6 +2,46 @@ + a11y.plural.count.input_limit_exceeds + + NSStringLocalizedFormatKey + Input limit exceeds %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + two + %ld characters + few + %ld characters + other + %ld characters + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Input limit remains %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + two + %ld characters + few + %ld characters + other + %ld characters + + plural.count.metric_formatted.post NSStringLocalizedFormatKey @@ -22,6 +62,26 @@ post + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 post + two + %ld posts + few + %ld posts + other + %ld posts + + plural.count.favorite NSStringLocalizedFormatKey @@ -122,5 +182,165 @@ %ld a’ bruidhinn + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 following + two + %ld following + few + %ld following + other + %ld following + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 follower + two + %ld followers + few + %ld followers + other + %ld followers + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 year left + two + %ld years left + few + %ld years left + other + %ld years left + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 months left + two + %ld months left + few + %ld months left + other + %ld months left + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 day left + two + %ld days left + few + %ld days left + other + %ld days left + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 hour left + two + %ld hours left + few + %ld hours left + other + %ld hours left + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 minute left + two + %ld minutes left + few + %ld minutes left + other + %ld minutes left + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 second left + two + %ld seconds left + few + %ld seconds left + other + %ld seconds left + + From 5721adb6ffbebe86123ca87c0619033980adaefe Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:17:00 +0200 Subject: [PATCH 049/115] New translations Localizable.stringsdict (English) --- .../input/en_US/Localizable.stringsdict | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) diff --git a/Localization/StringsConvertor/input/en_US/Localizable.stringsdict b/Localization/StringsConvertor/input/en_US/Localizable.stringsdict index 33e100fae..42c07cec9 100644 --- a/Localization/StringsConvertor/input/en_US/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/en_US/Localizable.stringsdict @@ -2,6 +2,38 @@ + a11y.plural.count.input_limit_exceeds + + NSStringLocalizedFormatKey + Input limit exceeds %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Input limit remains %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.metric_formatted.post NSStringLocalizedFormatKey @@ -18,6 +50,22 @@ posts + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 post + other + %ld posts + + plural.count.favorite NSStringLocalizedFormatKey @@ -98,5 +146,133 @@ %ld people talking + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 following + other + %ld following + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 follower + other + %ld followers + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 year left + other + %ld years left + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 months left + other + %ld months left + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 day left + other + %ld days left + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 hour left + other + %ld hours left + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 minute left + other + %ld minutes left + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 second left + other + %ld seconds left + + From 30f756d39b5351b60f2455569d6d36895c72dd91 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:17:01 +0200 Subject: [PATCH 050/115] New translations Localizable.stringsdict (Chinese Traditional) --- .../input/zh_TW/Localizable.stringsdict | 154 ++++++++++++++++++ 1 file changed, 154 insertions(+) diff --git a/Localization/StringsConvertor/input/zh_TW/Localizable.stringsdict b/Localization/StringsConvertor/input/zh_TW/Localizable.stringsdict index caa81fb6a..82230ebcd 100644 --- a/Localization/StringsConvertor/input/zh_TW/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/zh_TW/Localizable.stringsdict @@ -2,6 +2,34 @@ + a11y.plural.count.input_limit_exceeds + + NSStringLocalizedFormatKey + Input limit exceeds %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld characters + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Input limit remains %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld characters + + plural.count.metric_formatted.post NSStringLocalizedFormatKey @@ -16,6 +44,20 @@ posts + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld posts + + plural.count.favorite NSStringLocalizedFormatKey @@ -86,5 +128,117 @@ %ld people talking + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld following + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld followers + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld years left + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld months left + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld days left + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld hours left + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld minutes left + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld seconds left + + From 0e258d0b0a4c85ef64f56e74e046b6b73f1cca96 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:17:02 +0200 Subject: [PATCH 051/115] New translations app.json (Spanish, Argentina) --- .../StringsConvertor/input/es_AR/app.json | 25 +++---------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/Localization/StringsConvertor/input/es_AR/app.json b/Localization/StringsConvertor/input/es_AR/app.json index ebabfac80..96b37be9b 100644 --- a/Localization/StringsConvertor/input/es_AR/app.json +++ b/Localization/StringsConvertor/input/es_AR/app.json @@ -13,7 +13,7 @@ }, "vote_failure": { "title": "Error al votar", - "poll_expired": "La encuesta finalizó" + "poll_ended": "The poll has ended" }, "discard_post_content": { "title": "Descartar borrador", @@ -130,7 +130,6 @@ "media_content_warning": "Toca en cualquier lugar para mostrar", "poll": { "vote": "Votar", - "time_left": "Quedan %s", "closed": "Cerrada" }, "actions": { @@ -171,8 +170,7 @@ "timeline": { "filtered": "Filtrado", "timestamp": { - "now": "Ahora", - "time_ago": "hace %s" + "now": "Ahora" }, "loader": { "load_missing_posts": "Cargar mensajes faltantes", @@ -187,11 +185,6 @@ "user_blocked_warning": "No podés ver el perfil de %s\n hasta que dicho usuario te desbloquee.", "suspended_warning": "Este usuario está suspendido.", "user_suspended_warning": "La cuenta de %s está suspendida." - }, - "accessibility": { - "count_replies": "%s respuestas", - "count_reblogs": "%s adhesiones", - "count_favorites": "%s veces marcado como favorito" } } } @@ -383,9 +376,7 @@ "custom_emoji_picker": "Selector de emoji personalizado", "enable_content_warning": "Habilitar advertencia de contenido", "disable_content_warning": "Deshabilitar advertencia de contenido", - "post_visibility_menu": "Menú de visibilidad del mensaje", - "input_limit_remains_count": "El límite de entrada permite %ld caracteres", - "input_limit_exceeds_count": "El límite de entrada excede %ld caracteres" + "post_visibility_menu": "Menú de visibilidad del mensaje" }, "keyboard": { "discard_post": "Descartar mensaje", @@ -400,12 +391,7 @@ "dashboard": { "posts": "mensajes", "following": "siguiendo", - "followers": "seguidores", - "accessibility": { - "count_posts": "%ld mensajes", - "count_following": "siguiendo a %ld", - "count_followers": "%ld seguidores" - } + "followers": "seguidores" }, "fields": { "add_row": "Agregar fila", @@ -463,9 +449,6 @@ "clear": "Limpiar" } }, - "hashtag": { - "prompt": "%s cuentas hablando" - }, "favorite": { "title": "Tus favoritos" }, From f33074cfa38a8a7ef606407ddc3c4149d2085ee3 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:17:04 +0200 Subject: [PATCH 052/115] New translations app.json (French) --- .../StringsConvertor/input/fr_FR/app.json | 25 +++---------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/Localization/StringsConvertor/input/fr_FR/app.json b/Localization/StringsConvertor/input/fr_FR/app.json index 8a5356806..359625fbd 100644 --- a/Localization/StringsConvertor/input/fr_FR/app.json +++ b/Localization/StringsConvertor/input/fr_FR/app.json @@ -13,7 +13,7 @@ }, "vote_failure": { "title": "Le vote n’a pas pu être enregistré", - "poll_expired": "Le sondage a expiré" + "poll_ended": "The poll has ended" }, "discard_post_content": { "title": "Abandonner le brouillon", @@ -130,7 +130,6 @@ "media_content_warning": "Tapotez n’importe où pour révéler la publication", "poll": { "vote": "Voter", - "time_left": "%s restantes", "closed": "Fermé" }, "actions": { @@ -171,8 +170,7 @@ "timeline": { "filtered": "Filtré", "timestamp": { - "now": "À l’instant", - "time_ago": "il y a %s" + "now": "À l’instant" }, "loader": { "load_missing_posts": "Charger les messages manquants", @@ -187,11 +185,6 @@ "user_blocked_warning": "Vous ne pouvez pas voir le profil de %s\n tant qu'il ne vous aura pas débloqué.", "suspended_warning": "Cet utilisateur a été suspendu.", "user_suspended_warning": "Le compte de %s à été suspendu." - }, - "accessibility": { - "count_replies": "%s réponses", - "count_reblogs": "%s reblogs", - "count_favorites": "%s favoris" } } } @@ -383,9 +376,7 @@ "custom_emoji_picker": "Sélecteur d’émojis personnalisé", "enable_content_warning": "Basculer l’avertissement de contenu", "disable_content_warning": "Désactiver l'avertissement de contenu", - "post_visibility_menu": "Menu de Visibilité de la publication", - "input_limit_remains_count": "La limite d'entrée reste %ld", - "input_limit_exceeds_count": "La limite d'entrée dépasse %ld" + "post_visibility_menu": "Menu de Visibilité de la publication" }, "keyboard": { "discard_post": "Rejeter la publication", @@ -400,12 +391,7 @@ "dashboard": { "posts": "publications", "following": "abonnements", - "followers": "abonnés", - "accessibility": { - "count_posts": "%ld publications", - "count_following": "%ld abonnés", - "count_followers": "%ld abonnés" - } + "followers": "abonnés" }, "fields": { "add_row": "Ajouter une rangée", @@ -463,9 +449,6 @@ "clear": "Effacer" } }, - "hashtag": { - "prompt": "%s personnes parlent" - }, "favorite": { "title": "Vos favoris" }, From ec317b78268d345438938738cabbd5694b28c0ba Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:17:05 +0200 Subject: [PATCH 053/115] New translations app.json (English) --- .../StringsConvertor/input/en_US/app.json | 25 +++---------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/Localization/StringsConvertor/input/en_US/app.json b/Localization/StringsConvertor/input/en_US/app.json index 7b5e271e4..ba6aca468 100644 --- a/Localization/StringsConvertor/input/en_US/app.json +++ b/Localization/StringsConvertor/input/en_US/app.json @@ -13,7 +13,7 @@ }, "vote_failure": { "title": "Vote Failure", - "poll_expired": "The poll has expired" + "poll_ended": "The poll has ended" }, "discard_post_content": { "title": "Discard Draft", @@ -130,7 +130,6 @@ "media_content_warning": "Tap anywhere to reveal", "poll": { "vote": "Vote", - "time_left": "%s left", "closed": "Closed" }, "actions": { @@ -171,8 +170,7 @@ "timeline": { "filtered": "Filtered", "timestamp": { - "now": "Now", - "time_ago": "%s ago" + "now": "Now" }, "loader": { "load_missing_posts": "Load missing posts", @@ -187,11 +185,6 @@ "user_blocked_warning": "You can’t view %s’s profile\n until they unblock you.", "suspended_warning": "This user has been suspended.", "user_suspended_warning": "%s’s account has been suspended." - }, - "accessibility": { - "count_replies": "%s replies", - "count_reblogs": "%s reblogs", - "count_favorites": "%s favorites" } } } @@ -383,9 +376,7 @@ "custom_emoji_picker": "Custom Emoji Picker", "enable_content_warning": "Enable Content Warning", "disable_content_warning": "Disable Content Warning", - "post_visibility_menu": "Post Visibility Menu", - "input_limit_remains_count": "Input limit remains %ld", - "input_limit_exceeds_count": "Input limit exceeds %ld" + "post_visibility_menu": "Post Visibility Menu" }, "keyboard": { "discard_post": "Discard Post", @@ -400,12 +391,7 @@ "dashboard": { "posts": "posts", "following": "following", - "followers": "followers", - "accessibility": { - "count_posts": "%ld posts", - "count_following": "%ld following", - "count_followers": "%ld followers" - } + "followers": "followers" }, "fields": { "add_row": "Add Row", @@ -463,9 +449,6 @@ "clear": "Clear" } }, - "hashtag": { - "prompt": "%s people talking" - }, "favorite": { "title": "Your Favorites" }, From f31ad5ef4d4fa91768611bb422300569b4589884 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:17:06 +0200 Subject: [PATCH 054/115] New translations app.json (Spanish) --- .../StringsConvertor/input/es_ES/app.json | 25 +++---------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/Localization/StringsConvertor/input/es_ES/app.json b/Localization/StringsConvertor/input/es_ES/app.json index febfe4733..93098f4ea 100644 --- a/Localization/StringsConvertor/input/es_ES/app.json +++ b/Localization/StringsConvertor/input/es_ES/app.json @@ -13,7 +13,7 @@ }, "vote_failure": { "title": "Voto fallido", - "poll_expired": "La encuesta ha caducado" + "poll_ended": "The poll has ended" }, "discard_post_content": { "title": "Descartar borrador", @@ -130,7 +130,6 @@ "media_content_warning": "Pulsa en cualquier sitio para mostrar", "poll": { "vote": "Vota", - "time_left": "Quedan %s", "closed": "Cerrado" }, "actions": { @@ -171,8 +170,7 @@ "timeline": { "filtered": "Filtrado", "timestamp": { - "now": "Ahora", - "time_ago": "Hace %s" + "now": "Ahora" }, "loader": { "load_missing_posts": "Cargar publicaciones faltantes", @@ -187,11 +185,6 @@ "user_blocked_warning": "No puedes ver el perfil de %s\n hasta que te desbloquee.", "suspended_warning": "Este usuario ha sido suspendido.", "user_suspended_warning": "La cuenta de %s ha sido suspendida." - }, - "accessibility": { - "count_replies": "%s respuestas", - "count_reblogs": "%s redifusiones", - "count_favorites": "%s favoritos" } } } @@ -383,9 +376,7 @@ "custom_emoji_picker": "Selector de Emojis Personalizados", "enable_content_warning": "Activar Advertencia de Contenido", "disable_content_warning": "Desactivar Advertencia de Contenido", - "post_visibility_menu": "Menú de Visibilidad de la Publicación", - "input_limit_remains_count": "%ld restante hasta el límite de entrada", - "input_limit_exceeds_count": "%ld en exceso sobre el límite de entrada" + "post_visibility_menu": "Menú de Visibilidad de la Publicación" }, "keyboard": { "discard_post": "Descartar Publicación", @@ -400,12 +391,7 @@ "dashboard": { "posts": "publicaciones", "following": "siguiendo", - "followers": "seguidores", - "accessibility": { - "count_posts": "%ld publicaciones", - "count_following": "%ld siguiendo", - "count_followers": "%ld seguidores" - } + "followers": "seguidores" }, "fields": { "add_row": "Añadir Fila", @@ -463,9 +449,6 @@ "clear": "Borrar" } }, - "hashtag": { - "prompt": "%s personas están hablando de esto" - }, "favorite": { "title": "Tus Favoritos" }, From a3645d43aa1027935f7e824f1ee4e4ab2cd03ced Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:17:07 +0200 Subject: [PATCH 055/115] New translations app.json (Arabic) --- .../StringsConvertor/input/ar_SA/app.json | 25 +++---------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/Localization/StringsConvertor/input/ar_SA/app.json b/Localization/StringsConvertor/input/ar_SA/app.json index 684f56946..935526da3 100644 --- a/Localization/StringsConvertor/input/ar_SA/app.json +++ b/Localization/StringsConvertor/input/ar_SA/app.json @@ -13,7 +13,7 @@ }, "vote_failure": { "title": "فشل التصويت", - "poll_expired": "انتهت مدة صلاحية الاستطلاع" + "poll_ended": "The poll has ended" }, "discard_post_content": { "title": "تجاهل المسودة", @@ -130,7 +130,6 @@ "media_content_warning": "Tap anywhere to reveal", "poll": { "vote": "Vote", - "time_left": "%s left", "closed": "Closed" }, "actions": { @@ -171,8 +170,7 @@ "timeline": { "filtered": "Filtered", "timestamp": { - "now": "الأن", - "time_ago": "منذ %s" + "now": "الأن" }, "loader": { "load_missing_posts": "Load missing posts", @@ -187,11 +185,6 @@ "user_blocked_warning": "You can’t view %s’s profile\n until they unblock you.", "suspended_warning": "This user has been suspended.", "user_suspended_warning": "%s’s account has been suspended." - }, - "accessibility": { - "count_replies": "%s replies", - "count_reblogs": "%s reblogs", - "count_favorites": "%s favorites" } } } @@ -383,9 +376,7 @@ "custom_emoji_picker": "منتقي مخصص للإيموجي", "enable_content_warning": "تنشيط تحذير المحتوى", "disable_content_warning": "تعطيل تحذير الحتوى", - "post_visibility_menu": "Post Visibility Menu", - "input_limit_remains_count": "Input limit remains %ld", - "input_limit_exceeds_count": "Input limit exceeds %ld" + "post_visibility_menu": "Post Visibility Menu" }, "keyboard": { "discard_post": "Discard Post", @@ -400,12 +391,7 @@ "dashboard": { "posts": "منشورات", "following": "مُتابَع", - "followers": "متابِع", - "accessibility": { - "count_posts": "%ld posts", - "count_following": "%ld following", - "count_followers": "%ld followers" - } + "followers": "متابِع" }, "fields": { "add_row": "إضافة صف", @@ -463,9 +449,6 @@ "clear": "Clear" } }, - "hashtag": { - "prompt": "%s people talking" - }, "favorite": { "title": "Your Favorites" }, From 6899f142b8608cbb4c307bf826e603658444935b Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:17:08 +0200 Subject: [PATCH 056/115] New translations app.json (Catalan) --- .../StringsConvertor/input/ca_ES/app.json | 25 +++---------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/Localization/StringsConvertor/input/ca_ES/app.json b/Localization/StringsConvertor/input/ca_ES/app.json index 0d7600780..57bbf91b3 100644 --- a/Localization/StringsConvertor/input/ca_ES/app.json +++ b/Localization/StringsConvertor/input/ca_ES/app.json @@ -13,7 +13,7 @@ }, "vote_failure": { "title": "Error del Vot", - "poll_expired": "L'enquesta ha finalitzat" + "poll_ended": "The poll has ended" }, "discard_post_content": { "title": "Descarta l'esborrany", @@ -130,7 +130,6 @@ "media_content_warning": "Toca qualsevol lloc per mostrar", "poll": { "vote": "Vota", - "time_left": "Falten %s", "closed": "Finalitzada" }, "actions": { @@ -171,8 +170,7 @@ "timeline": { "filtered": "Filtrat", "timestamp": { - "now": "Ara", - "time_ago": "fa %s" + "now": "Ara" }, "loader": { "load_missing_posts": "Carrega les publicacions que falten", @@ -187,11 +185,6 @@ "user_blocked_warning": "No pots veure el perfil de %s\n fins que et desbloquegi.", "suspended_warning": "Aquest usuari ha estat suspès.", "user_suspended_warning": "El compte de %s ha estat suspès." - }, - "accessibility": { - "count_replies": "respostes de %s", - "count_reblogs": "impulsos de %s", - "count_favorites": "favorits de %s" } } } @@ -383,9 +376,7 @@ "custom_emoji_picker": "Selector d'Emoji Personalitzat", "enable_content_warning": "Activa l'Avís de Contingut", "disable_content_warning": "Desactiva l'Avís de Contingut", - "post_visibility_menu": "Menú de Visibilitat de Publicació", - "input_limit_remains_count": "El límit d’entrada continua sent %ld", - "input_limit_exceeds_count": "El límit d’entrada supera a %ld" + "post_visibility_menu": "Menú de Visibilitat de Publicació" }, "keyboard": { "discard_post": "Descarta la Publicació", @@ -400,12 +391,7 @@ "dashboard": { "posts": "publicacions", "following": "seguint", - "followers": "seguidors", - "accessibility": { - "count_posts": "%ld publicacions", - "count_following": "seguint a %ld", - "count_followers": "%ld seguidors" - } + "followers": "seguidors" }, "fields": { "add_row": "Afegeix fila", @@ -463,9 +449,6 @@ "clear": "Neteja" } }, - "hashtag": { - "prompt": "%s persones hi estan parlant" - }, "favorite": { "title": "Els teus Favorits" }, From 08fef2996f9dec2b7d7b884151a0636b5df6fc47 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:17:09 +0200 Subject: [PATCH 057/115] New translations app.json (German) --- .../StringsConvertor/input/de_DE/app.json | 25 +++---------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/Localization/StringsConvertor/input/de_DE/app.json b/Localization/StringsConvertor/input/de_DE/app.json index 53df9aa6a..29f0a2ac7 100644 --- a/Localization/StringsConvertor/input/de_DE/app.json +++ b/Localization/StringsConvertor/input/de_DE/app.json @@ -13,7 +13,7 @@ }, "vote_failure": { "title": "Fehler bei Abstimmung", - "poll_expired": "Diese Umfrage ist abgelaufen" + "poll_ended": "The poll has ended" }, "discard_post_content": { "title": "Entwurf Verwerfen", @@ -130,7 +130,6 @@ "media_content_warning": "Tippe irgendwo zum Anzeigen", "poll": { "vote": "Abstimmen", - "time_left": "%s verbleiben", "closed": "Beendet" }, "actions": { @@ -171,8 +170,7 @@ "timeline": { "filtered": "Gefiltert", "timestamp": { - "now": "Gerade", - "time_ago": "vor %s" + "now": "Gerade" }, "loader": { "load_missing_posts": "Fehlende Beiträge laden", @@ -187,11 +185,6 @@ "user_blocked_warning": "Du kannst das Profil von %s nicht sehen\n bis der Benutzer dich entsperrt.", "suspended_warning": "Dieser Nutzer wurde gesperrt.", "user_suspended_warning": "Das Konto von %s wurde gesperrt." - }, - "accessibility": { - "count_replies": "%s Antworten", - "count_reblogs": "%s Teilungen", - "count_favorites": "%s Favoriten" } } } @@ -383,9 +376,7 @@ "custom_emoji_picker": "Benutzerdefinierter Emojiwähler", "enable_content_warning": "Inhaltswarnung einschalten", "disable_content_warning": "Inhaltswarnung ausschalten", - "post_visibility_menu": "Sichtbarkeitsmenü", - "input_limit_remains_count": "Eingabelimit bleibt %ld", - "input_limit_exceeds_count": "Eingabelimit überschreitet %ld" + "post_visibility_menu": "Sichtbarkeitsmenü" }, "keyboard": { "discard_post": "Beitrag verwerfen", @@ -400,12 +391,7 @@ "dashboard": { "posts": "Beiträge", "following": "Gefolgte", - "followers": "Folger", - "accessibility": { - "count_posts": "%ld Beiträge", - "count_following": "%ld Gefolgte", - "count_followers": "%ld Folger" - } + "followers": "Folger" }, "fields": { "add_row": "Zeile hinzufügen", @@ -463,9 +449,6 @@ "clear": "Zurücksetzen" } }, - "hashtag": { - "prompt": "%s Leute reden" - }, "favorite": { "title": "Deine Favoriten" }, From 84d96de43ff93532a26bc9032eaad9e8d4828298 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:17:09 +0200 Subject: [PATCH 058/115] New translations app.json (Japanese) --- .../StringsConvertor/input/ja_JP/app.json | 25 +++---------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/Localization/StringsConvertor/input/ja_JP/app.json b/Localization/StringsConvertor/input/ja_JP/app.json index 5ada6e9c5..276db5553 100644 --- a/Localization/StringsConvertor/input/ja_JP/app.json +++ b/Localization/StringsConvertor/input/ja_JP/app.json @@ -13,7 +13,7 @@ }, "vote_failure": { "title": "投票の失敗", - "poll_expired": "投票は終了しました" + "poll_ended": "The poll has ended" }, "discard_post_content": { "title": "トゥートを破棄しますか?", @@ -130,7 +130,6 @@ "media_content_warning": "どこかをタップして表示", "poll": { "vote": "投票", - "time_left": "残り%s", "closed": "クローズド" }, "actions": { @@ -171,8 +170,7 @@ "timeline": { "filtered": "フィルター済み", "timestamp": { - "now": "今", - "time_ago": "%s前" + "now": "今" }, "loader": { "load_missing_posts": "不足しているトゥートを読み込む", @@ -187,11 +185,6 @@ "user_blocked_warning": "%sがブロックを解除しない限りプロフィールをみることはできません。", "suspended_warning": "このユーザーは停止されています。", "user_suspended_warning": "%sのアカウントは停止されました。" - }, - "accessibility": { - "count_replies": "%s リプライ", - "count_reblogs": "%s ブースト", - "count_favorites": "%s いいね" } } } @@ -383,9 +376,7 @@ "custom_emoji_picker": "カスタム絵文字ピッカー", "enable_content_warning": "コンテンツ警告を有効にする", "disable_content_warning": "コンテンツ警告を無効にする", - "post_visibility_menu": "投稿の表示メニュー", - "input_limit_remains_count": "入力制限は残り %ld", - "input_limit_exceeds_count": "最大文字数を超えました。 %ld" + "post_visibility_menu": "投稿の表示メニュー" }, "keyboard": { "discard_post": "トゥートを破棄", @@ -400,12 +391,7 @@ "dashboard": { "posts": "トゥート", "following": "フォロー中", - "followers": "フォロワー", - "accessibility": { - "count_posts": "%ld トゥート", - "count_following": "%ld フォロー中", - "count_followers": "%ld フォロワー" - } + "followers": "フォロワー" }, "fields": { "add_row": "行追加", @@ -463,9 +449,6 @@ "clear": "クリア" } }, - "hashtag": { - "prompt": "%s人がこの話題について話しています" - }, "favorite": { "title": "あなたのいいね" }, From e089bd994bdfee222f5ebf598bf635709ecd0f78 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:17:10 +0200 Subject: [PATCH 059/115] New translations app.json (Korean) --- .../StringsConvertor/input/ko_KR/app.json | 25 +++---------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/Localization/StringsConvertor/input/ko_KR/app.json b/Localization/StringsConvertor/input/ko_KR/app.json index 3151566d3..030bbe8a3 100644 --- a/Localization/StringsConvertor/input/ko_KR/app.json +++ b/Localization/StringsConvertor/input/ko_KR/app.json @@ -13,7 +13,7 @@ }, "vote_failure": { "title": "투표 실패", - "poll_expired": "투표가 만료되었습니다" + "poll_ended": "The poll has ended" }, "discard_post_content": { "title": "초안 버리기", @@ -130,7 +130,6 @@ "media_content_warning": "Tap anywhere to reveal", "poll": { "vote": "투표", - "time_left": "%s 남음", "closed": "마감" }, "actions": { @@ -171,8 +170,7 @@ "timeline": { "filtered": "필터됨", "timestamp": { - "now": "지금", - "time_ago": "%s 전" + "now": "지금" }, "loader": { "load_missing_posts": "빈 게시물 불러오기", @@ -187,11 +185,6 @@ "user_blocked_warning": "You can’t view %s’s profile\n until they unblock you.", "suspended_warning": "이 사용자는 정지된 상태입니다.", "user_suspended_warning": "%s의 계정은 정지된 상태입니다." - }, - "accessibility": { - "count_replies": "%s개의 답장", - "count_reblogs": "%s개의 리블로그", - "count_favorites": "%s개의 즐겨찾기" } } } @@ -383,9 +376,7 @@ "custom_emoji_picker": "커스텀 에모지 선택기", "enable_content_warning": "열람 주의 설정", "disable_content_warning": "열람 주의 해제", - "post_visibility_menu": "게시물 공개범위 메뉴", - "input_limit_remains_count": "Input limit remains %ld", - "input_limit_exceeds_count": "Input limit exceeds %ld" + "post_visibility_menu": "게시물 공개범위 메뉴" }, "keyboard": { "discard_post": "글 버리기", @@ -400,12 +391,7 @@ "dashboard": { "posts": "게시물", "following": "팔로잉", - "followers": "팔로워", - "accessibility": { - "count_posts": "%ld 게시물", - "count_following": "%ld 팔로잉", - "count_followers": "%ld 팔로워" - } + "followers": "팔로워" }, "fields": { "add_row": "행 추가", @@ -463,9 +449,6 @@ "clear": "Clear" } }, - "hashtag": { - "prompt": "%s people talking" - }, "favorite": { "title": "Your Favorites" }, From 0917ea6d9fd6c556b3bcba550e042a7ce1d9fe07 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:17:11 +0200 Subject: [PATCH 060/115] New translations app.json (Dutch) --- .../StringsConvertor/input/nl_NL/app.json | 143 ++++++++---------- 1 file changed, 63 insertions(+), 80 deletions(-) diff --git a/Localization/StringsConvertor/input/nl_NL/app.json b/Localization/StringsConvertor/input/nl_NL/app.json index 9681f8bf8..0d9149070 100644 --- a/Localization/StringsConvertor/input/nl_NL/app.json +++ b/Localization/StringsConvertor/input/nl_NL/app.json @@ -13,7 +13,7 @@ }, "vote_failure": { "title": "Stemmen Mislukt", - "poll_expired": "De peiling is verlopen" + "poll_ended": "The poll has ended" }, "discard_post_content": { "title": "Concept Verwijderen", @@ -112,38 +112,37 @@ "open_reblogger_profile": "Open Reblogger's Profile", "reply_status": "Reageren", "toggle_reblog": "Toggle Reblog on Post", - "toggle_favorite": "Toggle Favorite on Post", - "toggle_content_warning": "Toggle Content Warning", - "preview_image": "Preview Image" + "toggle_favorite": "Favoriet Omschakelen bij Bericht", + "toggle_content_warning": "Inhoudswaarschuwing Omschakelen", + "preview_image": "Voorvertoning Afbeelding" }, "segmented_control": { - "previous_section": "Previous Section", - "next_section": "Next Section" + "previous_section": "Vorige Sectie", + "next_section": "Volgende Sectie" } }, "status": { "user_reblogged": "%s reblogged", - "user_replied_to": "Replied to %s", - "show_post": "Show Post", - "show_user_profile": "Show user profile", - "content_warning": "Content Warning", - "media_content_warning": "Tap anywhere to reveal", + "user_replied_to": "Reactie op %s", + "show_post": "Toon Bericht", + "show_user_profile": "Toon Gebruikersprofiel", + "content_warning": "Inhoudswaarschuwing", + "media_content_warning": "Tap hier om te tonen", "poll": { - "vote": "Vote", - "time_left": "%s left", - "closed": "Closed" + "vote": "Stemmen", + "closed": "Gesloten" }, "actions": { - "reply": "Reply", + "reply": "Reageren", "reblog": "Reblog", "unreblog": "Undo reblog", - "favorite": "Favorite", - "unfavorite": "Unfavorite", + "favorite": "Toevoegen aan Favorieten", + "unfavorite": "Verwijderen uit Favorieten", "menu": "Menu" }, "tag": { "url": "URL", - "mention": "Mention", + "mention": "Vermelden", "link": "Link", "hashtag": "Hashtag", "email": "Email", @@ -171,8 +170,7 @@ "timeline": { "filtered": "Filtered", "timestamp": { - "now": "Now", - "time_ago": "%s ago" + "now": "Now" }, "loader": { "load_missing_posts": "Load missing posts", @@ -187,11 +185,6 @@ "user_blocked_warning": "You can’t view %s’s profile\n until they unblock you.", "suspended_warning": "This user has been suspended.", "user_suspended_warning": "%s’s account has been suspended." - }, - "accessibility": { - "count_replies": "%s replies", - "count_reblogs": "%s reblogs", - "count_favorites": "%s favorites" } } } @@ -225,89 +218,89 @@ "label": { "language": "LANGUAGE", "users": "USERS", - "category": "CATEGORY" + "category": "CATEGORIE" }, "input": { - "placeholder": "Find a server or join your own..." + "placeholder": "Zoek uw server of sluit u bij een nieuwe server aan..." }, "empty_state": { - "finding_servers": "Finding available servers...", - "bad_network": "Something went wrong while loading the data. Check your internet connection.", - "no_results": "No results" + "finding_servers": "Beschikbare servers zoeken...", + "bad_network": "Er is een fout opgetreden bij het laden van de gegevens. Controleer uw internetverbinding.", + "no_results": "Geen resultaten" } }, "register": { - "title": "Tell us about you.", + "title": "Vertel ons over uzelf.", "input": { "avatar": { - "delete": "Delete" + "delete": "Verwijderen" }, "username": { - "placeholder": "username", - "duplicate_prompt": "This username is taken." + "placeholder": "gebruikersnaam", + "duplicate_prompt": "Deze gebruikersnaam is al in gebruik." }, "display_name": { - "placeholder": "display name" + "placeholder": "weergavenaam" }, "email": { "placeholder": "email" }, "password": { - "placeholder": "password", - "hint": "Your password needs at least eight characters" + "placeholder": "wachtwoord", + "hint": "Uw wachtwoord moet ten minste acht tekens bevatten" }, "invite": { - "registration_user_invite_request": "Why do you want to join?" + "registration_user_invite_request": "Waarom wil u zich hier registreren?" } }, "error": { "item": { - "username": "Username", + "username": "Gebruikersnaam", "email": "Email", - "password": "Password", - "agreement": "Agreement", - "locale": "Locale", - "reason": "Reason" + "password": "Wachtwoord", + "agreement": "Overeenkomst", + "locale": "Taal", + "reason": "Reden" }, "reason": { - "blocked": "%s contains a disallowed email provider", - "unreachable": "%s does not seem to exist", - "taken": "%s is already in use", - "reserved": "%s is a reserved keyword", - "accepted": "%s must be accepted", - "blank": "%s is required", - "invalid": "%s is invalid", - "too_long": "%s is too long", - "too_short": "%s is too short", - "inclusion": "%s is not a supported value" + "blocked": "%s gebruikt een niet-toegestane emailprovider", + "unreachable": "%s lijkt niet te bestaan", + "taken": "%s is reeds in gebruik", + "reserved": "%s is een gereserveerd woord", + "accepted": "%s moet geaccepteerd worden", + "blank": "%s is vereist", + "invalid": "%s is ongeldig", + "too_long": "%s is te lang", + "too_short": "%s is te kort", + "inclusion": "%s is een niet-ondersteunde waarde" }, "special": { - "username_invalid": "Username must only contain alphanumeric characters and underscores", - "username_too_long": "Username is too long (can’t be longer than 30 characters)", - "email_invalid": "This is not a valid email address", - "password_too_short": "Password is too short (must be at least 8 characters)" + "username_invalid": "Een gebruikersnaam mag alleen alfanumerieke karakters en lage streepjes bevatten", + "username_too_long": "De gebruikersnaam is te lang (het kan maximaal 30 karakters bevatten)", + "email_invalid": "Dit is geen geldig emailadres", + "password_too_short": "Het wachtwoord is te kort (het moet ten minste 8 tekens bevatten)" } } }, "server_rules": { - "title": "Some ground rules.", - "subtitle": "These rules are set by the admins of %s.", - "prompt": "By continuing, you’re subject to the terms of service and privacy policy for %s.", - "terms_of_service": "terms of service", - "privacy_policy": "privacy policy", + "title": "Enkele basisregels.", + "subtitle": "Deze regels zijn ingesteld door de beheerders van %s.", + "prompt": "Als u verder gaat dan gaat u akkoord met de servicevoorwaarden en privacybeleid van %s.", + "terms_of_service": "servicevoorwaarden", + "privacy_policy": "privacybeleid", "button": { - "confirm": "I Agree" + "confirm": "Ik Ga Akkoord" } }, "confirm_email": { - "title": "One last thing.", - "subtitle": "We just sent an email to %s,\ntap the link to confirm your account.", + "title": "Nog één ding.", + "subtitle": "We hebben een e-mail gestuurd naar %s,\nklik op de link om uw account te bevestigen.", "button": { - "open_email_app": "Open Email App", - "dont_receive_email": "I never got an email" + "open_email_app": "Email Openen", + "dont_receive_email": "Ik heb geen email ontvangen" }, "dont_receive_email": { - "title": "Check your email", + "title": "Controleer uw emailadres", "description": "Check if your email address is correct as well as your junk folder if you haven’t.", "resend_email": "Resend Email" }, @@ -383,9 +376,7 @@ "custom_emoji_picker": "Custom Emoji Picker", "enable_content_warning": "Enable Content Warning", "disable_content_warning": "Disable Content Warning", - "post_visibility_menu": "Post Visibility Menu", - "input_limit_remains_count": "Input limit remains %ld", - "input_limit_exceeds_count": "Input limit exceeds %ld" + "post_visibility_menu": "Post Visibility Menu" }, "keyboard": { "discard_post": "Discard Post", @@ -400,12 +391,7 @@ "dashboard": { "posts": "posts", "following": "following", - "followers": "followers", - "accessibility": { - "count_posts": "%ld posts", - "count_following": "%ld following", - "count_followers": "%ld followers" - } + "followers": "followers" }, "fields": { "add_row": "Add Row", @@ -463,9 +449,6 @@ "clear": "Clear" } }, - "hashtag": { - "prompt": "%s people talking" - }, "favorite": { "title": "Your Favorites" }, From 60420bce41f8cbeeb8de63f100d4d3370a058b40 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:17:12 +0200 Subject: [PATCH 061/115] New translations app.json (Portuguese) --- .../StringsConvertor/input/pt_PT/app.json | 25 +++---------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/Localization/StringsConvertor/input/pt_PT/app.json b/Localization/StringsConvertor/input/pt_PT/app.json index 7b5e271e4..ba6aca468 100644 --- a/Localization/StringsConvertor/input/pt_PT/app.json +++ b/Localization/StringsConvertor/input/pt_PT/app.json @@ -13,7 +13,7 @@ }, "vote_failure": { "title": "Vote Failure", - "poll_expired": "The poll has expired" + "poll_ended": "The poll has ended" }, "discard_post_content": { "title": "Discard Draft", @@ -130,7 +130,6 @@ "media_content_warning": "Tap anywhere to reveal", "poll": { "vote": "Vote", - "time_left": "%s left", "closed": "Closed" }, "actions": { @@ -171,8 +170,7 @@ "timeline": { "filtered": "Filtered", "timestamp": { - "now": "Now", - "time_ago": "%s ago" + "now": "Now" }, "loader": { "load_missing_posts": "Load missing posts", @@ -187,11 +185,6 @@ "user_blocked_warning": "You can’t view %s’s profile\n until they unblock you.", "suspended_warning": "This user has been suspended.", "user_suspended_warning": "%s’s account has been suspended." - }, - "accessibility": { - "count_replies": "%s replies", - "count_reblogs": "%s reblogs", - "count_favorites": "%s favorites" } } } @@ -383,9 +376,7 @@ "custom_emoji_picker": "Custom Emoji Picker", "enable_content_warning": "Enable Content Warning", "disable_content_warning": "Disable Content Warning", - "post_visibility_menu": "Post Visibility Menu", - "input_limit_remains_count": "Input limit remains %ld", - "input_limit_exceeds_count": "Input limit exceeds %ld" + "post_visibility_menu": "Post Visibility Menu" }, "keyboard": { "discard_post": "Discard Post", @@ -400,12 +391,7 @@ "dashboard": { "posts": "posts", "following": "following", - "followers": "followers", - "accessibility": { - "count_posts": "%ld posts", - "count_following": "%ld following", - "count_followers": "%ld followers" - } + "followers": "followers" }, "fields": { "add_row": "Add Row", @@ -463,9 +449,6 @@ "clear": "Clear" } }, - "hashtag": { - "prompt": "%s people talking" - }, "favorite": { "title": "Your Favorites" }, From 0030544376619b72a8bc524a1bc8d07de54bb4f4 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:17:13 +0200 Subject: [PATCH 062/115] New translations app.json (Russian) --- .../StringsConvertor/input/ru_RU/app.json | 25 +++---------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/Localization/StringsConvertor/input/ru_RU/app.json b/Localization/StringsConvertor/input/ru_RU/app.json index 04e31b350..27dbc400a 100644 --- a/Localization/StringsConvertor/input/ru_RU/app.json +++ b/Localization/StringsConvertor/input/ru_RU/app.json @@ -13,7 +13,7 @@ }, "vote_failure": { "title": "Не удалось проголосовать", - "poll_expired": "Этот опрос завершён" + "poll_ended": "The poll has ended" }, "discard_post_content": { "title": "Удалить черновик", @@ -130,7 +130,6 @@ "media_content_warning": "Нажмите в любом месте, чтобы показать", "poll": { "vote": "Проголосовать", - "time_left": "Осталось: %s", "closed": "Завершён" }, "actions": { @@ -171,8 +170,7 @@ "timeline": { "filtered": "Отфильтровано", "timestamp": { - "now": "Только что", - "time_ago": "%s назад" + "now": "Только что" }, "loader": { "load_missing_posts": "Загрузить недостающие посты", @@ -187,11 +185,6 @@ "user_blocked_warning": "Вы не можете просматривать\nпрофиль %s\nпока он(а) не разблокирует вас.", "suspended_warning": "Этот пользователь был заморожен.", "user_suspended_warning": "Учётная запись %s заморожена." - }, - "accessibility": { - "count_replies": "%s ответов", - "count_reblogs": "%s репостов", - "count_favorites": "%s добавил(и) в избранное" } } } @@ -383,9 +376,7 @@ "custom_emoji_picker": "Меню пользовательских эмодзи", "enable_content_warning": "Добавить предупреждение о содержании", "disable_content_warning": "Убрать предупреждение о содержании", - "post_visibility_menu": "Меню видимости поста", - "input_limit_remains_count": "Символов осталось: %ld", - "input_limit_exceeds_count": "Превышающих лимит символов: %ld" + "post_visibility_menu": "Меню видимости поста" }, "keyboard": { "discard_post": "Удалить пост", @@ -400,12 +391,7 @@ "dashboard": { "posts": "посты", "following": "подписки", - "followers": "подписчики", - "accessibility": { - "count_posts": "%ld posts", - "count_following": "%ld following", - "count_followers": "%ld followers" - } + "followers": "подписчики" }, "fields": { "add_row": "Добавить строку", @@ -463,9 +449,6 @@ "clear": "Очистить" } }, - "hashtag": { - "prompt": "%s people talking" - }, "favorite": { "title": "Ваше избранное" }, From bc5f2a5fa7eb6d02918a8011780ef4e384385a72 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:17:14 +0200 Subject: [PATCH 063/115] New translations app.json (Chinese Simplified) --- .../StringsConvertor/input/zh_CN/app.json | 25 +++---------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/Localization/StringsConvertor/input/zh_CN/app.json b/Localization/StringsConvertor/input/zh_CN/app.json index 2ab9c681d..504207570 100644 --- a/Localization/StringsConvertor/input/zh_CN/app.json +++ b/Localization/StringsConvertor/input/zh_CN/app.json @@ -13,7 +13,7 @@ }, "vote_failure": { "title": "投票失败", - "poll_expired": "此投票已过期" + "poll_ended": "The poll has ended" }, "discard_post_content": { "title": "丢弃草案", @@ -130,7 +130,6 @@ "media_content_warning": "点击任意位置显示", "poll": { "vote": "投票", - "time_left": "剩余 %s", "closed": "已关闭" }, "actions": { @@ -171,8 +170,7 @@ "timeline": { "filtered": "已过滤", "timestamp": { - "now": "现在", - "time_ago": "%s" + "now": "现在" }, "loader": { "load_missing_posts": "加载帖子", @@ -187,11 +185,6 @@ "user_blocked_warning": "您不能查看 %s 的个人资料\n直到他们解除屏蔽。", "suspended_warning": "此用户已被封禁。", "user_suspended_warning": "%s 已被封禁。" - }, - "accessibility": { - "count_replies": "%s 条回复", - "count_reblogs": "%s 条转发", - "count_favorites": "%s 个喜欢" } } } @@ -383,9 +376,7 @@ "custom_emoji_picker": "自定义表情选择器", "enable_content_warning": "启用内容警告", "disable_content_warning": "关闭内容警告", - "post_visibility_menu": "帖子可见性", - "input_limit_remains_count": "输入字符限制剩余 %ld", - "input_limit_exceeds_count": "输入字符限制超出 %ld" + "post_visibility_menu": "帖子可见性" }, "keyboard": { "discard_post": "丢弃帖子", @@ -400,12 +391,7 @@ "dashboard": { "posts": "帖子", "following": "正在关注", - "followers": "关注者", - "accessibility": { - "count_posts": "%ld 个帖子", - "count_following": "%ld 正在关注", - "count_followers": "%ld 个关注者" - } + "followers": "关注者" }, "fields": { "add_row": "添加", @@ -463,9 +449,6 @@ "clear": "清除" } }, - "hashtag": { - "prompt": "%s 人正在讨论" - }, "favorite": { "title": "你的喜欢" }, From 5df35367da790861815769efd182d993cd40563d Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:17:15 +0200 Subject: [PATCH 064/115] New translations app.json (Chinese Traditional) --- .../StringsConvertor/input/zh_TW/app.json | 25 +++---------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/Localization/StringsConvertor/input/zh_TW/app.json b/Localization/StringsConvertor/input/zh_TW/app.json index 7b5e271e4..ba6aca468 100644 --- a/Localization/StringsConvertor/input/zh_TW/app.json +++ b/Localization/StringsConvertor/input/zh_TW/app.json @@ -13,7 +13,7 @@ }, "vote_failure": { "title": "Vote Failure", - "poll_expired": "The poll has expired" + "poll_ended": "The poll has ended" }, "discard_post_content": { "title": "Discard Draft", @@ -130,7 +130,6 @@ "media_content_warning": "Tap anywhere to reveal", "poll": { "vote": "Vote", - "time_left": "%s left", "closed": "Closed" }, "actions": { @@ -171,8 +170,7 @@ "timeline": { "filtered": "Filtered", "timestamp": { - "now": "Now", - "time_ago": "%s ago" + "now": "Now" }, "loader": { "load_missing_posts": "Load missing posts", @@ -187,11 +185,6 @@ "user_blocked_warning": "You can’t view %s’s profile\n until they unblock you.", "suspended_warning": "This user has been suspended.", "user_suspended_warning": "%s’s account has been suspended." - }, - "accessibility": { - "count_replies": "%s replies", - "count_reblogs": "%s reblogs", - "count_favorites": "%s favorites" } } } @@ -383,9 +376,7 @@ "custom_emoji_picker": "Custom Emoji Picker", "enable_content_warning": "Enable Content Warning", "disable_content_warning": "Disable Content Warning", - "post_visibility_menu": "Post Visibility Menu", - "input_limit_remains_count": "Input limit remains %ld", - "input_limit_exceeds_count": "Input limit exceeds %ld" + "post_visibility_menu": "Post Visibility Menu" }, "keyboard": { "discard_post": "Discard Post", @@ -400,12 +391,7 @@ "dashboard": { "posts": "posts", "following": "following", - "followers": "followers", - "accessibility": { - "count_posts": "%ld posts", - "count_following": "%ld following", - "count_followers": "%ld followers" - } + "followers": "followers" }, "fields": { "add_row": "Add Row", @@ -463,9 +449,6 @@ "clear": "Clear" } }, - "hashtag": { - "prompt": "%s people talking" - }, "favorite": { "title": "Your Favorites" }, From b3b28ca10ef2a4fe6721d4c97208c11c606c70eb Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:17:16 +0200 Subject: [PATCH 065/115] New translations app.json (Portuguese, Brazilian) --- .../StringsConvertor/input/pt_BR/app.json | 25 +++---------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/Localization/StringsConvertor/input/pt_BR/app.json b/Localization/StringsConvertor/input/pt_BR/app.json index 7b5e271e4..ba6aca468 100644 --- a/Localization/StringsConvertor/input/pt_BR/app.json +++ b/Localization/StringsConvertor/input/pt_BR/app.json @@ -13,7 +13,7 @@ }, "vote_failure": { "title": "Vote Failure", - "poll_expired": "The poll has expired" + "poll_ended": "The poll has ended" }, "discard_post_content": { "title": "Discard Draft", @@ -130,7 +130,6 @@ "media_content_warning": "Tap anywhere to reveal", "poll": { "vote": "Vote", - "time_left": "%s left", "closed": "Closed" }, "actions": { @@ -171,8 +170,7 @@ "timeline": { "filtered": "Filtered", "timestamp": { - "now": "Now", - "time_ago": "%s ago" + "now": "Now" }, "loader": { "load_missing_posts": "Load missing posts", @@ -187,11 +185,6 @@ "user_blocked_warning": "You can’t view %s’s profile\n until they unblock you.", "suspended_warning": "This user has been suspended.", "user_suspended_warning": "%s’s account has been suspended." - }, - "accessibility": { - "count_replies": "%s replies", - "count_reblogs": "%s reblogs", - "count_favorites": "%s favorites" } } } @@ -383,9 +376,7 @@ "custom_emoji_picker": "Custom Emoji Picker", "enable_content_warning": "Enable Content Warning", "disable_content_warning": "Disable Content Warning", - "post_visibility_menu": "Post Visibility Menu", - "input_limit_remains_count": "Input limit remains %ld", - "input_limit_exceeds_count": "Input limit exceeds %ld" + "post_visibility_menu": "Post Visibility Menu" }, "keyboard": { "discard_post": "Discard Post", @@ -400,12 +391,7 @@ "dashboard": { "posts": "posts", "following": "following", - "followers": "followers", - "accessibility": { - "count_posts": "%ld posts", - "count_following": "%ld following", - "count_followers": "%ld followers" - } + "followers": "followers" }, "fields": { "add_row": "Add Row", @@ -463,9 +449,6 @@ "clear": "Clear" } }, - "hashtag": { - "prompt": "%s people talking" - }, "favorite": { "title": "Your Favorites" }, From 09ef52d23e723e2be6ca7edab544a7bd66e97585 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 09:17:25 +0200 Subject: [PATCH 066/115] New translations Localizable.stringsdict (Dutch) --- .../input/nl_NL/Localizable.stringsdict | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) diff --git a/Localization/StringsConvertor/input/nl_NL/Localizable.stringsdict b/Localization/StringsConvertor/input/nl_NL/Localizable.stringsdict index 33e100fae..42c07cec9 100644 --- a/Localization/StringsConvertor/input/nl_NL/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/nl_NL/Localizable.stringsdict @@ -2,6 +2,38 @@ + a11y.plural.count.input_limit_exceeds + + NSStringLocalizedFormatKey + Input limit exceeds %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Input limit remains %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.metric_formatted.post NSStringLocalizedFormatKey @@ -18,6 +50,22 @@ posts + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 post + other + %ld posts + + plural.count.favorite NSStringLocalizedFormatKey @@ -98,5 +146,133 @@ %ld people talking + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 following + other + %ld following + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 follower + other + %ld followers + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 year left + other + %ld years left + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 months left + other + %ld months left + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 day left + other + %ld days left + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 hour left + other + %ld hours left + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 minute left + other + %ld minutes left + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 second left + other + %ld seconds left + + From 9ac69d6d8b7630f39b91cdc86d676fcf35e6b20b Mon Sep 17 00:00:00 2001 From: CMK Date: Mon, 9 Aug 2021 16:01:53 +0800 Subject: [PATCH 067/115] chore: update i18n resources --- Localization/app.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/Localization/app.json b/Localization/app.json index ba6aca468..3d99c77da 100644 --- a/Localization/app.json +++ b/Localization/app.json @@ -324,9 +324,6 @@ "title": "Find People to Follow", "follow_explain": "When you follow someone, you’ll see their posts in your home feed." }, - "public_timeline": { - "title": "Public" - }, "compose": { "title": { "new_post": "New Post", From ec1aedada14b78b5197aaca168c1c30ab6d32133 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 10:17:20 +0200 Subject: [PATCH 068/115] New translations Intents.strings (Catalan) --- .../Intents/input/ca_ES/Intents.strings | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/Localization/StringsConvertor/Intents/input/ca_ES/Intents.strings b/Localization/StringsConvertor/Intents/input/ca_ES/Intents.strings index 3c3de2574..e19069797 100644 --- a/Localization/StringsConvertor/Intents/input/ca_ES/Intents.strings +++ b/Localization/StringsConvertor/Intents/input/ca_ES/Intents.strings @@ -1,51 +1,51 @@ -"16wxgf" = "Publicar a Mastodon"; +"16wxgf" = "Post on Mastodon"; -"751xkl" = "Contingut del Text"; +"751xkl" = "Text Content"; -"CsR7G2" = "Publicació"; +"CsR7G2" = "Post"; -"HZSGTr" = "Quin contingut publicar?"; +"HZSGTr" = "What content to post?"; -"HdGikU" = "Publicació fallida"; +"HdGikU" = "Posting failed"; -"KDNTJ4" = "Motiu del error"; +"KDNTJ4" = "Failure Reason"; -"RHxKOw" = "Envia Publicació amb contingut de text"; +"RHxKOw" = "Send Post with text content"; -"RxSqsb" = "Publicació"; +"RxSqsb" = "Post"; -"WCIR3D" = "Publicar ${content} a Mastodon"; +"WCIR3D" = "Post ${content} on Mastodon"; -"ZKJSNu" = "Publicació"; +"ZKJSNu" = "Post"; "ZS1XaK" = "${content}"; -"ZbSjzC" = "Visibilitat"; +"ZbSjzC" = "Visibility"; -"Zo4jgJ" = "Visibilitat de la Publicació"; +"Zo4jgJ" = "Post Visibility"; -"apSxMG-dYQ5NN" = "Hi ha ${count} opcions que coincideixen amb ‘Públic’."; +"apSxMG-dYQ5NN" = "There are ${count} options matching ‘Public’."; -"apSxMG-ehFLjY" = "Hi ha ${count} opcions que coincideixen amb ‘Només Seguidors’."; +"apSxMG-ehFLjY" = "There are ${count} options matching ‘Followers Only’."; -"ayoYEb-dYQ5NN" = "${content}, Públic"; +"ayoYEb-dYQ5NN" = "${content}, Public"; -"ayoYEb-ehFLjY" = "${content}, Només Seguidors"; +"ayoYEb-ehFLjY" = "${content}, Followers Only"; -"dUyuGg" = "Publicació"; +"dUyuGg" = "Post"; -"dYQ5NN" = "Públic"; +"dYQ5NN" = "Public"; -"ehFLjY" = "Només Seguidors"; +"ehFLjY" = "Followers Only"; -"gfePDu" = "Publicació fallida. ${failureReason}"; +"gfePDu" = "Posting failed. ${failureReason}"; -"k7dbKQ" = "La publicació s'ha enviat correctament."; +"k7dbKQ" = "Post was sent successfully."; -"oGiqmY-dYQ5NN" = "Només per a confirmar, volies 'Públic'?"; +"oGiqmY-dYQ5NN" = "Just to confirm, you wanted ‘Public’?"; -"oGiqmY-ehFLjY" = "Només per a confirmar, volies 'Només Seguidors'?"; +"oGiqmY-ehFLjY" = "Just to confirm, you wanted ‘Followers Only’?"; "rM6dvp" = "URL"; -"ryJLwG" = "La publicació s'ha enviat correctament. "; +"ryJLwG" = "Post was sent successfully. "; From 4940c00b829a81bf1172c714b8803c2b1873e70c Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 10:17:27 +0200 Subject: [PATCH 069/115] New translations Localizable.stringsdict (Dutch) --- .../StringsConvertor/input/nl_NL/Localizable.stringsdict | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Localization/StringsConvertor/input/nl_NL/Localizable.stringsdict b/Localization/StringsConvertor/input/nl_NL/Localizable.stringsdict index 42c07cec9..4f9da3bf0 100644 --- a/Localization/StringsConvertor/input/nl_NL/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/nl_NL/Localizable.stringsdict @@ -5,7 +5,7 @@ a11y.plural.count.input_limit_exceeds NSStringLocalizedFormatKey - Input limit exceeds %#@character_count@ + Invoer limiet overschrijdt %#@character_count@ character_count NSStringFormatSpecTypeKey @@ -13,9 +13,9 @@ NSStringFormatValueTypeKey ld one - 1 character + 1 teken other - %ld characters + %ld tekens a11y.plural.count.input_limit_remains From 13127269fad4d7ea19f94af9bced5c3d47825d01 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 10:17:28 +0200 Subject: [PATCH 070/115] New translations Intents.strings (French) --- .../Intents/input/fr_FR/Intents.strings | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/Localization/StringsConvertor/Intents/input/fr_FR/Intents.strings b/Localization/StringsConvertor/Intents/input/fr_FR/Intents.strings index b21e895e3..e19069797 100644 --- a/Localization/StringsConvertor/Intents/input/fr_FR/Intents.strings +++ b/Localization/StringsConvertor/Intents/input/fr_FR/Intents.strings @@ -1,51 +1,51 @@ -"16wxgf" = "Publier sur Mastodon"; +"16wxgf" = "Post on Mastodon"; -"751xkl" = "Contenu textuel"; +"751xkl" = "Text Content"; -"CsR7G2" = "Publication"; +"CsR7G2" = "Post"; -"HZSGTr" = "Quel contenu publier?"; +"HZSGTr" = "What content to post?"; -"HdGikU" = "L'envoi a échoué"; +"HdGikU" = "Posting failed"; -"KDNTJ4" = "Raison de l'échec"; +"KDNTJ4" = "Failure Reason"; -"RHxKOw" = "Envoyer un message avec du contenu textuel"; +"RHxKOw" = "Send Post with text content"; -"RxSqsb" = "Publication"; +"RxSqsb" = "Post"; -"WCIR3D" = "Publier ${content} sur Mastodon"; +"WCIR3D" = "Post ${content} on Mastodon"; -"ZKJSNu" = "Publication"; +"ZKJSNu" = "Post"; "ZS1XaK" = "${content}"; -"ZbSjzC" = "Visibilité"; +"ZbSjzC" = "Visibility"; -"Zo4jgJ" = "Visibilité de la publication"; +"Zo4jgJ" = "Post Visibility"; -"apSxMG-dYQ5NN" = "Il y a ${count} options correspondant à « Public »."; +"apSxMG-dYQ5NN" = "There are ${count} options matching ‘Public’."; -"apSxMG-ehFLjY" = "Il y a ${count} options correspondant à « Abonnés uniquement »."; +"apSxMG-ehFLjY" = "There are ${count} options matching ‘Followers Only’."; "ayoYEb-dYQ5NN" = "${content}, Public"; -"ayoYEb-ehFLjY" = "${content}, abonnés seulement"; +"ayoYEb-ehFLjY" = "${content}, Followers Only"; -"dUyuGg" = "Publication"; +"dUyuGg" = "Post"; "dYQ5NN" = "Public"; -"ehFLjY" = "Abonnés seulement"; +"ehFLjY" = "Followers Only"; -"gfePDu" = "L'envoi a échoué. ${failureReason}"; +"gfePDu" = "Posting failed. ${failureReason}"; -"k7dbKQ" = "Léa publication a été envoyée avec succès."; +"k7dbKQ" = "Post was sent successfully."; -"oGiqmY-dYQ5NN" = "Juste pour confirmer, vous vouliez bien diffuser en « Public » ?"; +"oGiqmY-dYQ5NN" = "Just to confirm, you wanted ‘Public’?"; -"oGiqmY-ehFLjY" = "Juste pour confirmer, vous vouliez bien diffuser en « abonnés uniquement » ?"; +"oGiqmY-ehFLjY" = "Just to confirm, you wanted ‘Followers Only’?"; "rM6dvp" = "URL"; -"ryJLwG" = "La publication a été envoyée avec succès. "; +"ryJLwG" = "Post was sent successfully. "; From 6ccca365e4eac42db787df28357ef2ce347e1070 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 10:17:29 +0200 Subject: [PATCH 071/115] New translations Intents.strings (Spanish) --- .../Intents/input/es_ES/Intents.strings | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/Localization/StringsConvertor/Intents/input/es_ES/Intents.strings b/Localization/StringsConvertor/Intents/input/es_ES/Intents.strings index b04a39c08..e19069797 100644 --- a/Localization/StringsConvertor/Intents/input/es_ES/Intents.strings +++ b/Localization/StringsConvertor/Intents/input/es_ES/Intents.strings @@ -1,51 +1,51 @@ -"16wxgf" = "Publicar en Mastodon"; +"16wxgf" = "Post on Mastodon"; -"751xkl" = "Contenido del Texto"; +"751xkl" = "Text Content"; -"CsR7G2" = "Publicación"; +"CsR7G2" = "Post"; -"HZSGTr" = "¿Qué contenido publicar?"; +"HZSGTr" = "What content to post?"; -"HdGikU" = "Publicación fallida"; +"HdGikU" = "Posting failed"; -"KDNTJ4" = "Motivo del fallo"; +"KDNTJ4" = "Failure Reason"; -"RHxKOw" = "Enviar publicación con contenido de texto"; +"RHxKOw" = "Send Post with text content"; -"RxSqsb" = "Publicar"; +"RxSqsb" = "Post"; -"WCIR3D" = "Publicar ${content} en Mastodon"; +"WCIR3D" = "Post ${content} on Mastodon"; -"ZKJSNu" = "Publicar"; +"ZKJSNu" = "Post"; "ZS1XaK" = "${content}"; -"ZbSjzC" = "Visibilidad"; +"ZbSjzC" = "Visibility"; -"Zo4jgJ" = "Visibilidad de la Publicación"; +"Zo4jgJ" = "Post Visibility"; -"apSxMG-dYQ5NN" = "Hay ${count} opciones que coinciden con «Público»."; +"apSxMG-dYQ5NN" = "There are ${count} options matching ‘Public’."; -"apSxMG-ehFLjY" = "Hay ${count} opciones que coinciden con «Solo seguidores»."; +"apSxMG-ehFLjY" = "There are ${count} options matching ‘Followers Only’."; -"ayoYEb-dYQ5NN" = "${content}, Público"; +"ayoYEb-dYQ5NN" = "${content}, Public"; -"ayoYEb-ehFLjY" = "${content}, Solo Seguidores"; +"ayoYEb-ehFLjY" = "${content}, Followers Only"; -"dUyuGg" = "Publicar"; +"dUyuGg" = "Post"; -"dYQ5NN" = "Público"; +"dYQ5NN" = "Public"; -"ehFLjY" = "Solo Seguidores"; +"ehFLjY" = "Followers Only"; -"gfePDu" = "Error al publicar. ${failureReason}"; +"gfePDu" = "Posting failed. ${failureReason}"; -"k7dbKQ" = "La publicación se envió correctamente."; +"k7dbKQ" = "Post was sent successfully."; -"oGiqmY-dYQ5NN" = "Solo para confirmar, ¿querías «Público»?"; +"oGiqmY-dYQ5NN" = "Just to confirm, you wanted ‘Public’?"; -"oGiqmY-ehFLjY" = "Solo para confirmar, ¿querías «Solo seguidores»?"; +"oGiqmY-ehFLjY" = "Just to confirm, you wanted ‘Followers Only’?"; "rM6dvp" = "URL"; -"ryJLwG" = "La publicación se envió con éxito. "; +"ryJLwG" = "Post was sent successfully. "; From 0492fa525ee742d37c2ff18b9b098f8c7aac8019 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 10:17:31 +0200 Subject: [PATCH 072/115] New translations Intents.strings (German) --- .../Intents/input/de_DE/Intents.strings | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/Localization/StringsConvertor/Intents/input/de_DE/Intents.strings b/Localization/StringsConvertor/Intents/input/de_DE/Intents.strings index 3bf4531e2..e19069797 100644 --- a/Localization/StringsConvertor/Intents/input/de_DE/Intents.strings +++ b/Localization/StringsConvertor/Intents/input/de_DE/Intents.strings @@ -1,28 +1,28 @@ "16wxgf" = "Post on Mastodon"; -"751xkl" = "Textinhalt"; +"751xkl" = "Text Content"; -"CsR7G2" = "Beitrag"; +"CsR7G2" = "Post"; "HZSGTr" = "What content to post?"; -"HdGikU" = "Senden fehlgeschlagen"; +"HdGikU" = "Posting failed"; -"KDNTJ4" = "Fehlerursache"; +"KDNTJ4" = "Failure Reason"; -"RHxKOw" = "Beitrag mit Textinhalt senden"; +"RHxKOw" = "Send Post with text content"; -"RxSqsb" = "Beitrag"; +"RxSqsb" = "Post"; "WCIR3D" = "Post ${content} on Mastodon"; -"ZKJSNu" = "Beitrag"; +"ZKJSNu" = "Post"; "ZS1XaK" = "${content}"; -"ZbSjzC" = "Sichtbarkeit"; +"ZbSjzC" = "Visibility"; -"Zo4jgJ" = "Sichtbarkeit des Beitrags"; +"Zo4jgJ" = "Post Visibility"; "apSxMG-dYQ5NN" = "There are ${count} options matching ‘Public’."; @@ -32,13 +32,13 @@ "ayoYEb-ehFLjY" = "${content}, Followers Only"; -"dUyuGg" = "Beitrag"; +"dUyuGg" = "Post"; "dYQ5NN" = "Public"; "ehFLjY" = "Followers Only"; -"gfePDu" = "Senden fehlgeschlagen. ${failureReason}"; +"gfePDu" = "Posting failed. ${failureReason}"; "k7dbKQ" = "Post was sent successfully."; @@ -48,4 +48,4 @@ "rM6dvp" = "URL"; -"ryJLwG" = "Beitrag wurde erfolgreich gesendet. "; +"ryJLwG" = "Post was sent successfully. "; From e7c8704de03dfeac5dcc1e9fc8c9961578fc8929 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 10:17:33 +0200 Subject: [PATCH 073/115] New translations Intents.strings (Korean) --- .../StringsConvertor/Intents/input/ko_KR/Intents.strings | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/Intents/input/ko_KR/Intents.strings b/Localization/StringsConvertor/Intents/input/ko_KR/Intents.strings index cda2f7d86..e19069797 100644 --- a/Localization/StringsConvertor/Intents/input/ko_KR/Intents.strings +++ b/Localization/StringsConvertor/Intents/input/ko_KR/Intents.strings @@ -2,13 +2,13 @@ "751xkl" = "Text Content"; -"CsR7G2" = "게시물"; +"CsR7G2" = "Post"; "HZSGTr" = "What content to post?"; "HdGikU" = "Posting failed"; -"KDNTJ4" = "실패 사유"; +"KDNTJ4" = "Failure Reason"; "RHxKOw" = "Send Post with text content"; @@ -32,7 +32,7 @@ "ayoYEb-ehFLjY" = "${content}, Followers Only"; -"dUyuGg" = "게시물"; +"dUyuGg" = "Post"; "dYQ5NN" = "Public"; @@ -48,4 +48,4 @@ "rM6dvp" = "URL"; -"ryJLwG" = "메시지가 성공적으로 전송되었습니다. "; +"ryJLwG" = "Post was sent successfully. "; From 485bea9e1fc731fe309ca7d6311dbddae6c2457c Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 10:17:34 +0200 Subject: [PATCH 074/115] New translations Intents.strings (Dutch) --- .../Intents/input/nl_NL/Intents.strings | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 Localization/StringsConvertor/Intents/input/nl_NL/Intents.strings diff --git a/Localization/StringsConvertor/Intents/input/nl_NL/Intents.strings b/Localization/StringsConvertor/Intents/input/nl_NL/Intents.strings new file mode 100644 index 000000000..e19069797 --- /dev/null +++ b/Localization/StringsConvertor/Intents/input/nl_NL/Intents.strings @@ -0,0 +1,51 @@ +"16wxgf" = "Post on Mastodon"; + +"751xkl" = "Text Content"; + +"CsR7G2" = "Post"; + +"HZSGTr" = "What content to post?"; + +"HdGikU" = "Posting failed"; + +"KDNTJ4" = "Failure Reason"; + +"RHxKOw" = "Send Post with text content"; + +"RxSqsb" = "Post"; + +"WCIR3D" = "Post ${content} on Mastodon"; + +"ZKJSNu" = "Post"; + +"ZS1XaK" = "${content}"; + +"ZbSjzC" = "Visibility"; + +"Zo4jgJ" = "Post Visibility"; + +"apSxMG-dYQ5NN" = "There are ${count} options matching ‘Public’."; + +"apSxMG-ehFLjY" = "There are ${count} options matching ‘Followers Only’."; + +"ayoYEb-dYQ5NN" = "${content}, Public"; + +"ayoYEb-ehFLjY" = "${content}, Followers Only"; + +"dUyuGg" = "Post"; + +"dYQ5NN" = "Public"; + +"ehFLjY" = "Followers Only"; + +"gfePDu" = "Posting failed. ${failureReason}"; + +"k7dbKQ" = "Post was sent successfully."; + +"oGiqmY-dYQ5NN" = "Just to confirm, you wanted ‘Public’?"; + +"oGiqmY-ehFLjY" = "Just to confirm, you wanted ‘Followers Only’?"; + +"rM6dvp" = "URL"; + +"ryJLwG" = "Post was sent successfully. "; From 8502781546dd896c3540ccce45c8f96b3d982e1e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 10:17:36 +0200 Subject: [PATCH 075/115] New translations Intents.strings (Chinese Simplified) --- .../Intents/input/zh_CN/Intents.strings | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/Localization/StringsConvertor/Intents/input/zh_CN/Intents.strings b/Localization/StringsConvertor/Intents/input/zh_CN/Intents.strings index 41067a523..e19069797 100644 --- a/Localization/StringsConvertor/Intents/input/zh_CN/Intents.strings +++ b/Localization/StringsConvertor/Intents/input/zh_CN/Intents.strings @@ -1,51 +1,51 @@ -"16wxgf" = "分享到 Mastodon"; +"16wxgf" = "Post on Mastodon"; -"751xkl" = "文本内容"; +"751xkl" = "Text Content"; -"CsR7G2" = "帖子"; +"CsR7G2" = "Post"; -"HZSGTr" = "要发送的内容是什么?"; +"HZSGTr" = "What content to post?"; -"HdGikU" = "发送失败"; +"HdGikU" = "Posting failed"; -"KDNTJ4" = "失败原因"; +"KDNTJ4" = "Failure Reason"; -"RHxKOw" = "发送带有文本内容的帖子"; +"RHxKOw" = "Send Post with text content"; -"RxSqsb" = "帖子"; +"RxSqsb" = "Post"; -"WCIR3D" = "在 Mastodon 上发送 ${content}"; +"WCIR3D" = "Post ${content} on Mastodon"; -"ZKJSNu" = "帖子"; +"ZKJSNu" = "Post"; "ZS1XaK" = "${content}"; -"ZbSjzC" = "可见性"; +"ZbSjzC" = "Visibility"; -"Zo4jgJ" = "帖子可见性"; +"Zo4jgJ" = "Post Visibility"; -"apSxMG-dYQ5NN" = "有 ${count} 个选项匹配 “公开”"; +"apSxMG-dYQ5NN" = "There are ${count} options matching ‘Public’."; -"apSxMG-ehFLjY" = "有 ${count} 个选项匹配 “仅关注者”"; +"apSxMG-ehFLjY" = "There are ${count} options matching ‘Followers Only’."; -"ayoYEb-dYQ5NN" = "${content},公开"; +"ayoYEb-dYQ5NN" = "${content}, Public"; -"ayoYEb-ehFLjY" = "${content},仅关注者"; +"ayoYEb-ehFLjY" = "${content}, Followers Only"; -"dUyuGg" = "帖子"; +"dUyuGg" = "Post"; -"dYQ5NN" = "公开"; +"dYQ5NN" = "Public"; -"ehFLjY" = "仅关注者"; +"ehFLjY" = "Followers Only"; -"gfePDu" = "发送失败。 ${failureReason}"; +"gfePDu" = "Posting failed. ${failureReason}"; -"k7dbKQ" = "帖子发送成功。"; +"k7dbKQ" = "Post was sent successfully."; -"oGiqmY-dYQ5NN" = "确认要选择 “公开”?"; +"oGiqmY-dYQ5NN" = "Just to confirm, you wanted ‘Public’?"; -"oGiqmY-ehFLjY" = "确认要选择 “仅关注者”?"; +"oGiqmY-ehFLjY" = "Just to confirm, you wanted ‘Followers Only’?"; "rM6dvp" = "URL"; -"ryJLwG" = "帖子发送成功。"; +"ryJLwG" = "Post was sent successfully. "; From e6c8ecb1202993bfe9e7ab7322d60c90cd231a38 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 10:17:36 +0200 Subject: [PATCH 076/115] New translations Intents.strings (Chinese Traditional) --- .../Intents/input/zh_TW/Intents.strings | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 Localization/StringsConvertor/Intents/input/zh_TW/Intents.strings diff --git a/Localization/StringsConvertor/Intents/input/zh_TW/Intents.strings b/Localization/StringsConvertor/Intents/input/zh_TW/Intents.strings new file mode 100644 index 000000000..e19069797 --- /dev/null +++ b/Localization/StringsConvertor/Intents/input/zh_TW/Intents.strings @@ -0,0 +1,51 @@ +"16wxgf" = "Post on Mastodon"; + +"751xkl" = "Text Content"; + +"CsR7G2" = "Post"; + +"HZSGTr" = "What content to post?"; + +"HdGikU" = "Posting failed"; + +"KDNTJ4" = "Failure Reason"; + +"RHxKOw" = "Send Post with text content"; + +"RxSqsb" = "Post"; + +"WCIR3D" = "Post ${content} on Mastodon"; + +"ZKJSNu" = "Post"; + +"ZS1XaK" = "${content}"; + +"ZbSjzC" = "Visibility"; + +"Zo4jgJ" = "Post Visibility"; + +"apSxMG-dYQ5NN" = "There are ${count} options matching ‘Public’."; + +"apSxMG-ehFLjY" = "There are ${count} options matching ‘Followers Only’."; + +"ayoYEb-dYQ5NN" = "${content}, Public"; + +"ayoYEb-ehFLjY" = "${content}, Followers Only"; + +"dUyuGg" = "Post"; + +"dYQ5NN" = "Public"; + +"ehFLjY" = "Followers Only"; + +"gfePDu" = "Posting failed. ${failureReason}"; + +"k7dbKQ" = "Post was sent successfully."; + +"oGiqmY-dYQ5NN" = "Just to confirm, you wanted ‘Public’?"; + +"oGiqmY-ehFLjY" = "Just to confirm, you wanted ‘Followers Only’?"; + +"rM6dvp" = "URL"; + +"ryJLwG" = "Post was sent successfully. "; From 68dde13c1b05544766592e87f6597ba5197991a0 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 10:17:39 +0200 Subject: [PATCH 077/115] New translations Intents.strings (Spanish, Argentina) --- .../Intents/input/es_AR/Intents.strings | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/Localization/StringsConvertor/Intents/input/es_AR/Intents.strings b/Localization/StringsConvertor/Intents/input/es_AR/Intents.strings index 6a4ea3acd..e19069797 100644 --- a/Localization/StringsConvertor/Intents/input/es_AR/Intents.strings +++ b/Localization/StringsConvertor/Intents/input/es_AR/Intents.strings @@ -1,51 +1,51 @@ -"16wxgf" = "Enviar a Mastodon"; +"16wxgf" = "Post on Mastodon"; -"751xkl" = "Contenido del texto"; +"751xkl" = "Text Content"; -"CsR7G2" = "Enviar"; +"CsR7G2" = "Post"; -"HZSGTr" = "¿Qué contenido enviar?"; +"HZSGTr" = "What content to post?"; -"HdGikU" = "Error al enviar mensaje"; +"HdGikU" = "Posting failed"; -"KDNTJ4" = "Motivo del error"; +"KDNTJ4" = "Failure Reason"; -"RHxKOw" = "Enviar mensaje con contenido de texto"; +"RHxKOw" = "Send Post with text content"; -"RxSqsb" = "Enviar"; +"RxSqsb" = "Post"; -"WCIR3D" = "Enviar ${content} a Mastodon"; +"WCIR3D" = "Post ${content} on Mastodon"; -"ZKJSNu" = "Enviar"; +"ZKJSNu" = "Post"; "ZS1XaK" = "${content}"; -"ZbSjzC" = "Visibilidad"; +"ZbSjzC" = "Visibility"; -"Zo4jgJ" = "Visibilidad del mensaje"; +"Zo4jgJ" = "Post Visibility"; -"apSxMG-dYQ5NN" = "Hay ${count} opciones que coinciden con \"Público\"."; +"apSxMG-dYQ5NN" = "There are ${count} options matching ‘Public’."; -"apSxMG-ehFLjY" = "Hay ${count} opciones que coinciden con \"Sólo para seguidores\"."; +"apSxMG-ehFLjY" = "There are ${count} options matching ‘Followers Only’."; -"ayoYEb-dYQ5NN" = "${content}, público"; +"ayoYEb-dYQ5NN" = "${content}, Public"; -"ayoYEb-ehFLjY" = "${content}, sólo para seguidores"; +"ayoYEb-ehFLjY" = "${content}, Followers Only"; -"dUyuGg" = "Publicar"; +"dUyuGg" = "Post"; -"dYQ5NN" = "Público"; +"dYQ5NN" = "Public"; -"ehFLjY" = "Sólo para seguidores"; +"ehFLjY" = "Followers Only"; -"gfePDu" = "Error al enviar mensaje. ${failureReason}"; +"gfePDu" = "Posting failed. ${failureReason}"; -"k7dbKQ" = "El mensaje se envió exitosamente."; +"k7dbKQ" = "Post was sent successfully."; -"oGiqmY-dYQ5NN" = "Sólo para confirmar, ¿querías que este mensaje sea PÚBLICO?"; +"oGiqmY-dYQ5NN" = "Just to confirm, you wanted ‘Public’?"; -"oGiqmY-ehFLjY" = "Sólo para confirmar, ¿querías que este mensaje sea SÓLO PARA SEGUIDORES?"; +"oGiqmY-ehFLjY" = "Just to confirm, you wanted ‘Followers Only’?"; -"rM6dvp" = "Dirección web"; +"rM6dvp" = "URL"; -"ryJLwG" = "El mensaje se envió exitosamente. "; +"ryJLwG" = "Post was sent successfully. "; From 52ef0787be7071fb7959539d11d105f1e0558ffe Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 10:17:45 +0200 Subject: [PATCH 078/115] New translations app.json (Korean) --- Localization/StringsConvertor/input/ko_KR/app.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/ko_KR/app.json b/Localization/StringsConvertor/input/ko_KR/app.json index 030bbe8a3..e952aa7c9 100644 --- a/Localization/StringsConvertor/input/ko_KR/app.json +++ b/Localization/StringsConvertor/input/ko_KR/app.json @@ -13,7 +13,7 @@ }, "vote_failure": { "title": "투표 실패", - "poll_ended": "The poll has ended" + "poll_ended": "투표가 끝났습니다" }, "discard_post_content": { "title": "초안 버리기", From b6885716f797bdad27f7b2aca42d69380df42107 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 10:17:46 +0200 Subject: [PATCH 079/115] New translations app.json (Dutch) --- .../StringsConvertor/input/nl_NL/app.json | 354 +++++++++--------- 1 file changed, 177 insertions(+), 177 deletions(-) diff --git a/Localization/StringsConvertor/input/nl_NL/app.json b/Localization/StringsConvertor/input/nl_NL/app.json index 0d9149070..5de42cc83 100644 --- a/Localization/StringsConvertor/input/nl_NL/app.json +++ b/Localization/StringsConvertor/input/nl_NL/app.json @@ -13,7 +13,7 @@ }, "vote_failure": { "title": "Stemmen Mislukt", - "poll_ended": "The poll has ended" + "poll_ended": "De peiling is beëindigd" }, "discard_post_content": { "title": "Concept Verwijderen", @@ -109,9 +109,9 @@ "next_status": "Volgend Bericht", "open_status": "Open Bericht", "open_author_profile": "Open Auteursprofiel", - "open_reblogger_profile": "Open Reblogger's Profile", + "open_reblogger_profile": "Open Delersprofiel", "reply_status": "Reageren", - "toggle_reblog": "Toggle Reblog on Post", + "toggle_reblog": "Delen bij berichten omschakelen", "toggle_favorite": "Favoriet Omschakelen bij Bericht", "toggle_content_warning": "Inhoudswaarschuwing Omschakelen", "preview_image": "Voorvertoning Afbeelding" @@ -122,7 +122,7 @@ } }, "status": { - "user_reblogged": "%s reblogged", + "user_reblogged": "%s gedeeld", "user_replied_to": "Reactie op %s", "show_post": "Toon Bericht", "show_user_profile": "Toon Gebruikersprofiel", @@ -134,8 +134,8 @@ }, "actions": { "reply": "Reageren", - "reblog": "Reblog", - "unreblog": "Undo reblog", + "reblog": "Delen", + "unreblog": "Delen ongedaan maken", "favorite": "Toevoegen aan Favorieten", "unfavorite": "Verwijderen uit Favorieten", "menu": "Menu" @@ -157,67 +157,67 @@ "block": "Blokkeren", "block_user": "Blokkeer %s", "block_domain": "Blokkeer %s", - "unblock": "Unblock", - "unblock_user": "Unblock %s", - "blocked": "Blocked", - "mute": "Mute", - "mute_user": "Mute %s", - "unmute": "Unmute", - "unmute_user": "Unmute %s", - "muted": "Muted", - "edit_info": "Edit Info" + "unblock": "Deblokkeer", + "unblock_user": "Deblokkeer %s", + "blocked": "Geblokkeerd", + "mute": "Negeren", + "mute_user": "Negeer %s", + "unmute": "Niet langer negeren", + "unmute_user": "%s niet langer negeren", + "muted": "Genegeerd", + "edit_info": "Bewerken" }, "timeline": { - "filtered": "Filtered", + "filtered": "Gefilterd", "timestamp": { - "now": "Now" + "now": "Nu" }, "loader": { - "load_missing_posts": "Load missing posts", - "loading_missing_posts": "Loading missing posts...", - "show_more_replies": "Show more replies" + "load_missing_posts": "Resterende berichten laden", + "loading_missing_posts": "Resterende berichten laden...", + "show_more_replies": "Toon meer reacties" }, "header": { - "no_status_found": "No Post Found", - "blocking_warning": "You can’t view this user's profile\n until you unblock them.\nYour profile looks like this to them.", - "user_blocking_warning": "You can’t view %s’s profile\n until you unblock them.\nYour profile looks like this to them.", - "blocked_warning": "You can’t view this user’s profile\n until they unblock you.", - "user_blocked_warning": "You can’t view %s’s profile\n until they unblock you.", - "suspended_warning": "This user has been suspended.", - "user_suspended_warning": "%s’s account has been suspended." + "no_status_found": "Geen Berichten Gevonden", + "blocking_warning": "U kunt het profiel van deze geblokkeerde gebruiker niet bekijken.\nUw profiel ziet er zo uit voor hen.", + "user_blocking_warning": "U kunt het profiel van %s niet bekijken zolang deze gebruiker geblokkeerd is.\nUw profiel ziet er zo uit voor hen.", + "blocked_warning": "U kunt het profiel van deze gebruiker niet bekijken zolang u geblokkeerd bent.", + "user_blocked_warning": "U kunt het profiel van %s niet bekijken zolang u geblokkeerd bent.", + "suspended_warning": "Deze gebruiker is geschorst.", + "user_suspended_warning": "%s's account is geschorst." } } } }, "scene": { "welcome": { - "slogan": "Social networking\nback in your hands." + "slogan": "Sociale media terug in uw handen." }, "server_picker": { - "title": "Pick a server,\nany server.", + "title": "Kies een server, welke dan ook.", "button": { "category": { - "all": "All", - "all_accessiblity_description": "Category: All", - "academia": "academia", - "activism": "activism", - "food": "food", + "all": "Alles", + "all_accessiblity_description": "Categorie: Alles", + "academia": "academisch", + "activism": "activisme", + "food": "eten", "furry": "furry", - "games": "games", - "general": "general", - "journalism": "journalism", + "games": "spellen", + "general": "algemeen", + "journalism": "journalistiek", "lgbt": "lgbt", - "regional": "regional", - "art": "art", - "music": "music", - "tech": "tech" + "regional": "regionaal", + "art": "kunst", + "music": "muziek", + "tech": "technologie" }, - "see_less": "See Less", - "see_more": "See More" + "see_less": "Minder Weergeven", + "see_more": "Meer Weergeven" }, "label": { - "language": "LANGUAGE", - "users": "USERS", + "language": "TAAL", + "users": "GEBRUIKERS", "category": "CATEGORIE" }, "input": { @@ -301,243 +301,243 @@ }, "dont_receive_email": { "title": "Controleer uw emailadres", - "description": "Check if your email address is correct as well as your junk folder if you haven’t.", - "resend_email": "Resend Email" + "description": "Controleer of uw emailadres correct is en of the email in de ongewenste email filter terecht is gekomen.", + "resend_email": "Email Opnieuw Versturen" }, "open_email_app": { - "title": "Check your inbox.", - "description": "We just sent you an email. Check your junk folder if you haven’t.", + "title": "Ga naar uw inbox.", + "description": "We hebben u een e-mail gestuurd. Controleer ook uw de ongewenste email filter.", "mail": "Mail", - "open_email_client": "Open Email Client" + "open_email_client": "Open Email Applicatie" } }, "home_timeline": { - "title": "Home", + "title": "Start", "navigation_bar_state": { "offline": "Offline", - "new_posts": "See new posts", - "published": "Published!", - "Publishing": "Publishing post..." + "new_posts": "Bekijk nieuwe berichten", + "published": "Gepubliceerd!", + "Publishing": "Bericht publiceren..." } }, "suggestion_account": { - "title": "Find People to Follow", - "follow_explain": "When you follow someone, you’ll see their posts in your home feed." + "title": "Zoek Mensen om te Volgen", + "follow_explain": "Wanneer u iemand volgt, ziet u hun berichten op de startpagina." }, "public_timeline": { - "title": "Public" + "title": "Openbaar" }, "compose": { "title": { - "new_post": "New Post", - "new_reply": "New Reply" + "new_post": "Nieuw Bericht", + "new_reply": "Nieuwe Reactie" }, "media_selection": { - "camera": "Take Photo", - "photo_library": "Photo Library", - "browse": "Browse" + "camera": "Foto Maken", + "photo_library": "Fotobibliotheek", + "browse": "Bladeren" }, - "content_input_placeholder": "Type or paste what’s on your mind", - "compose_action": "Publish", - "replying_to_user": "replying to %s", + "content_input_placeholder": "Schrijf of plak wat in je hoofd rondzweeft", + "compose_action": "Publiceren", + "replying_to_user": "reageren op %s", "attachment": { - "photo": "photo", + "photo": "foto", "video": "video", - "attachment_broken": "This %s is broken and can’t be\nuploaded to Mastodon.", - "description_photo": "Describe the photo for the visually-impaired...", - "description_video": "Describe the video for the visually-impaired..." + "attachment_broken": "Deze %s is corrupt en kan niet geüpload worden naar Mastodon.", + "description_photo": "Omschrijf de foto voor mensen met een visuele beperking...", + "description_video": "Omschrijf de video voor mensen met een visuele beperking..." }, "poll": { - "duration_time": "Duration: %s", - "thirty_minutes": "30 minutes", - "one_hour": "1 Hour", - "six_hours": "6 Hours", - "one_day": "1 Day", - "three_days": "3 Days", - "seven_days": "7 Days", - "option_number": "Option %ld" + "duration_time": "Duur: %s", + "thirty_minutes": "30 minuten", + "one_hour": "1 Uur", + "six_hours": "6 Uur", + "one_day": "1 Dag", + "three_days": "3 Dagen", + "seven_days": "7 Dagen", + "option_number": "Optie %ld" }, "content_warning": { - "placeholder": "Write an accurate warning here..." + "placeholder": "Schrijf hier een nauwkeurige waarschuwing..." }, "visibility": { - "public": "Public", - "unlisted": "Unlisted", - "private": "Followers only", - "direct": "Only people I mention" + "public": "Openbaar", + "unlisted": "Niet-vermeld", + "private": "Alleen volgers", + "direct": "Alleen vermelde gebruikers" }, "auto_complete": { - "space_to_add": "Space to add" + "space_to_add": "Spaties toe te voegen" }, "accessibility": { - "append_attachment": "Add Attachment", - "append_poll": "Add Poll", - "remove_poll": "Remove Poll", - "custom_emoji_picker": "Custom Emoji Picker", - "enable_content_warning": "Enable Content Warning", - "disable_content_warning": "Disable Content Warning", - "post_visibility_menu": "Post Visibility Menu" + "append_attachment": "Bijlage Toevoegen", + "append_poll": "Peiling Toevoegen", + "remove_poll": "Peiling verwijderen", + "custom_emoji_picker": "Eigen Emojikiezer", + "enable_content_warning": "Inhoudswaarschuwing inschakelen", + "disable_content_warning": "Inhoudswaarschuwing Uitschakelen", + "post_visibility_menu": "Berichtzichtbaarheidsmenu" }, "keyboard": { - "discard_post": "Discard Post", - "publish_post": "Publish Post", - "toggle_poll": "Toggle Poll", - "toggle_content_warning": "Toggle Content Warning", - "append_attachment_entry": "Add Attachment - %s", - "select_visibility_entry": "Select Visibility - %s" + "discard_post": "Bericht Verwijderen", + "publish_post": "Bericht Publiceren", + "toggle_poll": "Peiling omschakelen", + "toggle_content_warning": "Inhoudswaarschuwing Omschakelen", + "append_attachment_entry": "Bijlage Toevoegen - %s", + "select_visibility_entry": "Zichtbaarheid Selecteren - %s" } }, "profile": { "dashboard": { - "posts": "posts", - "following": "following", - "followers": "followers" + "posts": "berichten", + "following": "volgend", + "followers": "volgers" }, "fields": { - "add_row": "Add Row", + "add_row": "Rij Toevoegen", "placeholder": { - "label": "Label", - "content": "Content" + "label": "Etiket", + "content": "Inhoud" } }, "segmented_control": { - "posts": "Posts", - "replies": "Replies", + "posts": "Berichten", + "replies": "Reacties", "media": "Media" }, "relationship_action_alert": { "confirm_unmute_user": { - "title": "Unmute Account", - "message": "Confirm to unmute %s" + "title": "Account Negeren", + "message": "Bevestig om %s te negeren" }, "confirm_unblock_usre": { - "title": "Unblock Account", - "message": "Confirm to unblock %s" + "title": "Account niet langer negeren", + "message": "Bevestig om %s te deblokkeren" } } }, "search": { - "title": "Search", + "title": "Zoeken", "search_bar": { - "placeholder": "Search hashtags and users", - "cancel": "Cancel" + "placeholder": "Zoek hashtags en gebruikers", + "cancel": "Annuleren" }, "recommend": { - "button_text": "See All", + "button_text": "Alles weergeven", "hash_tag": { - "title": "Trending on Mastodon", - "description": "Hashtags that are getting quite a bit of attention", - "people_talking": "%s people are talking" + "title": "Trending op Mastodon", + "description": "Hashtags die behoorlijk wat aandacht krijgen", + "people_talking": "%s gebruikers praten hierover" }, "accounts": { - "title": "Accounts you might like", - "description": "You may like to follow these accounts", - "follow": "Follow" + "title": "Interessante accounts voor u", + "description": "Misschien dat u geïnteresseerd bent in deze accounts", + "follow": "Volgen" } }, "searching": { "segment": { - "all": "All", - "people": "People", + "all": "Alles", + "people": "Gebruikers", "hashtags": "Hashtags", - "posts": "Posts" + "posts": "Berichten" }, "empty_state": { - "no_results": "No results" + "no_results": "Geen resultaten" }, - "recent_search": "Recent searches", - "clear": "Clear" + "recent_search": "Recente zoekopdrachten", + "clear": "Wissen" } }, "favorite": { - "title": "Your Favorites" + "title": "Uw favorieten" }, "notification": { "title": { - "Everything": "Everything", - "Mentions": "Mentions" + "Everything": "Alles", + "Mentions": "Vermeldingen" }, "action": { - "follow": "followed you", - "favourite": "favorited your post", - "reblog": "reblogged your post", - "poll": "Your poll has ended", - "mention": "mentioned you", - "follow_request": "requested to follow you" + "follow": "volgt u", + "favourite": "heeft uw bericht als favoriet toegevoegd", + "reblog": "deelde uw bericht", + "poll": "Uw poll is geëindigd", + "mention": "vermeldde u", + "follow_request": "heeft gevraagd om u te volgen" }, "keyobard": { - "show_everything": "Show Everything", - "show_mentions": "Show Mentions" + "show_everything": "Alles weergeven", + "show_mentions": "Vermeldingen weergeven" } }, "thread": { - "back_title": "Post", - "title": "Post from %s" + "back_title": "Bericht", + "title": "Bericht van %s" }, "settings": { - "title": "Settings", + "title": "Instellingen", "section": { "appearance": { - "title": "Appearance", - "automatic": "Automatic", - "light": "Always Light", - "dark": "Always Dark" + "title": "Uiterlijk", + "automatic": "Automatisch", + "light": "Altijd Licht", + "dark": "Altijd Donker" }, "notifications": { - "title": "Notifications", - "favorites": "Favorites my post", - "follows": "Follows me", - "boosts": "Reblogs my post", - "mentions": "Mentions me", + "title": "Meldingen", + "favorites": "Mijn bericht als favoriet toevoegt", + "follows": "Mij volgt", + "boosts": "Mijn bericht deelt", + "mentions": "Mij vermeldt", "trigger": { - "anyone": "anyone", - "follower": "a follower", - "follow": "anyone I follow", - "noone": "no one", - "title": "Notify me when" + "anyone": "iemand", + "follower": "een volger", + "follow": "iemand die ik volg", + "noone": "niemand", + "title": "Stuur mij een melding wanneer" } }, "preference": { - "title": "Preferences", - "true_black_dark_mode": "True black dark mode", - "disable_avatar_animation": "Disable animated avatars", - "disable_emoji_animation": "Disable animated emojis", - "using_default_browser": "Use default browser to open links" + "title": "Instellingen", + "true_black_dark_mode": "Echt zwarte donker uiterlijk", + "disable_avatar_animation": "Geanimeerde avatars uitschakelen", + "disable_emoji_animation": "Geanimeerde emojis uitschakelen", + "using_default_browser": "Gebruik de standaard browser om links te openen" }, "boring_zone": { - "title": "The Boring Zone", - "account_settings": "Account Settings", - "terms": "Terms of Service", - "privacy": "Privacy Policy" + "title": "De Saaie Instellingen", + "account_settings": "Accountinstellingen", + "terms": "Servicevoorwaarden", + "privacy": "Privacybeleid" }, "spicy_zone": { - "title": "The Spicy Zone", - "clear": "Clear Media Cache", - "signout": "Sign Out" + "title": "De Gevaarlijke Instellingen", + "clear": "Mediacache wissen", + "signout": "Afmelden" } }, "footer": { - "mastodon_description": "Mastodon is open source software. You can report issues on GitHub at %s (%s)" + "mastodon_description": "Mastodon is vrije software. Je kunt problemen melden op GitHub via %s (%s)" }, "keyboard": { - "close_settings_window": "Close Settings Window" + "close_settings_window": "Instellingsvenster Sluiten" } }, "report": { - "title": "Report %s", - "step1": "Step 1 of 2", - "step2": "Step 2 of 2", - "content1": "Are there any other posts you’d like to add to the report?", - "content2": "Is there anything the moderators should know about this report?", - "send": "Send Report", - "skip_to_send": "Send without comment", - "text_placeholder": "Type or paste additional comments" + "title": "Rapporteer %s", + "step1": "Stap 1 van 2", + "step2": "Stap 2 van 2", + "content1": "Zijn er nog meer berichten die u aan het rapport wilt toevoegen?", + "content2": "Is er iets anders over dit rapport dat de moderators zouden moeten weten?", + "send": "Stuur rapport", + "skip_to_send": "Verstuur zonder opmerkingen", + "text_placeholder": "Schrijf of plak aanvullende opmerkingen" }, "preview": { "keyboard": { - "close_preview": "Close Preview", - "show_next": "Show Next", - "show_previous": "Show Previous" + "close_preview": "Voorbeeldweergave Sluiten", + "show_next": "Volgende", + "show_previous": "Vorige" } } } From 0505c330f8278ce3d45fedfaff725764774c4557 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 10:17:48 +0200 Subject: [PATCH 080/115] New translations app.json (Chinese Simplified) --- Localization/StringsConvertor/input/zh_CN/app.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Localization/StringsConvertor/input/zh_CN/app.json b/Localization/StringsConvertor/input/zh_CN/app.json index 504207570..0851a965a 100644 --- a/Localization/StringsConvertor/input/zh_CN/app.json +++ b/Localization/StringsConvertor/input/zh_CN/app.json @@ -13,7 +13,7 @@ }, "vote_failure": { "title": "投票失败", - "poll_ended": "The poll has ended" + "poll_ended": "投票已结束" }, "discard_post_content": { "title": "丢弃草案", @@ -165,7 +165,7 @@ "unmute": "取消静音", "unmute_user": "取消静音 %s", "muted": "已静音", - "edit_info": "编辑资料" + "edit_info": "编辑" }, "timeline": { "filtered": "已过滤", From 48cd0a42022267029bb0e12f0bc4209528269454 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 10:17:50 +0200 Subject: [PATCH 081/115] New translations ios-infoPlist.json (Dutch) --- .../StringsConvertor/input/nl_NL/ios-infoPlist.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/nl_NL/ios-infoPlist.json b/Localization/StringsConvertor/input/nl_NL/ios-infoPlist.json index c6db73de0..0a1ed1510 100644 --- a/Localization/StringsConvertor/input/nl_NL/ios-infoPlist.json +++ b/Localization/StringsConvertor/input/nl_NL/ios-infoPlist.json @@ -1,6 +1,6 @@ { - "NSCameraUsageDescription": "Used to take photo for post status", - "NSPhotoLibraryAddUsageDescription": "Used to save photo into the Photo Library", - "NewPostShortcutItemTitle": "New Post", - "SearchShortcutItemTitle": "Search" + "NSCameraUsageDescription": "Gebruikt om foto's te nemen voor je berichten", + "NSPhotoLibraryAddUsageDescription": "Gebruikt om foto's op te slaan in de fotobibliotheek", + "NewPostShortcutItemTitle": "Nieuw Bericht", + "SearchShortcutItemTitle": "Zoeken" } From 5853510f89d1b8007bffecb366ae9f70b6a36ffd Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 10:17:57 +0200 Subject: [PATCH 082/115] New translations Localizable.stringsdict (Chinese Simplified) --- .../input/zh_CN/Localizable.stringsdict | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/Localization/StringsConvertor/input/zh_CN/Localizable.stringsdict b/Localization/StringsConvertor/input/zh_CN/Localizable.stringsdict index c416ce76f..bb8064914 100644 --- a/Localization/StringsConvertor/input/zh_CN/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/zh_CN/Localizable.stringsdict @@ -5,7 +5,7 @@ a11y.plural.count.input_limit_exceeds NSStringLocalizedFormatKey - Input limit exceeds %#@character_count@ + 输入字符限制超出 %#@character_count@ character_count NSStringFormatSpecTypeKey @@ -13,13 +13,13 @@ NSStringFormatValueTypeKey ld other - %ld characters + %ld 个字符 a11y.plural.count.input_limit_remains NSStringLocalizedFormatKey - Input limit remains %#@character_count@ + 输入字符限制剩余 %#@character_count@ character_count NSStringFormatSpecTypeKey @@ -27,7 +27,7 @@ NSStringFormatValueTypeKey ld other - %ld characters + %ld 个字符 plural.count.metric_formatted.post @@ -41,7 +41,7 @@ NSStringFormatValueTypeKey ld other - 帖子 + 个帖子 plural.count.post @@ -55,7 +55,7 @@ NSStringFormatValueTypeKey ld other - %ld posts + %ld 个帖子 plural.count.favorite @@ -139,7 +139,7 @@ NSStringFormatValueTypeKey ld other - %ld following + %ld 人正在关注 plural.count.follower @@ -153,7 +153,7 @@ NSStringFormatValueTypeKey ld other - %ld followers + %ld 个关注者 date.year.left @@ -167,7 +167,7 @@ NSStringFormatValueTypeKey ld other - %ld years left + 剩余 %ld 年 date.month.left @@ -181,7 +181,7 @@ NSStringFormatValueTypeKey ld other - %ld months left + 剩余 %ld 个月 date.day.left @@ -195,7 +195,7 @@ NSStringFormatValueTypeKey ld other - %ld days left + 剩余 %ld 天 date.hour.left @@ -209,7 +209,7 @@ NSStringFormatValueTypeKey ld other - %ld hours left + 剩余 %ld 小时 date.minute.left @@ -223,7 +223,7 @@ NSStringFormatValueTypeKey ld other - %ld minutes left + 剩余 %ld 分钟 date.second.left @@ -237,7 +237,7 @@ NSStringFormatValueTypeKey ld other - %ld seconds left + 剩余 %ld 秒 From 3570c7108c5f62659224e5cd75f1619de00dc151 Mon Sep 17 00:00:00 2001 From: CMK Date: Mon, 9 Aug 2021 17:02:32 +0800 Subject: [PATCH 083/115] fix: media attachment needs wait process issue. resolve #275 --- .../xcschemes/xcschememanagement.plist | 8 +-- Mastodon/Scene/Compose/ComposeViewModel.swift | 3 + .../Service/APIService/APIService+Media.swift | 19 ++++++ ...astodonAttachmentService+UploadState.swift | 66 ++++++++++++++++++- .../MastodonAttachmentService.swift | 1 + .../MastodonSDK/API/Mastodon+API+Media.swift | 43 ++++++++++++ .../Response/Mastodon+Response+Content.swift | 4 ++ 7 files changed, 138 insertions(+), 6 deletions(-) diff --git a/Mastodon.xcodeproj/xcuserdata/mainasuk.xcuserdatad/xcschemes/xcschememanagement.plist b/Mastodon.xcodeproj/xcuserdata/mainasuk.xcuserdatad/xcschemes/xcschememanagement.plist index 6faa9959a..c08f88276 100644 --- a/Mastodon.xcodeproj/xcuserdata/mainasuk.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/Mastodon.xcodeproj/xcuserdata/mainasuk.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,12 +7,12 @@ AppShared.xcscheme_^#shared#^_ orderHint - 30 + 32 CoreDataStack.xcscheme_^#shared#^_ orderHint - 34 + 31 Mastodon - ASDK.xcscheme_^#shared#^_ @@ -77,7 +77,7 @@ MastodonIntent.xcscheme_^#shared#^_ orderHint - 32 + 33 MastodonIntents.xcscheme_^#shared#^_ @@ -97,7 +97,7 @@ ShareActionExtension.xcscheme_^#shared#^_ orderHint - 31 + 30 SuppressBuildableAutocreation diff --git a/Mastodon/Scene/Compose/ComposeViewModel.swift b/Mastodon/Scene/Compose/ComposeViewModel.swift index 601aeae04..7a6ed8bdd 100644 --- a/Mastodon/Scene/Compose/ComposeViewModel.swift +++ b/Mastodon/Scene/Compose/ComposeViewModel.swift @@ -338,6 +338,9 @@ final class ComposeViewModel: NSObject { if currentState is MastodonAttachmentService.UploadState.Finish { continue } + if currentState is MastodonAttachmentService.UploadState.Processing { + continue + } if currentState is MastodonAttachmentService.UploadState.Uploading { break } diff --git a/Mastodon/Service/APIService/APIService+Media.swift b/Mastodon/Service/APIService/APIService+Media.swift index d6b1d6c21..0c7822c9d 100644 --- a/Mastodon/Service/APIService/APIService+Media.swift +++ b/Mastodon/Service/APIService/APIService+Media.swift @@ -57,6 +57,25 @@ extension APIService { } +extension APIService { + + func getMedia( + attachmentID: Mastodon.Entity.Attachment.ID, + mastodonAuthenticationBox: MastodonAuthenticationBox + ) -> AnyPublisher, Error> { + let authorization = mastodonAuthenticationBox.userAuthorization + + return Mastodon.API.Media.getMedia( + session: session, + domain: mastodonAuthenticationBox.domain, + attachmentID: attachmentID, + authorization: authorization + ) + .eraseToAnyPublisher() + } + +} + extension APIService { func updateMedia( diff --git a/Mastodon/Service/MastodonAttachmentService/MastodonAttachmentService+UploadState.swift b/Mastodon/Service/MastodonAttachmentService/MastodonAttachmentService+UploadState.swift index 8474ac4dd..8ff076dc1 100644 --- a/Mastodon/Service/MastodonAttachmentService/MastodonAttachmentService+UploadState.swift +++ b/Mastodon/Service/MastodonAttachmentService/MastodonAttachmentService+UploadState.swift @@ -47,7 +47,10 @@ extension MastodonAttachmentService.UploadState { var needsFallback = false override func isValidNextState(_ stateClass: AnyClass) -> Bool { - return stateClass == Fail.self || stateClass == Finish.self || stateClass == Uploading.self + return stateClass == Fail.self + || stateClass == Finish.self + || stateClass == Uploading.self + || stateClass == Processing.self } override func didEnter(from previousState: GKState?) { @@ -96,11 +99,70 @@ extension MastodonAttachmentService.UploadState { } receiveValue: { response in os_log(.info, log: .debug, "%{public}s[%{public}ld], %{public}s: upload attachment %s success: %s", ((#file as NSString).lastPathComponent), #line, #function, response.value.id, response.value.url ?? "") service.attachment.value = response.value + if response.statusCode == 202 { + // check if still processing + stateMachine.enter(Processing.self) + } else { + stateMachine.enter(Finish.self) + } + } + .store(in: &service.disposeBag) + } + } + + class Processing: MastodonAttachmentService.UploadState { + + static let retryLimit = 10 + var retryCount = 0 + + override func isValidNextState(_ stateClass: AnyClass) -> Bool { + return stateClass == Fail.self || stateClass == Finish.self || stateClass == Processing.self + } + + override func didEnter(from previousState: GKState?) { + super.didEnter(from: previousState) + + guard let service = service, let stateMachine = stateMachine else { return } + guard let authenticationBox = service.authenticationBox else { return } + guard let attachment = service.attachment.value else { return } + + retryCount += 1 + guard retryCount < Processing.retryLimit else { + stateMachine.enter(Fail.self) + return + } + + service.context.apiService.getMedia( + attachmentID: attachment.id, + mastodonAuthenticationBox: authenticationBox + ) + .retry(3) + .receive(on: DispatchQueue.main) + .sink { [weak self] completion in + guard let _ = self else { return } + switch completion { + case .failure(let error): + os_log(.info, log: .debug, "%{public}s[%{public}ld], %{public}s: get attachment fail: %s", ((#file as NSString).lastPathComponent), #line, #function, error.localizedDescription) + service.error.send(error) + stateMachine.enter(Fail.self) + case .finished: + os_log(.info, log: .debug, "%{public}s[%{public}ld], %{public}s: get attachment success", ((#file as NSString).lastPathComponent), #line, #function) + break + } + } receiveValue: { [weak self] response in + guard let self = self else { return } + guard let _ = response.value.url else { + DispatchQueue.main.asyncAfter(deadline: .now() + 2) { [weak self] in + os_log(.info, log: .debug, "%{public}s[%{public}ld], %{public}s: processing, retry in 2s", ((#file as NSString).lastPathComponent), #line, #function) + self?.stateMachine?.enter(Processing.self) + } + return + } + stateMachine.enter(Finish.self) } .store(in: &service.disposeBag) } - } class Fail: MastodonAttachmentService.UploadState { diff --git a/Mastodon/Service/MastodonAttachmentService/MastodonAttachmentService.swift b/Mastodon/Service/MastodonAttachmentService/MastodonAttachmentService.swift index 2b08b0db0..e42c9bf2e 100644 --- a/Mastodon/Service/MastodonAttachmentService/MastodonAttachmentService.swift +++ b/Mastodon/Service/MastodonAttachmentService/MastodonAttachmentService.swift @@ -41,6 +41,7 @@ final class MastodonAttachmentService { let stateMachine = GKStateMachine(states: [ UploadState.Initial(service: self), UploadState.Uploading(service: self), + UploadState.Processing(service: self), UploadState.Fail(service: self), UploadState.Finish(service: self), ]) diff --git a/MastodonSDK/Sources/MastodonSDK/API/Mastodon+API+Media.swift b/MastodonSDK/Sources/MastodonSDK/API/Mastodon+API+Media.swift index d05cac01a..da77c65a1 100644 --- a/MastodonSDK/Sources/MastodonSDK/API/Mastodon+API+Media.swift +++ b/MastodonSDK/Sources/MastodonSDK/API/Mastodon+API+Media.swift @@ -113,6 +113,49 @@ extension Mastodon.API.Media { } +extension Mastodon.API.Media { + static func getMediaEndpointURL(domain: String, attachmentID: Mastodon.Entity.Attachment.ID) -> URL { + Mastodon.API.endpointURL(domain: domain).appendingPathComponent("media").appendingPathComponent(attachmentID) + } + + /// Get media attachment + /// + /// Get an Attachment, before it is attached to a status and posted, but after it is accepted for processing. + /// + /// - Since: 0.0.0 + /// - Version: 3.4.1 + /// # Last Update + /// 2021/8/9 + /// # Reference + /// [Document](https://docs.joinmastodon.org/methods/statuses/media/) + /// - Parameters: + /// - session: `URLSession` + /// - domain: Mastodon instance domain. e.g. "example.com" + /// - mediaID: The ID of attachment + /// - authorization: User token + /// - Returns: `AnyPublisher` contains `Attachment` nested in the response + public static func getMedia( + session: URLSession, + domain: String, + attachmentID: Mastodon.Entity.Attachment.ID, + authorization: Mastodon.API.OAuth.Authorization? + ) -> AnyPublisher, Error> { + var request = Mastodon.API.get( + url: getMediaEndpointURL(domain: domain, attachmentID: attachmentID), + query: nil, + authorization: authorization + ) + request.timeoutInterval = 10 // short timeout for quick retry + return session.dataTaskPublisher(for: request) + .tryMap { data, response in + let value = try Mastodon.API.decode(type: Mastodon.Entity.Attachment.self, from: data, response: response) + return Mastodon.Response.Content(value: value, response: response) + } + .eraseToAnyPublisher() + } +} + + extension Mastodon.API.Media { static func updateMediaEndpointURL(domain: String, attachmentID: Mastodon.Entity.Attachment.ID) -> URL { diff --git a/MastodonSDK/Sources/MastodonSDK/Response/Mastodon+Response+Content.swift b/MastodonSDK/Sources/MastodonSDK/Response/Mastodon+Response+Content.swift index 9c39615f9..db42169d8 100644 --- a/MastodonSDK/Sources/MastodonSDK/Response/Mastodon+Response+Content.swift +++ b/MastodonSDK/Sources/MastodonSDK/Response/Mastodon+Response+Content.swift @@ -14,6 +14,7 @@ extension Mastodon.Response { public let value: T // standard fields + public let statusCode: Int? ///< HTTP Code public let date: Date? // application fields @@ -28,6 +29,8 @@ extension Mastodon.Response { public init(value: T, response: URLResponse) { self.value = value + self.statusCode = (response as? HTTPURLResponse)?.statusCode + self.date = { guard let string = (response as? HTTPURLResponse)?.value(forHTTPHeaderField: "date") else { return nil } return Mastodon.API.httpHeaderDateFormatter.date(from: string) @@ -47,6 +50,7 @@ extension Mastodon.Response { init(value: T, old: Mastodon.Response.Content) { self.value = value + self.statusCode = old.statusCode self.date = old.date self.rateLimit = old.rateLimit self.link = old.link From 994cc543d844da833380b61dd85abf6802ab9401 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 11:51:57 +0200 Subject: [PATCH 084/115] New translations app.json (Catalan) --- Localization/StringsConvertor/input/ca_ES/app.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/ca_ES/app.json b/Localization/StringsConvertor/input/ca_ES/app.json index 57bbf91b3..a0fafc622 100644 --- a/Localization/StringsConvertor/input/ca_ES/app.json +++ b/Localization/StringsConvertor/input/ca_ES/app.json @@ -13,7 +13,7 @@ }, "vote_failure": { "title": "Error del Vot", - "poll_ended": "The poll has ended" + "poll_ended": "L'enquesta ha finalitzat" }, "discard_post_content": { "title": "Descarta l'esborrany", From cd689cefb124bf973b75f2fc1e3683d0cfc024e4 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 11:51:58 +0200 Subject: [PATCH 085/115] New translations Localizable.stringsdict (Catalan) --- .../input/ca_ES/Localizable.stringsdict | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/Localization/StringsConvertor/input/ca_ES/Localizable.stringsdict b/Localization/StringsConvertor/input/ca_ES/Localizable.stringsdict index c52d8f770..012a0d4c8 100644 --- a/Localization/StringsConvertor/input/ca_ES/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/ca_ES/Localizable.stringsdict @@ -5,7 +5,7 @@ a11y.plural.count.input_limit_exceeds NSStringLocalizedFormatKey - Input limit exceeds %#@character_count@ + El límit d’entrada supera a %#@character_count@ character_count NSStringFormatSpecTypeKey @@ -13,15 +13,15 @@ NSStringFormatValueTypeKey ld one - 1 character + 1 caràcter other - %ld characters + %ld caràcters a11y.plural.count.input_limit_remains NSStringLocalizedFormatKey - Input limit remains %#@character_count@ + El límit d’entrada continua sent %#@character_count@ character_count NSStringFormatSpecTypeKey @@ -29,9 +29,9 @@ NSStringFormatValueTypeKey ld one - 1 character + 1 caràcter other - %ld characters + %ld caràcters plural.count.metric_formatted.post @@ -61,9 +61,9 @@ NSStringFormatValueTypeKey ld one - 1 post + 1 publicació other - %ld posts + %ld publicacions plural.count.favorite @@ -157,9 +157,9 @@ NSStringFormatValueTypeKey ld one - 1 following + 1 seguit other - %ld following + %ld seguits plural.count.follower @@ -173,9 +173,9 @@ NSStringFormatValueTypeKey ld one - 1 follower + 1 seguidor other - %ld followers + %ld seguidors date.year.left @@ -189,9 +189,9 @@ NSStringFormatValueTypeKey ld one - 1 year left + 1 any restant other - %ld years left + %ld anys restants date.month.left @@ -205,9 +205,9 @@ NSStringFormatValueTypeKey ld one - 1 months left + 1 mes restant other - %ld months left + %ld mesos restants date.day.left @@ -221,9 +221,9 @@ NSStringFormatValueTypeKey ld one - 1 day left + 1 dia restant other - %ld days left + %ld dies restants date.hour.left @@ -237,9 +237,9 @@ NSStringFormatValueTypeKey ld one - 1 hour left + 1 hora restant other - %ld hours left + %ld hores restants date.minute.left @@ -253,9 +253,9 @@ NSStringFormatValueTypeKey ld one - 1 minute left + 1 minut restant other - %ld minutes left + %ld minuts restants date.second.left @@ -269,9 +269,9 @@ NSStringFormatValueTypeKey ld one - 1 second left + 1 segon restant other - %ld seconds left + %ld segons restants From 50eb88ee60427b9a97b95f412b61b91f3f33a93e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 11:51:59 +0200 Subject: [PATCH 086/115] New translations Localizable.stringsdict (Dutch) --- .../input/nl_NL/Localizable.stringsdict | 66 +++++++++---------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/Localization/StringsConvertor/input/nl_NL/Localizable.stringsdict b/Localization/StringsConvertor/input/nl_NL/Localizable.stringsdict index 4f9da3bf0..e69582f04 100644 --- a/Localization/StringsConvertor/input/nl_NL/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/nl_NL/Localizable.stringsdict @@ -21,7 +21,7 @@ a11y.plural.count.input_limit_remains NSStringLocalizedFormatKey - Input limit remains %#@character_count@ + Invoerlimiet blijft %#@character_count@ character_count NSStringFormatSpecTypeKey @@ -29,9 +29,9 @@ NSStringFormatValueTypeKey ld one - 1 character + 1 teken other - %ld characters + %ld tekens plural.count.metric_formatted.post @@ -45,9 +45,9 @@ NSStringFormatValueTypeKey ld one - post + bericht other - posts + berichten plural.count.post @@ -61,9 +61,9 @@ NSStringFormatValueTypeKey ld one - 1 post + 1 bericht other - %ld posts + %ld berichten plural.count.favorite @@ -77,9 +77,9 @@ NSStringFormatValueTypeKey ld one - 1 favorite + 1 favoriet other - %ld favorites + %ld favorieten plural.count.reblog @@ -93,9 +93,9 @@ NSStringFormatValueTypeKey ld one - 1 reblog + 1 gedeeld bericht other - %ld reblogs + %ld gedeelde berichten plural.count.vote @@ -109,9 +109,9 @@ NSStringFormatValueTypeKey ld one - 1 vote + 1 stem other - %ld votes + %ld stemmen plural.count.voter @@ -125,9 +125,9 @@ NSStringFormatValueTypeKey ld one - 1 voter + 1 kiezer other - %ld voters + %ld kiezers plural.people_talking @@ -141,9 +141,9 @@ NSStringFormatValueTypeKey ld one - 1 people talking + 1 gebruiker die praat other - %ld people talking + %ld gebruikers die praten plural.count.following @@ -157,9 +157,9 @@ NSStringFormatValueTypeKey ld one - 1 following + 1 volgend other - %ld following + %ld volgend plural.count.follower @@ -173,9 +173,9 @@ NSStringFormatValueTypeKey ld one - 1 follower + 1 volger other - %ld followers + %ld volgers date.year.left @@ -189,9 +189,9 @@ NSStringFormatValueTypeKey ld one - 1 year left + 1 jaar resterend other - %ld years left + %ld jaren resterend date.month.left @@ -205,9 +205,9 @@ NSStringFormatValueTypeKey ld one - 1 months left + 1 maanden resterend other - %ld months left + %ld maanden resterend date.day.left @@ -221,9 +221,9 @@ NSStringFormatValueTypeKey ld one - 1 day left + 1 dag resterend other - %ld days left + %ld dagen resterend date.hour.left @@ -237,9 +237,9 @@ NSStringFormatValueTypeKey ld one - 1 hour left + 1 uur resterend other - %ld hours left + %ld uur resterend date.minute.left @@ -253,9 +253,9 @@ NSStringFormatValueTypeKey ld one - 1 minute left + 1 minuut resterend other - %ld minutes left + %ld minuten resterend date.second.left @@ -269,9 +269,9 @@ NSStringFormatValueTypeKey ld one - 1 second left + 1 seconde resterend other - %ld seconds left + %ld seconden resterend From 154a735770418aebafd489c1b2080be8d5614fbf Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 11:52:00 +0200 Subject: [PATCH 087/115] New translations Intents.strings (Catalan) --- .../Intents/input/ca_ES/Intents.strings | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/Localization/StringsConvertor/Intents/input/ca_ES/Intents.strings b/Localization/StringsConvertor/Intents/input/ca_ES/Intents.strings index e19069797..6b92eb263 100644 --- a/Localization/StringsConvertor/Intents/input/ca_ES/Intents.strings +++ b/Localization/StringsConvertor/Intents/input/ca_ES/Intents.strings @@ -1,51 +1,51 @@ -"16wxgf" = "Post on Mastodon"; +"16wxgf" = "Publica a Mastodon"; -"751xkl" = "Text Content"; +"751xkl" = "Contingut del Text"; -"CsR7G2" = "Post"; +"CsR7G2" = "Publicació"; -"HZSGTr" = "What content to post?"; +"HZSGTr" = "Quin contingut publicar?"; -"HdGikU" = "Posting failed"; +"HdGikU" = "Publicació fallida"; -"KDNTJ4" = "Failure Reason"; +"KDNTJ4" = "Motiu del error"; -"RHxKOw" = "Send Post with text content"; +"RHxKOw" = "Envia Publicació amb contingut de text"; -"RxSqsb" = "Post"; +"RxSqsb" = "Publicació"; -"WCIR3D" = "Post ${content} on Mastodon"; +"WCIR3D" = "Publica ${content} a Mastodon"; -"ZKJSNu" = "Post"; +"ZKJSNu" = "Publicació"; "ZS1XaK" = "${content}"; -"ZbSjzC" = "Visibility"; +"ZbSjzC" = "Visibilitat"; -"Zo4jgJ" = "Post Visibility"; +"Zo4jgJ" = "Visibilitat de la Publicació"; -"apSxMG-dYQ5NN" = "There are ${count} options matching ‘Public’."; +"apSxMG-dYQ5NN" = "Hi ha ${count} opcions que coincideixen amb ‘Públic’."; -"apSxMG-ehFLjY" = "There are ${count} options matching ‘Followers Only’."; +"apSxMG-ehFLjY" = "Hi ha ${count} opcions que coincideixen amb ‘Només Seguidors’."; -"ayoYEb-dYQ5NN" = "${content}, Public"; +"ayoYEb-dYQ5NN" = "${content}, Públic"; -"ayoYEb-ehFLjY" = "${content}, Followers Only"; +"ayoYEb-ehFLjY" = "${content}, Només Seguidors"; -"dUyuGg" = "Post"; +"dUyuGg" = "Publicació"; -"dYQ5NN" = "Public"; +"dYQ5NN" = "Públic"; -"ehFLjY" = "Followers Only"; +"ehFLjY" = "Només Seguidors"; -"gfePDu" = "Posting failed. ${failureReason}"; +"gfePDu" = "Publicació fallida. ${failureReason}"; -"k7dbKQ" = "Post was sent successfully."; +"k7dbKQ" = "La publicació s'ha enviat correctament."; -"oGiqmY-dYQ5NN" = "Just to confirm, you wanted ‘Public’?"; +"oGiqmY-dYQ5NN" = "Només per a confirmar, volies 'Públic'?"; -"oGiqmY-ehFLjY" = "Just to confirm, you wanted ‘Followers Only’?"; +"oGiqmY-ehFLjY" = "Només per a confirmar, volies 'Només Seguidors'?"; "rM6dvp" = "URL"; -"ryJLwG" = "Post was sent successfully. "; +"ryJLwG" = "La publicació s'ha enviat correctament. "; From f5d14df779f0ab64e598439f8dea6ce5c1f5a9cc Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 11:52:01 +0200 Subject: [PATCH 088/115] New translations Intents.strings (Dutch) --- .../Intents/input/nl_NL/Intents.strings | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/Localization/StringsConvertor/Intents/input/nl_NL/Intents.strings b/Localization/StringsConvertor/Intents/input/nl_NL/Intents.strings index e19069797..77d237112 100644 --- a/Localization/StringsConvertor/Intents/input/nl_NL/Intents.strings +++ b/Localization/StringsConvertor/Intents/input/nl_NL/Intents.strings @@ -1,51 +1,51 @@ -"16wxgf" = "Post on Mastodon"; +"16wxgf" = "Berichten op Mastodon"; -"751xkl" = "Text Content"; +"751xkl" = "Berichtsinhoud"; -"CsR7G2" = "Post"; +"CsR7G2" = "Plaatsen"; -"HZSGTr" = "What content to post?"; +"HZSGTr" = "Welke inhoud om bericht te plaatsen?"; -"HdGikU" = "Posting failed"; +"HdGikU" = "Bericht plaatsen mislukt"; -"KDNTJ4" = "Failure Reason"; +"KDNTJ4" = "Reden van de Fout"; -"RHxKOw" = "Send Post with text content"; +"RHxKOw" = "Bericht verzenden met tekstinhoud"; -"RxSqsb" = "Post"; +"RxSqsb" = "Bericht"; -"WCIR3D" = "Post ${content} on Mastodon"; +"WCIR3D" = "Plaats ${content} op Mastodon"; -"ZKJSNu" = "Post"; +"ZKJSNu" = "Plaatsen"; "ZS1XaK" = "${content}"; -"ZbSjzC" = "Visibility"; +"ZbSjzC" = "Zichbaarheid"; -"Zo4jgJ" = "Post Visibility"; +"Zo4jgJ" = "Berichtszichtbaarheid"; -"apSxMG-dYQ5NN" = "There are ${count} options matching ‘Public’."; +"apSxMG-dYQ5NN" = "Er zijn ${count} opties die overeenkomen met ‘Openbaar’."; -"apSxMG-ehFLjY" = "There are ${count} options matching ‘Followers Only’."; +"apSxMG-ehFLjY" = "Er zijn ${count} opties die overeenkomen met ‘Alleen Volgers’."; -"ayoYEb-dYQ5NN" = "${content}, Public"; +"ayoYEb-dYQ5NN" = "${content}, Openbaar"; -"ayoYEb-ehFLjY" = "${content}, Followers Only"; +"ayoYEb-ehFLjY" = "${content}, Alleen Volgers"; -"dUyuGg" = "Post"; +"dUyuGg" = "Plaatsen"; -"dYQ5NN" = "Public"; +"dYQ5NN" = "Openbaar"; -"ehFLjY" = "Followers Only"; +"ehFLjY" = "Alleen Volgers"; -"gfePDu" = "Posting failed. ${failureReason}"; +"gfePDu" = "Plaatsen mislukt. ${failureReason}"; -"k7dbKQ" = "Post was sent successfully."; +"k7dbKQ" = "Het bericht is succesvol verzonden."; -"oGiqmY-dYQ5NN" = "Just to confirm, you wanted ‘Public’?"; +"oGiqmY-dYQ5NN" = "Wilde u ‘Openbaar’?"; -"oGiqmY-ehFLjY" = "Just to confirm, you wanted ‘Followers Only’?"; +"oGiqmY-ehFLjY" = "Wilde u ‘Alleen Volgers’?"; "rM6dvp" = "URL"; -"ryJLwG" = "Post was sent successfully. "; +"ryJLwG" = "Het bericht is succesvol verzonden. "; From d3c77ee6cf13c0f03f34f8aa377472a2bb6da38c Mon Sep 17 00:00:00 2001 From: CMK Date: Mon, 9 Aug 2021 17:54:11 +0800 Subject: [PATCH 089/115] feat: add Idempotency-Key` header for status --- .../Item/ComposeStatusPollItem.swift | 2 +- .../ComposeViewModel+PublishState.swift | 3 + Mastodon/Scene/Compose/ComposeViewModel.swift | 55 ++++++++++++++++++- .../APIService+Status+Publish.swift | 2 + MastodonIntent/SendPostIntentHandler.swift | 3 + .../API/Mastodon+API+Statuses.swift | 6 +- .../Scene/ShareViewModel.swift | 1 + 7 files changed, 69 insertions(+), 3 deletions(-) diff --git a/Mastodon/Diffiable/Item/ComposeStatusPollItem.swift b/Mastodon/Diffiable/Item/ComposeStatusPollItem.swift index 0b4abf233..2e45484c7 100644 --- a/Mastodon/Diffiable/Item/ComposeStatusPollItem.swift +++ b/Mastodon/Diffiable/Item/ComposeStatusPollItem.swift @@ -70,7 +70,7 @@ extension ComposeStatusPollItem { hasher.combine(id) } - enum ExpiresOption: Equatable, Hashable, CaseIterable { + enum ExpiresOption: String, Equatable, Hashable, CaseIterable { case thirtyMinutes case oneHour case sixHours diff --git a/Mastodon/Scene/Compose/ComposeViewModel+PublishState.swift b/Mastodon/Scene/Compose/ComposeViewModel+PublishState.swift index fd3f5bce0..8f739315d 100644 --- a/Mastodon/Scene/Compose/ComposeViewModel+PublishState.swift +++ b/Mastodon/Scene/Compose/ComposeViewModel+PublishState.swift @@ -107,6 +107,8 @@ extension ComposeViewModel.PublishState { return subscriptions }() + let idempotencyKey = viewModel.idempotencyKey.value + publishingSubscription = Publishers.MergeMany(updateMediaQuerySubscriptions) .collect() .flatMap { attachments -> AnyPublisher, Error> in @@ -122,6 +124,7 @@ extension ComposeViewModel.PublishState { ) return viewModel.context.apiService.publishStatus( domain: domain, + idempotencyKey: idempotencyKey, query: query, mastodonAuthenticationBox: mastodonAuthenticationBox ) diff --git a/Mastodon/Scene/Compose/ComposeViewModel.swift b/Mastodon/Scene/Compose/ComposeViewModel.swift index 7a6ed8bdd..f91565d38 100644 --- a/Mastodon/Scene/Compose/ComposeViewModel.swift +++ b/Mastodon/Scene/Compose/ComposeViewModel.swift @@ -58,7 +58,10 @@ final class ComposeViewModel: NSObject { }() private(set) lazy var publishStateMachinePublisher = CurrentValueSubject(nil) private(set) var publishDate = Date() // update it when enter Publishing state - + + // TODO: group post material into Hashable class + var idempotencyKey = CurrentValueSubject(UUID().uuidString) + // UI & UX let title: CurrentValueSubject let shouldDismiss = CurrentValueSubject(true) @@ -383,6 +386,56 @@ final class ComposeViewModel: NSObject { self.isPollToolbarButtonEnabled.value = !shouldPollDisable }) .store(in: &disposeBag) + + // calculate `Idempotency-Key` + let content = Publishers.CombineLatest3( + composeStatusAttribute.isContentWarningComposing, + composeStatusAttribute.contentWarningContent, + composeStatusAttribute.composeContent + ) + .map { isContentWarningComposing, contentWarningContent, composeContent -> String in + if isContentWarningComposing { + return contentWarningContent + (composeContent ?? "") + } else { + return composeContent ?? "" + } + } + let attachmentIDs = attachmentServices.map { attachments -> String in + let attachmentIDs = attachments.compactMap { $0.attachment.value?.id } + return attachmentIDs.joined(separator: ",") + } + let pollOptionsAndDuration = Publishers.CombineLatest3( + isPollComposing, + pollOptionAttributes, + pollExpiresOptionAttribute.expiresOption + ) + .map { isPollComposing, pollOptionAttributes, expiresOption -> String in + guard isPollComposing else { + return "" + } + + let pollOptions = pollOptionAttributes.map { $0.option.value }.joined(separator: ",") + return pollOptions + expiresOption.rawValue + } + + Publishers.CombineLatest4( + content, + attachmentIDs, + pollOptionsAndDuration, + selectedStatusVisibility + ) + .map { content, attachmentIDs, pollOptionsAndDuration, selectedStatusVisibility -> String in + var hasher = Hasher() + hasher.combine(content) + hasher.combine(attachmentIDs) + hasher.combine(pollOptionsAndDuration) + hasher.combine(selectedStatusVisibility.visibility.rawValue) + let hashValue = hasher.finalize() + return "\(hashValue)" + } + .assign(to: \.value, on: idempotencyKey) + .store(in: &disposeBag) + } deinit { diff --git a/Mastodon/Service/APIService/APIService+Status+Publish.swift b/Mastodon/Service/APIService/APIService+Status+Publish.swift index 45964602f..1bd3363cf 100644 --- a/Mastodon/Service/APIService/APIService+Status+Publish.swift +++ b/Mastodon/Service/APIService/APIService+Status+Publish.swift @@ -16,6 +16,7 @@ extension APIService { func publishStatus( domain: String, + idempotencyKey: String?, query: Mastodon.API.Statuses.PublishStatusQuery, mastodonAuthenticationBox: MastodonAuthenticationBox ) -> AnyPublisher, Error> { @@ -24,6 +25,7 @@ extension APIService { return Mastodon.API.Statuses.publishStatus( session: session, domain: domain, + idempotencyKey: idempotencyKey, query: query, authorization: authorization ) diff --git a/MastodonIntent/SendPostIntentHandler.swift b/MastodonIntent/SendPostIntentHandler.swift index 6d5f739fb..75e7049aa 100644 --- a/MastodonIntent/SendPostIntentHandler.swift +++ b/MastodonIntent/SendPostIntentHandler.swift @@ -55,9 +55,12 @@ final class SendPostIntentHandler: NSObject, SendPostIntentHandling { spoilerText: nil, visibility: visibility ) + + let idempotencyKey = UUID().uuidString APIService.shared.publishStatus( domain: box.domain, + idempotencyKey: idempotencyKey, query: query, mastodonAuthenticationBox: box ) diff --git a/MastodonSDK/Sources/MastodonSDK/API/Mastodon+API+Statuses.swift b/MastodonSDK/Sources/MastodonSDK/API/Mastodon+API+Statuses.swift index e6c8b19d3..0fa1a0d61 100644 --- a/MastodonSDK/Sources/MastodonSDK/API/Mastodon+API+Statuses.swift +++ b/MastodonSDK/Sources/MastodonSDK/API/Mastodon+API+Statuses.swift @@ -77,14 +77,18 @@ extension Mastodon.API.Statuses { public static func publishStatus( session: URLSession, domain: String, + idempotencyKey: String?, query: PublishStatusQuery, authorization: Mastodon.API.OAuth.Authorization? ) -> AnyPublisher, Error> { - let request = Mastodon.API.post( + var request = Mastodon.API.post( url: publishNewStatusEndpointURL(domain: domain), query: query, authorization: authorization ) + if let idempotencyKey = idempotencyKey { + request.setValue(idempotencyKey, forHTTPHeaderField: "Idempotency-Key") + } return session.dataTaskPublisher(for: request) .tryMap { data, response in let value = try Mastodon.API.decode(type: Mastodon.Entity.Status.self, from: data, response: response) diff --git a/ShareActionExtension/Scene/ShareViewModel.swift b/ShareActionExtension/Scene/ShareViewModel.swift index 62102e660..1aec81bdf 100644 --- a/ShareActionExtension/Scene/ShareViewModel.swift +++ b/ShareActionExtension/Scene/ShareViewModel.swift @@ -346,6 +346,7 @@ extension ShareViewModel { ) return APIService.shared.publishStatus( domain: domain, + idempotencyKey: nil, // FIXME: query: query, mastodonAuthenticationBox: mastodonAuthenticationBox ) From 29f05c5efe21e7c2654306bf05974db4193c820e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 12:48:09 +0200 Subject: [PATCH 090/115] New translations app.json (Romanian) --- Localization/StringsConvertor/input/ro_RO/app.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/Localization/StringsConvertor/input/ro_RO/app.json b/Localization/StringsConvertor/input/ro_RO/app.json index 95faeff92..b63492065 100644 --- a/Localization/StringsConvertor/input/ro_RO/app.json +++ b/Localization/StringsConvertor/input/ro_RO/app.json @@ -324,9 +324,6 @@ "title": "Find People to Follow", "follow_explain": "When you follow someone, you’ll see their posts in your home feed." }, - "public_timeline": { - "title": "Public" - }, "compose": { "title": { "new_post": "New Post", From 00ed37ec111bdff8ba053ad8825d5737c253f8af Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 12:48:10 +0200 Subject: [PATCH 091/115] New translations app.json (Russian) --- Localization/StringsConvertor/input/ru_RU/app.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/Localization/StringsConvertor/input/ru_RU/app.json b/Localization/StringsConvertor/input/ru_RU/app.json index 27dbc400a..ce96e80d7 100644 --- a/Localization/StringsConvertor/input/ru_RU/app.json +++ b/Localization/StringsConvertor/input/ru_RU/app.json @@ -324,9 +324,6 @@ "title": "Подпишитесь на людей", "follow_explain": "Посты людей, на которых вы подписались, будут видны на главной странице." }, - "public_timeline": { - "title": "Public" - }, "compose": { "title": { "new_post": "Новый пост", From ccae8ae26c2fb67fe30574b70c8b3b6b40aad8f0 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 12:48:11 +0200 Subject: [PATCH 092/115] New translations app.json (Welsh) --- Localization/StringsConvertor/input/cy_GB/app.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/Localization/StringsConvertor/input/cy_GB/app.json b/Localization/StringsConvertor/input/cy_GB/app.json index ba6aca468..3d99c77da 100644 --- a/Localization/StringsConvertor/input/cy_GB/app.json +++ b/Localization/StringsConvertor/input/cy_GB/app.json @@ -324,9 +324,6 @@ "title": "Find People to Follow", "follow_explain": "When you follow someone, you’ll see their posts in your home feed." }, - "public_timeline": { - "title": "Public" - }, "compose": { "title": { "new_post": "New Post", From 480ce9a1ceacb21285423148f87f557515f250e9 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 12:48:12 +0200 Subject: [PATCH 093/115] New translations app.json (Hindi) --- Localization/StringsConvertor/input/hi_IN/app.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/Localization/StringsConvertor/input/hi_IN/app.json b/Localization/StringsConvertor/input/hi_IN/app.json index ba6aca468..3d99c77da 100644 --- a/Localization/StringsConvertor/input/hi_IN/app.json +++ b/Localization/StringsConvertor/input/hi_IN/app.json @@ -324,9 +324,6 @@ "title": "Find People to Follow", "follow_explain": "When you follow someone, you’ll see their posts in your home feed." }, - "public_timeline": { - "title": "Public" - }, "compose": { "title": { "new_post": "New Post", From 50322cc872400c064b889b6a8c57e03a5839b243 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 12:48:13 +0200 Subject: [PATCH 094/115] New translations app.json (Spanish, Argentina) --- Localization/StringsConvertor/input/es_AR/app.json | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/es_AR/app.json b/Localization/StringsConvertor/input/es_AR/app.json index 96b37be9b..e3410be12 100644 --- a/Localization/StringsConvertor/input/es_AR/app.json +++ b/Localization/StringsConvertor/input/es_AR/app.json @@ -13,7 +13,7 @@ }, "vote_failure": { "title": "Error al votar", - "poll_ended": "The poll has ended" + "poll_ended": "La encuesta ha terminado" }, "discard_post_content": { "title": "Descartar borrador", @@ -324,9 +324,6 @@ "title": "Encontrá cuentas para seguir", "follow_explain": "Cuando sigás a alguien, verás sus mensajes en tu línea temporal principal." }, - "public_timeline": { - "title": "Pública" - }, "compose": { "title": { "new_post": "Nuevo mensaje", From 799e677b9873b6b462f3b80fbb74079a64c3fc53 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 12:48:14 +0200 Subject: [PATCH 095/115] New translations app.json (Portuguese, Brazilian) --- Localization/StringsConvertor/input/pt_BR/app.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/Localization/StringsConvertor/input/pt_BR/app.json b/Localization/StringsConvertor/input/pt_BR/app.json index ba6aca468..3d99c77da 100644 --- a/Localization/StringsConvertor/input/pt_BR/app.json +++ b/Localization/StringsConvertor/input/pt_BR/app.json @@ -324,9 +324,6 @@ "title": "Find People to Follow", "follow_explain": "When you follow someone, you’ll see their posts in your home feed." }, - "public_timeline": { - "title": "Public" - }, "compose": { "title": { "new_post": "New Post", From 30da82385435ebb7a647af4cc4b4f1253640354a Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 12:48:15 +0200 Subject: [PATCH 096/115] New translations app.json (English) --- Localization/StringsConvertor/input/en_US/app.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/Localization/StringsConvertor/input/en_US/app.json b/Localization/StringsConvertor/input/en_US/app.json index ba6aca468..3d99c77da 100644 --- a/Localization/StringsConvertor/input/en_US/app.json +++ b/Localization/StringsConvertor/input/en_US/app.json @@ -324,9 +324,6 @@ "title": "Find People to Follow", "follow_explain": "When you follow someone, you’ll see their posts in your home feed." }, - "public_timeline": { - "title": "Public" - }, "compose": { "title": { "new_post": "New Post", From c6340e11769a1133cd2bca7107cef19563e35772 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 12:48:16 +0200 Subject: [PATCH 097/115] New translations app.json (Chinese Traditional) --- Localization/StringsConvertor/input/zh_TW/app.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/Localization/StringsConvertor/input/zh_TW/app.json b/Localization/StringsConvertor/input/zh_TW/app.json index ba6aca468..3d99c77da 100644 --- a/Localization/StringsConvertor/input/zh_TW/app.json +++ b/Localization/StringsConvertor/input/zh_TW/app.json @@ -324,9 +324,6 @@ "title": "Find People to Follow", "follow_explain": "When you follow someone, you’ll see their posts in your home feed." }, - "public_timeline": { - "title": "Public" - }, "compose": { "title": { "new_post": "New Post", From 3d4e31292c73de890ae9bddb23e645e3e3a0d00e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 12:48:17 +0200 Subject: [PATCH 098/115] New translations app.json (Chinese Simplified) --- Localization/StringsConvertor/input/zh_CN/app.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/Localization/StringsConvertor/input/zh_CN/app.json b/Localization/StringsConvertor/input/zh_CN/app.json index 0851a965a..7cbf927b5 100644 --- a/Localization/StringsConvertor/input/zh_CN/app.json +++ b/Localization/StringsConvertor/input/zh_CN/app.json @@ -324,9 +324,6 @@ "title": "查看推荐关注的用户", "follow_explain": "当你关注某个人时,你将会在主页看到他们的帖子。" }, - "public_timeline": { - "title": "公开" - }, "compose": { "title": { "new_post": "新帖子", From 0fe7ac311fc205045a5e727b5434d711fc523894 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 12:48:18 +0200 Subject: [PATCH 099/115] New translations app.json (Portuguese) --- Localization/StringsConvertor/input/pt_PT/app.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/Localization/StringsConvertor/input/pt_PT/app.json b/Localization/StringsConvertor/input/pt_PT/app.json index ba6aca468..3d99c77da 100644 --- a/Localization/StringsConvertor/input/pt_PT/app.json +++ b/Localization/StringsConvertor/input/pt_PT/app.json @@ -324,9 +324,6 @@ "title": "Find People to Follow", "follow_explain": "When you follow someone, you’ll see their posts in your home feed." }, - "public_timeline": { - "title": "Public" - }, "compose": { "title": { "new_post": "New Post", From bfdaa5b779a2dc705f1456925e1360c1db892680 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 12:48:19 +0200 Subject: [PATCH 100/115] New translations app.json (French) --- Localization/StringsConvertor/input/fr_FR/app.json | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/fr_FR/app.json b/Localization/StringsConvertor/input/fr_FR/app.json index 359625fbd..ad9dbc60d 100644 --- a/Localization/StringsConvertor/input/fr_FR/app.json +++ b/Localization/StringsConvertor/input/fr_FR/app.json @@ -13,7 +13,7 @@ }, "vote_failure": { "title": "Le vote n’a pas pu être enregistré", - "poll_ended": "The poll has ended" + "poll_ended": "Le sondage est terminé" }, "discard_post_content": { "title": "Abandonner le brouillon", @@ -324,9 +324,6 @@ "title": "Trouver des personnes à suivre", "follow_explain": "Quand vous suivez quelqu'un, vous verrez leurs messages dans votre flux d’accueil." }, - "public_timeline": { - "title": "Public" - }, "compose": { "title": { "new_post": "Nouvelle Publication", From 9933079cf54c6b694aba0d03d0d96e6365496acb Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 12:48:19 +0200 Subject: [PATCH 101/115] New translations app.json (Dutch) --- Localization/StringsConvertor/input/nl_NL/app.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/Localization/StringsConvertor/input/nl_NL/app.json b/Localization/StringsConvertor/input/nl_NL/app.json index 5de42cc83..cdd5a40ff 100644 --- a/Localization/StringsConvertor/input/nl_NL/app.json +++ b/Localization/StringsConvertor/input/nl_NL/app.json @@ -324,9 +324,6 @@ "title": "Zoek Mensen om te Volgen", "follow_explain": "Wanneer u iemand volgt, ziet u hun berichten op de startpagina." }, - "public_timeline": { - "title": "Openbaar" - }, "compose": { "title": { "new_post": "Nieuw Bericht", From 91cad538fc8dfde1f2a4937d59d84255b61ac8ed Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 12:48:20 +0200 Subject: [PATCH 102/115] New translations app.json (Korean) --- Localization/StringsConvertor/input/ko_KR/app.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/Localization/StringsConvertor/input/ko_KR/app.json b/Localization/StringsConvertor/input/ko_KR/app.json index e952aa7c9..91fd4f147 100644 --- a/Localization/StringsConvertor/input/ko_KR/app.json +++ b/Localization/StringsConvertor/input/ko_KR/app.json @@ -324,9 +324,6 @@ "title": "Find People to Follow", "follow_explain": "When you follow someone, you’ll see their posts in your home feed." }, - "public_timeline": { - "title": "Public" - }, "compose": { "title": { "new_post": "New Post", From b00480f88cd95759a39bd6d7d3e716259a18551a Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 12:48:21 +0200 Subject: [PATCH 103/115] New translations app.json (Japanese) --- Localization/StringsConvertor/input/ja_JP/app.json | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/ja_JP/app.json b/Localization/StringsConvertor/input/ja_JP/app.json index 276db5553..3df4e56c9 100644 --- a/Localization/StringsConvertor/input/ja_JP/app.json +++ b/Localization/StringsConvertor/input/ja_JP/app.json @@ -13,7 +13,7 @@ }, "vote_failure": { "title": "投票の失敗", - "poll_ended": "The poll has ended" + "poll_ended": "投票は終了しました" }, "discard_post_content": { "title": "トゥートを破棄しますか?", @@ -324,9 +324,6 @@ "title": "フォローする人を探す", "follow_explain": "誰かをフォローすると、その人の投稿がタイムラインに表示されるようになります。" }, - "public_timeline": { - "title": "公開" - }, "compose": { "title": { "new_post": "新しいトゥート", From 1ba99e927fa136a028aaa60746a03e4f8117ace7 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 12:48:22 +0200 Subject: [PATCH 104/115] New translations app.json (German) --- Localization/StringsConvertor/input/de_DE/app.json | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/de_DE/app.json b/Localization/StringsConvertor/input/de_DE/app.json index 29f0a2ac7..c955e12a5 100644 --- a/Localization/StringsConvertor/input/de_DE/app.json +++ b/Localization/StringsConvertor/input/de_DE/app.json @@ -13,7 +13,7 @@ }, "vote_failure": { "title": "Fehler bei Abstimmung", - "poll_ended": "The poll has ended" + "poll_ended": "Die Umfrage ist beendet" }, "discard_post_content": { "title": "Entwurf Verwerfen", @@ -324,9 +324,6 @@ "title": "Entdecke Benutzer zum Folgen", "follow_explain": "Wenn du jemandem folgst, siehst du deren Beiträge dann in deinem Home-Feed." }, - "public_timeline": { - "title": "Öffentlich" - }, "compose": { "title": { "new_post": "Neuer Beitrag", From 880bcfaf102147a1b63f4bd5e09360290b28a53f Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 12:48:23 +0200 Subject: [PATCH 105/115] New translations app.json (Catalan) --- Localization/StringsConvertor/input/ca_ES/app.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/Localization/StringsConvertor/input/ca_ES/app.json b/Localization/StringsConvertor/input/ca_ES/app.json index a0fafc622..0f0c6711d 100644 --- a/Localization/StringsConvertor/input/ca_ES/app.json +++ b/Localization/StringsConvertor/input/ca_ES/app.json @@ -324,9 +324,6 @@ "title": "Cerca Persones per Seguir", "follow_explain": "Quan segueixes algú, veuràs les seves publicacions a Inici." }, - "public_timeline": { - "title": "Públic" - }, "compose": { "title": { "new_post": "Nova publicació", From 8f5857f2d017f04e7e4c729cf84ebedbee23b363 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 12:48:24 +0200 Subject: [PATCH 106/115] New translations app.json (Arabic) --- Localization/StringsConvertor/input/ar_SA/app.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/Localization/StringsConvertor/input/ar_SA/app.json b/Localization/StringsConvertor/input/ar_SA/app.json index 935526da3..e370035cb 100644 --- a/Localization/StringsConvertor/input/ar_SA/app.json +++ b/Localization/StringsConvertor/input/ar_SA/app.json @@ -324,9 +324,6 @@ "title": "Find People to Follow", "follow_explain": "When you follow someone, you’ll see their posts in your home feed." }, - "public_timeline": { - "title": "Public" - }, "compose": { "title": { "new_post": "منشور جديد", From 4391b110908c68611aaf60be7347f532e2bf4b85 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 12:48:25 +0200 Subject: [PATCH 107/115] New translations app.json (Spanish) --- Localization/StringsConvertor/input/es_ES/app.json | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/es_ES/app.json b/Localization/StringsConvertor/input/es_ES/app.json index 93098f4ea..e040b8be7 100644 --- a/Localization/StringsConvertor/input/es_ES/app.json +++ b/Localization/StringsConvertor/input/es_ES/app.json @@ -13,7 +13,7 @@ }, "vote_failure": { "title": "Voto fallido", - "poll_ended": "The poll has ended" + "poll_ended": "La encuesta ha terminado" }, "discard_post_content": { "title": "Descartar borrador", @@ -324,9 +324,6 @@ "title": "Encuentra Gente a la que Seguir", "follow_explain": "Cuando sigas a alguien verás sus publicaciones en tu página de inicio." }, - "public_timeline": { - "title": "Pública" - }, "compose": { "title": { "new_post": "Nueva Publicación", From a003b987c6adb4da30c212b3e5d220fc69ef5a34 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 9 Aug 2021 12:48:26 +0200 Subject: [PATCH 108/115] New translations app.json (Scottish Gaelic) --- Localization/StringsConvertor/input/gd_GB/app.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/Localization/StringsConvertor/input/gd_GB/app.json b/Localization/StringsConvertor/input/gd_GB/app.json index 509882fc9..f3be64be0 100644 --- a/Localization/StringsConvertor/input/gd_GB/app.json +++ b/Localization/StringsConvertor/input/gd_GB/app.json @@ -324,9 +324,6 @@ "title": "Lorg daoine a leanas tu", "follow_explain": "Nuair a leanas tu air cuideigin, chì thu na puist aca air inbhir na dachaigh agad." }, - "public_timeline": { - "title": "Poblach" - }, "compose": { "title": { "new_post": "Post ùr", From 2f279249958ecc715d4be0ff455105bec9ac9f25 Mon Sep 17 00:00:00 2001 From: CMK Date: Mon, 9 Aug 2021 18:53:11 +0800 Subject: [PATCH 109/115] chore: update i18n template --- Localization/app.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Localization/app.json b/Localization/app.json index 3d99c77da..d7ba2147e 100644 --- a/Localization/app.json +++ b/Localization/app.json @@ -179,10 +179,10 @@ }, "header": { "no_status_found": "No Post Found", - "blocking_warning": "You can’t view this user's profile\n until you unblock them.\nYour profile looks like this to them.", - "user_blocking_warning": "You can’t view %s’s profile\n until you unblock them.\nYour profile looks like this to them.", - "blocked_warning": "You can’t view this user’s profile\n until they unblock you.", - "user_blocked_warning": "You can’t view %s’s profile\n until they unblock you.", + "blocking_warning": "You can’t view this user's profile\nuntil you unblock them.\nYour profile looks like this to them.", + "user_blocking_warning": "You can’t view %s’s profile\nuntil you unblock them.\nYour profile looks like this to them.", + "blocked_warning": "You can’t view this user’s profile\nuntil they unblock you.", + "user_blocked_warning": "You can’t view %s’s profile\nuntil they unblock you.", "suspended_warning": "This user has been suspended.", "user_suspended_warning": "%s’s account has been suspended." } From fee8aec3df1ce26d8317c1d3679f5612364e9790 Mon Sep 17 00:00:00 2001 From: CMK Date: Mon, 9 Aug 2021 19:09:24 +0800 Subject: [PATCH 110/115] chore: update i18n resources --- Mastodon/Generated/Strings.swift | 124 ++++---- .../Resources/ar.lproj/Localizable.strings | 14 +- .../ar.lproj/Localizable.stringsdict | 264 ++++++++++++++++++ .../Resources/ca.lproj/Localizable.strings | 22 +- .../ca.lproj/Localizable.stringsdict | 176 ++++++++++++ .../Resources/de.lproj/Localizable.strings | 177 ++++++------ .../de.lproj/Localizable.stringsdict | 182 +++++++++++- .../Resources/en.lproj/Localizable.strings | 14 +- .../en.lproj/Localizable.stringsdict | 176 ++++++++++++ .../es-419.lproj/Localizable.strings | 16 +- .../es-419.lproj/Localizable.stringsdict | 176 ++++++++++++ .../Resources/es.lproj/Localizable.strings | 14 +- .../es.lproj/Localizable.stringsdict | 176 ++++++++++++ .../Resources/fr.lproj/Localizable.strings | 14 +- .../fr.lproj/Localizable.stringsdict | 176 ++++++++++++ .../Resources/ja.lproj/Localizable.strings | 16 +- .../ja.lproj/Localizable.stringsdict | 154 ++++++++++ .../zh-Hans.lproj/Localizable.strings | 16 +- .../zh-Hans.lproj/Localizable.stringsdict | 156 ++++++++++- MastodonIntent/ca.lproj/Intents.strings | 4 +- MastodonIntent/de.lproj/Intents.strings | 24 +- MastodonIntent/es-419.lproj/Intents.strings | 50 ++-- MastodonIntent/es.lproj/Intents.strings | 48 ++-- MastodonIntent/fr.lproj/Intents.strings | 44 +-- MastodonIntent/zh-Hans.lproj/Intents.strings | 48 ++-- 25 files changed, 1906 insertions(+), 375 deletions(-) diff --git a/Mastodon/Generated/Strings.swift b/Mastodon/Generated/Strings.swift index 0f390d2ed..1356cfacf 100644 --- a/Mastodon/Generated/Strings.swift +++ b/Mastodon/Generated/Strings.swift @@ -88,8 +88,8 @@ internal enum L10n { internal static let title = L10n.tr("Localizable", "Common.Alerts.SignUpFailure.Title") } internal enum VoteFailure { - /// The poll has expired - internal static let pollExpired = L10n.tr("Localizable", "Common.Alerts.VoteFailure.PollExpired") + /// The poll has ended + internal static let pollEnded = L10n.tr("Localizable", "Common.Alerts.VoteFailure.PollEnded") /// Vote Failure internal static let title = L10n.tr("Localizable", "Common.Alerts.VoteFailure.Title") } @@ -295,10 +295,6 @@ internal enum L10n { internal enum Poll { /// Closed internal static let closed = L10n.tr("Localizable", "Common.Controls.Status.Poll.Closed") - /// %@ left - internal static func timeLeft(_ p1: Any) -> String { - return L10n.tr("Localizable", "Common.Controls.Status.Poll.TimeLeft", String(describing: p1)) - } /// Vote internal static let vote = L10n.tr("Localizable", "Common.Controls.Status.Poll.Vote") } @@ -330,20 +326,6 @@ internal enum L10n { internal enum Timeline { /// Filtered internal static let filtered = L10n.tr("Localizable", "Common.Controls.Timeline.Filtered") - internal enum Accessibility { - /// %@ favorites - internal static func countFavorites(_ p1: Any) -> String { - return L10n.tr("Localizable", "Common.Controls.Timeline.Accessibility.CountFavorites", String(describing: p1)) - } - /// %@ reblogs - internal static func countReblogs(_ p1: Any) -> String { - return L10n.tr("Localizable", "Common.Controls.Timeline.Accessibility.CountReblogs", String(describing: p1)) - } - /// %@ replies - internal static func countReplies(_ p1: Any) -> String { - return L10n.tr("Localizable", "Common.Controls.Timeline.Accessibility.CountReplies", String(describing: p1)) - } - } internal enum Header { /// You can’t view this user’s profile\n until they unblock you. internal static let blockedWarning = L10n.tr("Localizable", "Common.Controls.Timeline.Header.BlockedWarning") @@ -377,10 +359,6 @@ internal enum L10n { internal enum Timestamp { /// Now internal static let now = L10n.tr("Localizable", "Common.Controls.Timeline.Timestamp.Now") - /// %@ ago - internal static func timeAgo(_ p1: Any) -> String { - return L10n.tr("Localizable", "Common.Controls.Timeline.Timestamp.TimeAgo", String(describing: p1)) - } } } } @@ -407,14 +385,6 @@ internal enum L10n { internal static let disableContentWarning = L10n.tr("Localizable", "Scene.Compose.Accessibility.DisableContentWarning") /// Enable Content Warning internal static let enableContentWarning = L10n.tr("Localizable", "Scene.Compose.Accessibility.EnableContentWarning") - /// Input limit exceeds %ld - internal static func inputLimitExceedsCount(_ p1: Int) -> String { - return L10n.tr("Localizable", "Scene.Compose.Accessibility.InputLimitExceedsCount", p1) - } - /// Input limit remains %ld - internal static func inputLimitRemainsCount(_ p1: Int) -> String { - return L10n.tr("Localizable", "Scene.Compose.Accessibility.InputLimitRemainsCount", p1) - } /// Post Visibility Menu internal static let postVisibilityMenu = L10n.tr("Localizable", "Scene.Compose.Accessibility.PostVisibilityMenu") /// Remove Poll @@ -543,12 +513,6 @@ internal enum L10n { /// Your Favorites internal static let title = L10n.tr("Localizable", "Scene.Favorite.Title") } - internal enum Hashtag { - /// %@ people talking - internal static func prompt(_ p1: Any) -> String { - return L10n.tr("Localizable", "Scene.Hashtag.Prompt", String(describing: p1)) - } - } internal enum HomeTimeline { /// Home internal static let title = L10n.tr("Localizable", "Scene.HomeTimeline.Title") @@ -609,20 +573,6 @@ internal enum L10n { internal static let following = L10n.tr("Localizable", "Scene.Profile.Dashboard.Following") /// posts internal static let posts = L10n.tr("Localizable", "Scene.Profile.Dashboard.Posts") - internal enum Accessibility { - /// %ld followers - internal static func countFollowers(_ p1: Int) -> String { - return L10n.tr("Localizable", "Scene.Profile.Dashboard.Accessibility.CountFollowers", p1) - } - /// %ld following - internal static func countFollowing(_ p1: Int) -> String { - return L10n.tr("Localizable", "Scene.Profile.Dashboard.Accessibility.CountFollowing", p1) - } - /// %ld posts - internal static func countPosts(_ p1: Int) -> String { - return L10n.tr("Localizable", "Scene.Profile.Dashboard.Accessibility.CountPosts", p1) - } - } } internal enum Fields { /// Add Row @@ -661,10 +611,6 @@ internal enum L10n { internal static let replies = L10n.tr("Localizable", "Scene.Profile.SegmentedControl.Replies") } } - internal enum PublicTimeline { - /// Public - internal static let title = L10n.tr("Localizable", "Scene.PublicTimeline.Title") - } internal enum Register { /// Tell us about you. internal static let title = L10n.tr("Localizable", "Scene.Register.Title") @@ -1019,6 +965,60 @@ internal enum L10n { } } + internal enum A11y { + internal enum Plural { + internal enum Count { + /// Plural format key: "Input limit exceeds %#@character_count@" + internal static func inputLimitExceeds(_ p1: Int) -> String { + return L10n.tr("Localizable", "a11y.plural.count.input_limit_exceeds", p1) + } + /// Plural format key: "Input limit remains %#@character_count@" + internal static func inputLimitRemains(_ p1: Int) -> String { + return L10n.tr("Localizable", "a11y.plural.count.input_limit_remains", p1) + } + } + } + } + + internal enum Date { + internal enum Day { + /// Plural format key: "%#@count_day_left@" + internal static func `left`(_ p1: Int) -> String { + return L10n.tr("Localizable", "date.day.left", p1) + } + } + internal enum Hour { + /// Plural format key: "%#@count_hour_left@" + internal static func `left`(_ p1: Int) -> String { + return L10n.tr("Localizable", "date.hour.left", p1) + } + } + internal enum Minute { + /// Plural format key: "%#@count_minute_left@" + internal static func `left`(_ p1: Int) -> String { + return L10n.tr("Localizable", "date.minute.left", p1) + } + } + internal enum Month { + /// Plural format key: "%#@count_month_left@" + internal static func `left`(_ p1: Int) -> String { + return L10n.tr("Localizable", "date.month.left", p1) + } + } + internal enum Second { + /// Plural format key: "%#@count_second_left@" + internal static func `left`(_ p1: Int) -> String { + return L10n.tr("Localizable", "date.second.left", p1) + } + } + internal enum Year { + /// Plural format key: "%#@count_year_left@" + internal static func `left`(_ p1: Int) -> String { + return L10n.tr("Localizable", "date.year.left", p1) + } + } + } + internal enum Plural { /// Plural format key: "%#@count_people_talking@" internal static func peopleTalking(_ p1: Int) -> String { @@ -1029,6 +1029,18 @@ internal enum L10n { internal static func favorite(_ p1: Int) -> String { return L10n.tr("Localizable", "plural.count.favorite", p1) } + /// Plural format key: "%#@count_follower@" + internal static func follower(_ p1: Int) -> String { + return L10n.tr("Localizable", "plural.count.follower", p1) + } + /// Plural format key: "%#@count_following@" + internal static func following(_ p1: Int) -> String { + return L10n.tr("Localizable", "plural.count.following", p1) + } + /// Plural format key: "%#@post_count@" + internal static func post(_ p1: Int) -> String { + return L10n.tr("Localizable", "plural.count.post", p1) + } /// Plural format key: "%#@reblog_count@" internal static func reblog(_ p1: Int) -> String { return L10n.tr("Localizable", "plural.count.reblog", p1) diff --git a/Mastodon/Resources/ar.lproj/Localizable.strings b/Mastodon/Resources/ar.lproj/Localizable.strings index 8e7b47311..39702487b 100644 --- a/Mastodon/Resources/ar.lproj/Localizable.strings +++ b/Mastodon/Resources/ar.lproj/Localizable.strings @@ -22,7 +22,7 @@ Please check your internet connection."; "Common.Alerts.SignOut.Message" = "هل أنت متأكد من أنك تريد تسجيل الخروج؟"; "Common.Alerts.SignOut.Title" = "تسجيل الخروج"; "Common.Alerts.SignUpFailure.Title" = "فشل التسجيل"; -"Common.Alerts.VoteFailure.PollExpired" = "انتهت مدة صلاحية الاستطلاع"; +"Common.Alerts.VoteFailure.PollEnded" = "The poll has ended"; "Common.Alerts.VoteFailure.Title" = "فشل التصويت"; "Common.Controls.Actions.Add" = "إضافة"; "Common.Controls.Actions.Back" = "العودة"; @@ -100,7 +100,6 @@ Please check your internet connection."; "Common.Controls.Status.ContentWarning" = "Content Warning"; "Common.Controls.Status.MediaContentWarning" = "Tap anywhere to reveal"; "Common.Controls.Status.Poll.Closed" = "Closed"; -"Common.Controls.Status.Poll.TimeLeft" = "%@ left"; "Common.Controls.Status.Poll.Vote" = "Vote"; "Common.Controls.Status.ShowPost" = "Show Post"; "Common.Controls.Status.ShowUserProfile" = "Show user profile"; @@ -116,9 +115,6 @@ Please check your internet connection."; "Common.Controls.Tabs.Notification" = "الإشعارات"; "Common.Controls.Tabs.Profile" = "الملف التعريفي"; "Common.Controls.Tabs.Search" = "بحث"; -"Common.Controls.Timeline.Accessibility.CountFavorites" = "%@ favorites"; -"Common.Controls.Timeline.Accessibility.CountReblogs" = "%@ reblogs"; -"Common.Controls.Timeline.Accessibility.CountReplies" = "%@ replies"; "Common.Controls.Timeline.Filtered" = "Filtered"; "Common.Controls.Timeline.Header.BlockedWarning" = "You can’t view this user’s profile until they unblock you."; @@ -137,14 +133,11 @@ Your profile looks like this to them."; "Common.Controls.Timeline.Loader.LoadingMissingPosts" = "تحميل المزيد من المنشورات..."; "Common.Controls.Timeline.Loader.ShowMoreReplies" = "إظهار المزيد من الردود"; "Common.Controls.Timeline.Timestamp.Now" = "الأن"; -"Common.Controls.Timeline.Timestamp.TimeAgo" = "منذ %@"; "Scene.Compose.Accessibility.AppendAttachment" = "Add Attachment"; "Scene.Compose.Accessibility.AppendPoll" = "اضافة استطلاع رأي"; "Scene.Compose.Accessibility.CustomEmojiPicker" = "منتقي مخصص للإيموجي"; "Scene.Compose.Accessibility.DisableContentWarning" = "تعطيل تحذير الحتوى"; "Scene.Compose.Accessibility.EnableContentWarning" = "تنشيط تحذير المحتوى"; -"Scene.Compose.Accessibility.InputLimitExceedsCount" = "Input limit exceeds %ld"; -"Scene.Compose.Accessibility.InputLimitRemainsCount" = "Input limit remains %ld"; "Scene.Compose.Accessibility.PostVisibilityMenu" = "Post Visibility Menu"; "Scene.Compose.Accessibility.RemovePoll" = "إزالة الاستطلاع"; "Scene.Compose.Attachment.AttachmentBroken" = "This %@ is broken and can’t be @@ -194,7 +187,6 @@ uploaded to Mastodon."; tap the link to confirm your account."; "Scene.ConfirmEmail.Title" = "شيء واحد أخير."; "Scene.Favorite.Title" = "Your Favorites"; -"Scene.Hashtag.Prompt" = "%@ people talking"; "Scene.HomeTimeline.NavigationBarState.NewPosts" = "See new posts"; "Scene.HomeTimeline.NavigationBarState.Offline" = "غير متصل"; "Scene.HomeTimeline.NavigationBarState.Published" = "Published!"; @@ -213,9 +205,6 @@ tap the link to confirm your account."; "Scene.Preview.Keyboard.ClosePreview" = "إغلاق المعاينة"; "Scene.Preview.Keyboard.ShowNext" = "إظهار التالي"; "Scene.Preview.Keyboard.ShowPrevious" = "إظهار السابق"; -"Scene.Profile.Dashboard.Accessibility.CountFollowers" = "%ld followers"; -"Scene.Profile.Dashboard.Accessibility.CountFollowing" = "%ld following"; -"Scene.Profile.Dashboard.Accessibility.CountPosts" = "%ld posts"; "Scene.Profile.Dashboard.Followers" = "متابِع"; "Scene.Profile.Dashboard.Following" = "مُتابَع"; "Scene.Profile.Dashboard.Posts" = "منشورات"; @@ -229,7 +218,6 @@ tap the link to confirm your account."; "Scene.Profile.SegmentedControl.Media" = "وسائط"; "Scene.Profile.SegmentedControl.Posts" = "منشورات"; "Scene.Profile.SegmentedControl.Replies" = "ردود"; -"Scene.PublicTimeline.Title" = "Public"; "Scene.Register.Error.Item.Agreement" = "الاتفاقية"; "Scene.Register.Error.Item.Email" = "البريد الإلكتروني"; "Scene.Register.Error.Item.Locale" = "اللغة المحلية"; diff --git a/Mastodon/Resources/ar.lproj/Localizable.stringsdict b/Mastodon/Resources/ar.lproj/Localizable.stringsdict index 7efc3e0f3..ac93b644b 100644 --- a/Mastodon/Resources/ar.lproj/Localizable.stringsdict +++ b/Mastodon/Resources/ar.lproj/Localizable.stringsdict @@ -2,6 +2,54 @@ + a11y.plural.count.input_limit_exceeds + + NSStringLocalizedFormatKey + Input limit exceeds %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld characters + one + 1 character + two + %ld characters + few + %ld characters + many + %ld characters + other + %ld characters + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Input limit remains %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld characters + one + 1 character + two + %ld characters + few + %ld characters + many + %ld characters + other + %ld characters + + plural.count.metric_formatted.post NSStringLocalizedFormatKey @@ -26,6 +74,30 @@ posts + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld posts + one + 1 post + two + %ld posts + few + %ld posts + many + %ld posts + other + %ld posts + + plural.count.favorite NSStringLocalizedFormatKey @@ -146,5 +218,197 @@ %ld people talking + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld following + one + 1 following + two + %ld following + few + %ld following + many + %ld following + other + %ld following + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld followers + one + 1 follower + two + %ld followers + few + %ld followers + many + %ld followers + other + %ld followers + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld years left + one + 1 year left + two + %ld years left + few + %ld years left + many + %ld years left + other + %ld years left + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld months left + one + 1 months left + two + %ld months left + few + %ld months left + many + %ld months left + other + %ld months left + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld days left + one + 1 day left + two + %ld days left + few + %ld days left + many + %ld days left + other + %ld days left + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld hours left + one + 1 hour left + two + %ld hours left + few + %ld hours left + many + %ld hours left + other + %ld hours left + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld minutes left + one + 1 minute left + two + %ld minutes left + few + %ld minutes left + many + %ld minutes left + other + %ld minutes left + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld seconds left + one + 1 second left + two + %ld seconds left + few + %ld seconds left + many + %ld seconds left + other + %ld seconds left + + diff --git a/Mastodon/Resources/ca.lproj/Localizable.strings b/Mastodon/Resources/ca.lproj/Localizable.strings index 728dc4bc9..31bb9b58e 100644 --- a/Mastodon/Resources/ca.lproj/Localizable.strings +++ b/Mastodon/Resources/ca.lproj/Localizable.strings @@ -22,7 +22,7 @@ Comprova la teva connexió a Internet."; "Common.Alerts.SignOut.Message" = "Estàs segur que vols tancar la sessió?"; "Common.Alerts.SignOut.Title" = "Tancar Sessió"; "Common.Alerts.SignUpFailure.Title" = "Error en el registre"; -"Common.Alerts.VoteFailure.PollExpired" = "L'enquesta ha finalitzat"; +"Common.Alerts.VoteFailure.PollEnded" = "L'enquesta ha finalitzat"; "Common.Alerts.VoteFailure.Title" = "Error del Vot"; "Common.Controls.Actions.Add" = "Afegeix"; "Common.Controls.Actions.Back" = "Enrere"; @@ -100,7 +100,6 @@ Comprova la teva connexió a Internet."; "Common.Controls.Status.ContentWarning" = "Advertència de Contingut"; "Common.Controls.Status.MediaContentWarning" = "Toca qualsevol lloc per mostrar"; "Common.Controls.Status.Poll.Closed" = "Finalitzada"; -"Common.Controls.Status.Poll.TimeLeft" = "Falten %@"; "Common.Controls.Status.Poll.Vote" = "Vota"; "Common.Controls.Status.ShowPost" = "Mostra la publicació"; "Common.Controls.Status.ShowUserProfile" = "Mostra el perfil de l'usuari"; @@ -116,9 +115,6 @@ Comprova la teva connexió a Internet."; "Common.Controls.Tabs.Notification" = "Notificació"; "Common.Controls.Tabs.Profile" = "Perfil"; "Common.Controls.Tabs.Search" = "Cerca"; -"Common.Controls.Timeline.Accessibility.CountFavorites" = "favorits de %@"; -"Common.Controls.Timeline.Accessibility.CountReblogs" = "impulsos de %@"; -"Common.Controls.Timeline.Accessibility.CountReplies" = "respostes de %@"; "Common.Controls.Timeline.Filtered" = "Filtrat"; "Common.Controls.Timeline.Header.BlockedWarning" = "No pots veure el perfil d'aquest usuari fins que et desbloquegi."; @@ -137,14 +133,11 @@ El teu perfil els sembla així."; "Common.Controls.Timeline.Loader.LoadingMissingPosts" = "Carregant les publicacions que falten..."; "Common.Controls.Timeline.Loader.ShowMoreReplies" = "Mostra més respostes"; "Common.Controls.Timeline.Timestamp.Now" = "Ara"; -"Common.Controls.Timeline.Timestamp.TimeAgo" = "fa %@"; "Scene.Compose.Accessibility.AppendAttachment" = "Afegeix Adjunt"; "Scene.Compose.Accessibility.AppendPoll" = "Afegir enquesta"; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Selector d'Emoji Personalitzat"; "Scene.Compose.Accessibility.DisableContentWarning" = "Desactiva l'Avís de Contingut"; "Scene.Compose.Accessibility.EnableContentWarning" = "Activa l'Avís de Contingut"; -"Scene.Compose.Accessibility.InputLimitExceedsCount" = "El límit d’entrada supera a %ld"; -"Scene.Compose.Accessibility.InputLimitRemainsCount" = "El límit d’entrada continua sent %ld"; "Scene.Compose.Accessibility.PostVisibilityMenu" = "Menú de Visibilitat de Publicació"; "Scene.Compose.Accessibility.RemovePoll" = "Eliminar Enquesta"; "Scene.Compose.Attachment.AttachmentBroken" = "Aquest %@ està trencat i no pot ser @@ -175,7 +168,7 @@ carregat a Mastodon."; "Scene.Compose.Poll.ThirtyMinutes" = "30 minuts"; "Scene.Compose.Poll.ThreeDays" = "3 Dies"; "Scene.Compose.ReplyingToUser" = "responent a %@"; -"Scene.Compose.Title.NewPost" = "Nueva publicació"; +"Scene.Compose.Title.NewPost" = "Nova publicació"; "Scene.Compose.Title.NewReply" = "Nova Resposta"; "Scene.Compose.Visibility.Direct" = "Només les persones que menciono"; "Scene.Compose.Visibility.Private" = "Només seguidors"; @@ -194,7 +187,6 @@ carregat a Mastodon."; toca l'enllaç per a confirmar el teu compte."; "Scene.ConfirmEmail.Title" = "Una última cosa."; "Scene.Favorite.Title" = "Els teus Favorits"; -"Scene.Hashtag.Prompt" = "%@ persones hi estan parlant"; "Scene.HomeTimeline.NavigationBarState.NewPosts" = "Veure noves publicacions"; "Scene.HomeTimeline.NavigationBarState.Offline" = "Fora de línia"; "Scene.HomeTimeline.NavigationBarState.Published" = "Publicat!"; @@ -213,9 +205,6 @@ toca l'enllaç per a confirmar el teu compte."; "Scene.Preview.Keyboard.ClosePreview" = "Tanca la Vista Prèvia"; "Scene.Preview.Keyboard.ShowNext" = "Mostrar Següent"; "Scene.Preview.Keyboard.ShowPrevious" = "Mostrar Anterior"; -"Scene.Profile.Dashboard.Accessibility.CountFollowers" = "%ld seguidors"; -"Scene.Profile.Dashboard.Accessibility.CountFollowing" = "seguint a %ld"; -"Scene.Profile.Dashboard.Accessibility.CountPosts" = "%ld publicacions"; "Scene.Profile.Dashboard.Followers" = "seguidors"; "Scene.Profile.Dashboard.Following" = "seguint"; "Scene.Profile.Dashboard.Posts" = "publicacions"; @@ -229,7 +218,6 @@ toca l'enllaç per a confirmar el teu compte."; "Scene.Profile.SegmentedControl.Media" = "Mèdia"; "Scene.Profile.SegmentedControl.Posts" = "Publicacions"; "Scene.Profile.SegmentedControl.Replies" = "Respostes"; -"Scene.PublicTimeline.Title" = "Públic"; "Scene.Register.Error.Item.Agreement" = "Acord"; "Scene.Register.Error.Item.Email" = "Correu electrònic"; "Scene.Register.Error.Item.Locale" = "Idioma"; @@ -330,15 +318,15 @@ qualsevol servidor."; "Scene.Settings.Section.Notifications.Follows" = "Em segueix"; "Scene.Settings.Section.Notifications.Mentions" = "M'ha mencionat"; "Scene.Settings.Section.Notifications.Title" = "Notificacions"; -"Scene.Settings.Section.Notifications.Trigger.Anyone" = "ningú"; +"Scene.Settings.Section.Notifications.Trigger.Anyone" = "algú"; "Scene.Settings.Section.Notifications.Trigger.Follow" = "a qualsevol que segueixi"; "Scene.Settings.Section.Notifications.Trigger.Follower" = "un seguidor"; -"Scene.Settings.Section.Notifications.Trigger.Noone" = "ningú"; +"Scene.Settings.Section.Notifications.Trigger.Noone" = "algú"; "Scene.Settings.Section.Notifications.Trigger.Title" = "Notifica'm quan"; "Scene.Settings.Section.Preference.DisableAvatarAnimation" = "Desactiva avatars animats"; "Scene.Settings.Section.Preference.DisableEmojiAnimation" = "Desactiva emojis animats"; "Scene.Settings.Section.Preference.Title" = "Preferències"; -"Scene.Settings.Section.Preference.TrueBlackDarkMode" = "Mode autèntic negre fosc"; +"Scene.Settings.Section.Preference.TrueBlackDarkMode" = "Mode negre fosc autèntic"; "Scene.Settings.Section.Preference.UsingDefaultBrowser" = "Utilitza el navegador predeterminat per a obrir enllaços"; "Scene.Settings.Section.SpicyZone.Clear" = "Esborra la memòria cau de Mèdia"; "Scene.Settings.Section.SpicyZone.Signout" = "Tancar Sessió"; diff --git a/Mastodon/Resources/ca.lproj/Localizable.stringsdict b/Mastodon/Resources/ca.lproj/Localizable.stringsdict index 76ff3b6f2..012a0d4c8 100644 --- a/Mastodon/Resources/ca.lproj/Localizable.stringsdict +++ b/Mastodon/Resources/ca.lproj/Localizable.stringsdict @@ -2,6 +2,38 @@ + a11y.plural.count.input_limit_exceeds + + NSStringLocalizedFormatKey + El límit d’entrada supera a %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 caràcter + other + %ld caràcters + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + El límit d’entrada continua sent %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 caràcter + other + %ld caràcters + + plural.count.metric_formatted.post NSStringLocalizedFormatKey @@ -18,6 +50,22 @@ publicacions + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 publicació + other + %ld publicacions + + plural.count.favorite NSStringLocalizedFormatKey @@ -98,5 +146,133 @@ %ld persones en parlen + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 seguit + other + %ld seguits + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 seguidor + other + %ld seguidors + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 any restant + other + %ld anys restants + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 mes restant + other + %ld mesos restants + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 dia restant + other + %ld dies restants + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 hora restant + other + %ld hores restants + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 minut restant + other + %ld minuts restants + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 segon restant + other + %ld segons restants + + diff --git a/Mastodon/Resources/de.lproj/Localizable.strings b/Mastodon/Resources/de.lproj/Localizable.strings index b7606dc58..179c19f88 100644 --- a/Mastodon/Resources/de.lproj/Localizable.strings +++ b/Mastodon/Resources/de.lproj/Localizable.strings @@ -1,28 +1,28 @@ -"Common.Alerts.BlockDomain.BlockEntireDomain" = "Block Domain"; +"Common.Alerts.BlockDomain.BlockEntireDomain" = "Domain blockieren"; "Common.Alerts.BlockDomain.Title" = "Bist du dir wirklich sicher, dass du die ganze Domain %@ blockieren willst? In den meisten Fällen reichen ein paar gezielte Blockierungen oder Stummschaltungen aus und werden bevorzugt. Du wirst den Inhalt von dieser Domain nicht mehr sehen. Deine Folgenden von dieser Domain werden entfernt."; -"Common.Alerts.CleanCache.Message" = "Successfully cleaned %@ cache."; +"Common.Alerts.CleanCache.Message" = "%@ erfolgreich aus dem Cache gelöscht."; "Common.Alerts.CleanCache.Title" = "Zwischenspeicher leeren"; -"Common.Alerts.Common.PleaseTryAgain" = "Bitte versuchen Sie es erneut."; -"Common.Alerts.Common.PleaseTryAgainLater" = "Bitte versuchen Sie es später nochmal."; +"Common.Alerts.Common.PleaseTryAgain" = "Bitte versuche es erneut."; +"Common.Alerts.Common.PleaseTryAgainLater" = "Bitte versuche es später nochmal."; "Common.Alerts.DeletePost.Delete" = "Löschen"; -"Common.Alerts.DeletePost.Title" = "Sind Sie sicher, dass Sie diesen Beitrag löschen möchten?"; -"Common.Alerts.DiscardPostContent.Message" = "Bestätigen Sie um den Beitrag zu verwerfen."; +"Common.Alerts.DeletePost.Title" = "Bist du dir sicher, dass du diesen Beitrag löschen möchtest?"; +"Common.Alerts.DiscardPostContent.Message" = "Bestätige um den Beitrag zu verwerfen."; "Common.Alerts.DiscardPostContent.Title" = "Entwurf Verwerfen"; -"Common.Alerts.EditProfileFailure.Message" = "Profil kann nicht bearbeitet werden. Bitte versuchen Sie es erneut."; +"Common.Alerts.EditProfileFailure.Message" = "Profil kann nicht bearbeitet werden. Bitte versuche es erneut."; "Common.Alerts.EditProfileFailure.Title" = "Fehler beim Bearbeiten des Profils"; "Common.Alerts.PublishPostFailure.AttachmentsMessage.MoreThanOneVideo" = "Es kann nicht mehr als ein Video hinzugefügt werden."; "Common.Alerts.PublishPostFailure.AttachmentsMessage.VideoAttachWithPhoto" = "Es kann kein Video an einen Beitrag, der bereits Bilder enthält, angehängt werden."; "Common.Alerts.PublishPostFailure.Message" = "Fehler beim Veröffentlichen des Beitrags. -Bitte überprüfen Sie Ihre Internetverbindung."; +Bitte überprüfe deine Internetverbindung."; "Common.Alerts.PublishPostFailure.Title" = "Fehler bei Veröffentlichung"; "Common.Alerts.SavePhotoFailure.Message" = "Bitte aktiviere den Zugriff auf die Fotobibliothek, um das Foto zu speichern."; "Common.Alerts.SavePhotoFailure.Title" = "Foto konnte nicht gespeichert werden"; "Common.Alerts.ServerError.Title" = "Serverfehler"; "Common.Alerts.SignOut.Confirm" = "Abmelden"; -"Common.Alerts.SignOut.Message" = "Sind Sie sicher, dass Sie sich abmelden möchten?"; +"Common.Alerts.SignOut.Message" = "Bist du sicher, dass du dich abmelden möchten?"; "Common.Alerts.SignOut.Title" = "Abmelden"; "Common.Alerts.SignUpFailure.Title" = "Anmeldefehler"; -"Common.Alerts.VoteFailure.PollExpired" = "Diese Umfrage ist abgelaufen"; +"Common.Alerts.VoteFailure.PollEnded" = "Die Umfrage ist beendet"; "Common.Alerts.VoteFailure.Title" = "Fehler bei Abstimmung"; "Common.Controls.Actions.Add" = "Hinzufügen"; "Common.Controls.Actions.Back" = "Zurück"; @@ -62,10 +62,10 @@ Bitte überprüfen Sie Ihre Internetverbindung."; "Common.Controls.Friendship.Block" = "Blockieren"; "Common.Controls.Friendship.BlockDomain" = "%@ blockieren"; "Common.Controls.Friendship.BlockUser" = "%@ blockieren"; -"Common.Controls.Friendship.Blocked" = "Blocked"; +"Common.Controls.Friendship.Blocked" = "Blockiert"; "Common.Controls.Friendship.EditInfo" = "Information bearbeiten"; "Common.Controls.Friendship.Follow" = "Folgen"; -"Common.Controls.Friendship.Following" = "Following"; +"Common.Controls.Friendship.Following" = "Folge Ich"; "Common.Controls.Friendship.Mute" = "Stummschalten"; "Common.Controls.Friendship.MuteUser" = "%@ stummschalten"; "Common.Controls.Friendship.Muted" = "Stummgeschaltet"; @@ -73,8 +73,8 @@ Bitte überprüfen Sie Ihre Internetverbindung."; "Common.Controls.Friendship.Request" = "Anfragen"; "Common.Controls.Friendship.Unblock" = "Blockierung aufheben"; "Common.Controls.Friendship.UnblockUser" = "@%@ entblocken"; -"Common.Controls.Friendship.Unmute" = "Unmute"; -"Common.Controls.Friendship.UnmuteUser" = "Unmute %@"; +"Common.Controls.Friendship.Unmute" = "Nicht mehr stummschalten"; +"Common.Controls.Friendship.UnmuteUser" = "%@ nicht mehr stummschalten"; "Common.Controls.Keyboard.Common.ComposeNewPost" = "Neuen Beitrag verfassen"; "Common.Controls.Keyboard.Common.OpenSettings" = "Einstellungen öffnen"; "Common.Controls.Keyboard.Common.ShowFavorites" = "Favoriten anzeigen"; @@ -83,84 +83,77 @@ Bitte überprüfen Sie Ihre Internetverbindung."; "Common.Controls.Keyboard.SegmentedControl.PreviousSection" = "Vorheriger Abschnitt"; "Common.Controls.Keyboard.Timeline.NextStatus" = "Nächster Beitrag"; "Common.Controls.Keyboard.Timeline.OpenAuthorProfile" = "Profil des Verfassers ansehen"; -"Common.Controls.Keyboard.Timeline.OpenRebloggerProfile" = "Open Reblogger's Profile"; +"Common.Controls.Keyboard.Timeline.OpenRebloggerProfile" = "Profil des teilenden Nutzers öffnen"; "Common.Controls.Keyboard.Timeline.OpenStatus" = "Beitrag öffnen"; "Common.Controls.Keyboard.Timeline.PreviewImage" = "Bildvorschau"; "Common.Controls.Keyboard.Timeline.PreviousStatus" = "Vorheriger Beitrag"; "Common.Controls.Keyboard.Timeline.ReplyStatus" = "Auf Beitrag antworten"; -"Common.Controls.Keyboard.Timeline.ToggleContentWarning" = "Toggle Content Warning"; -"Common.Controls.Keyboard.Timeline.ToggleFavorite" = "Toggle Favorite on Post"; -"Common.Controls.Keyboard.Timeline.ToggleReblog" = "Toggle Reblog on Post"; +"Common.Controls.Keyboard.Timeline.ToggleContentWarning" = "Inhaltswarnung umschalten"; +"Common.Controls.Keyboard.Timeline.ToggleFavorite" = "Favorit vom Beitrag umschalten"; +"Common.Controls.Keyboard.Timeline.ToggleReblog" = "Teilen vom Beitrag umschalten"; "Common.Controls.Status.Actions.Favorite" = "Favorit"; -"Common.Controls.Status.Actions.Menu" = "Menu"; -"Common.Controls.Status.Actions.Reblog" = "Reblog"; +"Common.Controls.Status.Actions.Menu" = "Menü"; +"Common.Controls.Status.Actions.Reblog" = "Teilen"; "Common.Controls.Status.Actions.Reply" = "Antworten"; "Common.Controls.Status.Actions.Unfavorite" = "Aus Favoriten entfernen"; -"Common.Controls.Status.Actions.Unreblog" = "Undo reblog"; +"Common.Controls.Status.Actions.Unreblog" = "Nicht mehr teilen"; "Common.Controls.Status.ContentWarning" = "Inhaltswarnung"; "Common.Controls.Status.MediaContentWarning" = "Tippe irgendwo zum Anzeigen"; "Common.Controls.Status.Poll.Closed" = "Beendet"; -"Common.Controls.Status.Poll.TimeLeft" = "%@ verbleiben"; "Common.Controls.Status.Poll.Vote" = "Abstimmen"; -"Common.Controls.Status.ShowPost" = "Show Post"; +"Common.Controls.Status.ShowPost" = "Beitrag anzeigen"; "Common.Controls.Status.ShowUserProfile" = "Benutzerprofil anzeigen"; "Common.Controls.Status.Tag.Email" = "E-Mail"; "Common.Controls.Status.Tag.Emoji" = "Emoji"; "Common.Controls.Status.Tag.Hashtag" = "Hashtag"; "Common.Controls.Status.Tag.Link" = "Link"; -"Common.Controls.Status.Tag.Mention" = "Mention"; +"Common.Controls.Status.Tag.Mention" = "Erwähnung"; "Common.Controls.Status.Tag.Url" = "URL"; -"Common.Controls.Status.UserReblogged" = "%@ reblogged"; -"Common.Controls.Status.UserRepliedTo" = "Replied to %@"; +"Common.Controls.Status.UserReblogged" = "%@ teilte"; +"Common.Controls.Status.UserRepliedTo" = "Antwortet auf %@"; "Common.Controls.Tabs.Home" = "Startseite"; "Common.Controls.Tabs.Notification" = "Benachrichtigungen"; "Common.Controls.Tabs.Profile" = "Profil"; "Common.Controls.Tabs.Search" = "Suche"; -"Common.Controls.Timeline.Accessibility.CountFavorites" = "%@ favorites"; -"Common.Controls.Timeline.Accessibility.CountReblogs" = "%@ reblogs"; -"Common.Controls.Timeline.Accessibility.CountReplies" = "%@ replies"; "Common.Controls.Timeline.Filtered" = "Gefiltert"; "Common.Controls.Timeline.Header.BlockedWarning" = "Das Profil dieses Benutzers kann nicht angezeigt werden, bis er dich entsperrt."; -"Common.Controls.Timeline.Header.BlockingWarning" = "Du kannst das Profil dieses Benutzers nicht anzeigen - solange du es nicht entsperrst. -Dein Profil sieht für diesen Benutzer so aus."; +"Common.Controls.Timeline.Header.BlockingWarning" = "Du kannst das Profil dieses Benutzers nicht sehen + solange du den Benutzer nicht entsperrst. +Dein Profil sieht für diesen Benutzer auch so aus."; "Common.Controls.Timeline.Header.NoStatusFound" = "Kein Beitrag gefunden"; -"Common.Controls.Timeline.Header.SuspendedWarning" = "This user has been suspended."; -"Common.Controls.Timeline.Header.UserBlockedWarning" = "You can’t view %@’s profile - until they unblock you."; -"Common.Controls.Timeline.Header.UserBlockingWarning" = "Du kannst %@'s Profil nicht anzeigen - solange du es nicht entsperrst. -Dein Profil sieht für diesen Benutzer so aus."; -"Common.Controls.Timeline.Header.UserSuspendedWarning" = "%@’s account has been suspended."; +"Common.Controls.Timeline.Header.SuspendedWarning" = "Dieser Nutzer wurde gesperrt."; +"Common.Controls.Timeline.Header.UserBlockedWarning" = "Du kannst das Profil von %@ nicht sehen + bis der Benutzer dich entsperrt."; +"Common.Controls.Timeline.Header.UserBlockingWarning" = "Du kannst %@s Profil nicht sehen + solange du diesen Benutzer nicht entsperrst. +Dein Profil sieht für diesen Benutzer auch so aus."; +"Common.Controls.Timeline.Header.UserSuspendedWarning" = "Das Konto von %@ wurde gesperrt."; "Common.Controls.Timeline.Loader.LoadMissingPosts" = "Fehlende Beiträge laden"; "Common.Controls.Timeline.Loader.LoadingMissingPosts" = "Lade fehlende Beiträge..."; "Common.Controls.Timeline.Loader.ShowMoreReplies" = "Weitere Antworten anzeigen"; "Common.Controls.Timeline.Timestamp.Now" = "Gerade"; -"Common.Controls.Timeline.Timestamp.TimeAgo" = "vor %@"; "Scene.Compose.Accessibility.AppendAttachment" = "Anhang hinzufügen"; "Scene.Compose.Accessibility.AppendPoll" = "Umfrage hinzufügen"; -"Scene.Compose.Accessibility.CustomEmojiPicker" = "Custom Emoji Picker"; -"Scene.Compose.Accessibility.DisableContentWarning" = "Disable Content Warning"; -"Scene.Compose.Accessibility.EnableContentWarning" = "Enable Content Warning"; -"Scene.Compose.Accessibility.InputLimitExceedsCount" = "Input limit exceeds %ld"; -"Scene.Compose.Accessibility.InputLimitRemainsCount" = "Input limit remains %ld"; -"Scene.Compose.Accessibility.PostVisibilityMenu" = "Post Visibility Menu"; +"Scene.Compose.Accessibility.CustomEmojiPicker" = "Benutzerdefinierter Emojiwähler"; +"Scene.Compose.Accessibility.DisableContentWarning" = "Inhaltswarnung ausschalten"; +"Scene.Compose.Accessibility.EnableContentWarning" = "Inhaltswarnung einschalten"; +"Scene.Compose.Accessibility.PostVisibilityMenu" = "Sichtbarkeitsmenü"; "Scene.Compose.Accessibility.RemovePoll" = "Umfrage entfernen"; -"Scene.Compose.Attachment.AttachmentBroken" = "This %@ is broken and can’t be -uploaded to Mastodon."; +"Scene.Compose.Attachment.AttachmentBroken" = "Dieses %@ scheint defekt zu sein und +kann nicht auf Mastodon hochgeladen werden."; "Scene.Compose.Attachment.DescriptionPhoto" = "Für Menschen mit Sehbehinderung beschreiben..."; "Scene.Compose.Attachment.DescriptionVideo" = "Für Menschen mit Sehbehinderung beschreiben..."; "Scene.Compose.Attachment.Photo" = "Foto"; "Scene.Compose.Attachment.Video" = "Video"; -"Scene.Compose.AutoComplete.SpaceToAdd" = "Space to add"; +"Scene.Compose.AutoComplete.SpaceToAdd" = "Leerzeichen um hinzuzufügen"; "Scene.Compose.ComposeAction" = "Veröffentlichen"; "Scene.Compose.ContentInputPlaceholder" = "Tippe oder füge ein, was dir am Herzen liegt"; "Scene.Compose.ContentWarning.Placeholder" = "Schreibe eine Inhaltswarnung hier..."; -"Scene.Compose.Keyboard.AppendAttachmentEntry" = "Add Attachment - %@"; +"Scene.Compose.Keyboard.AppendAttachmentEntry" = "Anhang hinzufügen - %@"; "Scene.Compose.Keyboard.DiscardPost" = "Beitrag verwerfen"; "Scene.Compose.Keyboard.PublishPost" = "Beitrag veröffentlichen"; -"Scene.Compose.Keyboard.SelectVisibilityEntry" = "Select Visibility - %@"; +"Scene.Compose.Keyboard.SelectVisibilityEntry" = "Sichtbarkeit auswählen - %@"; "Scene.Compose.Keyboard.ToggleContentWarning" = "Inhaltswarnung umschalten"; "Scene.Compose.Keyboard.TogglePoll" = "Umfrage umschalten"; "Scene.Compose.MediaSelection.Browse" = "Durchsuchen"; @@ -169,7 +162,7 @@ uploaded to Mastodon."; "Scene.Compose.Poll.DurationTime" = "Dauer: %@"; "Scene.Compose.Poll.OneDay" = "1 Tag"; "Scene.Compose.Poll.OneHour" = "1 Stunde"; -"Scene.Compose.Poll.OptionNumber" = "Option %ld"; +"Scene.Compose.Poll.OptionNumber" = "Auswahlmöglichkeit %ld"; "Scene.Compose.Poll.SevenDays" = "7 Tage"; "Scene.Compose.Poll.SixHours" = "6 Stunden"; "Scene.Compose.Poll.ThirtyMinutes" = "30 Minuten"; @@ -181,24 +174,23 @@ uploaded to Mastodon."; "Scene.Compose.Visibility.Private" = "Nur für Folgende"; "Scene.Compose.Visibility.Public" = "Öffentlich"; "Scene.Compose.Visibility.Unlisted" = "Nicht gelistet"; -"Scene.ConfirmEmail.Button.DontReceiveEmail" = "I never got an email"; +"Scene.ConfirmEmail.Button.DontReceiveEmail" = "Ich habe keine E-Mail erhalten."; "Scene.ConfirmEmail.Button.OpenEmailApp" = "E-Mail-App öffnen"; -"Scene.ConfirmEmail.DontReceiveEmail.Description" = "Check if your email address is correct as well as your junk folder if you haven’t."; -"Scene.ConfirmEmail.DontReceiveEmail.ResendEmail" = "Resend Email"; -"Scene.ConfirmEmail.DontReceiveEmail.Title" = "Check your email"; -"Scene.ConfirmEmail.OpenEmailApp.Description" = "We just sent you an email. Check your junk folder if you haven’t."; +"Scene.ConfirmEmail.DontReceiveEmail.Description" = "Überprüfe, ob deine E-Mail-Adresse korrekt ist und sieh im Spam-Ordner nach, falls du es noch nicht getan hast."; +"Scene.ConfirmEmail.DontReceiveEmail.ResendEmail" = "E-Mail erneut versenden"; +"Scene.ConfirmEmail.DontReceiveEmail.Title" = "Bitte überprüfe deine E-Mails"; +"Scene.ConfirmEmail.OpenEmailApp.Description" = "Wir haben dir gerade eine E-Mail geschickt. Überprüfe deinen Spam-Ordner, falls du es noch nicht getan hast."; "Scene.ConfirmEmail.OpenEmailApp.Mail" = "Mail"; -"Scene.ConfirmEmail.OpenEmailApp.OpenEmailClient" = "Open Email Client"; -"Scene.ConfirmEmail.OpenEmailApp.Title" = "Check your inbox."; +"Scene.ConfirmEmail.OpenEmailApp.OpenEmailClient" = "E-Mail-Client öffnen"; +"Scene.ConfirmEmail.OpenEmailApp.Title" = "Überprüfe deinen Posteingang."; "Scene.ConfirmEmail.Subtitle" = "Wir haben gerade eine E-Mail an %@ gesendet, tippe auf den Link, um Dein Konto zu bestätigen."; "Scene.ConfirmEmail.Title" = "Noch eine letzte Sache."; "Scene.Favorite.Title" = "Deine Favoriten"; -"Scene.Hashtag.Prompt" = "%@ Leute reden"; "Scene.HomeTimeline.NavigationBarState.NewPosts" = "Neue Beiträge anzeigen"; "Scene.HomeTimeline.NavigationBarState.Offline" = "Offline"; "Scene.HomeTimeline.NavigationBarState.Published" = "Veröffentlicht!"; -"Scene.HomeTimeline.NavigationBarState.Publishing" = "Publishing post..."; +"Scene.HomeTimeline.NavigationBarState.Publishing" = "Beitrag wird veröffentlicht..."; "Scene.HomeTimeline.Title" = "Startseite"; "Scene.Notification.Action.Favourite" = "hat deinen Beitrag favorisiert"; "Scene.Notification.Action.Follow" = "folgt dir"; @@ -213,9 +205,6 @@ tippe auf den Link, um Dein Konto zu bestätigen."; "Scene.Preview.Keyboard.ClosePreview" = "Vorschau schließen"; "Scene.Preview.Keyboard.ShowNext" = "Nächstes anzeigen"; "Scene.Preview.Keyboard.ShowPrevious" = "Vorheriges anzeigen"; -"Scene.Profile.Dashboard.Accessibility.CountFollowers" = "%ld Folger"; -"Scene.Profile.Dashboard.Accessibility.CountFollowing" = "%ld Gefolgte"; -"Scene.Profile.Dashboard.Accessibility.CountPosts" = "%ld Beiträge"; "Scene.Profile.Dashboard.Followers" = "Folger"; "Scene.Profile.Dashboard.Following" = "Gefolgte"; "Scene.Profile.Dashboard.Posts" = "Beiträge"; @@ -224,32 +213,31 @@ tippe auf den Link, um Dein Konto zu bestätigen."; "Scene.Profile.Fields.Placeholder.Label" = "Bezeichnung"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUsre.Message" = "Bestätigen zum Entsperren von %@"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUsre.Title" = "Konto entsperren"; -"Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Message" = "Confirm to unmute %@"; +"Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Message" = "Bestätige um %@ nicht mehr stummzuschalten"; "Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Title" = "Ton einschalten"; "Scene.Profile.SegmentedControl.Media" = "Medien"; "Scene.Profile.SegmentedControl.Posts" = "Beiträge"; "Scene.Profile.SegmentedControl.Replies" = "Antworten"; -"Scene.PublicTimeline.Title" = "Öffentlich"; "Scene.Register.Error.Item.Agreement" = "Vereinbarung"; "Scene.Register.Error.Item.Email" = "E-Mail"; "Scene.Register.Error.Item.Locale" = "Sprache"; "Scene.Register.Error.Item.Password" = "Passwort"; "Scene.Register.Error.Item.Reason" = "Begründung"; "Scene.Register.Error.Item.Username" = "Benutzername"; -"Scene.Register.Error.Reason.Accepted" = "%@ must be accepted"; -"Scene.Register.Error.Reason.Blank" = "%@ is required"; -"Scene.Register.Error.Reason.Blocked" = "%@ contains a disallowed email provider"; -"Scene.Register.Error.Reason.Inclusion" = "%@ is not a supported value"; -"Scene.Register.Error.Reason.Invalid" = "%@ is invalid"; -"Scene.Register.Error.Reason.Reserved" = "%@ is a reserved keyword"; -"Scene.Register.Error.Reason.Taken" = "%@ is already in use"; -"Scene.Register.Error.Reason.TooLong" = "%@ is too long"; -"Scene.Register.Error.Reason.TooShort" = "%@ is too short"; -"Scene.Register.Error.Reason.Unreachable" = "%@ does not seem to exist"; -"Scene.Register.Error.Special.EmailInvalid" = "This is not a valid email address"; -"Scene.Register.Error.Special.PasswordTooShort" = "Password is too short (must be at least 8 characters)"; -"Scene.Register.Error.Special.UsernameInvalid" = "Username must only contain alphanumeric characters and underscores"; -"Scene.Register.Error.Special.UsernameTooLong" = "Username is too long (can’t be longer than 30 characters)"; +"Scene.Register.Error.Reason.Accepted" = "%@ muss akzeptiert werden"; +"Scene.Register.Error.Reason.Blank" = "%@ ist erforderlich"; +"Scene.Register.Error.Reason.Blocked" = "%@ verwendet einen nicht erlaubten E-Mail-Anbieter"; +"Scene.Register.Error.Reason.Inclusion" = "%@ ist kein unterstützter Wert"; +"Scene.Register.Error.Reason.Invalid" = "%@ ist ungültig"; +"Scene.Register.Error.Reason.Reserved" = "%@ ist ein reserviertes Schlüsselwort"; +"Scene.Register.Error.Reason.Taken" = "%@ wird bereits verwendet"; +"Scene.Register.Error.Reason.TooLong" = "%@ ist zu lang"; +"Scene.Register.Error.Reason.TooShort" = "%@ ist zu kurz"; +"Scene.Register.Error.Reason.Unreachable" = "%@ scheint nicht zu existieren"; +"Scene.Register.Error.Special.EmailInvalid" = "Dies ist keine gültige E-Mail Adresse"; +"Scene.Register.Error.Special.PasswordTooShort" = "Passwort ist zu kurz (mindestens 8 Zeichen erforderlich)"; +"Scene.Register.Error.Special.UsernameInvalid" = "Benutzername kann nur alphanumerische Zeichen und Unterstriche enthalten"; +"Scene.Register.Error.Special.UsernameTooLong" = "Benutzername ist zu lang (darf nicht länger als 30 Zeichen sein)"; "Scene.Register.Input.Avatar.Delete" = "Löschen"; "Scene.Register.Input.DisplayName.Placeholder" = "Anzeigename"; "Scene.Register.Input.Email.Placeholder" = "E-Mail"; @@ -267,13 +255,13 @@ tippe auf den Link, um Dein Konto zu bestätigen."; "Scene.Report.Step2" = "Schritt 2 von 2"; "Scene.Report.TextPlaceholder" = "Zusätzliche Kommentare eingeben oder einfügen"; "Scene.Report.Title" = "%@ melden"; -"Scene.Search.Recommend.Accounts.Description" = "You may like to follow these accounts"; +"Scene.Search.Recommend.Accounts.Description" = "Vielleicht gefallen dir diese Benutzer"; "Scene.Search.Recommend.Accounts.Follow" = "Folgen"; -"Scene.Search.Recommend.Accounts.Title" = "Accounts you might like"; +"Scene.Search.Recommend.Accounts.Title" = "Konten, die dir gefallen könnten"; "Scene.Search.Recommend.ButtonText" = "Alle anzeigen"; -"Scene.Search.Recommend.HashTag.Description" = "Hashtags that are getting quite a bit of attention"; +"Scene.Search.Recommend.HashTag.Description" = "Hashtags die an Aufmerksamkeit zunehmen"; "Scene.Search.Recommend.HashTag.PeopleTalking" = "%@ Leute reden"; -"Scene.Search.Recommend.HashTag.Title" = "Trending on Mastodon"; +"Scene.Search.Recommend.HashTag.Title" = "Angesagt auf Mastodon"; "Scene.Search.SearchBar.Cancel" = "Abbrechen"; "Scene.Search.SearchBar.Placeholder" = "Hashtags und Benutzer suchen"; "Scene.Search.Searching.Clear" = "Zurücksetzen"; @@ -300,21 +288,21 @@ tippe auf den Link, um Dein Konto zu bestätigen."; "Scene.ServerPicker.Button.Category.Tech" = "Technologie"; "Scene.ServerPicker.Button.SeeLess" = "Weniger anzeigen"; "Scene.ServerPicker.Button.SeeMore" = "Mehr anzeigen"; -"Scene.ServerPicker.EmptyState.BadNetwork" = "Something went wrong while loading the data. Check your internet connection."; +"Scene.ServerPicker.EmptyState.BadNetwork" = "Da ist etwas schief gelaufen. Bitte versuche es erneut oder überprüfe deine Internetverbindung."; "Scene.ServerPicker.EmptyState.FindingServers" = "Verfügbare Server werden gesucht..."; "Scene.ServerPicker.EmptyState.NoResults" = "Keine Ergebnisse"; "Scene.ServerPicker.Input.Placeholder" = "Finde einen Server oder trete deinem eigenen bei..."; "Scene.ServerPicker.Label.Category" = "KATEGORIE"; "Scene.ServerPicker.Label.Language" = "SPRACHE"; "Scene.ServerPicker.Label.Users" = "BENUTZER"; -"Scene.ServerPicker.Title" = "Pick a server, -any server."; +"Scene.ServerPicker.Title" = "Wähle einen Server, +beliebigen Server."; "Scene.ServerRules.Button.Confirm" = "Ich stimme zu"; "Scene.ServerRules.PrivacyPolicy" = "Datenschutzerklärung"; -"Scene.ServerRules.Prompt" = "By continuing, you’re subject to the terms of service and privacy policy for %@."; -"Scene.ServerRules.Subtitle" = "These rules are set by the admins of %@."; -"Scene.ServerRules.TermsOfService" = "terms of service"; -"Scene.ServerRules.Title" = "Some ground rules."; +"Scene.ServerRules.Prompt" = "Wenn du fortfährst, unterliegst du den Nutzungsbedingungen und den Datenschutzrichtlinien für %@."; +"Scene.ServerRules.Subtitle" = "Diese Regeln werden von den Administratoren von %@ festgelegt."; +"Scene.ServerRules.TermsOfService" = "Nutzungsbedingungen"; +"Scene.ServerRules.Title" = "Einige Grundregeln."; "Scene.Settings.Footer.MastodonDescription" = "Mastodon ist quelloffene Software. Du kannst auf GitHub unter %@ (%@) Probleme melden"; "Scene.Settings.Keyboard.CloseSettingsWindow" = "Einstellungsfenster schließen"; "Scene.Settings.Section.Appearance.Automatic" = "Automatisch"; @@ -344,9 +332,8 @@ any server."; "Scene.Settings.Section.SpicyZone.Signout" = "Abmelden"; "Scene.Settings.Section.SpicyZone.Title" = "Der Gefährliche Bereich"; "Scene.Settings.Title" = "Einstellungen"; -"Scene.SuggestionAccount.FollowExplain" = "When you follow someone, you’ll see their posts in your home feed."; -"Scene.SuggestionAccount.Title" = "Find People to Follow"; +"Scene.SuggestionAccount.FollowExplain" = "Wenn du jemandem folgst, siehst du deren Beiträge dann in deinem Home-Feed."; +"Scene.SuggestionAccount.Title" = "Entdecke Benutzer zum Folgen"; "Scene.Thread.BackTitle" = "Beitrag"; "Scene.Thread.Title" = "Beitrag von %@"; -"Scene.Welcome.Slogan" = "Social networking -back in your hands."; \ No newline at end of file +"Scene.Welcome.Slogan" = "Soziale Netzwerke wieder in deinen Händen."; \ No newline at end of file diff --git a/Mastodon/Resources/de.lproj/Localizable.stringsdict b/Mastodon/Resources/de.lproj/Localizable.stringsdict index 646920f42..e0e798625 100644 --- a/Mastodon/Resources/de.lproj/Localizable.stringsdict +++ b/Mastodon/Resources/de.lproj/Localizable.stringsdict @@ -2,6 +2,38 @@ + a11y.plural.count.input_limit_exceeds + + NSStringLocalizedFormatKey + Input limit exceeds %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Input limit remains %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.metric_formatted.post NSStringLocalizedFormatKey @@ -18,6 +50,22 @@ Beiträge + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 post + other + %ld posts + + plural.count.favorite NSStringLocalizedFormatKey @@ -47,7 +95,7 @@ one 1 Reblog other - %ld reblogs + %ld Reblogs plural.count.vote @@ -61,7 +109,7 @@ NSStringFormatValueTypeKey ld one - 1 vote + 1 Stimme other %ld Stimmen @@ -77,7 +125,7 @@ NSStringFormatValueTypeKey ld one - 1 voter + 1 Wähler other %ld Wähler @@ -98,5 +146,133 @@ %ld Leute reden + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 following + other + %ld following + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 follower + other + %ld followers + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 year left + other + %ld years left + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 months left + other + %ld months left + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 day left + other + %ld days left + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 hour left + other + %ld hours left + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 minute left + other + %ld minutes left + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 second left + other + %ld seconds left + + diff --git a/Mastodon/Resources/en.lproj/Localizable.strings b/Mastodon/Resources/en.lproj/Localizable.strings index 39affaf2a..be3e63ad5 100644 --- a/Mastodon/Resources/en.lproj/Localizable.strings +++ b/Mastodon/Resources/en.lproj/Localizable.strings @@ -22,7 +22,7 @@ Please check your internet connection."; "Common.Alerts.SignOut.Message" = "Are you sure you want to sign out?"; "Common.Alerts.SignOut.Title" = "Sign Out"; "Common.Alerts.SignUpFailure.Title" = "Sign Up Failure"; -"Common.Alerts.VoteFailure.PollExpired" = "The poll has expired"; +"Common.Alerts.VoteFailure.PollEnded" = "The poll has ended"; "Common.Alerts.VoteFailure.Title" = "Vote Failure"; "Common.Controls.Actions.Add" = "Add"; "Common.Controls.Actions.Back" = "Back"; @@ -100,7 +100,6 @@ Please check your internet connection."; "Common.Controls.Status.ContentWarning" = "Content Warning"; "Common.Controls.Status.MediaContentWarning" = "Tap anywhere to reveal"; "Common.Controls.Status.Poll.Closed" = "Closed"; -"Common.Controls.Status.Poll.TimeLeft" = "%@ left"; "Common.Controls.Status.Poll.Vote" = "Vote"; "Common.Controls.Status.ShowPost" = "Show Post"; "Common.Controls.Status.ShowUserProfile" = "Show user profile"; @@ -116,9 +115,6 @@ Please check your internet connection."; "Common.Controls.Tabs.Notification" = "Notification"; "Common.Controls.Tabs.Profile" = "Profile"; "Common.Controls.Tabs.Search" = "Search"; -"Common.Controls.Timeline.Accessibility.CountFavorites" = "%@ favorites"; -"Common.Controls.Timeline.Accessibility.CountReblogs" = "%@ reblogs"; -"Common.Controls.Timeline.Accessibility.CountReplies" = "%@ replies"; "Common.Controls.Timeline.Filtered" = "Filtered"; "Common.Controls.Timeline.Header.BlockedWarning" = "You can’t view this user’s profile until they unblock you."; @@ -137,14 +133,11 @@ Your profile looks like this to them."; "Common.Controls.Timeline.Loader.LoadingMissingPosts" = "Loading missing posts..."; "Common.Controls.Timeline.Loader.ShowMoreReplies" = "Show more replies"; "Common.Controls.Timeline.Timestamp.Now" = "Now"; -"Common.Controls.Timeline.Timestamp.TimeAgo" = "%@ ago"; "Scene.Compose.Accessibility.AppendAttachment" = "Add Attachment"; "Scene.Compose.Accessibility.AppendPoll" = "Add Poll"; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Custom Emoji Picker"; "Scene.Compose.Accessibility.DisableContentWarning" = "Disable Content Warning"; "Scene.Compose.Accessibility.EnableContentWarning" = "Enable Content Warning"; -"Scene.Compose.Accessibility.InputLimitExceedsCount" = "Input limit exceeds %ld"; -"Scene.Compose.Accessibility.InputLimitRemainsCount" = "Input limit remains %ld"; "Scene.Compose.Accessibility.PostVisibilityMenu" = "Post Visibility Menu"; "Scene.Compose.Accessibility.RemovePoll" = "Remove Poll"; "Scene.Compose.Attachment.AttachmentBroken" = "This %@ is broken and can’t be @@ -194,7 +187,6 @@ uploaded to Mastodon."; tap the link to confirm your account."; "Scene.ConfirmEmail.Title" = "One last thing."; "Scene.Favorite.Title" = "Your Favorites"; -"Scene.Hashtag.Prompt" = "%@ people talking"; "Scene.HomeTimeline.NavigationBarState.NewPosts" = "See new posts"; "Scene.HomeTimeline.NavigationBarState.Offline" = "Offline"; "Scene.HomeTimeline.NavigationBarState.Published" = "Published!"; @@ -213,9 +205,6 @@ tap the link to confirm your account."; "Scene.Preview.Keyboard.ClosePreview" = "Close Preview"; "Scene.Preview.Keyboard.ShowNext" = "Show Next"; "Scene.Preview.Keyboard.ShowPrevious" = "Show Previous"; -"Scene.Profile.Dashboard.Accessibility.CountFollowers" = "%ld followers"; -"Scene.Profile.Dashboard.Accessibility.CountFollowing" = "%ld following"; -"Scene.Profile.Dashboard.Accessibility.CountPosts" = "%ld posts"; "Scene.Profile.Dashboard.Followers" = "followers"; "Scene.Profile.Dashboard.Following" = "following"; "Scene.Profile.Dashboard.Posts" = "posts"; @@ -229,7 +218,6 @@ tap the link to confirm your account."; "Scene.Profile.SegmentedControl.Media" = "Media"; "Scene.Profile.SegmentedControl.Posts" = "Posts"; "Scene.Profile.SegmentedControl.Replies" = "Replies"; -"Scene.PublicTimeline.Title" = "Public"; "Scene.Register.Error.Item.Agreement" = "Agreement"; "Scene.Register.Error.Item.Email" = "Email"; "Scene.Register.Error.Item.Locale" = "Locale"; diff --git a/Mastodon/Resources/en.lproj/Localizable.stringsdict b/Mastodon/Resources/en.lproj/Localizable.stringsdict index 33e100fae..42c07cec9 100644 --- a/Mastodon/Resources/en.lproj/Localizable.stringsdict +++ b/Mastodon/Resources/en.lproj/Localizable.stringsdict @@ -2,6 +2,38 @@ + a11y.plural.count.input_limit_exceeds + + NSStringLocalizedFormatKey + Input limit exceeds %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Input limit remains %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.metric_formatted.post NSStringLocalizedFormatKey @@ -18,6 +50,22 @@ posts + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 post + other + %ld posts + + plural.count.favorite NSStringLocalizedFormatKey @@ -98,5 +146,133 @@ %ld people talking + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 following + other + %ld following + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 follower + other + %ld followers + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 year left + other + %ld years left + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 months left + other + %ld months left + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 day left + other + %ld days left + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 hour left + other + %ld hours left + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 minute left + other + %ld minutes left + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 second left + other + %ld seconds left + + diff --git a/Mastodon/Resources/es-419.lproj/Localizable.strings b/Mastodon/Resources/es-419.lproj/Localizable.strings index de6a524b5..a5a12a4f2 100644 --- a/Mastodon/Resources/es-419.lproj/Localizable.strings +++ b/Mastodon/Resources/es-419.lproj/Localizable.strings @@ -22,7 +22,7 @@ Por favor, revisá tu conexión a Internet."; "Common.Alerts.SignOut.Message" = "¿Estás seguro que querés cerrar la sesión?"; "Common.Alerts.SignOut.Title" = "Cerrar sesión"; "Common.Alerts.SignUpFailure.Title" = "Error al registrarse"; -"Common.Alerts.VoteFailure.PollExpired" = "La encuesta finalizó"; +"Common.Alerts.VoteFailure.PollEnded" = "La encuesta ha terminado"; "Common.Alerts.VoteFailure.Title" = "Error al votar"; "Common.Controls.Actions.Add" = "Agregar"; "Common.Controls.Actions.Back" = "Volver"; @@ -100,7 +100,6 @@ Por favor, revisá tu conexión a Internet."; "Common.Controls.Status.ContentWarning" = "Advertencia de contenido"; "Common.Controls.Status.MediaContentWarning" = "Toca en cualquier lugar para mostrar"; "Common.Controls.Status.Poll.Closed" = "Cerrada"; -"Common.Controls.Status.Poll.TimeLeft" = "Quedan %@"; "Common.Controls.Status.Poll.Vote" = "Votar"; "Common.Controls.Status.ShowPost" = "Mostrar mensaje"; "Common.Controls.Status.ShowUserProfile" = "Mostrar perfil de usuario"; @@ -116,9 +115,6 @@ Por favor, revisá tu conexión a Internet."; "Common.Controls.Tabs.Notification" = "Notificación"; "Common.Controls.Tabs.Profile" = "Perfil"; "Common.Controls.Tabs.Search" = "Buscar"; -"Common.Controls.Timeline.Accessibility.CountFavorites" = "%@ veces marcado como favorito"; -"Common.Controls.Timeline.Accessibility.CountReblogs" = "%@ adhesiones"; -"Common.Controls.Timeline.Accessibility.CountReplies" = "%@ respuestas"; "Common.Controls.Timeline.Filtered" = "Filtrado"; "Common.Controls.Timeline.Header.BlockedWarning" = "No podés ver el perfil de este usuario hasta que dicho usuario te desbloquee."; @@ -137,14 +133,11 @@ Tu perfil le aparece así a este usuario."; "Common.Controls.Timeline.Loader.LoadingMissingPosts" = "Cargando mensajes faltantes…"; "Common.Controls.Timeline.Loader.ShowMoreReplies" = "Mostrar más respuestas"; "Common.Controls.Timeline.Timestamp.Now" = "Ahora"; -"Common.Controls.Timeline.Timestamp.TimeAgo" = "hace %@"; "Scene.Compose.Accessibility.AppendAttachment" = "Agregar archivo adjunto"; "Scene.Compose.Accessibility.AppendPoll" = "Agregar encuesta"; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Selector de emoji personalizado"; "Scene.Compose.Accessibility.DisableContentWarning" = "Deshabilitar advertencia de contenido"; "Scene.Compose.Accessibility.EnableContentWarning" = "Habilitar advertencia de contenido"; -"Scene.Compose.Accessibility.InputLimitExceedsCount" = "El límite de entrada excede %ld caracteres"; -"Scene.Compose.Accessibility.InputLimitRemainsCount" = "El límite de entrada permite %ld caracteres"; "Scene.Compose.Accessibility.PostVisibilityMenu" = "Menú de visibilidad del mensaje"; "Scene.Compose.Accessibility.RemovePoll" = "Quitar encuesta"; "Scene.Compose.Attachment.AttachmentBroken" = "Este archivo de %@ está roto @@ -194,7 +187,6 @@ y no se puede subir a Mastodon."; pulsá en el enlace para confirmar tu cuenta."; "Scene.ConfirmEmail.Title" = "Una última cosa."; "Scene.Favorite.Title" = "Tus favoritos"; -"Scene.Hashtag.Prompt" = "%@ cuentas hablando"; "Scene.HomeTimeline.NavigationBarState.NewPosts" = "Ver nuevos mensajes"; "Scene.HomeTimeline.NavigationBarState.Offline" = "Desconectado"; "Scene.HomeTimeline.NavigationBarState.Published" = "¡Enviado!"; @@ -213,9 +205,6 @@ pulsá en el enlace para confirmar tu cuenta."; "Scene.Preview.Keyboard.ClosePreview" = "Cerrar previsualización"; "Scene.Preview.Keyboard.ShowNext" = "Mostrar siguiente"; "Scene.Preview.Keyboard.ShowPrevious" = "Mostrar anterior"; -"Scene.Profile.Dashboard.Accessibility.CountFollowers" = "%ld seguidores"; -"Scene.Profile.Dashboard.Accessibility.CountFollowing" = "siguiendo a %ld"; -"Scene.Profile.Dashboard.Accessibility.CountPosts" = "%ld mensajes"; "Scene.Profile.Dashboard.Followers" = "seguidores"; "Scene.Profile.Dashboard.Following" = "siguiendo"; "Scene.Profile.Dashboard.Posts" = "mensajes"; @@ -229,7 +218,6 @@ pulsá en el enlace para confirmar tu cuenta."; "Scene.Profile.SegmentedControl.Media" = "Medios"; "Scene.Profile.SegmentedControl.Posts" = "Mensajes"; "Scene.Profile.SegmentedControl.Replies" = "Respuestas"; -"Scene.PublicTimeline.Title" = "Pública"; "Scene.Register.Error.Item.Agreement" = "Acuerdo"; "Scene.Register.Error.Item.Email" = "Correo electrónico"; "Scene.Register.Error.Item.Locale" = "Idioma de la interface"; @@ -331,7 +319,7 @@ el que quieras."; "Scene.Settings.Section.Notifications.Mentions" = "Me mencionó"; "Scene.Settings.Section.Notifications.Title" = "Notificaciones"; "Scene.Settings.Section.Notifications.Trigger.Anyone" = "cualquiera"; -"Scene.Settings.Section.Notifications.Trigger.Follow" = "cualquiera que sigo"; +"Scene.Settings.Section.Notifications.Trigger.Follow" = "alguien a quien sigo"; "Scene.Settings.Section.Notifications.Trigger.Follower" = "un seguidor"; "Scene.Settings.Section.Notifications.Trigger.Noone" = "nadie"; "Scene.Settings.Section.Notifications.Trigger.Title" = "Notificarme cuando"; diff --git a/Mastodon/Resources/es-419.lproj/Localizable.stringsdict b/Mastodon/Resources/es-419.lproj/Localizable.stringsdict index 9af995567..d1c258f4b 100644 --- a/Mastodon/Resources/es-419.lproj/Localizable.stringsdict +++ b/Mastodon/Resources/es-419.lproj/Localizable.stringsdict @@ -2,6 +2,38 @@ + a11y.plural.count.input_limit_exceeds + + NSStringLocalizedFormatKey + Input limit exceeds %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Input limit remains %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.metric_formatted.post NSStringLocalizedFormatKey @@ -18,6 +50,22 @@ mensajes + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 post + other + %ld posts + + plural.count.favorite NSStringLocalizedFormatKey @@ -98,5 +146,133 @@ %ld cuentas hablando + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 following + other + %ld following + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 follower + other + %ld followers + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 year left + other + %ld years left + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 months left + other + %ld months left + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 day left + other + %ld days left + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 hour left + other + %ld hours left + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 minute left + other + %ld minutes left + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 second left + other + %ld seconds left + + diff --git a/Mastodon/Resources/es.lproj/Localizable.strings b/Mastodon/Resources/es.lproj/Localizable.strings index 8a906ea91..63fb420df 100644 --- a/Mastodon/Resources/es.lproj/Localizable.strings +++ b/Mastodon/Resources/es.lproj/Localizable.strings @@ -22,7 +22,7 @@ Por favor, revise su conexión a internet."; "Common.Alerts.SignOut.Message" = "¿Estás seguro de que deseas cerrar la sesión?"; "Common.Alerts.SignOut.Title" = "Cerrar Sesión"; "Common.Alerts.SignUpFailure.Title" = "Error al registrarse"; -"Common.Alerts.VoteFailure.PollExpired" = "La encuesta ha caducado"; +"Common.Alerts.VoteFailure.PollEnded" = "La encuesta ha terminado"; "Common.Alerts.VoteFailure.Title" = "Voto fallido"; "Common.Controls.Actions.Add" = "Añadir"; "Common.Controls.Actions.Back" = "Atrás"; @@ -100,7 +100,6 @@ Por favor, revise su conexión a internet."; "Common.Controls.Status.ContentWarning" = "Advertencia de Contenido"; "Common.Controls.Status.MediaContentWarning" = "Pulsa en cualquier sitio para mostrar"; "Common.Controls.Status.Poll.Closed" = "Cerrado"; -"Common.Controls.Status.Poll.TimeLeft" = "Quedan %@"; "Common.Controls.Status.Poll.Vote" = "Vota"; "Common.Controls.Status.ShowPost" = "Mostrar Publicación"; "Common.Controls.Status.ShowUserProfile" = "Mostrar perfil del usuario"; @@ -116,9 +115,6 @@ Por favor, revise su conexión a internet."; "Common.Controls.Tabs.Notification" = "Notificación"; "Common.Controls.Tabs.Profile" = "Perfil"; "Common.Controls.Tabs.Search" = "Buscar"; -"Common.Controls.Timeline.Accessibility.CountFavorites" = "%@ favoritos"; -"Common.Controls.Timeline.Accessibility.CountReblogs" = "%@ redifusiones"; -"Common.Controls.Timeline.Accessibility.CountReplies" = "%@ respuestas"; "Common.Controls.Timeline.Filtered" = "Filtrado"; "Common.Controls.Timeline.Header.BlockedWarning" = "No puedes ver el perfil de este usuario hasta que te desbloquee."; @@ -137,14 +133,11 @@ Tu perfil se ve así para él."; "Common.Controls.Timeline.Loader.LoadingMissingPosts" = "Cargando publicaciones faltantes..."; "Common.Controls.Timeline.Loader.ShowMoreReplies" = "Mostrar más respuestas"; "Common.Controls.Timeline.Timestamp.Now" = "Ahora"; -"Common.Controls.Timeline.Timestamp.TimeAgo" = "Hace %@"; "Scene.Compose.Accessibility.AppendAttachment" = "Añadir Adjunto"; "Scene.Compose.Accessibility.AppendPoll" = "Añadir Encuesta"; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Selector de Emojis Personalizados"; "Scene.Compose.Accessibility.DisableContentWarning" = "Desactivar Advertencia de Contenido"; "Scene.Compose.Accessibility.EnableContentWarning" = "Activar Advertencia de Contenido"; -"Scene.Compose.Accessibility.InputLimitExceedsCount" = "%ld en exceso sobre el límite de entrada"; -"Scene.Compose.Accessibility.InputLimitRemainsCount" = "%ld restante hasta el límite de entrada"; "Scene.Compose.Accessibility.PostVisibilityMenu" = "Menú de Visibilidad de la Publicación"; "Scene.Compose.Accessibility.RemovePoll" = "Eliminar Encuesta"; "Scene.Compose.Attachment.AttachmentBroken" = "Este %@ está roto y no puede @@ -194,7 +187,6 @@ subirse a Mastodon."; pulsa en el enlace para confirmar tu cuenta."; "Scene.ConfirmEmail.Title" = "Una última cosa."; "Scene.Favorite.Title" = "Tus Favoritos"; -"Scene.Hashtag.Prompt" = "%@ personas están hablando de esto"; "Scene.HomeTimeline.NavigationBarState.NewPosts" = "Ver nuevas publicaciones"; "Scene.HomeTimeline.NavigationBarState.Offline" = "Sin Conexión"; "Scene.HomeTimeline.NavigationBarState.Published" = "¡Publicado!"; @@ -213,9 +205,6 @@ pulsa en el enlace para confirmar tu cuenta."; "Scene.Preview.Keyboard.ClosePreview" = "Cerrar Previsualización"; "Scene.Preview.Keyboard.ShowNext" = "Mostrar Siguiente"; "Scene.Preview.Keyboard.ShowPrevious" = "Mostrar Anterior"; -"Scene.Profile.Dashboard.Accessibility.CountFollowers" = "%ld seguidores"; -"Scene.Profile.Dashboard.Accessibility.CountFollowing" = "%ld siguiendo"; -"Scene.Profile.Dashboard.Accessibility.CountPosts" = "%ld publicaciones"; "Scene.Profile.Dashboard.Followers" = "seguidores"; "Scene.Profile.Dashboard.Following" = "siguiendo"; "Scene.Profile.Dashboard.Posts" = "publicaciones"; @@ -229,7 +218,6 @@ pulsa en el enlace para confirmar tu cuenta."; "Scene.Profile.SegmentedControl.Media" = "Multimedia"; "Scene.Profile.SegmentedControl.Posts" = "Publicaciones"; "Scene.Profile.SegmentedControl.Replies" = "Respuestas"; -"Scene.PublicTimeline.Title" = "Pública"; "Scene.Register.Error.Item.Agreement" = "Aceptación"; "Scene.Register.Error.Item.Email" = "Correo electrónico"; "Scene.Register.Error.Item.Locale" = "Idioma"; diff --git a/Mastodon/Resources/es.lproj/Localizable.stringsdict b/Mastodon/Resources/es.lproj/Localizable.stringsdict index 77bb9668e..9097a22c4 100644 --- a/Mastodon/Resources/es.lproj/Localizable.stringsdict +++ b/Mastodon/Resources/es.lproj/Localizable.stringsdict @@ -2,6 +2,38 @@ + a11y.plural.count.input_limit_exceeds + + NSStringLocalizedFormatKey + Input limit exceeds %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Input limit remains %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.metric_formatted.post NSStringLocalizedFormatKey @@ -18,6 +50,22 @@ publicaciones + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 post + other + %ld posts + + plural.count.favorite NSStringLocalizedFormatKey @@ -98,5 +146,133 @@ %ld personas están hablando de esto + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 following + other + %ld following + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 follower + other + %ld followers + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 year left + other + %ld years left + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 months left + other + %ld months left + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 day left + other + %ld days left + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 hour left + other + %ld hours left + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 minute left + other + %ld minutes left + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 second left + other + %ld seconds left + + diff --git a/Mastodon/Resources/fr.lproj/Localizable.strings b/Mastodon/Resources/fr.lproj/Localizable.strings index fa1557021..e2a18359f 100644 --- a/Mastodon/Resources/fr.lproj/Localizable.strings +++ b/Mastodon/Resources/fr.lproj/Localizable.strings @@ -22,7 +22,7 @@ Veuillez vérifier votre accès à Internet."; "Common.Alerts.SignOut.Message" = "Voulez-vous vraiment vous déconnecter ?"; "Common.Alerts.SignOut.Title" = "Se déconnecter"; "Common.Alerts.SignUpFailure.Title" = "Échec de l'inscription"; -"Common.Alerts.VoteFailure.PollExpired" = "Le sondage a expiré"; +"Common.Alerts.VoteFailure.PollEnded" = "Le sondage est terminé"; "Common.Alerts.VoteFailure.Title" = "Le vote n’a pas pu être enregistré"; "Common.Controls.Actions.Add" = "Ajouter"; "Common.Controls.Actions.Back" = "Retour"; @@ -100,7 +100,6 @@ Veuillez vérifier votre accès à Internet."; "Common.Controls.Status.ContentWarning" = "Avertissement de contenu"; "Common.Controls.Status.MediaContentWarning" = "Tapotez n’importe où pour révéler la publication"; "Common.Controls.Status.Poll.Closed" = "Fermé"; -"Common.Controls.Status.Poll.TimeLeft" = "%@ restantes"; "Common.Controls.Status.Poll.Vote" = "Voter"; "Common.Controls.Status.ShowPost" = "Montrer la publication"; "Common.Controls.Status.ShowUserProfile" = "Montrer le profil de l’utilisateur"; @@ -116,9 +115,6 @@ Veuillez vérifier votre accès à Internet."; "Common.Controls.Tabs.Notification" = "Notification"; "Common.Controls.Tabs.Profile" = "Profil"; "Common.Controls.Tabs.Search" = "Rechercher"; -"Common.Controls.Timeline.Accessibility.CountFavorites" = "%@ favoris"; -"Common.Controls.Timeline.Accessibility.CountReblogs" = "%@ reblogs"; -"Common.Controls.Timeline.Accessibility.CountReplies" = "%@ réponses"; "Common.Controls.Timeline.Filtered" = "Filtré"; "Common.Controls.Timeline.Header.BlockedWarning" = "Vous ne pouvez pas voir le profil de cet utilisateur tant qu'il ne vous aura pas débloqué."; @@ -136,14 +132,11 @@ Votre profil ressemble à ça pour lui."; "Common.Controls.Timeline.Loader.LoadingMissingPosts" = "Chargement des publications manquantes..."; "Common.Controls.Timeline.Loader.ShowMoreReplies" = "Charger plus de réponses"; "Common.Controls.Timeline.Timestamp.Now" = "À l’instant"; -"Common.Controls.Timeline.Timestamp.TimeAgo" = "il y a %@"; "Scene.Compose.Accessibility.AppendAttachment" = "Joindre un document"; "Scene.Compose.Accessibility.AppendPoll" = "Ajouter un Sondage"; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Sélecteur d’émojis personnalisé"; "Scene.Compose.Accessibility.DisableContentWarning" = "Désactiver l'avertissement de contenu"; "Scene.Compose.Accessibility.EnableContentWarning" = "Basculer l’avertissement de contenu"; -"Scene.Compose.Accessibility.InputLimitExceedsCount" = "La limite d'entrée dépasse %ld"; -"Scene.Compose.Accessibility.InputLimitRemainsCount" = "La limite d'entrée reste %ld"; "Scene.Compose.Accessibility.PostVisibilityMenu" = "Menu de Visibilité de la publication"; "Scene.Compose.Accessibility.RemovePoll" = "Retirer le sondage"; "Scene.Compose.Attachment.AttachmentBroken" = "Ce %@ est brisé et ne peut pas être @@ -193,7 +186,6 @@ téléversé sur Mastodon."; tapotez le lien pour confirmer votre compte."; "Scene.ConfirmEmail.Title" = "Une dernière chose."; "Scene.Favorite.Title" = "Vos favoris"; -"Scene.Hashtag.Prompt" = "%@ personnes parlent"; "Scene.HomeTimeline.NavigationBarState.NewPosts" = "Voir les nouvelles publications"; "Scene.HomeTimeline.NavigationBarState.Offline" = "Hors ligne"; "Scene.HomeTimeline.NavigationBarState.Published" = "Publié!"; @@ -212,9 +204,6 @@ tapotez le lien pour confirmer votre compte."; "Scene.Preview.Keyboard.ClosePreview" = "Fermer l'aperçu"; "Scene.Preview.Keyboard.ShowNext" = "Afficher le suivant"; "Scene.Preview.Keyboard.ShowPrevious" = "Afficher le précédent"; -"Scene.Profile.Dashboard.Accessibility.CountFollowers" = "%ld abonnés"; -"Scene.Profile.Dashboard.Accessibility.CountFollowing" = "%ld abonnés"; -"Scene.Profile.Dashboard.Accessibility.CountPosts" = "%ld publications"; "Scene.Profile.Dashboard.Followers" = "abonnés"; "Scene.Profile.Dashboard.Following" = "abonnements"; "Scene.Profile.Dashboard.Posts" = "publications"; @@ -228,7 +217,6 @@ tapotez le lien pour confirmer votre compte."; "Scene.Profile.SegmentedControl.Media" = "Média"; "Scene.Profile.SegmentedControl.Posts" = "Publications"; "Scene.Profile.SegmentedControl.Replies" = "Réponses"; -"Scene.PublicTimeline.Title" = "Public"; "Scene.Register.Error.Item.Agreement" = "Accord"; "Scene.Register.Error.Item.Email" = "Courriel"; "Scene.Register.Error.Item.Locale" = "Lieu"; diff --git a/Mastodon/Resources/fr.lproj/Localizable.stringsdict b/Mastodon/Resources/fr.lproj/Localizable.stringsdict index d31559e32..56e176d1e 100644 --- a/Mastodon/Resources/fr.lproj/Localizable.stringsdict +++ b/Mastodon/Resources/fr.lproj/Localizable.stringsdict @@ -2,6 +2,38 @@ + a11y.plural.count.input_limit_exceeds + + NSStringLocalizedFormatKey + Input limit exceeds %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Input limit remains %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.metric_formatted.post NSStringLocalizedFormatKey @@ -18,6 +50,22 @@ publications + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 post + other + %ld posts + + plural.count.favorite NSStringLocalizedFormatKey @@ -98,5 +146,133 @@ %ld personnes en parlent + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 following + other + %ld following + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 follower + other + %ld followers + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 year left + other + %ld years left + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 months left + other + %ld months left + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 day left + other + %ld days left + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 hour left + other + %ld hours left + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 minute left + other + %ld minutes left + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 second left + other + %ld seconds left + + diff --git a/Mastodon/Resources/ja.lproj/Localizable.strings b/Mastodon/Resources/ja.lproj/Localizable.strings index f22c539a1..cee195ced 100644 --- a/Mastodon/Resources/ja.lproj/Localizable.strings +++ b/Mastodon/Resources/ja.lproj/Localizable.strings @@ -22,7 +22,7 @@ "Common.Alerts.SignOut.Message" = "本当にサインアウトしますか?"; "Common.Alerts.SignOut.Title" = "サインアウト"; "Common.Alerts.SignUpFailure.Title" = "サインアップに失敗しました"; -"Common.Alerts.VoteFailure.PollExpired" = "投票は終了しました"; +"Common.Alerts.VoteFailure.PollEnded" = "投票は終了しました"; "Common.Alerts.VoteFailure.Title" = "投票の失敗"; "Common.Controls.Actions.Add" = "追加"; "Common.Controls.Actions.Back" = "戻る"; @@ -63,7 +63,7 @@ "Common.Controls.Friendship.BlockDomain" = "%@をブロック"; "Common.Controls.Friendship.BlockUser" = "%@をブロック"; "Common.Controls.Friendship.Blocked" = "ブロック済み"; -"Common.Controls.Friendship.EditInfo" = "Edit Info"; +"Common.Controls.Friendship.EditInfo" = "編集"; "Common.Controls.Friendship.Follow" = "フォロー"; "Common.Controls.Friendship.Following" = "フォロー中"; "Common.Controls.Friendship.Mute" = "ミュート"; @@ -100,7 +100,6 @@ "Common.Controls.Status.ContentWarning" = "コンテンツ警告"; "Common.Controls.Status.MediaContentWarning" = "どこかをタップして表示"; "Common.Controls.Status.Poll.Closed" = "クローズド"; -"Common.Controls.Status.Poll.TimeLeft" = "残り%@"; "Common.Controls.Status.Poll.Vote" = "投票"; "Common.Controls.Status.ShowPost" = "トゥートを見る"; "Common.Controls.Status.ShowUserProfile" = "プロフィールを見る"; @@ -116,9 +115,6 @@ "Common.Controls.Tabs.Notification" = "通知"; "Common.Controls.Tabs.Profile" = "プロフィール"; "Common.Controls.Tabs.Search" = "検索"; -"Common.Controls.Timeline.Accessibility.CountFavorites" = "%@ いいね"; -"Common.Controls.Timeline.Accessibility.CountReblogs" = "%@ ブースト"; -"Common.Controls.Timeline.Accessibility.CountReplies" = "%@ リプライ"; "Common.Controls.Timeline.Filtered" = "フィルター済み"; "Common.Controls.Timeline.Header.BlockedWarning" = "ブロックされているようです..."; "Common.Controls.Timeline.Header.BlockingWarning" = "ブロックを解除するまでこのユーザーをみることはできません。 @@ -133,14 +129,11 @@ "Common.Controls.Timeline.Loader.LoadingMissingPosts" = "読込中..."; "Common.Controls.Timeline.Loader.ShowMoreReplies" = "リプライをもっとみる"; "Common.Controls.Timeline.Timestamp.Now" = "今"; -"Common.Controls.Timeline.Timestamp.TimeAgo" = "%@前"; "Scene.Compose.Accessibility.AppendAttachment" = "アタッチメントの追加"; "Scene.Compose.Accessibility.AppendPoll" = "投票を追加"; "Scene.Compose.Accessibility.CustomEmojiPicker" = "カスタム絵文字ピッカー"; "Scene.Compose.Accessibility.DisableContentWarning" = "コンテンツ警告を無効にする"; "Scene.Compose.Accessibility.EnableContentWarning" = "コンテンツ警告を有効にする"; -"Scene.Compose.Accessibility.InputLimitExceedsCount" = "最大文字数を超えました。 %ld"; -"Scene.Compose.Accessibility.InputLimitRemainsCount" = "入力制限は残り %ld"; "Scene.Compose.Accessibility.PostVisibilityMenu" = "投稿の表示メニュー"; "Scene.Compose.Accessibility.RemovePoll" = "投票を消去"; "Scene.Compose.Attachment.AttachmentBroken" = "%@は壊れていてMastodonにアップロードできません。"; @@ -188,7 +181,6 @@ "Scene.ConfirmEmail.Subtitle" = "先程 %@ にメールを送信しました。リンクをタップしてアカウントを確認してください。"; "Scene.ConfirmEmail.Title" = "さいごにもうひとつ。"; "Scene.Favorite.Title" = "あなたのいいね"; -"Scene.Hashtag.Prompt" = "%@人がこの話題について話しています"; "Scene.HomeTimeline.NavigationBarState.NewPosts" = "新しいトゥートを見る"; "Scene.HomeTimeline.NavigationBarState.Offline" = "オフライン"; "Scene.HomeTimeline.NavigationBarState.Published" = "トゥートしました!"; @@ -207,9 +199,6 @@ "Scene.Preview.Keyboard.ClosePreview" = "プレビューを閉じる"; "Scene.Preview.Keyboard.ShowNext" = "次を見る"; "Scene.Preview.Keyboard.ShowPrevious" = "前を見る"; -"Scene.Profile.Dashboard.Accessibility.CountFollowers" = "%ld フォロワー"; -"Scene.Profile.Dashboard.Accessibility.CountFollowing" = "%ld フォロー中"; -"Scene.Profile.Dashboard.Accessibility.CountPosts" = "%ld トゥート"; "Scene.Profile.Dashboard.Followers" = "フォロワー"; "Scene.Profile.Dashboard.Following" = "フォロー中"; "Scene.Profile.Dashboard.Posts" = "トゥート"; @@ -223,7 +212,6 @@ "Scene.Profile.SegmentedControl.Media" = "メディア"; "Scene.Profile.SegmentedControl.Posts" = "トゥート"; "Scene.Profile.SegmentedControl.Replies" = "リプライ"; -"Scene.PublicTimeline.Title" = "公開"; "Scene.Register.Error.Item.Agreement" = "契約"; "Scene.Register.Error.Item.Email" = "メール"; "Scene.Register.Error.Item.Locale" = "地域"; diff --git a/Mastodon/Resources/ja.lproj/Localizable.stringsdict b/Mastodon/Resources/ja.lproj/Localizable.stringsdict index caa81fb6a..82230ebcd 100644 --- a/Mastodon/Resources/ja.lproj/Localizable.stringsdict +++ b/Mastodon/Resources/ja.lproj/Localizable.stringsdict @@ -2,6 +2,34 @@ + a11y.plural.count.input_limit_exceeds + + NSStringLocalizedFormatKey + Input limit exceeds %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld characters + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Input limit remains %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld characters + + plural.count.metric_formatted.post NSStringLocalizedFormatKey @@ -16,6 +44,20 @@ posts + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld posts + + plural.count.favorite NSStringLocalizedFormatKey @@ -86,5 +128,117 @@ %ld people talking + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld following + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld followers + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld years left + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld months left + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld days left + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld hours left + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld minutes left + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld seconds left + + diff --git a/Mastodon/Resources/zh-Hans.lproj/Localizable.strings b/Mastodon/Resources/zh-Hans.lproj/Localizable.strings index 40c3fe665..d85215d85 100644 --- a/Mastodon/Resources/zh-Hans.lproj/Localizable.strings +++ b/Mastodon/Resources/zh-Hans.lproj/Localizable.strings @@ -22,7 +22,7 @@ "Common.Alerts.SignOut.Message" = "您确定要退出吗?"; "Common.Alerts.SignOut.Title" = "退出"; "Common.Alerts.SignUpFailure.Title" = "注册失败"; -"Common.Alerts.VoteFailure.PollExpired" = "此投票已过期"; +"Common.Alerts.VoteFailure.PollEnded" = "投票已结束"; "Common.Alerts.VoteFailure.Title" = "投票失败"; "Common.Controls.Actions.Add" = "添加"; "Common.Controls.Actions.Back" = "返回"; @@ -63,7 +63,7 @@ "Common.Controls.Friendship.BlockDomain" = "屏蔽 %@"; "Common.Controls.Friendship.BlockUser" = "屏蔽 %@"; "Common.Controls.Friendship.Blocked" = "已屏蔽"; -"Common.Controls.Friendship.EditInfo" = "编辑资料"; +"Common.Controls.Friendship.EditInfo" = "编辑"; "Common.Controls.Friendship.Follow" = "关注"; "Common.Controls.Friendship.Following" = "正在关注"; "Common.Controls.Friendship.Mute" = "静音"; @@ -100,7 +100,6 @@ "Common.Controls.Status.ContentWarning" = "内容警告"; "Common.Controls.Status.MediaContentWarning" = "点击任意位置显示"; "Common.Controls.Status.Poll.Closed" = "已关闭"; -"Common.Controls.Status.Poll.TimeLeft" = "剩余 %@"; "Common.Controls.Status.Poll.Vote" = "投票"; "Common.Controls.Status.ShowPost" = "显示帖子"; "Common.Controls.Status.ShowUserProfile" = "查看用户个人资料"; @@ -116,9 +115,6 @@ "Common.Controls.Tabs.Notification" = "通知"; "Common.Controls.Tabs.Profile" = "个人资料"; "Common.Controls.Tabs.Search" = "搜索"; -"Common.Controls.Timeline.Accessibility.CountFavorites" = "%@ 个喜欢"; -"Common.Controls.Timeline.Accessibility.CountReblogs" = "%@ 条转发"; -"Common.Controls.Timeline.Accessibility.CountReplies" = "%@ 条回复"; "Common.Controls.Timeline.Filtered" = "已过滤"; "Common.Controls.Timeline.Header.BlockedWarning" = "您不能查看此用户的个人资料 直到他们解除屏蔽。"; @@ -137,14 +133,11 @@ "Common.Controls.Timeline.Loader.LoadingMissingPosts" = "正在加载帖子..."; "Common.Controls.Timeline.Loader.ShowMoreReplies" = "显示更多回复"; "Common.Controls.Timeline.Timestamp.Now" = "现在"; -"Common.Controls.Timeline.Timestamp.TimeAgo" = "%@"; "Scene.Compose.Accessibility.AppendAttachment" = "添加附件"; "Scene.Compose.Accessibility.AppendPoll" = "添加投票"; "Scene.Compose.Accessibility.CustomEmojiPicker" = "自定义表情选择器"; "Scene.Compose.Accessibility.DisableContentWarning" = "关闭内容警告"; "Scene.Compose.Accessibility.EnableContentWarning" = "启用内容警告"; -"Scene.Compose.Accessibility.InputLimitExceedsCount" = "输入字符限制超出 %ld"; -"Scene.Compose.Accessibility.InputLimitRemainsCount" = "输入字符限制剩余 %ld"; "Scene.Compose.Accessibility.PostVisibilityMenu" = "帖子可见性"; "Scene.Compose.Accessibility.RemovePoll" = "移除投票"; "Scene.Compose.Attachment.AttachmentBroken" = "%@已损坏 @@ -194,7 +187,6 @@ 点击链接确认你的帐户。"; "Scene.ConfirmEmail.Title" = "最后一件事。"; "Scene.Favorite.Title" = "你的喜欢"; -"Scene.Hashtag.Prompt" = "%@ 人正在讨论"; "Scene.HomeTimeline.NavigationBarState.NewPosts" = "查看新帖子"; "Scene.HomeTimeline.NavigationBarState.Offline" = "离线"; "Scene.HomeTimeline.NavigationBarState.Published" = "已发送"; @@ -213,9 +205,6 @@ "Scene.Preview.Keyboard.ClosePreview" = "关闭预览"; "Scene.Preview.Keyboard.ShowNext" = "显示下一个"; "Scene.Preview.Keyboard.ShowPrevious" = "显示前一个"; -"Scene.Profile.Dashboard.Accessibility.CountFollowers" = "%ld 个关注者"; -"Scene.Profile.Dashboard.Accessibility.CountFollowing" = "%ld 正在关注"; -"Scene.Profile.Dashboard.Accessibility.CountPosts" = "%ld 个帖子"; "Scene.Profile.Dashboard.Followers" = "关注者"; "Scene.Profile.Dashboard.Following" = "正在关注"; "Scene.Profile.Dashboard.Posts" = "帖子"; @@ -229,7 +218,6 @@ "Scene.Profile.SegmentedControl.Media" = "媒体"; "Scene.Profile.SegmentedControl.Posts" = "帖子"; "Scene.Profile.SegmentedControl.Replies" = "回复"; -"Scene.PublicTimeline.Title" = "公开"; "Scene.Register.Error.Item.Agreement" = "协议"; "Scene.Register.Error.Item.Email" = "电子邮箱"; "Scene.Register.Error.Item.Locale" = "地区"; diff --git a/Mastodon/Resources/zh-Hans.lproj/Localizable.stringsdict b/Mastodon/Resources/zh-Hans.lproj/Localizable.stringsdict index e94476863..bb8064914 100644 --- a/Mastodon/Resources/zh-Hans.lproj/Localizable.stringsdict +++ b/Mastodon/Resources/zh-Hans.lproj/Localizable.stringsdict @@ -2,6 +2,34 @@ + a11y.plural.count.input_limit_exceeds + + NSStringLocalizedFormatKey + 输入字符限制超出 %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld 个字符 + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + 输入字符限制剩余 %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld 个字符 + + plural.count.metric_formatted.post NSStringLocalizedFormatKey @@ -13,7 +41,21 @@ NSStringFormatValueTypeKey ld other - 帖子 + 个帖子 + + + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld 个帖子 plural.count.favorite @@ -86,5 +128,117 @@ %ld 人正在讨论 + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld 人正在关注 + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld 个关注者 + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + 剩余 %ld 年 + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + 剩余 %ld 个月 + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + 剩余 %ld 天 + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + 剩余 %ld 小时 + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + 剩余 %ld 分钟 + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + 剩余 %ld 秒 + + diff --git a/MastodonIntent/ca.lproj/Intents.strings b/MastodonIntent/ca.lproj/Intents.strings index 3c3de2574..6b92eb263 100644 --- a/MastodonIntent/ca.lproj/Intents.strings +++ b/MastodonIntent/ca.lproj/Intents.strings @@ -1,4 +1,4 @@ -"16wxgf" = "Publicar a Mastodon"; +"16wxgf" = "Publica a Mastodon"; "751xkl" = "Contingut del Text"; @@ -14,7 +14,7 @@ "RxSqsb" = "Publicació"; -"WCIR3D" = "Publicar ${content} a Mastodon"; +"WCIR3D" = "Publica ${content} a Mastodon"; "ZKJSNu" = "Publicació"; diff --git a/MastodonIntent/de.lproj/Intents.strings b/MastodonIntent/de.lproj/Intents.strings index 3bf4531e2..e19069797 100644 --- a/MastodonIntent/de.lproj/Intents.strings +++ b/MastodonIntent/de.lproj/Intents.strings @@ -1,28 +1,28 @@ "16wxgf" = "Post on Mastodon"; -"751xkl" = "Textinhalt"; +"751xkl" = "Text Content"; -"CsR7G2" = "Beitrag"; +"CsR7G2" = "Post"; "HZSGTr" = "What content to post?"; -"HdGikU" = "Senden fehlgeschlagen"; +"HdGikU" = "Posting failed"; -"KDNTJ4" = "Fehlerursache"; +"KDNTJ4" = "Failure Reason"; -"RHxKOw" = "Beitrag mit Textinhalt senden"; +"RHxKOw" = "Send Post with text content"; -"RxSqsb" = "Beitrag"; +"RxSqsb" = "Post"; "WCIR3D" = "Post ${content} on Mastodon"; -"ZKJSNu" = "Beitrag"; +"ZKJSNu" = "Post"; "ZS1XaK" = "${content}"; -"ZbSjzC" = "Sichtbarkeit"; +"ZbSjzC" = "Visibility"; -"Zo4jgJ" = "Sichtbarkeit des Beitrags"; +"Zo4jgJ" = "Post Visibility"; "apSxMG-dYQ5NN" = "There are ${count} options matching ‘Public’."; @@ -32,13 +32,13 @@ "ayoYEb-ehFLjY" = "${content}, Followers Only"; -"dUyuGg" = "Beitrag"; +"dUyuGg" = "Post"; "dYQ5NN" = "Public"; "ehFLjY" = "Followers Only"; -"gfePDu" = "Senden fehlgeschlagen. ${failureReason}"; +"gfePDu" = "Posting failed. ${failureReason}"; "k7dbKQ" = "Post was sent successfully."; @@ -48,4 +48,4 @@ "rM6dvp" = "URL"; -"ryJLwG" = "Beitrag wurde erfolgreich gesendet. "; +"ryJLwG" = "Post was sent successfully. "; diff --git a/MastodonIntent/es-419.lproj/Intents.strings b/MastodonIntent/es-419.lproj/Intents.strings index 6a4ea3acd..e19069797 100644 --- a/MastodonIntent/es-419.lproj/Intents.strings +++ b/MastodonIntent/es-419.lproj/Intents.strings @@ -1,51 +1,51 @@ -"16wxgf" = "Enviar a Mastodon"; +"16wxgf" = "Post on Mastodon"; -"751xkl" = "Contenido del texto"; +"751xkl" = "Text Content"; -"CsR7G2" = "Enviar"; +"CsR7G2" = "Post"; -"HZSGTr" = "¿Qué contenido enviar?"; +"HZSGTr" = "What content to post?"; -"HdGikU" = "Error al enviar mensaje"; +"HdGikU" = "Posting failed"; -"KDNTJ4" = "Motivo del error"; +"KDNTJ4" = "Failure Reason"; -"RHxKOw" = "Enviar mensaje con contenido de texto"; +"RHxKOw" = "Send Post with text content"; -"RxSqsb" = "Enviar"; +"RxSqsb" = "Post"; -"WCIR3D" = "Enviar ${content} a Mastodon"; +"WCIR3D" = "Post ${content} on Mastodon"; -"ZKJSNu" = "Enviar"; +"ZKJSNu" = "Post"; "ZS1XaK" = "${content}"; -"ZbSjzC" = "Visibilidad"; +"ZbSjzC" = "Visibility"; -"Zo4jgJ" = "Visibilidad del mensaje"; +"Zo4jgJ" = "Post Visibility"; -"apSxMG-dYQ5NN" = "Hay ${count} opciones que coinciden con \"Público\"."; +"apSxMG-dYQ5NN" = "There are ${count} options matching ‘Public’."; -"apSxMG-ehFLjY" = "Hay ${count} opciones que coinciden con \"Sólo para seguidores\"."; +"apSxMG-ehFLjY" = "There are ${count} options matching ‘Followers Only’."; -"ayoYEb-dYQ5NN" = "${content}, público"; +"ayoYEb-dYQ5NN" = "${content}, Public"; -"ayoYEb-ehFLjY" = "${content}, sólo para seguidores"; +"ayoYEb-ehFLjY" = "${content}, Followers Only"; -"dUyuGg" = "Publicar"; +"dUyuGg" = "Post"; -"dYQ5NN" = "Público"; +"dYQ5NN" = "Public"; -"ehFLjY" = "Sólo para seguidores"; +"ehFLjY" = "Followers Only"; -"gfePDu" = "Error al enviar mensaje. ${failureReason}"; +"gfePDu" = "Posting failed. ${failureReason}"; -"k7dbKQ" = "El mensaje se envió exitosamente."; +"k7dbKQ" = "Post was sent successfully."; -"oGiqmY-dYQ5NN" = "Sólo para confirmar, ¿querías que este mensaje sea PÚBLICO?"; +"oGiqmY-dYQ5NN" = "Just to confirm, you wanted ‘Public’?"; -"oGiqmY-ehFLjY" = "Sólo para confirmar, ¿querías que este mensaje sea SÓLO PARA SEGUIDORES?"; +"oGiqmY-ehFLjY" = "Just to confirm, you wanted ‘Followers Only’?"; -"rM6dvp" = "Dirección web"; +"rM6dvp" = "URL"; -"ryJLwG" = "El mensaje se envió exitosamente. "; +"ryJLwG" = "Post was sent successfully. "; diff --git a/MastodonIntent/es.lproj/Intents.strings b/MastodonIntent/es.lproj/Intents.strings index b04a39c08..e19069797 100644 --- a/MastodonIntent/es.lproj/Intents.strings +++ b/MastodonIntent/es.lproj/Intents.strings @@ -1,51 +1,51 @@ -"16wxgf" = "Publicar en Mastodon"; +"16wxgf" = "Post on Mastodon"; -"751xkl" = "Contenido del Texto"; +"751xkl" = "Text Content"; -"CsR7G2" = "Publicación"; +"CsR7G2" = "Post"; -"HZSGTr" = "¿Qué contenido publicar?"; +"HZSGTr" = "What content to post?"; -"HdGikU" = "Publicación fallida"; +"HdGikU" = "Posting failed"; -"KDNTJ4" = "Motivo del fallo"; +"KDNTJ4" = "Failure Reason"; -"RHxKOw" = "Enviar publicación con contenido de texto"; +"RHxKOw" = "Send Post with text content"; -"RxSqsb" = "Publicar"; +"RxSqsb" = "Post"; -"WCIR3D" = "Publicar ${content} en Mastodon"; +"WCIR3D" = "Post ${content} on Mastodon"; -"ZKJSNu" = "Publicar"; +"ZKJSNu" = "Post"; "ZS1XaK" = "${content}"; -"ZbSjzC" = "Visibilidad"; +"ZbSjzC" = "Visibility"; -"Zo4jgJ" = "Visibilidad de la Publicación"; +"Zo4jgJ" = "Post Visibility"; -"apSxMG-dYQ5NN" = "Hay ${count} opciones que coinciden con «Público»."; +"apSxMG-dYQ5NN" = "There are ${count} options matching ‘Public’."; -"apSxMG-ehFLjY" = "Hay ${count} opciones que coinciden con «Solo seguidores»."; +"apSxMG-ehFLjY" = "There are ${count} options matching ‘Followers Only’."; -"ayoYEb-dYQ5NN" = "${content}, Público"; +"ayoYEb-dYQ5NN" = "${content}, Public"; -"ayoYEb-ehFLjY" = "${content}, Solo Seguidores"; +"ayoYEb-ehFLjY" = "${content}, Followers Only"; -"dUyuGg" = "Publicar"; +"dUyuGg" = "Post"; -"dYQ5NN" = "Público"; +"dYQ5NN" = "Public"; -"ehFLjY" = "Solo Seguidores"; +"ehFLjY" = "Followers Only"; -"gfePDu" = "Error al publicar. ${failureReason}"; +"gfePDu" = "Posting failed. ${failureReason}"; -"k7dbKQ" = "La publicación se envió correctamente."; +"k7dbKQ" = "Post was sent successfully."; -"oGiqmY-dYQ5NN" = "Solo para confirmar, ¿querías «Público»?"; +"oGiqmY-dYQ5NN" = "Just to confirm, you wanted ‘Public’?"; -"oGiqmY-ehFLjY" = "Solo para confirmar, ¿querías «Solo seguidores»?"; +"oGiqmY-ehFLjY" = "Just to confirm, you wanted ‘Followers Only’?"; "rM6dvp" = "URL"; -"ryJLwG" = "La publicación se envió con éxito. "; +"ryJLwG" = "Post was sent successfully. "; diff --git a/MastodonIntent/fr.lproj/Intents.strings b/MastodonIntent/fr.lproj/Intents.strings index b21e895e3..e19069797 100644 --- a/MastodonIntent/fr.lproj/Intents.strings +++ b/MastodonIntent/fr.lproj/Intents.strings @@ -1,51 +1,51 @@ -"16wxgf" = "Publier sur Mastodon"; +"16wxgf" = "Post on Mastodon"; -"751xkl" = "Contenu textuel"; +"751xkl" = "Text Content"; -"CsR7G2" = "Publication"; +"CsR7G2" = "Post"; -"HZSGTr" = "Quel contenu publier?"; +"HZSGTr" = "What content to post?"; -"HdGikU" = "L'envoi a échoué"; +"HdGikU" = "Posting failed"; -"KDNTJ4" = "Raison de l'échec"; +"KDNTJ4" = "Failure Reason"; -"RHxKOw" = "Envoyer un message avec du contenu textuel"; +"RHxKOw" = "Send Post with text content"; -"RxSqsb" = "Publication"; +"RxSqsb" = "Post"; -"WCIR3D" = "Publier ${content} sur Mastodon"; +"WCIR3D" = "Post ${content} on Mastodon"; -"ZKJSNu" = "Publication"; +"ZKJSNu" = "Post"; "ZS1XaK" = "${content}"; -"ZbSjzC" = "Visibilité"; +"ZbSjzC" = "Visibility"; -"Zo4jgJ" = "Visibilité de la publication"; +"Zo4jgJ" = "Post Visibility"; -"apSxMG-dYQ5NN" = "Il y a ${count} options correspondant à « Public »."; +"apSxMG-dYQ5NN" = "There are ${count} options matching ‘Public’."; -"apSxMG-ehFLjY" = "Il y a ${count} options correspondant à « Abonnés uniquement »."; +"apSxMG-ehFLjY" = "There are ${count} options matching ‘Followers Only’."; "ayoYEb-dYQ5NN" = "${content}, Public"; -"ayoYEb-ehFLjY" = "${content}, abonnés seulement"; +"ayoYEb-ehFLjY" = "${content}, Followers Only"; -"dUyuGg" = "Publication"; +"dUyuGg" = "Post"; "dYQ5NN" = "Public"; -"ehFLjY" = "Abonnés seulement"; +"ehFLjY" = "Followers Only"; -"gfePDu" = "L'envoi a échoué. ${failureReason}"; +"gfePDu" = "Posting failed. ${failureReason}"; -"k7dbKQ" = "Léa publication a été envoyée avec succès."; +"k7dbKQ" = "Post was sent successfully."; -"oGiqmY-dYQ5NN" = "Juste pour confirmer, vous vouliez bien diffuser en « Public » ?"; +"oGiqmY-dYQ5NN" = "Just to confirm, you wanted ‘Public’?"; -"oGiqmY-ehFLjY" = "Juste pour confirmer, vous vouliez bien diffuser en « abonnés uniquement » ?"; +"oGiqmY-ehFLjY" = "Just to confirm, you wanted ‘Followers Only’?"; "rM6dvp" = "URL"; -"ryJLwG" = "La publication a été envoyée avec succès. "; +"ryJLwG" = "Post was sent successfully. "; diff --git a/MastodonIntent/zh-Hans.lproj/Intents.strings b/MastodonIntent/zh-Hans.lproj/Intents.strings index 41067a523..e19069797 100644 --- a/MastodonIntent/zh-Hans.lproj/Intents.strings +++ b/MastodonIntent/zh-Hans.lproj/Intents.strings @@ -1,51 +1,51 @@ -"16wxgf" = "分享到 Mastodon"; +"16wxgf" = "Post on Mastodon"; -"751xkl" = "文本内容"; +"751xkl" = "Text Content"; -"CsR7G2" = "帖子"; +"CsR7G2" = "Post"; -"HZSGTr" = "要发送的内容是什么?"; +"HZSGTr" = "What content to post?"; -"HdGikU" = "发送失败"; +"HdGikU" = "Posting failed"; -"KDNTJ4" = "失败原因"; +"KDNTJ4" = "Failure Reason"; -"RHxKOw" = "发送带有文本内容的帖子"; +"RHxKOw" = "Send Post with text content"; -"RxSqsb" = "帖子"; +"RxSqsb" = "Post"; -"WCIR3D" = "在 Mastodon 上发送 ${content}"; +"WCIR3D" = "Post ${content} on Mastodon"; -"ZKJSNu" = "帖子"; +"ZKJSNu" = "Post"; "ZS1XaK" = "${content}"; -"ZbSjzC" = "可见性"; +"ZbSjzC" = "Visibility"; -"Zo4jgJ" = "帖子可见性"; +"Zo4jgJ" = "Post Visibility"; -"apSxMG-dYQ5NN" = "有 ${count} 个选项匹配 “公开”"; +"apSxMG-dYQ5NN" = "There are ${count} options matching ‘Public’."; -"apSxMG-ehFLjY" = "有 ${count} 个选项匹配 “仅关注者”"; +"apSxMG-ehFLjY" = "There are ${count} options matching ‘Followers Only’."; -"ayoYEb-dYQ5NN" = "${content},公开"; +"ayoYEb-dYQ5NN" = "${content}, Public"; -"ayoYEb-ehFLjY" = "${content},仅关注者"; +"ayoYEb-ehFLjY" = "${content}, Followers Only"; -"dUyuGg" = "帖子"; +"dUyuGg" = "Post"; -"dYQ5NN" = "公开"; +"dYQ5NN" = "Public"; -"ehFLjY" = "仅关注者"; +"ehFLjY" = "Followers Only"; -"gfePDu" = "发送失败。 ${failureReason}"; +"gfePDu" = "Posting failed. ${failureReason}"; -"k7dbKQ" = "帖子发送成功。"; +"k7dbKQ" = "Post was sent successfully."; -"oGiqmY-dYQ5NN" = "确认要选择 “公开”?"; +"oGiqmY-dYQ5NN" = "Just to confirm, you wanted ‘Public’?"; -"oGiqmY-ehFLjY" = "确认要选择 “仅关注者”?"; +"oGiqmY-ehFLjY" = "Just to confirm, you wanted ‘Followers Only’?"; "rM6dvp" = "URL"; -"ryJLwG" = "帖子发送成功。"; +"ryJLwG" = "Post was sent successfully. "; From ddd1d0f6e47759392e57f0eccb770fc92adb0843 Mon Sep 17 00:00:00 2001 From: CMK Date: Mon, 9 Aug 2021 19:44:04 +0800 Subject: [PATCH 111/115] chore: update project for new i18n resources --- .../xcschemes/xcschememanagement.plist | 8 ++-- .../Search/RecommendAccountSection.swift | 4 +- .../Section/Status/NotificationSection.swift | 4 +- .../Section/Status/StatusSection.swift | 12 +++--- Mastodon/Extension/Date.swift | 40 ++++++++++++++++--- .../Scene/Compose/ComposeViewController.swift | 4 +- .../Compose/View/ComposeToolbarView.swift | 2 +- .../HashtagTimelineViewController.swift | 2 +- .../Scene/Profile/ProfileViewController.swift | 6 +-- .../Scene/Search/Search/SearchViewModel.swift | 4 +- .../Scene/Share/View/Content/StatusView.swift | 2 +- .../Scene/Thread/ThreadViewController.swift | 2 +- Mastodon/Scene/Thread/ThreadViewModel.swift | 2 +- .../APIService/APIService+APIError.swift | 2 +- Mastodon/Service/PlaybackState.swift | 3 -- .../Scene/ShareViewController.swift | 4 +- .../Scene/View/ComposeToolbarView.swift | 2 +- 17 files changed, 62 insertions(+), 41 deletions(-) diff --git a/Mastodon.xcodeproj/xcuserdata/mainasuk.xcuserdatad/xcschemes/xcschememanagement.plist b/Mastodon.xcodeproj/xcuserdata/mainasuk.xcuserdatad/xcschemes/xcschememanagement.plist index c08f88276..c16279b6c 100644 --- a/Mastodon.xcodeproj/xcuserdata/mainasuk.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/Mastodon.xcodeproj/xcuserdata/mainasuk.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,12 +7,12 @@ AppShared.xcscheme_^#shared#^_ orderHint - 32 + 31 CoreDataStack.xcscheme_^#shared#^_ orderHint - 31 + 32 Mastodon - ASDK.xcscheme_^#shared#^_ @@ -77,7 +77,7 @@ MastodonIntent.xcscheme_^#shared#^_ orderHint - 33 + 30 MastodonIntents.xcscheme_^#shared#^_ @@ -97,7 +97,7 @@ ShareActionExtension.xcscheme_^#shared#^_ orderHint - 30 + 33 SuppressBuildableAutocreation diff --git a/Mastodon/Diffiable/Section/Search/RecommendAccountSection.swift b/Mastodon/Diffiable/Section/Search/RecommendAccountSection.swift index b894f818d..3d6cff19e 100644 --- a/Mastodon/Diffiable/Section/Search/RecommendAccountSection.swift +++ b/Mastodon/Diffiable/Section/Search/RecommendAccountSection.swift @@ -88,9 +88,7 @@ extension RecommendAccountSection { withURL: URL(string: user.header)!, placeholderImage: UIImage.placeholder(color: .systemFill), imageTransition: .crossDissolve(0.2) - ) { [weak cell] _ in - // guard let cell = cell else { return } - } + ) } static func configureFollowButton( diff --git a/Mastodon/Diffiable/Section/Status/NotificationSection.swift b/Mastodon/Diffiable/Section/Status/NotificationSection.swift index b0afd7002..79e312299 100644 --- a/Mastodon/Diffiable/Section/Status/NotificationSection.swift +++ b/Mastodon/Diffiable/Section/Status/NotificationSection.swift @@ -79,13 +79,13 @@ extension NotificationSection { let createAt = notification.createAt let actionText = notification.notificationType.actionText cell.actionLabel.text = actionText - cell.timestampLabel.text = createAt.timeAgoSinceNow + cell.timestampLabel.text = createAt.localizedTimeAgoSinceNow AppContext.shared.timestampUpdatePublisher .receive(on: DispatchQueue.main) .sink { [weak cell] _ in guard let cell = cell else { return } cell.actionLabel.text = actionText - cell.timestampLabel.text = createAt.timeAgoSinceNow + cell.timestampLabel.text = createAt.localizedTimeAgoSinceNow } .store(in: &cell.disposeBag) diff --git a/Mastodon/Diffiable/Section/Status/StatusSection.swift b/Mastodon/Diffiable/Section/Status/StatusSection.swift index 92f39b215..6ec997845 100644 --- a/Mastodon/Diffiable/Section/Status/StatusSection.swift +++ b/Mastodon/Diffiable/Section/Status/StatusSection.swift @@ -953,11 +953,9 @@ extension StatusSection { cell.statusView.pollCountdownSubscription = nil cell.statusView.pollCountdownLabel.text = L10n.Common.Controls.Status.Poll.closed } else if let expiresAt = poll.expiresAt { - cell.statusView.pollCountdownLabel.text = L10n.Common.Controls.Status.Poll.timeLeft(expiresAt.shortTimeAgoSinceNow) + cell.statusView.pollCountdownLabel.text = expiresAt.localizedTimeLeft() cell.statusView.pollCountdownSubscription = AppContext.shared.timestampUpdatePublisher - .sink { _ in - cell.statusView.pollCountdownLabel.text = L10n.Common.Controls.Status.Poll.timeLeft(expiresAt.shortTimeAgoSinceNow) - } + .sink { _ in cell.statusView.pollCountdownLabel.text = expiresAt.localizedTimeLeft() } } else { cell.statusView.pollCountdownSubscription = nil cell.statusView.pollCountdownLabel.text = "-" @@ -1039,7 +1037,7 @@ extension StatusSection { }() cell.statusView.actionToolbarContainer.replyButton.setTitle(replyCountTitle, for: .normal) cell.statusView.actionToolbarContainer.replyButton.accessibilityValue = status.repliesCount.flatMap { - L10n.Common.Controls.Timeline.Accessibility.countReplies($0.intValue) + L10n.Plural.Count.reblog($0.intValue) } ?? nil // set reblog let isReblogged = status.rebloggedBy.flatMap { $0.contains(where: { $0.id == requestUserID }) } ?? false @@ -1052,7 +1050,7 @@ extension StatusSection { cell.statusView.actionToolbarContainer.reblogButton.accessibilityLabel = isReblogged ? L10n.Common.Controls.Status.Actions.unreblog : L10n.Common.Controls.Status.Actions.reblog cell.statusView.actionToolbarContainer.reblogButton.accessibilityValue = { guard status.reblogsCount.intValue > 0 else { return nil } - return L10n.Common.Controls.Timeline.Accessibility.countReblogs(status.reblogsCount.intValue) + return L10n.Plural.Count.reblog(status.reblogsCount.intValue) }() // disable reblog if needs (except self) @@ -1077,7 +1075,7 @@ extension StatusSection { cell.statusView.actionToolbarContainer.favoriteButton.accessibilityLabel = isLike ? L10n.Common.Controls.Status.Actions.unfavorite : L10n.Common.Controls.Status.Actions.favorite cell.statusView.actionToolbarContainer.favoriteButton.accessibilityValue = { guard status.favouritesCount.intValue > 0 else { return nil } - return L10n.Common.Controls.Timeline.Accessibility.countReblogs(status.favouritesCount.intValue) + return L10n.Plural.Count.favorite(status.favouritesCount.intValue) }() Publishers.CombineLatest( dependency.context.blockDomainService.blockedDomains.setFailureType(to: ManagedObjectObserver.Error.self), diff --git a/Mastodon/Extension/Date.swift b/Mastodon/Extension/Date.swift index 2d2ff6a99..86288c216 100644 --- a/Mastodon/Extension/Date.swift +++ b/Mastodon/Extension/Date.swift @@ -13,28 +13,56 @@ extension Date { static let relativeTimestampFormatter: RelativeDateTimeFormatter = { let formatter = RelativeDateTimeFormatter() formatter.dateTimeStyle = .numeric - formatter.unitsStyle = .abbreviated + formatter.unitsStyle = .full return formatter }() var localizedSlowedTimeAgoSinceNow: String { - return self.localizedSlowedTimeAgo(since: Date()) + return self.localizedTimeAgo(since: Date(), isSlowed: true) } - func localizedSlowedTimeAgo(since date: Date) -> String { + var localizedTimeAgoSinceNow: String { + return self.localizedTimeAgo(since: Date(), isSlowed: false) + } + + func localizedTimeAgo(since date: Date, isSlowed: Bool) -> String { let earlierDate = date < self ? date : self let latestDate = earlierDate == date ? self : date - if earlierDate.timeIntervalSince(latestDate) >= -60 { + if isSlowed, earlierDate.timeIntervalSince(latestDate) >= -60 { return L10n.Common.Controls.Timeline.Timestamp.now } else { return Date.relativeTimestampFormatter.localizedString(for: earlierDate, relativeTo: latestDate) } } - func timeLeft() -> String { - return "" +} + +extension Date { + + func localizedTimeLeft() -> String { + let date = Date() + let earlierDate = date < self ? date : self + let latestDate = earlierDate == date ? self : date + + let components = Calendar.current.dateComponents([.year, .month, .day, .minute, .second], from: earlierDate, to: latestDate) + + if components.year! > 0 { + return L10n.Date.Year.left(components.second!) + } else if components.month! > 0 { + return L10n.Date.Month.left(components.month!) + } else if components.day! > 0 { + return L10n.Date.Day.left(components.day!) + } else if components.hour! > 0 { + return L10n.Date.Hour.left(components.hour!) + } else if components.minute! > 0 { + return L10n.Date.Minute.left(components.minute!) + } else if components.second! > 0 { + return L10n.Date.Year.left(components.second!) + } else { + return "" + } } } diff --git a/Mastodon/Scene/Compose/ComposeViewController.swift b/Mastodon/Scene/Compose/ComposeViewController.swift index 156680496..275c8e456 100644 --- a/Mastodon/Scene/Compose/ComposeViewController.swift +++ b/Mastodon/Scene/Compose/ComposeViewController.swift @@ -397,11 +397,11 @@ extension ComposeViewController { case _ where count < 0: self.composeToolbarView.characterCountLabel.font = .monospacedDigitSystemFont(ofSize: 24, weight: .bold) self.composeToolbarView.characterCountLabel.textColor = Asset.Colors.danger.color - self.composeToolbarView.characterCountLabel.accessibilityLabel = L10n.Scene.Compose.Accessibility.inputLimitExceedsCount(abs(count)) + self.composeToolbarView.characterCountLabel.accessibilityLabel = L10n.A11y.Plural.Count.inputLimitExceeds(abs(count)) default: self.composeToolbarView.characterCountLabel.font = .monospacedDigitSystemFont(ofSize: 15, weight: .regular) self.composeToolbarView.characterCountLabel.textColor = Asset.Colors.Label.secondary.color - self.composeToolbarView.characterCountLabel.accessibilityLabel = L10n.Scene.Compose.Accessibility.inputLimitRemainsCount(count) + self.composeToolbarView.characterCountLabel.accessibilityLabel = L10n.A11y.Plural.Count.inputLimitRemains(count) } } .store(in: &disposeBag) diff --git a/Mastodon/Scene/Compose/View/ComposeToolbarView.swift b/Mastodon/Scene/Compose/View/ComposeToolbarView.swift index c1cda22a6..99fe88ce7 100644 --- a/Mastodon/Scene/Compose/View/ComposeToolbarView.swift +++ b/Mastodon/Scene/Compose/View/ComposeToolbarView.swift @@ -75,7 +75,7 @@ final class ComposeToolbarView: UIView { label.font = .systemFont(ofSize: 15, weight: .regular) label.text = "500" label.textColor = Asset.Colors.Label.secondary.color - label.accessibilityLabel = L10n.Scene.Compose.Accessibility.inputLimitRemainsCount(500) + label.accessibilityLabel = L10n.A11y.Plural.Count.inputLimitRemains(500) return label }() diff --git a/Mastodon/Scene/HashtagTimeline/HashtagTimelineViewController.swift b/Mastodon/Scene/HashtagTimeline/HashtagTimelineViewController.swift index 8d4a8b37f..9801d701a 100644 --- a/Mastodon/Scene/HashtagTimeline/HashtagTimelineViewController.swift +++ b/Mastodon/Scene/HashtagTimeline/HashtagTimelineViewController.swift @@ -166,7 +166,7 @@ extension HashtagTimelineViewController { .prefix(2) .compactMap({ Int($0.accounts) }) .reduce(0, +) - subtitle = L10n.Scene.Hashtag.prompt("\(peopleTalkingNumber)") + subtitle = L10n.Plural.peopleTalking(peopleTalkingNumber) } } diff --git a/Mastodon/Scene/Profile/ProfileViewController.swift b/Mastodon/Scene/Profile/ProfileViewController.swift index fa54abf7b..f78079d2e 100644 --- a/Mastodon/Scene/Profile/ProfileViewController.swift +++ b/Mastodon/Scene/Profile/ProfileViewController.swift @@ -522,7 +522,7 @@ extension ProfileViewController { let text = count.flatMap { MastodonMetricFormatter().string(from: $0) } ?? "-" self.profileHeaderViewController.profileHeaderView.statusDashboardView.postDashboardMeterView.numberLabel.text = text self.profileHeaderViewController.profileHeaderView.statusDashboardView.postDashboardMeterView.isAccessibilityElement = true - self.profileHeaderViewController.profileHeaderView.statusDashboardView.postDashboardMeterView.accessibilityLabel = L10n.Scene.Profile.Dashboard.Accessibility.countPosts(count ?? 0) + self.profileHeaderViewController.profileHeaderView.statusDashboardView.postDashboardMeterView.accessibilityLabel = L10n.Plural.Count.post(count ?? 0) } .store(in: &disposeBag) viewModel.followingCount @@ -531,7 +531,7 @@ extension ProfileViewController { let text = count.flatMap { MastodonMetricFormatter().string(from: $0) } ?? "-" self.profileHeaderViewController.profileHeaderView.statusDashboardView.followingDashboardMeterView.numberLabel.text = text self.profileHeaderViewController.profileHeaderView.statusDashboardView.followingDashboardMeterView.isAccessibilityElement = true - self.profileHeaderViewController.profileHeaderView.statusDashboardView.followingDashboardMeterView.accessibilityLabel = L10n.Scene.Profile.Dashboard.Accessibility.countFollowing(count ?? 0) + self.profileHeaderViewController.profileHeaderView.statusDashboardView.followingDashboardMeterView.accessibilityLabel = L10n.Plural.Count.following(count ?? 0) } .store(in: &disposeBag) viewModel.followersCount @@ -540,7 +540,7 @@ extension ProfileViewController { let text = count.flatMap { MastodonMetricFormatter().string(from: $0) } ?? "-" self.profileHeaderViewController.profileHeaderView.statusDashboardView.followersDashboardMeterView.numberLabel.text = text self.profileHeaderViewController.profileHeaderView.statusDashboardView.followersDashboardMeterView.isAccessibilityElement = true - self.profileHeaderViewController.profileHeaderView.statusDashboardView.followersDashboardMeterView.accessibilityLabel = L10n.Scene.Profile.Dashboard.Accessibility.countFollowers(count ?? 0) + self.profileHeaderViewController.profileHeaderView.statusDashboardView.followersDashboardMeterView.accessibilityLabel = L10n.Plural.Count.follower(count ?? 0) } .store(in: &disposeBag) viewModel.needsPagingEnabled diff --git a/Mastodon/Scene/Search/Search/SearchViewModel.swift b/Mastodon/Scene/Search/Search/SearchViewModel.swift index 1c2456091..feae75190 100644 --- a/Mastodon/Scene/Search/Search/SearchViewModel.swift +++ b/Mastodon/Scene/Search/Search/SearchViewModel.swift @@ -63,7 +63,7 @@ final class SearchViewModel: NSObject { snapshot.appendSections([.main]) snapshot.appendItems(response.value, toSection: .main) dataSource.apply(snapshot, animatingDifferences: false, completion: nil) - case .failure(let error): + case .failure: break } } @@ -99,7 +99,7 @@ final class SearchViewModel: NSObject { switch result { case .success(let userIDs): self.receiveAccounts(ids: userIDs) - case .failure(let error): + case .failure: break } } diff --git a/Mastodon/Scene/Share/View/Content/StatusView.swift b/Mastodon/Scene/Share/View/Content/StatusView.swift index 49452e1b4..664939fc4 100644 --- a/Mastodon/Scene/Share/View/Content/StatusView.swift +++ b/Mastodon/Scene/Share/View/Content/StatusView.swift @@ -168,7 +168,7 @@ final class StatusView: UIView { let label = UILabel() label.font = UIFontMetrics(forTextStyle: .body).scaledFont(for: .systemFont(ofSize: 12, weight: .regular)) label.textColor = Asset.Colors.Label.secondary.color - label.text = L10n.Common.Controls.Status.Poll.timeLeft("6 hours") + label.text = "1 day left" return label }() let pollVoteButton: UIButton = { diff --git a/Mastodon/Scene/Thread/ThreadViewController.swift b/Mastodon/Scene/Thread/ThreadViewController.swift index c1d580a71..a0de13477 100644 --- a/Mastodon/Scene/Thread/ThreadViewController.swift +++ b/Mastodon/Scene/Thread/ThreadViewController.swift @@ -97,7 +97,7 @@ extension ThreadViewController { self.titleView.update(title: "", subtitle: nil) return } - let mastodonContent = MastodonContent(content: title, emojis: emojiMeta ?? [:]) + let mastodonContent = MastodonContent(content: title, emojis: emojiMeta) do { let metaContent = try MastodonMetaContent.convert(document: mastodonContent) self.titleView.update(titleMetaContent: metaContent, subtitle: nil) diff --git a/Mastodon/Scene/Thread/ThreadViewModel.swift b/Mastodon/Scene/Thread/ThreadViewModel.swift index 1c4a7071e..7c2f07c31 100644 --- a/Mastodon/Scene/Thread/ThreadViewModel.swift +++ b/Mastodon/Scene/Thread/ThreadViewModel.swift @@ -88,7 +88,7 @@ class ThreadViewModel { } self.rootNode.value = RootNode(domain: status.domain, statusID: status.id, replyToID: status.inReplyToID) self.navigationBarTitle.value = L10n.Scene.Thread.title(status.author.displayNameWithFallback) - self.navigationBarTitleEmojiMeta.value = status.author.emojiMeta ?? [:] + self.navigationBarTitleEmojiMeta.value = status.author.emojiMeta } } .store(in: &disposeBag) diff --git a/Mastodon/Service/APIService/APIService+APIError.swift b/Mastodon/Service/APIService/APIService+APIError.swift index 352be4ff4..181495cf4 100644 --- a/Mastodon/Service/APIService/APIService+APIError.swift +++ b/Mastodon/Service/APIService/APIService+APIError.swift @@ -65,7 +65,7 @@ extension APIService.APIError: LocalizedError { case .badRequest: return "Request invalid." case .badResponse: return "Response invalid." case .requestThrottle: return "Request too frequency." - case .voteExpiredPoll: return L10n.Common.Alerts.VoteFailure.pollExpired + case .voteExpiredPoll: return L10n.Common.Alerts.VoteFailure.pollEnded case .mastodonAPIError(let error): guard let responseError = error.mastodonError else { return nil diff --git a/Mastodon/Service/PlaybackState.swift b/Mastodon/Service/PlaybackState.swift index 8e62fa145..3dfaa4d0d 100644 --- a/Mastodon/Service/PlaybackState.swift +++ b/Mastodon/Service/PlaybackState.swift @@ -35,9 +35,6 @@ extension PlaybackState: CustomStringConvertible { case .paused: return "paused" case .stopped: return "stopped" case .failed: return "failed" - default: - assertionFailure() - return "" } } } diff --git a/ShareActionExtension/Scene/ShareViewController.swift b/ShareActionExtension/Scene/ShareViewController.swift index e72c46196..765c42d1e 100644 --- a/ShareActionExtension/Scene/ShareViewController.swift +++ b/ShareActionExtension/Scene/ShareViewController.swift @@ -169,11 +169,11 @@ extension ShareViewController { case _ where count < 0: self.composeToolbarView.characterCountLabel.font = .monospacedDigitSystemFont(ofSize: 24, weight: .bold) self.composeToolbarView.characterCountLabel.textColor = Asset.Colors.danger.color - self.composeToolbarView.characterCountLabel.accessibilityLabel = L10n.Scene.Compose.Accessibility.inputLimitExceedsCount(abs(count)) + self.composeToolbarView.characterCountLabel.accessibilityLabel = L10n.A11y.Plural.Count.inputLimitExceeds(abs(count)) default: self.composeToolbarView.characterCountLabel.font = .monospacedDigitSystemFont(ofSize: 15, weight: .regular) self.composeToolbarView.characterCountLabel.textColor = Asset.Colors.Label.secondary.color - self.composeToolbarView.characterCountLabel.accessibilityLabel = L10n.Scene.Compose.Accessibility.inputLimitRemainsCount(count) + self.composeToolbarView.characterCountLabel.accessibilityLabel = L10n.A11y.Plural.Count.inputLimitRemains(count) } } .store(in: &disposeBag) diff --git a/ShareActionExtension/Scene/View/ComposeToolbarView.swift b/ShareActionExtension/Scene/View/ComposeToolbarView.swift index d161e96fe..e6842c744 100644 --- a/ShareActionExtension/Scene/View/ComposeToolbarView.swift +++ b/ShareActionExtension/Scene/View/ComposeToolbarView.swift @@ -46,7 +46,7 @@ final class ComposeToolbarView: UIView { label.font = .systemFont(ofSize: 15, weight: .regular) label.text = "500" label.textColor = Asset.Colors.Label.secondary.color - label.accessibilityLabel = L10n.Scene.Compose.Accessibility.inputLimitRemainsCount(500) + label.accessibilityLabel = L10n.A11y.Plural.Count.inputLimitRemains(500) return label }() From 1017dd34e19e3cd1cd7a9ac873fce8f65138b9af Mon Sep 17 00:00:00 2001 From: CMK Date: Mon, 9 Aug 2021 19:51:11 +0800 Subject: [PATCH 112/115] chore: update timestamp style --- Mastodon/Extension/Date.swift | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/Mastodon/Extension/Date.swift b/Mastodon/Extension/Date.swift index 86288c216..183c3f5d9 100644 --- a/Mastodon/Extension/Date.swift +++ b/Mastodon/Extension/Date.swift @@ -18,22 +18,25 @@ extension Date { }() var localizedSlowedTimeAgoSinceNow: String { - return self.localizedTimeAgo(since: Date(), isSlowed: true) - + return self.localizedTimeAgo(since: Date(), isSlowed: true, isAbbreviated: true) } var localizedTimeAgoSinceNow: String { - return self.localizedTimeAgo(since: Date(), isSlowed: false) + return self.localizedTimeAgo(since: Date(), isSlowed: false, isAbbreviated: false) } - func localizedTimeAgo(since date: Date, isSlowed: Bool) -> String { + func localizedTimeAgo(since date: Date, isSlowed: Bool, isAbbreviated: Bool) -> String { let earlierDate = date < self ? date : self let latestDate = earlierDate == date ? self : date if isSlowed, earlierDate.timeIntervalSince(latestDate) >= -60 { return L10n.Common.Controls.Timeline.Timestamp.now } else { - return Date.relativeTimestampFormatter.localizedString(for: earlierDate, relativeTo: latestDate) + if isAbbreviated { + return latestDate.shortTimeAgo(since: earlierDate) + } else { + return Date.relativeTimestampFormatter.localizedString(for: earlierDate, relativeTo: latestDate) + } } } From 4c9ccaec52514d2c690ef7ce988ba894722049b8 Mon Sep 17 00:00:00 2001 From: CMK Date: Mon, 9 Aug 2021 19:54:54 +0800 Subject: [PATCH 113/115] chore: update version to 1.0.5 (55) --- Mastodon.xcodeproj/project.pbxproj | 64 +++++++++++++++--------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/Mastodon.xcodeproj/project.pbxproj b/Mastodon.xcodeproj/project.pbxproj index 140157a01..f8e15b5e5 100644 --- a/Mastodon.xcodeproj/project.pbxproj +++ b/Mastodon.xcodeproj/project.pbxproj @@ -4540,7 +4540,7 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Mastodon/Mastodon.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 54; + CURRENT_PROJECT_VERSION = 55; DEVELOPMENT_ASSET_PATHS = "Mastodon/Resources/Preview\\ Assets.xcassets"; DEVELOPMENT_TEAM = 5Z4GVSS33P; INFOPLIST_FILE = Mastodon/Info.plist; @@ -4548,7 +4548,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.4; + MARKETING_VERSION = 1.0.5; PRODUCT_BUNDLE_IDENTIFIER = org.joinmastodon.app; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -4567,7 +4567,7 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Mastodon/Mastodon.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 54; + CURRENT_PROJECT_VERSION = 55; DEVELOPMENT_ASSET_PATHS = "Mastodon/Resources/Preview\\ Assets.xcassets"; DEVELOPMENT_TEAM = 5Z4GVSS33P; INFOPLIST_FILE = Mastodon/Info.plist; @@ -4575,7 +4575,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.4; + MARKETING_VERSION = 1.0.5; PRODUCT_BUNDLE_IDENTIFIER = org.joinmastodon.app; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -4830,7 +4830,7 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = MastodonIntent/MastodonIntent.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 54; + CURRENT_PROJECT_VERSION = 55; DEVELOPMENT_TEAM = 5Z4GVSS33P; INFOPLIST_FILE = MastodonIntent/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -4838,7 +4838,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.0.4; + MARKETING_VERSION = 1.0.5; PRODUCT_BUNDLE_IDENTIFIER = org.joinmastodon.app.MastodonIntent; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -4854,7 +4854,7 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = MastodonIntent/MastodonIntent.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 54; + CURRENT_PROJECT_VERSION = 55; DEVELOPMENT_TEAM = 5Z4GVSS33P; INFOPLIST_FILE = MastodonIntent/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -4862,7 +4862,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.0.4; + MARKETING_VERSION = 1.0.5; PRODUCT_BUNDLE_IDENTIFIER = org.joinmastodon.app.MastodonIntent; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -4878,7 +4878,7 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = MastodonIntent/MastodonIntent.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 54; + CURRENT_PROJECT_VERSION = 55; DEVELOPMENT_TEAM = 5Z4GVSS33P; INFOPLIST_FILE = MastodonIntent/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -4886,7 +4886,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.0.4; + MARKETING_VERSION = 1.0.5; PRODUCT_BUNDLE_IDENTIFIER = org.joinmastodon.app.MastodonIntent; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -4902,7 +4902,7 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = MastodonIntent/MastodonIntent.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 54; + CURRENT_PROJECT_VERSION = 55; DEVELOPMENT_TEAM = 5Z4GVSS33P; INFOPLIST_FILE = MastodonIntent/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -4910,7 +4910,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.0.4; + MARKETING_VERSION = 1.0.5; PRODUCT_BUNDLE_IDENTIFIER = org.joinmastodon.app.MastodonIntent; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -4926,7 +4926,7 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = ShareActionExtension/ShareActionExtension.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 54; + CURRENT_PROJECT_VERSION = 55; DEVELOPMENT_TEAM = 5Z4GVSS33P; INFOPLIST_FILE = ShareActionExtension/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -4934,7 +4934,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.0.4; + MARKETING_VERSION = 1.0.5; PRODUCT_BUNDLE_IDENTIFIER = org.joinmastodon.app.ShareActionExtension; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -4950,7 +4950,7 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = ShareActionExtension/ShareActionExtension.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 54; + CURRENT_PROJECT_VERSION = 55; DEVELOPMENT_TEAM = 5Z4GVSS33P; INFOPLIST_FILE = ShareActionExtension/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -4958,7 +4958,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.0.4; + MARKETING_VERSION = 1.0.5; PRODUCT_BUNDLE_IDENTIFIER = org.joinmastodon.app.ShareActionExtension; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -4974,7 +4974,7 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = ShareActionExtension/ShareActionExtension.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 54; + CURRENT_PROJECT_VERSION = 55; DEVELOPMENT_TEAM = 5Z4GVSS33P; INFOPLIST_FILE = ShareActionExtension/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -4982,7 +4982,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.0.4; + MARKETING_VERSION = 1.0.5; PRODUCT_BUNDLE_IDENTIFIER = org.joinmastodon.app.ShareActionExtension; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -4998,7 +4998,7 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = ShareActionExtension/ShareActionExtension.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 54; + CURRENT_PROJECT_VERSION = 55; DEVELOPMENT_TEAM = 5Z4GVSS33P; INFOPLIST_FILE = ShareActionExtension/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -5006,7 +5006,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.0.4; + MARKETING_VERSION = 1.0.5; PRODUCT_BUNDLE_IDENTIFIER = org.joinmastodon.app.ShareActionExtension; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -5088,7 +5088,7 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Mastodon/Mastodon.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 54; + CURRENT_PROJECT_VERSION = 55; DEVELOPMENT_ASSET_PATHS = "Mastodon/Resources/Preview\\ Assets.xcassets"; DEVELOPMENT_TEAM = 5Z4GVSS33P; INFOPLIST_FILE = Mastodon/Info.plist; @@ -5096,7 +5096,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.4; + MARKETING_VERSION = 1.0.5; PRODUCT_BUNDLE_IDENTIFIER = org.joinmastodon.app; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -5202,7 +5202,7 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = NotificationService/NotificationService.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 54; + CURRENT_PROJECT_VERSION = 55; DEVELOPMENT_TEAM = 5Z4GVSS33P; INFOPLIST_FILE = NotificationService/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -5210,7 +5210,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.0.4; + MARKETING_VERSION = 1.0.5; PRODUCT_BUNDLE_IDENTIFIER = org.joinmastodon.app.NotificationService; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -5322,7 +5322,7 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Mastodon/Mastodon.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 54; + CURRENT_PROJECT_VERSION = 55; DEVELOPMENT_ASSET_PATHS = "Mastodon/Resources/Preview\\ Assets.xcassets"; DEVELOPMENT_TEAM = 5Z4GVSS33P; INFOPLIST_FILE = Mastodon/Info.plist; @@ -5330,7 +5330,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.4; + MARKETING_VERSION = 1.0.5; PRODUCT_BUNDLE_IDENTIFIER = org.joinmastodon.app; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -5436,7 +5436,7 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = NotificationService/NotificationService.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 54; + CURRENT_PROJECT_VERSION = 55; DEVELOPMENT_TEAM = 5Z4GVSS33P; INFOPLIST_FILE = NotificationService/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -5444,7 +5444,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.0.4; + MARKETING_VERSION = 1.0.5; PRODUCT_BUNDLE_IDENTIFIER = org.joinmastodon.app.NotificationService; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -5490,7 +5490,7 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = NotificationService/NotificationService.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 54; + CURRENT_PROJECT_VERSION = 55; DEVELOPMENT_TEAM = 5Z4GVSS33P; INFOPLIST_FILE = NotificationService/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -5498,7 +5498,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.0.4; + MARKETING_VERSION = 1.0.5; PRODUCT_BUNDLE_IDENTIFIER = org.joinmastodon.app.NotificationService; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -5513,7 +5513,7 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = NotificationService/NotificationService.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 54; + CURRENT_PROJECT_VERSION = 55; DEVELOPMENT_TEAM = 5Z4GVSS33P; INFOPLIST_FILE = NotificationService/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -5521,7 +5521,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.0.4; + MARKETING_VERSION = 1.0.5; PRODUCT_BUNDLE_IDENTIFIER = org.joinmastodon.app.NotificationService; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; From 79ac5c332098671fe24aa058bbec3b492e9932d1 Mon Sep 17 00:00:00 2001 From: CMK Date: Mon, 9 Aug 2021 20:16:54 +0800 Subject: [PATCH 114/115] feat: add i18n supports for German and Dutch --- .../Sources/StringsConvertor/main.swift | 1 + Mastodon.xcodeproj/project.pbxproj | 18 + Mastodon/Resources/nl.lproj/InfoPlist.strings | 4 + .../Resources/nl.lproj/Localizable.strings | 332 ++++++++++++++++++ .../nl.lproj/Localizable.stringsdict | 278 +++++++++++++++ MastodonIntent/nl.lproj/Intents.strings | 51 +++ 6 files changed, 684 insertions(+) create mode 100644 Mastodon/Resources/nl.lproj/InfoPlist.strings create mode 100644 Mastodon/Resources/nl.lproj/Localizable.strings create mode 100644 Mastodon/Resources/nl.lproj/Localizable.stringsdict create mode 100644 MastodonIntent/nl.lproj/Intents.strings diff --git a/Localization/StringsConvertor/Sources/StringsConvertor/main.swift b/Localization/StringsConvertor/Sources/StringsConvertor/main.swift index 79459e120..63ffa1433 100644 --- a/Localization/StringsConvertor/Sources/StringsConvertor/main.swift +++ b/Localization/StringsConvertor/Sources/StringsConvertor/main.swift @@ -46,6 +46,7 @@ private func map(language: String) -> String? { case "ar_SA": return "ar" // Arabic (Saudi Arabia) case "ca_ES": return "ca" // Catalan case "zh_CN": return "zh-Hans" // Chinese Simplified + case "nl_NL": return "nl" // Dutch case "en_US": return "en" case "fr_FR": return "fr" // French case "de_DE": return "de" // German diff --git a/Mastodon.xcodeproj/project.pbxproj b/Mastodon.xcodeproj/project.pbxproj index f8e15b5e5..865901898 100644 --- a/Mastodon.xcodeproj/project.pbxproj +++ b/Mastodon.xcodeproj/project.pbxproj @@ -1184,6 +1184,14 @@ DBA4B0E426BD11D10077136E /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "es-419"; path = "es-419.lproj/Localizable.stringsdict"; sourceTree = ""; }; DBA4B0E526BD11D10077136E /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/Localizable.strings"; sourceTree = ""; }; DBA4B0E626BD11D10077136E /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/InfoPlist.strings"; sourceTree = ""; }; + DBA4B0E826C153820077136E /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Intents.strings; sourceTree = ""; }; + DBA4B0E926C153820077136E /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = de; path = de.lproj/Localizable.stringsdict; sourceTree = ""; }; + DBA4B0EA26C153820077136E /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; + DBA4B0EB26C153820077136E /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = ""; }; + DBA4B0EC26C153B10077136E /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Intents.strings; sourceTree = ""; }; + DBA4B0ED26C153B10077136E /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = nl; path = nl.lproj/Localizable.stringsdict; sourceTree = ""; }; + DBA4B0EE26C153B20077136E /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; + DBA4B0EF26C153B20077136E /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = ""; }; DBA5E7A2263AD0A3004598BB /* PhotoLibraryService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhotoLibraryService.swift; sourceTree = ""; }; DBA5E7A4263BD28C004598BB /* ContextMenuImagePreviewViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContextMenuImagePreviewViewModel.swift; sourceTree = ""; }; DBA5E7A8263BD3A4004598BB /* ContextMenuImagePreviewViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContextMenuImagePreviewViewController.swift; sourceTree = ""; }; @@ -3344,6 +3352,8 @@ fr, es, "es-419", + de, + nl, ); mainGroup = DB427DC925BAA00100D1B89D; packageReferences = ( @@ -4335,6 +4345,8 @@ DBA4B0DB26BD11130077136E /* fr */, DBA4B0DF26BD11C70077136E /* es */, DBA4B0E326BD11D10077136E /* es-419 */, + DBA4B0E826C153820077136E /* de */, + DBA4B0EC26C153B10077136E /* nl */, ); name = Intents.intentdefinition; sourceTree = ""; @@ -4350,6 +4362,8 @@ DBA4B0DE26BD11130077136E /* fr */, DBA4B0E226BD11C80077136E /* es */, DBA4B0E626BD11D10077136E /* es-419 */, + DBA4B0EB26C153820077136E /* de */, + DBA4B0EF26C153B20077136E /* nl */, ); name = InfoPlist.strings; sourceTree = ""; @@ -4365,6 +4379,8 @@ DBA4B0DD26BD11130077136E /* fr */, DBA4B0E126BD11C80077136E /* es */, DBA4B0E526BD11D10077136E /* es-419 */, + DBA4B0EA26C153820077136E /* de */, + DBA4B0EE26C153B20077136E /* nl */, ); name = Localizable.strings; sourceTree = ""; @@ -4396,6 +4412,8 @@ DBA4B0DC26BD11130077136E /* fr */, DBA4B0E026BD11C70077136E /* es */, DBA4B0E426BD11D10077136E /* es-419 */, + DBA4B0E926C153820077136E /* de */, + DBA4B0ED26C153B10077136E /* nl */, ); name = Localizable.stringsdict; sourceTree = ""; diff --git a/Mastodon/Resources/nl.lproj/InfoPlist.strings b/Mastodon/Resources/nl.lproj/InfoPlist.strings new file mode 100644 index 000000000..a45991068 --- /dev/null +++ b/Mastodon/Resources/nl.lproj/InfoPlist.strings @@ -0,0 +1,4 @@ +"NSCameraUsageDescription" = "Gebruikt om foto's te nemen voor je berichten"; +"NSPhotoLibraryAddUsageDescription" = "Gebruikt om foto's op te slaan in de fotobibliotheek"; +"NewPostShortcutItemTitle" = "Nieuw Bericht"; +"SearchShortcutItemTitle" = "Zoeken"; \ No newline at end of file diff --git a/Mastodon/Resources/nl.lproj/Localizable.strings b/Mastodon/Resources/nl.lproj/Localizable.strings new file mode 100644 index 000000000..0ff60b4c0 --- /dev/null +++ b/Mastodon/Resources/nl.lproj/Localizable.strings @@ -0,0 +1,332 @@ +"Common.Alerts.BlockDomain.BlockEntireDomain" = "Domein blokkeren"; +"Common.Alerts.BlockDomain.Title" = "Weet u zeker dat u alles van %@ wilt blokkeren? In de meeste gevallen is het blokkeren of negeren van een paar specifieke personen voldoende en wenselijker. U zult geen berichten meer zien van dit domein en volgers van dit domein worden verwijderd."; +"Common.Alerts.CleanCache.Message" = "Cache-geheugen (%@) succesvol gewist."; +"Common.Alerts.CleanCache.Title" = "Cache-geheugen Wissen"; +"Common.Alerts.Common.PleaseTryAgain" = "Probeer het opnieuw."; +"Common.Alerts.Common.PleaseTryAgainLater" = "Probeer het later nog eens."; +"Common.Alerts.DeletePost.Delete" = "Verwijderen"; +"Common.Alerts.DeletePost.Title" = "Weet u zeker dat u dit bericht wilt verwijderen?"; +"Common.Alerts.DiscardPostContent.Message" = "Bevestig het verwijderen van het concept bericht."; +"Common.Alerts.DiscardPostContent.Title" = "Concept Verwijderen"; +"Common.Alerts.EditProfileFailure.Message" = "Het profiel kan niet bewerkt worden. Probeer het opnieuw."; +"Common.Alerts.EditProfileFailure.Title" = "Profiel bewerken mislukt"; +"Common.Alerts.PublishPostFailure.AttachmentsMessage.MoreThanOneVideo" = "Slechts één video kan aan een bericht worden gekoppeld."; +"Common.Alerts.PublishPostFailure.AttachmentsMessage.VideoAttachWithPhoto" = "Een video kan niet aan een bericht met afbeeldingen worden gekoppeld."; +"Common.Alerts.PublishPostFailure.Message" = "Het publiceren van het bericht is mislukt. Controleer alstublieft uw internetverbinding."; +"Common.Alerts.PublishPostFailure.Title" = "Publicatiefout"; +"Common.Alerts.SavePhotoFailure.Message" = "Geef toestemming om de foto op te slaan."; +"Common.Alerts.SavePhotoFailure.Title" = "Foto Opslaan Mislukt"; +"Common.Alerts.ServerError.Title" = "Serverfout"; +"Common.Alerts.SignOut.Confirm" = "Afmelden"; +"Common.Alerts.SignOut.Message" = "Weet u zeker dat u zich wilt afmelden?"; +"Common.Alerts.SignOut.Title" = "Afmelden"; +"Common.Alerts.SignUpFailure.Title" = "Registratiefout"; +"Common.Alerts.VoteFailure.PollEnded" = "De peiling is beëindigd"; +"Common.Alerts.VoteFailure.Title" = "Stemmen Mislukt"; +"Common.Controls.Actions.Add" = "Toevoegen"; +"Common.Controls.Actions.Back" = "Terug"; +"Common.Controls.Actions.BlockDomain" = "Blokkeer %@"; +"Common.Controls.Actions.Cancel" = "Annuleren"; +"Common.Controls.Actions.Confirm" = "Bevestigen"; +"Common.Controls.Actions.Continue" = "Doorgaan"; +"Common.Controls.Actions.CopyPhoto" = "Foto kopiëren"; +"Common.Controls.Actions.Delete" = "Verwijderen"; +"Common.Controls.Actions.Discard" = "Weggooien"; +"Common.Controls.Actions.Done" = "Klaar"; +"Common.Controls.Actions.Edit" = "Bewerken"; +"Common.Controls.Actions.FindPeople" = "Zoek mensen om te volgen"; +"Common.Controls.Actions.ManuallySearch" = "Handmatig zoeken"; +"Common.Controls.Actions.Next" = "Volgende"; +"Common.Controls.Actions.Ok" = "Oké"; +"Common.Controls.Actions.Open" = "Open"; +"Common.Controls.Actions.OpenInSafari" = "Open in Safari"; +"Common.Controls.Actions.Preview" = "Voorvertoning"; +"Common.Controls.Actions.Previous" = "Vorige"; +"Common.Controls.Actions.Remove" = "Verwijderen"; +"Common.Controls.Actions.Reply" = "Reageren"; +"Common.Controls.Actions.ReportUser" = "Rapporteer %@"; +"Common.Controls.Actions.Save" = "Opslaan"; +"Common.Controls.Actions.SavePhoto" = "Foto Opslaan"; +"Common.Controls.Actions.SeeMore" = "Meer"; +"Common.Controls.Actions.Settings" = "Instellingen"; +"Common.Controls.Actions.Share" = "Delen"; +"Common.Controls.Actions.SharePost" = "Bericht Delen"; +"Common.Controls.Actions.ShareUser" = "Delen %@"; +"Common.Controls.Actions.SignIn" = "Aanmelden"; +"Common.Controls.Actions.SignUp" = "Registreren"; +"Common.Controls.Actions.Skip" = "Overslaan"; +"Common.Controls.Actions.TakePhoto" = "Foto Maken"; +"Common.Controls.Actions.TryAgain" = "Probeer Opnieuw"; +"Common.Controls.Actions.UnblockDomain" = "Deblokkeer %@"; +"Common.Controls.Friendship.Block" = "Blokkeren"; +"Common.Controls.Friendship.BlockDomain" = "Blokkeer %@"; +"Common.Controls.Friendship.BlockUser" = "Blokkeer %@"; +"Common.Controls.Friendship.Blocked" = "Geblokkeerd"; +"Common.Controls.Friendship.EditInfo" = "Bewerken"; +"Common.Controls.Friendship.Follow" = "Volgen"; +"Common.Controls.Friendship.Following" = "Gevolgd"; +"Common.Controls.Friendship.Mute" = "Negeren"; +"Common.Controls.Friendship.MuteUser" = "Negeer %@"; +"Common.Controls.Friendship.Muted" = "Genegeerd"; +"Common.Controls.Friendship.Pending" = "In afwachting"; +"Common.Controls.Friendship.Request" = "Verzoeken"; +"Common.Controls.Friendship.Unblock" = "Deblokkeer"; +"Common.Controls.Friendship.UnblockUser" = "Deblokkeer %@"; +"Common.Controls.Friendship.Unmute" = "Niet langer negeren"; +"Common.Controls.Friendship.UnmuteUser" = "%@ niet langer negeren"; +"Common.Controls.Keyboard.Common.ComposeNewPost" = "Nieuw Bericht Opstellen"; +"Common.Controls.Keyboard.Common.OpenSettings" = "Open Instellingen"; +"Common.Controls.Keyboard.Common.ShowFavorites" = "Favorieten Weergeven"; +"Common.Controls.Keyboard.Common.SwitchToTab" = "Wisselen naar %@"; +"Common.Controls.Keyboard.SegmentedControl.NextSection" = "Volgende Sectie"; +"Common.Controls.Keyboard.SegmentedControl.PreviousSection" = "Vorige Sectie"; +"Common.Controls.Keyboard.Timeline.NextStatus" = "Volgend Bericht"; +"Common.Controls.Keyboard.Timeline.OpenAuthorProfile" = "Open Auteursprofiel"; +"Common.Controls.Keyboard.Timeline.OpenRebloggerProfile" = "Open Delersprofiel"; +"Common.Controls.Keyboard.Timeline.OpenStatus" = "Open Bericht"; +"Common.Controls.Keyboard.Timeline.PreviewImage" = "Voorvertoning Afbeelding"; +"Common.Controls.Keyboard.Timeline.PreviousStatus" = "Vorig Bericht"; +"Common.Controls.Keyboard.Timeline.ReplyStatus" = "Reageren"; +"Common.Controls.Keyboard.Timeline.ToggleContentWarning" = "Inhoudswaarschuwing Omschakelen"; +"Common.Controls.Keyboard.Timeline.ToggleFavorite" = "Favoriet Omschakelen bij Bericht"; +"Common.Controls.Keyboard.Timeline.ToggleReblog" = "Delen bij berichten omschakelen"; +"Common.Controls.Status.Actions.Favorite" = "Toevoegen aan Favorieten"; +"Common.Controls.Status.Actions.Menu" = "Menu"; +"Common.Controls.Status.Actions.Reblog" = "Delen"; +"Common.Controls.Status.Actions.Reply" = "Reageren"; +"Common.Controls.Status.Actions.Unfavorite" = "Verwijderen uit Favorieten"; +"Common.Controls.Status.Actions.Unreblog" = "Delen ongedaan maken"; +"Common.Controls.Status.ContentWarning" = "Inhoudswaarschuwing"; +"Common.Controls.Status.MediaContentWarning" = "Tap hier om te tonen"; +"Common.Controls.Status.Poll.Closed" = "Gesloten"; +"Common.Controls.Status.Poll.Vote" = "Stemmen"; +"Common.Controls.Status.ShowPost" = "Toon Bericht"; +"Common.Controls.Status.ShowUserProfile" = "Toon Gebruikersprofiel"; +"Common.Controls.Status.Tag.Email" = "Email"; +"Common.Controls.Status.Tag.Emoji" = "Emoji"; +"Common.Controls.Status.Tag.Hashtag" = "Hashtag"; +"Common.Controls.Status.Tag.Link" = "Link"; +"Common.Controls.Status.Tag.Mention" = "Vermelden"; +"Common.Controls.Status.Tag.Url" = "URL"; +"Common.Controls.Status.UserReblogged" = "%@ gedeeld"; +"Common.Controls.Status.UserRepliedTo" = "Reactie op %@"; +"Common.Controls.Tabs.Home" = "Start"; +"Common.Controls.Tabs.Notification" = "Melding"; +"Common.Controls.Tabs.Profile" = "Profiel"; +"Common.Controls.Tabs.Search" = "Zoeken"; +"Common.Controls.Timeline.Filtered" = "Gefilterd"; +"Common.Controls.Timeline.Header.BlockedWarning" = "U kunt het profiel van deze gebruiker niet bekijken zolang u geblokkeerd bent."; +"Common.Controls.Timeline.Header.BlockingWarning" = "U kunt het profiel van deze geblokkeerde gebruiker niet bekijken. +Uw profiel ziet er zo uit voor hen."; +"Common.Controls.Timeline.Header.NoStatusFound" = "Geen Berichten Gevonden"; +"Common.Controls.Timeline.Header.SuspendedWarning" = "Deze gebruiker is geschorst."; +"Common.Controls.Timeline.Header.UserBlockedWarning" = "U kunt het profiel van %@ niet bekijken zolang u geblokkeerd bent."; +"Common.Controls.Timeline.Header.UserBlockingWarning" = "U kunt het profiel van %@ niet bekijken zolang deze gebruiker geblokkeerd is. +Uw profiel ziet er zo uit voor hen."; +"Common.Controls.Timeline.Header.UserSuspendedWarning" = "%@'s account is geschorst."; +"Common.Controls.Timeline.Loader.LoadMissingPosts" = "Resterende berichten laden"; +"Common.Controls.Timeline.Loader.LoadingMissingPosts" = "Resterende berichten laden..."; +"Common.Controls.Timeline.Loader.ShowMoreReplies" = "Toon meer reacties"; +"Common.Controls.Timeline.Timestamp.Now" = "Nu"; +"Scene.Compose.Accessibility.AppendAttachment" = "Bijlage Toevoegen"; +"Scene.Compose.Accessibility.AppendPoll" = "Peiling Toevoegen"; +"Scene.Compose.Accessibility.CustomEmojiPicker" = "Eigen Emojikiezer"; +"Scene.Compose.Accessibility.DisableContentWarning" = "Inhoudswaarschuwing Uitschakelen"; +"Scene.Compose.Accessibility.EnableContentWarning" = "Inhoudswaarschuwing inschakelen"; +"Scene.Compose.Accessibility.PostVisibilityMenu" = "Berichtzichtbaarheidsmenu"; +"Scene.Compose.Accessibility.RemovePoll" = "Peiling verwijderen"; +"Scene.Compose.Attachment.AttachmentBroken" = "Deze %@ is corrupt en kan niet geüpload worden naar Mastodon."; +"Scene.Compose.Attachment.DescriptionPhoto" = "Omschrijf de foto voor mensen met een visuele beperking..."; +"Scene.Compose.Attachment.DescriptionVideo" = "Omschrijf de video voor mensen met een visuele beperking..."; +"Scene.Compose.Attachment.Photo" = "foto"; +"Scene.Compose.Attachment.Video" = "video"; +"Scene.Compose.AutoComplete.SpaceToAdd" = "Spaties toe te voegen"; +"Scene.Compose.ComposeAction" = "Publiceren"; +"Scene.Compose.ContentInputPlaceholder" = "Schrijf of plak wat in je hoofd rondzweeft"; +"Scene.Compose.ContentWarning.Placeholder" = "Schrijf hier een nauwkeurige waarschuwing..."; +"Scene.Compose.Keyboard.AppendAttachmentEntry" = "Bijlage Toevoegen - %@"; +"Scene.Compose.Keyboard.DiscardPost" = "Bericht Verwijderen"; +"Scene.Compose.Keyboard.PublishPost" = "Bericht Publiceren"; +"Scene.Compose.Keyboard.SelectVisibilityEntry" = "Zichtbaarheid Selecteren - %@"; +"Scene.Compose.Keyboard.ToggleContentWarning" = "Inhoudswaarschuwing Omschakelen"; +"Scene.Compose.Keyboard.TogglePoll" = "Peiling omschakelen"; +"Scene.Compose.MediaSelection.Browse" = "Bladeren"; +"Scene.Compose.MediaSelection.Camera" = "Foto Maken"; +"Scene.Compose.MediaSelection.PhotoLibrary" = "Fotobibliotheek"; +"Scene.Compose.Poll.DurationTime" = "Duur: %@"; +"Scene.Compose.Poll.OneDay" = "1 Dag"; +"Scene.Compose.Poll.OneHour" = "1 Uur"; +"Scene.Compose.Poll.OptionNumber" = "Optie %ld"; +"Scene.Compose.Poll.SevenDays" = "7 Dagen"; +"Scene.Compose.Poll.SixHours" = "6 Uur"; +"Scene.Compose.Poll.ThirtyMinutes" = "30 minuten"; +"Scene.Compose.Poll.ThreeDays" = "3 Dagen"; +"Scene.Compose.ReplyingToUser" = "reageren op %@"; +"Scene.Compose.Title.NewPost" = "Nieuw Bericht"; +"Scene.Compose.Title.NewReply" = "Nieuwe Reactie"; +"Scene.Compose.Visibility.Direct" = "Alleen vermelde gebruikers"; +"Scene.Compose.Visibility.Private" = "Alleen volgers"; +"Scene.Compose.Visibility.Public" = "Openbaar"; +"Scene.Compose.Visibility.Unlisted" = "Niet-vermeld"; +"Scene.ConfirmEmail.Button.DontReceiveEmail" = "Ik heb geen email ontvangen"; +"Scene.ConfirmEmail.Button.OpenEmailApp" = "Email Openen"; +"Scene.ConfirmEmail.DontReceiveEmail.Description" = "Controleer of uw emailadres correct is en of the email in de ongewenste email filter terecht is gekomen."; +"Scene.ConfirmEmail.DontReceiveEmail.ResendEmail" = "Email Opnieuw Versturen"; +"Scene.ConfirmEmail.DontReceiveEmail.Title" = "Controleer uw emailadres"; +"Scene.ConfirmEmail.OpenEmailApp.Description" = "We hebben u een e-mail gestuurd. Controleer ook uw de ongewenste email filter."; +"Scene.ConfirmEmail.OpenEmailApp.Mail" = "Mail"; +"Scene.ConfirmEmail.OpenEmailApp.OpenEmailClient" = "Open Email Applicatie"; +"Scene.ConfirmEmail.OpenEmailApp.Title" = "Ga naar uw inbox."; +"Scene.ConfirmEmail.Subtitle" = "We hebben een e-mail gestuurd naar %@, +klik op de link om uw account te bevestigen."; +"Scene.ConfirmEmail.Title" = "Nog één ding."; +"Scene.Favorite.Title" = "Uw favorieten"; +"Scene.HomeTimeline.NavigationBarState.NewPosts" = "Bekijk nieuwe berichten"; +"Scene.HomeTimeline.NavigationBarState.Offline" = "Offline"; +"Scene.HomeTimeline.NavigationBarState.Published" = "Gepubliceerd!"; +"Scene.HomeTimeline.NavigationBarState.Publishing" = "Bericht publiceren..."; +"Scene.HomeTimeline.Title" = "Start"; +"Scene.Notification.Action.Favourite" = "heeft uw bericht als favoriet toegevoegd"; +"Scene.Notification.Action.Follow" = "volgt u"; +"Scene.Notification.Action.FollowRequest" = "heeft gevraagd om u te volgen"; +"Scene.Notification.Action.Mention" = "vermeldde u"; +"Scene.Notification.Action.Poll" = "Uw poll is geëindigd"; +"Scene.Notification.Action.Reblog" = "deelde uw bericht"; +"Scene.Notification.Keyobard.ShowEverything" = "Alles weergeven"; +"Scene.Notification.Keyobard.ShowMentions" = "Vermeldingen weergeven"; +"Scene.Notification.Title.Everything" = "Alles"; +"Scene.Notification.Title.Mentions" = "Vermeldingen"; +"Scene.Preview.Keyboard.ClosePreview" = "Voorbeeldweergave Sluiten"; +"Scene.Preview.Keyboard.ShowNext" = "Volgende"; +"Scene.Preview.Keyboard.ShowPrevious" = "Vorige"; +"Scene.Profile.Dashboard.Followers" = "volgers"; +"Scene.Profile.Dashboard.Following" = "volgend"; +"Scene.Profile.Dashboard.Posts" = "berichten"; +"Scene.Profile.Fields.AddRow" = "Rij Toevoegen"; +"Scene.Profile.Fields.Placeholder.Content" = "Inhoud"; +"Scene.Profile.Fields.Placeholder.Label" = "Etiket"; +"Scene.Profile.RelationshipActionAlert.ConfirmUnblockUsre.Message" = "Bevestig om %@ te deblokkeren"; +"Scene.Profile.RelationshipActionAlert.ConfirmUnblockUsre.Title" = "Account niet langer negeren"; +"Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Message" = "Bevestig om %@ te negeren"; +"Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Title" = "Account Negeren"; +"Scene.Profile.SegmentedControl.Media" = "Media"; +"Scene.Profile.SegmentedControl.Posts" = "Berichten"; +"Scene.Profile.SegmentedControl.Replies" = "Reacties"; +"Scene.Register.Error.Item.Agreement" = "Overeenkomst"; +"Scene.Register.Error.Item.Email" = "Email"; +"Scene.Register.Error.Item.Locale" = "Taal"; +"Scene.Register.Error.Item.Password" = "Wachtwoord"; +"Scene.Register.Error.Item.Reason" = "Reden"; +"Scene.Register.Error.Item.Username" = "Gebruikersnaam"; +"Scene.Register.Error.Reason.Accepted" = "%@ moet geaccepteerd worden"; +"Scene.Register.Error.Reason.Blank" = "%@ is vereist"; +"Scene.Register.Error.Reason.Blocked" = "%@ gebruikt een niet-toegestane emailprovider"; +"Scene.Register.Error.Reason.Inclusion" = "%@ is een niet-ondersteunde waarde"; +"Scene.Register.Error.Reason.Invalid" = "%@ is ongeldig"; +"Scene.Register.Error.Reason.Reserved" = "%@ is een gereserveerd woord"; +"Scene.Register.Error.Reason.Taken" = "%@ is reeds in gebruik"; +"Scene.Register.Error.Reason.TooLong" = "%@ is te lang"; +"Scene.Register.Error.Reason.TooShort" = "%@ is te kort"; +"Scene.Register.Error.Reason.Unreachable" = "%@ lijkt niet te bestaan"; +"Scene.Register.Error.Special.EmailInvalid" = "Dit is geen geldig emailadres"; +"Scene.Register.Error.Special.PasswordTooShort" = "Het wachtwoord is te kort (het moet ten minste 8 tekens bevatten)"; +"Scene.Register.Error.Special.UsernameInvalid" = "Een gebruikersnaam mag alleen alfanumerieke karakters en lage streepjes bevatten"; +"Scene.Register.Error.Special.UsernameTooLong" = "De gebruikersnaam is te lang (het kan maximaal 30 karakters bevatten)"; +"Scene.Register.Input.Avatar.Delete" = "Verwijderen"; +"Scene.Register.Input.DisplayName.Placeholder" = "weergavenaam"; +"Scene.Register.Input.Email.Placeholder" = "email"; +"Scene.Register.Input.Invite.RegistrationUserInviteRequest" = "Waarom wil u zich hier registreren?"; +"Scene.Register.Input.Password.Hint" = "Uw wachtwoord moet ten minste acht tekens bevatten"; +"Scene.Register.Input.Password.Placeholder" = "wachtwoord"; +"Scene.Register.Input.Username.DuplicatePrompt" = "Deze gebruikersnaam is al in gebruik."; +"Scene.Register.Input.Username.Placeholder" = "gebruikersnaam"; +"Scene.Register.Title" = "Vertel ons over uzelf."; +"Scene.Report.Content1" = "Zijn er nog meer berichten die u aan het rapport wilt toevoegen?"; +"Scene.Report.Content2" = "Is er iets anders over dit rapport dat de moderators zouden moeten weten?"; +"Scene.Report.Send" = "Stuur rapport"; +"Scene.Report.SkipToSend" = "Verstuur zonder opmerkingen"; +"Scene.Report.Step1" = "Stap 1 van 2"; +"Scene.Report.Step2" = "Stap 2 van 2"; +"Scene.Report.TextPlaceholder" = "Schrijf of plak aanvullende opmerkingen"; +"Scene.Report.Title" = "Rapporteer %@"; +"Scene.Search.Recommend.Accounts.Description" = "Misschien dat u geïnteresseerd bent in deze accounts"; +"Scene.Search.Recommend.Accounts.Follow" = "Volgen"; +"Scene.Search.Recommend.Accounts.Title" = "Interessante accounts voor u"; +"Scene.Search.Recommend.ButtonText" = "Alles weergeven"; +"Scene.Search.Recommend.HashTag.Description" = "Hashtags die behoorlijk wat aandacht krijgen"; +"Scene.Search.Recommend.HashTag.PeopleTalking" = "%@ gebruikers praten hierover"; +"Scene.Search.Recommend.HashTag.Title" = "Trending op Mastodon"; +"Scene.Search.SearchBar.Cancel" = "Annuleren"; +"Scene.Search.SearchBar.Placeholder" = "Zoek hashtags en gebruikers"; +"Scene.Search.Searching.Clear" = "Wissen"; +"Scene.Search.Searching.EmptyState.NoResults" = "Geen resultaten"; +"Scene.Search.Searching.RecentSearch" = "Recente zoekopdrachten"; +"Scene.Search.Searching.Segment.All" = "Alles"; +"Scene.Search.Searching.Segment.Hashtags" = "Hashtags"; +"Scene.Search.Searching.Segment.People" = "Gebruikers"; +"Scene.Search.Searching.Segment.Posts" = "Berichten"; +"Scene.Search.Title" = "Zoeken"; +"Scene.ServerPicker.Button.Category.Academia" = "academisch"; +"Scene.ServerPicker.Button.Category.Activism" = "activisme"; +"Scene.ServerPicker.Button.Category.All" = "Alles"; +"Scene.ServerPicker.Button.Category.AllAccessiblityDescription" = "Categorie: Alles"; +"Scene.ServerPicker.Button.Category.Art" = "kunst"; +"Scene.ServerPicker.Button.Category.Food" = "eten"; +"Scene.ServerPicker.Button.Category.Furry" = "furry"; +"Scene.ServerPicker.Button.Category.Games" = "spellen"; +"Scene.ServerPicker.Button.Category.General" = "algemeen"; +"Scene.ServerPicker.Button.Category.Journalism" = "journalistiek"; +"Scene.ServerPicker.Button.Category.Lgbt" = "lgbt"; +"Scene.ServerPicker.Button.Category.Music" = "muziek"; +"Scene.ServerPicker.Button.Category.Regional" = "regionaal"; +"Scene.ServerPicker.Button.Category.Tech" = "technologie"; +"Scene.ServerPicker.Button.SeeLess" = "Minder Weergeven"; +"Scene.ServerPicker.Button.SeeMore" = "Meer Weergeven"; +"Scene.ServerPicker.EmptyState.BadNetwork" = "Er is een fout opgetreden bij het laden van de gegevens. Controleer uw internetverbinding."; +"Scene.ServerPicker.EmptyState.FindingServers" = "Beschikbare servers zoeken..."; +"Scene.ServerPicker.EmptyState.NoResults" = "Geen resultaten"; +"Scene.ServerPicker.Input.Placeholder" = "Zoek uw server of sluit u bij een nieuwe server aan..."; +"Scene.ServerPicker.Label.Category" = "CATEGORIE"; +"Scene.ServerPicker.Label.Language" = "TAAL"; +"Scene.ServerPicker.Label.Users" = "GEBRUIKERS"; +"Scene.ServerPicker.Title" = "Kies een server, welke dan ook."; +"Scene.ServerRules.Button.Confirm" = "Ik Ga Akkoord"; +"Scene.ServerRules.PrivacyPolicy" = "privacybeleid"; +"Scene.ServerRules.Prompt" = "Als u verder gaat dan gaat u akkoord met de servicevoorwaarden en privacybeleid van %@."; +"Scene.ServerRules.Subtitle" = "Deze regels zijn ingesteld door de beheerders van %@."; +"Scene.ServerRules.TermsOfService" = "servicevoorwaarden"; +"Scene.ServerRules.Title" = "Enkele basisregels."; +"Scene.Settings.Footer.MastodonDescription" = "Mastodon is vrije software. Je kunt problemen melden op GitHub via %@ (%@)"; +"Scene.Settings.Keyboard.CloseSettingsWindow" = "Instellingsvenster Sluiten"; +"Scene.Settings.Section.Appearance.Automatic" = "Automatisch"; +"Scene.Settings.Section.Appearance.Dark" = "Altijd Donker"; +"Scene.Settings.Section.Appearance.Light" = "Altijd Licht"; +"Scene.Settings.Section.Appearance.Title" = "Uiterlijk"; +"Scene.Settings.Section.BoringZone.AccountSettings" = "Accountinstellingen"; +"Scene.Settings.Section.BoringZone.Privacy" = "Privacybeleid"; +"Scene.Settings.Section.BoringZone.Terms" = "Servicevoorwaarden"; +"Scene.Settings.Section.BoringZone.Title" = "De Saaie Instellingen"; +"Scene.Settings.Section.Notifications.Boosts" = "Mijn bericht deelt"; +"Scene.Settings.Section.Notifications.Favorites" = "Mijn bericht als favoriet toevoegt"; +"Scene.Settings.Section.Notifications.Follows" = "Mij volgt"; +"Scene.Settings.Section.Notifications.Mentions" = "Mij vermeldt"; +"Scene.Settings.Section.Notifications.Title" = "Meldingen"; +"Scene.Settings.Section.Notifications.Trigger.Anyone" = "iemand"; +"Scene.Settings.Section.Notifications.Trigger.Follow" = "iemand die ik volg"; +"Scene.Settings.Section.Notifications.Trigger.Follower" = "een volger"; +"Scene.Settings.Section.Notifications.Trigger.Noone" = "niemand"; +"Scene.Settings.Section.Notifications.Trigger.Title" = "Stuur mij een melding wanneer"; +"Scene.Settings.Section.Preference.DisableAvatarAnimation" = "Geanimeerde avatars uitschakelen"; +"Scene.Settings.Section.Preference.DisableEmojiAnimation" = "Geanimeerde emojis uitschakelen"; +"Scene.Settings.Section.Preference.Title" = "Instellingen"; +"Scene.Settings.Section.Preference.TrueBlackDarkMode" = "Echt zwarte donker uiterlijk"; +"Scene.Settings.Section.Preference.UsingDefaultBrowser" = "Gebruik de standaard browser om links te openen"; +"Scene.Settings.Section.SpicyZone.Clear" = "Mediacache wissen"; +"Scene.Settings.Section.SpicyZone.Signout" = "Afmelden"; +"Scene.Settings.Section.SpicyZone.Title" = "De Gevaarlijke Instellingen"; +"Scene.Settings.Title" = "Instellingen"; +"Scene.SuggestionAccount.FollowExplain" = "Wanneer u iemand volgt, ziet u hun berichten op de startpagina."; +"Scene.SuggestionAccount.Title" = "Zoek Mensen om te Volgen"; +"Scene.Thread.BackTitle" = "Bericht"; +"Scene.Thread.Title" = "Bericht van %@"; +"Scene.Welcome.Slogan" = "Sociale media terug in uw handen."; \ No newline at end of file diff --git a/Mastodon/Resources/nl.lproj/Localizable.stringsdict b/Mastodon/Resources/nl.lproj/Localizable.stringsdict new file mode 100644 index 000000000..e69582f04 --- /dev/null +++ b/Mastodon/Resources/nl.lproj/Localizable.stringsdict @@ -0,0 +1,278 @@ + + + + + a11y.plural.count.input_limit_exceeds + + NSStringLocalizedFormatKey + Invoer limiet overschrijdt %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 teken + other + %ld tekens + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Invoerlimiet blijft %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 teken + other + %ld tekens + + + plural.count.metric_formatted.post + + NSStringLocalizedFormatKey + %@ %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + bericht + other + berichten + + + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 bericht + other + %ld berichten + + + plural.count.favorite + + NSStringLocalizedFormatKey + %#@favorite_count@ + favorite_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 favoriet + other + %ld favorieten + + + plural.count.reblog + + NSStringLocalizedFormatKey + %#@reblog_count@ + reblog_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 gedeeld bericht + other + %ld gedeelde berichten + + + plural.count.vote + + NSStringLocalizedFormatKey + %#@vote_count@ + vote_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 stem + other + %ld stemmen + + + plural.count.voter + + NSStringLocalizedFormatKey + %#@voter_count@ + voter_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 kiezer + other + %ld kiezers + + + plural.people_talking + + NSStringLocalizedFormatKey + %#@count_people_talking@ + count_people_talking + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 gebruiker die praat + other + %ld gebruikers die praten + + + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 volgend + other + %ld volgend + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 volger + other + %ld volgers + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 jaar resterend + other + %ld jaren resterend + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 maanden resterend + other + %ld maanden resterend + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 dag resterend + other + %ld dagen resterend + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 uur resterend + other + %ld uur resterend + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 minuut resterend + other + %ld minuten resterend + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 seconde resterend + other + %ld seconden resterend + + + + diff --git a/MastodonIntent/nl.lproj/Intents.strings b/MastodonIntent/nl.lproj/Intents.strings new file mode 100644 index 000000000..77d237112 --- /dev/null +++ b/MastodonIntent/nl.lproj/Intents.strings @@ -0,0 +1,51 @@ +"16wxgf" = "Berichten op Mastodon"; + +"751xkl" = "Berichtsinhoud"; + +"CsR7G2" = "Plaatsen"; + +"HZSGTr" = "Welke inhoud om bericht te plaatsen?"; + +"HdGikU" = "Bericht plaatsen mislukt"; + +"KDNTJ4" = "Reden van de Fout"; + +"RHxKOw" = "Bericht verzenden met tekstinhoud"; + +"RxSqsb" = "Bericht"; + +"WCIR3D" = "Plaats ${content} op Mastodon"; + +"ZKJSNu" = "Plaatsen"; + +"ZS1XaK" = "${content}"; + +"ZbSjzC" = "Zichbaarheid"; + +"Zo4jgJ" = "Berichtszichtbaarheid"; + +"apSxMG-dYQ5NN" = "Er zijn ${count} opties die overeenkomen met ‘Openbaar’."; + +"apSxMG-ehFLjY" = "Er zijn ${count} opties die overeenkomen met ‘Alleen Volgers’."; + +"ayoYEb-dYQ5NN" = "${content}, Openbaar"; + +"ayoYEb-ehFLjY" = "${content}, Alleen Volgers"; + +"dUyuGg" = "Plaatsen"; + +"dYQ5NN" = "Openbaar"; + +"ehFLjY" = "Alleen Volgers"; + +"gfePDu" = "Plaatsen mislukt. ${failureReason}"; + +"k7dbKQ" = "Het bericht is succesvol verzonden."; + +"oGiqmY-dYQ5NN" = "Wilde u ‘Openbaar’?"; + +"oGiqmY-ehFLjY" = "Wilde u ‘Alleen Volgers’?"; + +"rM6dvp" = "URL"; + +"ryJLwG" = "Het bericht is succesvol verzonden. "; From dfe18622e145eae5b6853cdc6adb3036583958f6 Mon Sep 17 00:00:00 2001 From: CMK Date: Mon, 9 Aug 2021 20:19:31 +0800 Subject: [PATCH 115/115] chore: update version to 1.0.5 (56) --- Mastodon.xcodeproj/project.pbxproj | 32 +++++++++---------- .../xcschemes/xcschememanagement.plist | 30 +++++++++++------ 2 files changed, 36 insertions(+), 26 deletions(-) diff --git a/Mastodon.xcodeproj/project.pbxproj b/Mastodon.xcodeproj/project.pbxproj index 865901898..5622470ef 100644 --- a/Mastodon.xcodeproj/project.pbxproj +++ b/Mastodon.xcodeproj/project.pbxproj @@ -4558,7 +4558,7 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Mastodon/Mastodon.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 55; + CURRENT_PROJECT_VERSION = 56; DEVELOPMENT_ASSET_PATHS = "Mastodon/Resources/Preview\\ Assets.xcassets"; DEVELOPMENT_TEAM = 5Z4GVSS33P; INFOPLIST_FILE = Mastodon/Info.plist; @@ -4585,7 +4585,7 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Mastodon/Mastodon.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 55; + CURRENT_PROJECT_VERSION = 56; DEVELOPMENT_ASSET_PATHS = "Mastodon/Resources/Preview\\ Assets.xcassets"; DEVELOPMENT_TEAM = 5Z4GVSS33P; INFOPLIST_FILE = Mastodon/Info.plist; @@ -4848,7 +4848,7 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = MastodonIntent/MastodonIntent.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 55; + CURRENT_PROJECT_VERSION = 56; DEVELOPMENT_TEAM = 5Z4GVSS33P; INFOPLIST_FILE = MastodonIntent/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -4872,7 +4872,7 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = MastodonIntent/MastodonIntent.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 55; + CURRENT_PROJECT_VERSION = 56; DEVELOPMENT_TEAM = 5Z4GVSS33P; INFOPLIST_FILE = MastodonIntent/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -4896,7 +4896,7 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = MastodonIntent/MastodonIntent.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 55; + CURRENT_PROJECT_VERSION = 56; DEVELOPMENT_TEAM = 5Z4GVSS33P; INFOPLIST_FILE = MastodonIntent/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -4920,7 +4920,7 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = MastodonIntent/MastodonIntent.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 55; + CURRENT_PROJECT_VERSION = 56; DEVELOPMENT_TEAM = 5Z4GVSS33P; INFOPLIST_FILE = MastodonIntent/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -4944,7 +4944,7 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = ShareActionExtension/ShareActionExtension.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 55; + CURRENT_PROJECT_VERSION = 56; DEVELOPMENT_TEAM = 5Z4GVSS33P; INFOPLIST_FILE = ShareActionExtension/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -4968,7 +4968,7 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = ShareActionExtension/ShareActionExtension.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 55; + CURRENT_PROJECT_VERSION = 56; DEVELOPMENT_TEAM = 5Z4GVSS33P; INFOPLIST_FILE = ShareActionExtension/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -4992,7 +4992,7 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = ShareActionExtension/ShareActionExtension.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 55; + CURRENT_PROJECT_VERSION = 56; DEVELOPMENT_TEAM = 5Z4GVSS33P; INFOPLIST_FILE = ShareActionExtension/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -5016,7 +5016,7 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = ShareActionExtension/ShareActionExtension.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 55; + CURRENT_PROJECT_VERSION = 56; DEVELOPMENT_TEAM = 5Z4GVSS33P; INFOPLIST_FILE = ShareActionExtension/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -5106,7 +5106,7 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Mastodon/Mastodon.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 55; + CURRENT_PROJECT_VERSION = 56; DEVELOPMENT_ASSET_PATHS = "Mastodon/Resources/Preview\\ Assets.xcassets"; DEVELOPMENT_TEAM = 5Z4GVSS33P; INFOPLIST_FILE = Mastodon/Info.plist; @@ -5220,7 +5220,7 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = NotificationService/NotificationService.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 55; + CURRENT_PROJECT_VERSION = 56; DEVELOPMENT_TEAM = 5Z4GVSS33P; INFOPLIST_FILE = NotificationService/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -5340,7 +5340,7 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Mastodon/Mastodon.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 55; + CURRENT_PROJECT_VERSION = 56; DEVELOPMENT_ASSET_PATHS = "Mastodon/Resources/Preview\\ Assets.xcassets"; DEVELOPMENT_TEAM = 5Z4GVSS33P; INFOPLIST_FILE = Mastodon/Info.plist; @@ -5454,7 +5454,7 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = NotificationService/NotificationService.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 55; + CURRENT_PROJECT_VERSION = 56; DEVELOPMENT_TEAM = 5Z4GVSS33P; INFOPLIST_FILE = NotificationService/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -5508,7 +5508,7 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = NotificationService/NotificationService.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 55; + CURRENT_PROJECT_VERSION = 56; DEVELOPMENT_TEAM = 5Z4GVSS33P; INFOPLIST_FILE = NotificationService/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -5531,7 +5531,7 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = NotificationService/NotificationService.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 55; + CURRENT_PROJECT_VERSION = 56; DEVELOPMENT_TEAM = 5Z4GVSS33P; INFOPLIST_FILE = NotificationService/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( diff --git a/Mastodon.xcodeproj/xcuserdata/mainasuk.xcuserdatad/xcschemes/xcschememanagement.plist b/Mastodon.xcodeproj/xcuserdata/mainasuk.xcuserdatad/xcschemes/xcschememanagement.plist index c16279b6c..aa31690df 100644 --- a/Mastodon.xcodeproj/xcuserdata/mainasuk.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/Mastodon.xcodeproj/xcuserdata/mainasuk.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,27 +7,27 @@ AppShared.xcscheme_^#shared#^_ orderHint - 31 + 33 CoreDataStack.xcscheme_^#shared#^_ orderHint - 32 + 34 Mastodon - ASDK.xcscheme_^#shared#^_ orderHint - 7 + 9 Mastodon - RTL.xcscheme_^#shared#^_ orderHint - 8 + 10 Mastodon - Release.xcscheme_^#shared#^_ orderHint - 6 + 8 Mastodon - ar.xcscheme_^#shared#^_ @@ -37,7 +37,12 @@ Mastodon - ca.xcscheme_^#shared#^_ orderHint - 29 + 31 + + Mastodon - de.xcscheme_^#shared#^_ + + orderHint + 6 Mastodon - en.xcscheme_^#shared#^_ @@ -64,10 +69,15 @@ orderHint 28 + Mastodon - nl.xcscheme_^#shared#^_ + + orderHint + 7 + Mastodon - zh_Hans.xcscheme_^#shared#^_ orderHint - 28 + 30 Mastodon.xcscheme_^#shared#^_ @@ -77,7 +87,7 @@ MastodonIntent.xcscheme_^#shared#^_ orderHint - 30 + 32 MastodonIntents.xcscheme_^#shared#^_ @@ -92,12 +102,12 @@ NotificationService.xcscheme_^#shared#^_ orderHint - 9 + 11 ShareActionExtension.xcscheme_^#shared#^_ orderHint - 33 + 35 SuppressBuildableAutocreation