Merge pull request #462 from mastodon/release-1.4.5

Release 1.4.5
This commit is contained in:
CMK 2022-07-05 09:59:23 +08:00 committed by GitHub
commit 869e44737a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
178 changed files with 1642 additions and 631 deletions

View File

@ -15,8 +15,8 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string> <string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>1.4.4</string> <string>1.4.5</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>140</string> <string>144</string>
</dict> </dict>
</plist> </plist>

View File

@ -2,18 +2,18 @@
"common": { "common": {
"alerts": { "alerts": {
"common": { "common": {
"please_try_again": "يُرجى المُحاولة مرة أُخرى.", "please_try_again": "يُرجى المُحاوَلَةُ مُجَدَّدًا.",
"please_try_again_later": "يُرجى المُحاولة مرة أُخرى لاحقًا." "please_try_again_later": "يُرجى المُحاولة مرة أُخرى لاحقًا."
}, },
"sign_up_failure": { "sign_up_failure": {
"title": "إخفاق في التسجيل" "title": "إخفاقٌ فِي التَّسجيل"
}, },
"server_error": { "server_error": {
"title": طأ في الخادم" "title": َطَأٌ فِي الخادِم"
}, },
"vote_failure": { "vote_failure": {
"title": "إخفاق في التصويت", "title": "إخفاقٌ فِي التَّصويت",
"poll_ended": "انتهى استطلاع الرأي" "poll_ended": "اِنتَهَى اِستِطلاعُ الرَّأي"
}, },
"discard_post_content": { "discard_post_content": {
"title": "التخلص من المسودة", "title": "التخلص من المسودة",
@ -216,26 +216,26 @@
"subtitle_extend": "اختر مجتمعًا بناءً على اهتماماتك، منطقتك أو يمكنك حتى اختيارُ مجتمعٍ ذي غرضٍ عام. تُشغَّل جميعُ المجتمعِ مِن قِبَلِ مُنظمَةٍ أو فردٍ مُستقلٍ تمامًا.", "subtitle_extend": "اختر مجتمعًا بناءً على اهتماماتك، منطقتك أو يمكنك حتى اختيارُ مجتمعٍ ذي غرضٍ عام. تُشغَّل جميعُ المجتمعِ مِن قِبَلِ مُنظمَةٍ أو فردٍ مُستقلٍ تمامًا.",
"button": { "button": {
"category": { "category": {
"all": "الكل", "all": "الكُل",
"all_accessiblity_description": "الفئة: الكل", "all_accessiblity_description": "الفِئَة: الكُل",
"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": { "label": {
"language": "اللُّغة", "language": "اللُّغَة",
"users": "مُستَخدِم", "users": "مُستَخدِم",
"category": "الفئة" "category": "الفئة"
}, },
@ -286,8 +286,8 @@
"email": "البريد الإلكتروني", "email": "البريد الإلكتروني",
"password": "الرمز السري", "password": "الرمز السري",
"agreement": "الاِتِّفاقيَّة", "agreement": "الاِتِّفاقيَّة",
"locale": "اللغة المحلية", "locale": "اللُّغَة",
"reason": "السبب" "reason": "السَّبَب"
}, },
"reason": { "reason": {
"blocked": "يحتوي %s على موفِّر خدمة بريد إلكتروني غير مسموح به", "blocked": "يحتوي %s على موفِّر خدمة بريد إلكتروني غير مسموح به",
@ -297,14 +297,14 @@
"accepted": "يجب أن يُقبل %s", "accepted": "يجب أن يُقبل %s",
"blank": "%s مَطلوب", "blank": "%s مَطلوب",
"invalid": "%s غير صالح", "invalid": "%s غير صالح",
"too_long": "%s طويل جداً", "too_long": "%s طَويلٌ جِدًّا",
"too_short": "%s قصير جدًا", "too_short": "%s قَصِيرٌ جِدًا",
"inclusion": "إنَّ %s قيمة غير مدعومة" "inclusion": "إنَّ %s قيمة غير مدعومة"
}, },
"special": { "special": {
"username_invalid": "يُمكِن أن يحتوي اسم المستخدم على أحرف أبجدية، أرقام وشرطات سفلية فقط", "username_invalid": "يُمكِن أن يحتوي اسم المستخدم على أحرف أبجدية، أرقام وشرطات سفلية فقط",
"username_too_long": "اِسم المُستَخدِم طويل جداً (يَجِبُ ألّا يكون أطول من ثلاثين خانة)", "username_too_long": "اِسم المُستَخدِم طويل جداً (يَجِبُ ألّا يكون أطول من ثلاثين خانة)",
"email_invalid": "هذا عنوان بريد إلكتروني غير صالح", "email_invalid": "عُنوانُ البَريدِ الاِلِكتُرُونيّ هَذَا غَيرُ صَالِح",
"password_too_short": "رمز السر قصير جدًا (يجب أن يتكون من ثمان خانات على الأقل)" "password_too_short": "رمز السر قصير جدًا (يجب أن يتكون من ثمان خانات على الأقل)"
} }
} }
@ -544,6 +544,12 @@
"keyobard": { "keyobard": {
"show_everything": "أظْهِر كُلَّ شَيء", "show_everything": "أظْهِر كُلَّ شَيء",
"show_mentions": "أظْهِر الإشارَات" "show_mentions": "أظْهِر الإشارَات"
},
"follow_request": {
"accept": "قَبُول",
"accepted": "مَقبُول",
"reject": "رَفض",
"rejected": "مَرفُوض"
} }
}, },
"thread": { "thread": {

View File

@ -544,6 +544,12 @@
"keyobard": { "keyobard": {
"show_everything": "Mostrar-ho tot", "show_everything": "Mostrar-ho tot",
"show_mentions": "Mostrar Mencions" "show_mentions": "Mostrar Mencions"
},
"follow_request": {
"accept": "Acceptar",
"accepted": "Acceptat",
"reject": "rebutjar",
"rejected": "Rebutjat"
} }
}, },
"thread": { "thread": {

View File

@ -544,6 +544,12 @@
"keyobard": { "keyobard": {
"show_everything": "هەموو شتێک نیشان بدە", "show_everything": "هەموو شتێک نیشان بدە",
"show_mentions": "ئاماژەکان نیشان بدە" "show_mentions": "ئاماژەکان نیشان بدە"
},
"follow_request": {
"accept": "Accept",
"accepted": "Accepted",
"reject": "reject",
"rejected": "Rejected"
} }
}, },
"thread": { "thread": {

View File

@ -544,6 +544,12 @@
"keyobard": { "keyobard": {
"show_everything": "Show Everything", "show_everything": "Show Everything",
"show_mentions": "Show Mentions" "show_mentions": "Show Mentions"
},
"follow_request": {
"accept": "Accept",
"accepted": "Accepted",
"reject": "reject",
"rejected": "Rejected"
} }
}, },
"thread": { "thread": {

View File

@ -544,6 +544,12 @@
"keyobard": { "keyobard": {
"show_everything": "Show Everything", "show_everything": "Show Everything",
"show_mentions": "Show Mentions" "show_mentions": "Show Mentions"
},
"follow_request": {
"accept": "Accept",
"accepted": "Accepted",
"reject": "reject",
"rejected": "Rejected"
} }
}, },
"thread": { "thread": {

View File

@ -544,6 +544,12 @@
"keyobard": { "keyobard": {
"show_everything": "Alles anzeigen", "show_everything": "Alles anzeigen",
"show_mentions": "Erwähnungen anzeigen" "show_mentions": "Erwähnungen anzeigen"
},
"follow_request": {
"accept": "Accept",
"accepted": "Accepted",
"reject": "reject",
"rejected": "Rejected"
} }
}, },
"thread": { "thread": {

View File

@ -544,6 +544,12 @@
"keyobard": { "keyobard": {
"show_everything": "Show Everything", "show_everything": "Show Everything",
"show_mentions": "Show Mentions" "show_mentions": "Show Mentions"
},
"follow_request": {
"accept": "Accept",
"accepted": "Accepted",
"reject": "reject",
"rejected": "Rejected"
} }
}, },
"thread": { "thread": {

View File

@ -544,6 +544,12 @@
"keyobard": { "keyobard": {
"show_everything": "Show Everything", "show_everything": "Show Everything",
"show_mentions": "Show Mentions" "show_mentions": "Show Mentions"
},
"follow_request": {
"accept": "Accept",
"accepted": "Accepted",
"reject": "reject",
"rejected": "Rejected"
} }
}, },
"thread": { "thread": {

View File

@ -544,6 +544,12 @@
"keyobard": { "keyobard": {
"show_everything": "Mostrar todo", "show_everything": "Mostrar todo",
"show_mentions": "Mostrar menciones" "show_mentions": "Mostrar menciones"
},
"follow_request": {
"accept": "Aceptar",
"accepted": "Aceptada",
"reject": "rechazar",
"rejected": "Rechazada"
} }
}, },
"thread": { "thread": {

View File

@ -72,9 +72,9 @@
<key>NSStringFormatValueTypeKey</key> <key>NSStringFormatValueTypeKey</key>
<string>ld</string> <string>ld</string>
<key>one</key> <key>one</key>
<string>Followed by %1$@, and another mutual</string> <string>Seguido por %1$@ y otro mutuo</string>
<key>other</key> <key>other</key>
<string>Followed by %1$@, and %ld mutuals</string> <string>Seguido por %1$@ y %ld mutuos</string>
</dict> </dict>
</dict> </dict>
<key>plural.count.metric_formatted.post</key> <key>plural.count.metric_formatted.post</key>

View File

@ -129,7 +129,7 @@
"show_post": "Mostrar Publicación", "show_post": "Mostrar Publicación",
"show_user_profile": "Mostrar perfil del usuario", "show_user_profile": "Mostrar perfil del usuario",
"content_warning": "Advertencia de Contenido", "content_warning": "Advertencia de Contenido",
"sensitive_content": "Sensitive Content", "sensitive_content": "Contenido sensible",
"media_content_warning": "Pulsa en cualquier sitio para mostrar", "media_content_warning": "Pulsa en cualquier sitio para mostrar",
"tap_to_reveal": "Tocar para revelar", "tap_to_reveal": "Tocar para revelar",
"poll": { "poll": {
@ -241,7 +241,7 @@
}, },
"input": { "input": {
"placeholder": "Encuentra un servidor o únete al tuyo propio...", "placeholder": "Encuentra un servidor o únete al tuyo propio...",
"search_servers_or_enter_url": "Search servers or enter URL" "search_servers_or_enter_url": "Buscar servidores o introducir la URL"
}, },
"empty_state": { "empty_state": {
"finding_servers": "Encontrando servidores disponibles...", "finding_servers": "Encontrando servidores disponibles...",
@ -251,7 +251,7 @@
}, },
"register": { "register": {
"title": "Háblanos de ti.", "title": "Háblanos de ti.",
"lets_get_you_set_up_on_domain": "Lets get you set up on %s", "lets_get_you_set_up_on_domain": "Deja que te preparemos en %s",
"input": { "input": {
"avatar": { "avatar": {
"delete": "Borrar" "delete": "Borrar"
@ -322,7 +322,7 @@
"confirm_email": { "confirm_email": {
"title": "Una última cosa.", "title": "Una última cosa.",
"subtitle": "Te acabamos de enviar un correo a %s,\npulsa en el enlace para confirmar tu cuenta.", "subtitle": "Te acabamos de enviar un correo a %s,\npulsa en el enlace para confirmar tu cuenta.",
"tap_the_link_we_emailed_to_you_to_verify_your_account": "Tap the link we emailed to you to verify your account", "tap_the_link_we_emailed_to_you_to_verify_your_account": "Toca el enlace que te enviamos por correo electrónico para verificar tu cuenta",
"button": { "button": {
"open_email_app": "Abrir Aplicación de Correo Electrónico", "open_email_app": "Abrir Aplicación de Correo Electrónico",
"resend": "Reenviar" "resend": "Reenviar"
@ -347,8 +347,8 @@
"published": "¡Publicado!", "published": "¡Publicado!",
"Publishing": "Publicación en curso...", "Publishing": "Publicación en curso...",
"accessibility": { "accessibility": {
"logo_label": "Logo Button", "logo_label": "Botón del logo",
"logo_hint": "Tap to scroll to top and tap again to previous location" "logo_hint": "Toca para desplazarte hacia arriba y toca de nuevo para la localización anterior"
} }
} }
}, },
@ -418,7 +418,7 @@
}, },
"profile": { "profile": {
"header": { "header": {
"follows_you": "Follows You" "follows_you": "Te sigue"
}, },
"dashboard": { "dashboard": {
"posts": "publicaciones", "posts": "publicaciones",
@ -465,22 +465,22 @@
} }
}, },
"follower": { "follower": {
"title": "follower", "title": "seguidor",
"footer": "No se muestran los seguidores de otros servidores." "footer": "No se muestran los seguidores de otros servidores."
}, },
"following": { "following": {
"title": "following", "title": "siguiendo",
"footer": "No se muestran los seguidos de otros servidores." "footer": "No se muestran los seguidos de otros servidores."
}, },
"familiarFollowers": { "familiarFollowers": {
"title": "Followers you familiar", "title": "Seguidores que conoces",
"followed_by_names": "Followed by %s" "followed_by_names": "Seguido por %s"
}, },
"favorited_by": { "favorited_by": {
"title": "Favorited By" "title": "Hecho favorito por"
}, },
"reblogged_by": { "reblogged_by": {
"title": "Reblogged By" "title": "Reblogueado por"
}, },
"search": { "search": {
"title": "Buscar", "title": "Buscar",
@ -520,10 +520,10 @@
"posts": "Publicaciones", "posts": "Publicaciones",
"hashtags": "Etiquetas", "hashtags": "Etiquetas",
"news": "Noticias", "news": "Noticias",
"community": "Community", "community": "Comunidad",
"for_you": "Para Ti" "for_you": "Para Ti"
}, },
"intro": "These are the posts gaining traction in your corner of Mastodon." "intro": "Estas son las publicaciones que están ganando tracción en tu rincón de Mastodon."
}, },
"favorite": { "favorite": {
"title": "Tus Favoritos" "title": "Tus Favoritos"
@ -544,6 +544,12 @@
"keyobard": { "keyobard": {
"show_everything": "Mostrar Todo", "show_everything": "Mostrar Todo",
"show_mentions": "Mostrar Menciones" "show_mentions": "Mostrar Menciones"
},
"follow_request": {
"accept": "Aceptar",
"accepted": "Aceptado",
"reject": "rechazar",
"rejected": "Rechazado"
} }
}, },
"thread": { "thread": {
@ -620,46 +626,46 @@
"text_placeholder": "Escribe o pega comentarios adicionales", "text_placeholder": "Escribe o pega comentarios adicionales",
"reported": "REPORTADO", "reported": "REPORTADO",
"step_one": { "step_one": {
"step_1_of_4": "Step 1 of 4", "step_1_of_4": "Paso 1 de 4",
"whats_wrong_with_this_post": "What's wrong with this post?", "whats_wrong_with_this_post": "¿Qué hay de malo con esta publicación?",
"whats_wrong_with_this_account": "What's wrong with this account?", "whats_wrong_with_this_account": "¿Qué hay de malo con esta cuenta?",
"whats_wrong_with_this_username": "What's wrong with %s?", "whats_wrong_with_this_username": "¿Qué hay de malo con %s?",
"select_the_best_match": "Select the best match", "select_the_best_match": "Selecciona la mejor opción",
"i_dont_like_it": "I dont like it", "i_dont_like_it": "No me gusta",
"it_is_not_something_you_want_to_see": "It is not something you want to see", "it_is_not_something_you_want_to_see": "No es algo que quieras ver",
"its_spam": "Its spam", "its_spam": "Es spam",
"malicious_links_fake_engagement_or_repetetive_replies": "Malicious links, fake engagement, or repetetive replies", "malicious_links_fake_engagement_or_repetetive_replies": "Enlaces maliciosos, compromisos falsos o respuestas repetitivas",
"it_violates_server_rules": "It violates server rules", "it_violates_server_rules": "Viola las reglas del servidor",
"you_are_aware_that_it_breaks_specific_rules": "You are aware that it breaks specific rules", "you_are_aware_that_it_breaks_specific_rules": "Eres consciente de que infringe las normas específicas",
"its_something_else": "Its something else", "its_something_else": "Es algo más",
"the_issue_does_not_fit_into_other_categories": "The issue does not fit into other categories" "the_issue_does_not_fit_into_other_categories": "El problema no encaja en otras categorías"
}, },
"step_two": { "step_two": {
"step_2_of_4": "Step 2 of 4", "step_2_of_4": "Paso 2 de 4",
"which_rules_are_being_violated": "Which rules are being violated?", "which_rules_are_being_violated": "¿Qué normas se están violando?",
"select_all_that_apply": "Select all that apply", "select_all_that_apply": "Selecciona todos los que correspondan",
"i_just_dont_like_it": "I just dont like it" "i_just_dont_like_it": "Solamente no me gusta"
}, },
"step_three": { "step_three": {
"step_3_of_4": "Step 3 of 4", "step_3_of_4": "Paso 3 de 4",
"are_there_any_posts_that_back_up_this_report": "Are there any posts that back up this report?", "are_there_any_posts_that_back_up_this_report": "¿Hay alguna publicación que respalde este informe?",
"select_all_that_apply": "Select all that apply" "select_all_that_apply": "Selecciona todos los que correspondan"
}, },
"step_four": { "step_four": {
"step_4_of_4": "Step 4 of 4", "step_4_of_4": "Paso 4 de 4",
"is_there_anything_else_we_should_know": "Is there anything else we should know?" "is_there_anything_else_we_should_know": "¿Hay algo más que deberíamos saber?"
}, },
"step_final": { "step_final": {
"dont_want_to_see_this": "Dont want to see this?", "dont_want_to_see_this": "¿No quieres ver esto?",
"when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you dont like on Mastodon, you can remove the person from your experience.", "when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "Cuando veas algo que no te gusta en Mastodon, puedes quitar a la persona de tu experiencia.",
"unfollow": "Unfollow", "unfollow": "Dejar de seguir",
"unfollowed": "Unfollowed", "unfollowed": "Ha dejado de seguirte",
"unfollow_user": "Unfollow %s", "unfollow_user": "Dejar de seguir a %s",
"mute_user": "Mute %s", "mute_user": "Silenciar a %s",
"you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You wont see their posts or reblogs in your home feed. They wont know theyve been muted.", "you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "No verás sus publicaciones o reblogueos en tu línea temporal. No sabrán que han sido silenciados.",
"block_user": "Block %s", "block_user": "Bloquear a %s",
"they_will_no_longer_be_able_to_follow_or_see_your_posts_but_they_can_see_if_theyve_been_blocked": "They will no longer be able to follow or see your posts, but they can see if theyve been blocked.", "they_will_no_longer_be_able_to_follow_or_see_your_posts_but_they_can_see_if_theyve_been_blocked": "Ya no podrán ser capaces de seguirte o ver tus publicaciones, pero pueden ver si han sido bloqueados.",
"while_we_review_this_you_can_take_action_against_user": "While we review this, you can take action against %s" "while_we_review_this_you_can_take_action_against_user": "Mientras revisamos esto, puedes tomar medidas contra %s"
} }
}, },
"preview": { "preview": {

View File

@ -544,6 +544,12 @@
"keyobard": { "keyobard": {
"show_everything": "Erakutsi guztia", "show_everything": "Erakutsi guztia",
"show_mentions": "Erakutsi aipamenak" "show_mentions": "Erakutsi aipamenak"
},
"follow_request": {
"accept": "Accept",
"accepted": "Accepted",
"reject": "reject",
"rejected": "Rejected"
} }
}, },
"thread": { "thread": {

View File

@ -544,6 +544,12 @@
"keyobard": { "keyobard": {
"show_everything": "Näytä kaikki", "show_everything": "Näytä kaikki",
"show_mentions": "Näytä maininnat" "show_mentions": "Näytä maininnat"
},
"follow_request": {
"accept": "Accept",
"accepted": "Accepted",
"reject": "reject",
"rejected": "Rejected"
} }
}, },
"thread": { "thread": {

View File

@ -418,7 +418,7 @@
}, },
"profile": { "profile": {
"header": { "header": {
"follows_you": "Follows You" "follows_you": "Vous suit"
}, },
"dashboard": { "dashboard": {
"posts": "publications", "posts": "publications",
@ -544,6 +544,12 @@
"keyobard": { "keyobard": {
"show_everything": "Tout Afficher", "show_everything": "Tout Afficher",
"show_mentions": "Afficher les mentions" "show_mentions": "Afficher les mentions"
},
"follow_request": {
"accept": "Accept",
"accepted": "Accepted",
"reject": "reject",
"rejected": "Rejected"
} }
}, },
"thread": { "thread": {

View File

@ -544,6 +544,12 @@
"keyobard": { "keyobard": {
"show_everything": "Seall a h-uile càil", "show_everything": "Seall a h-uile càil",
"show_mentions": "Seall na h-iomraidhean" "show_mentions": "Seall na h-iomraidhean"
},
"follow_request": {
"accept": "Accept",
"accepted": "Accepted",
"reject": "reject",
"rejected": "Rejected"
} }
}, },
"thread": { "thread": {

View File

@ -544,6 +544,12 @@
"keyobard": { "keyobard": {
"show_everything": "Mostrar Todo", "show_everything": "Mostrar Todo",
"show_mentions": "Mostrar mencións" "show_mentions": "Mostrar mencións"
},
"follow_request": {
"accept": "Aceptar",
"accepted": "Aceptada",
"reject": "rexeitar",
"rejected": "Rexeitada"
} }
}, },
"thread": { "thread": {

View File

@ -544,6 +544,12 @@
"keyobard": { "keyobard": {
"show_everything": "Show Everything", "show_everything": "Show Everything",
"show_mentions": "Show Mentions" "show_mentions": "Show Mentions"
},
"follow_request": {
"accept": "Accept",
"accepted": "Accepted",
"reject": "reject",
"rejected": "Rejected"
} }
}, },
"thread": { "thread": {

View File

@ -544,6 +544,12 @@
"keyobard": { "keyobard": {
"show_everything": "Tampilkan Segalanya", "show_everything": "Tampilkan Segalanya",
"show_mentions": "Tampilkan Sebutan" "show_mentions": "Tampilkan Sebutan"
},
"follow_request": {
"accept": "Accept",
"accepted": "Accepted",
"reject": "reject",
"rejected": "Rejected"
} }
}, },
"thread": { "thread": {

View File

@ -544,6 +544,12 @@
"keyobard": { "keyobard": {
"show_everything": "Mostra Tutto", "show_everything": "Mostra Tutto",
"show_mentions": "Mostra Menzioni" "show_mentions": "Mostra Menzioni"
},
"follow_request": {
"accept": "Accetta",
"accepted": "Richiesta accettata",
"reject": "rifiuta",
"rejected": "Richiesta rifiutata"
} }
}, },
"thread": { "thread": {

View File

@ -92,7 +92,7 @@
<key>NSStringFormatValueTypeKey</key> <key>NSStringFormatValueTypeKey</key>
<string>ld</string> <string>ld</string>
<key>other</key> <key>other</key>
<string>%ld media</string> <string>%ld件のメディア</string>
</dict> </dict>
</dict> </dict>
<key>plural.count.post</key> <key>plural.count.post</key>
@ -106,7 +106,7 @@
<key>NSStringFormatValueTypeKey</key> <key>NSStringFormatValueTypeKey</key>
<string>ld</string> <string>ld</string>
<key>other</key> <key>other</key>
<string>%ld posts</string> <string>%ld件の投稿</string>
</dict> </dict>
</dict> </dict>
<key>plural.count.favorite</key> <key>plural.count.favorite</key>
@ -148,7 +148,7 @@
<key>NSStringFormatValueTypeKey</key> <key>NSStringFormatValueTypeKey</key>
<string>ld</string> <string>ld</string>
<key>other</key> <key>other</key>
<string>%ld replies</string> <string>%ld件の返信</string>
</dict> </dict>
</dict> </dict>
<key>plural.count.vote</key> <key>plural.count.vote</key>
@ -176,7 +176,7 @@
<key>NSStringFormatValueTypeKey</key> <key>NSStringFormatValueTypeKey</key>
<string>ld</string> <string>ld</string>
<key>other</key> <key>other</key>
<string>%ld voters</string> <string>%ld人の投票</string>
</dict> </dict>
</dict> </dict>
<key>plural.people_talking</key> <key>plural.people_talking</key>
@ -316,7 +316,7 @@
<key>NSStringFormatValueTypeKey</key> <key>NSStringFormatValueTypeKey</key>
<string>ld</string> <string>ld</string>
<key>other</key> <key>other</key>
<string>%ld 年前</string> <string>%ld年前</string>
</dict> </dict>
</dict> </dict>
<key>date.month.ago.abbr</key> <key>date.month.ago.abbr</key>

View File

@ -129,12 +129,12 @@
"show_post": "投稿を見る", "show_post": "投稿を見る",
"show_user_profile": "プロフィールを見る", "show_user_profile": "プロフィールを見る",
"content_warning": "コンテンツ警告", "content_warning": "コンテンツ警告",
"sensitive_content": "Sensitive Content", "sensitive_content": "閲覧注意",
"media_content_warning": "どこかをタップして表示", "media_content_warning": "どこかをタップして表示",
"tap_to_reveal": "タップして表示", "tap_to_reveal": "タップして表示",
"poll": { "poll": {
"vote": "投票", "vote": "投票",
"closed": "クローズド" "closed": "終了"
}, },
"actions": { "actions": {
"reply": "返信", "reply": "返信",
@ -325,7 +325,7 @@
"tap_the_link_we_emailed_to_you_to_verify_your_account": "Tap the link we emailed to you to verify your account", "tap_the_link_we_emailed_to_you_to_verify_your_account": "Tap the link we emailed to you to verify your account",
"button": { "button": {
"open_email_app": "メールアプリを開く", "open_email_app": "メールアプリを開く",
"resend": "Resend" "resend": "再送信"
}, },
"dont_receive_email": { "dont_receive_email": {
"title": "メールをチェックしてください", "title": "メールをチェックしてください",
@ -347,8 +347,8 @@
"published": "投稿しました!", "published": "投稿しました!",
"Publishing": "投稿中...", "Publishing": "投稿中...",
"accessibility": { "accessibility": {
"logo_label": "Logo Button", "logo_label": "ロゴボタン",
"logo_hint": "Tap to scroll to top and tap again to previous location" "logo_hint": "タップすると一番上までスクロールし、もう一度タップすると元の場所に戻ります"
} }
} }
}, },
@ -418,7 +418,7 @@
}, },
"profile": { "profile": {
"header": { "header": {
"follows_you": "Follows You" "follows_you": "フォローされています"
}, },
"dashboard": { "dashboard": {
"posts": "投稿", "posts": "投稿",
@ -441,20 +441,20 @@
}, },
"relationship_action_alert": { "relationship_action_alert": {
"confirm_mute_user": { "confirm_mute_user": {
"title": "Mute Account", "title": "アカウントをミュート",
"message": "Confirm to mute %s" "message": "%sをミュートしますか?"
}, },
"confirm_unmute_user": { "confirm_unmute_user": {
"title": "ミュートを解除", "title": "ミュートを解除",
"message": "%sをミュートしますか" "message": "%sをミュートしますか"
}, },
"confirm_block_user": { "confirm_block_user": {
"title": "Block Account", "title": "アカウントをブロック",
"message": "Confirm to block %s" "message": "%sをブロックしますか?"
}, },
"confirm_unblock_user": { "confirm_unblock_user": {
"title": "Unblock Account", "title": "アカウントのブロックを解除",
"message": "Confirm to unblock %s" "message": "%sのブロックを解除しますか?"
} }
}, },
"accessibility": { "accessibility": {
@ -465,11 +465,11 @@
} }
}, },
"follower": { "follower": {
"title": "follower", "title": "フォロワー",
"footer": "他のサーバーからのフォロワーは表示されません。" "footer": "他のサーバーからのフォロワーは表示されません。"
}, },
"following": { "following": {
"title": "following", "title": "フォロー",
"footer": "他のサーバーにいるフォローは表示されません。" "footer": "他のサーバーにいるフォローは表示されません。"
}, },
"familiarFollowers": { "familiarFollowers": {
@ -534,16 +534,22 @@
"Mentions": "メンション" "Mentions": "メンション"
}, },
"notification_description": { "notification_description": {
"followed_you": "さんにフォローされました", "followed_you": "にフォローされました",
"favorited_your_post": "さんあなたの投稿をお気に入りに登録しました", "favorited_your_post": "がお気に入りに登録",
"reblogged_your_post": "さんあなたの投稿をブーストしました", "reblogged_your_post": "がブースト",
"mentioned_you": "さんがあなたに返信しました", "mentioned_you": "にメンションされました",
"request_to_follow_you": "さんがあなたにフォローリクエストしました", "request_to_follow_you": "からのフォローリクエスト",
"poll_has_ended": "アンケートが終了しました" "poll_has_ended": "アンケートが終了"
}, },
"keyobard": { "keyobard": {
"show_everything": "すべて見る", "show_everything": "すべて見る",
"show_mentions": "メンションを見る" "show_mentions": "メンションを見る"
},
"follow_request": {
"accept": "承認",
"accepted": "承諾済み",
"reject": "拒否",
"rejected": "拒否済み"
} }
}, },
"thread": { "thread": {

View File

@ -544,6 +544,12 @@
"keyobard": { "keyobard": {
"show_everything": "Sken yal taɣawsa", "show_everything": "Sken yal taɣawsa",
"show_mentions": "Sken tisedmirin" "show_mentions": "Sken tisedmirin"
},
"follow_request": {
"accept": "Accept",
"accepted": "Accepted",
"reject": "reject",
"rejected": "Rejected"
} }
}, },
"thread": { "thread": {

View File

@ -544,6 +544,12 @@
"keyobard": { "keyobard": {
"show_everything": "Her tiştî nîşan bide", "show_everything": "Her tiştî nîşan bide",
"show_mentions": "Qalkirinan nîşan bike" "show_mentions": "Qalkirinan nîşan bike"
},
"follow_request": {
"accept": "Accept",
"accepted": "Accepted",
"reject": "reject",
"rejected": "Rejected"
} }
}, },
"thread": { "thread": {

View File

@ -544,6 +544,12 @@
"keyobard": { "keyobard": {
"show_everything": "Show Everything", "show_everything": "Show Everything",
"show_mentions": "Show Mentions" "show_mentions": "Show Mentions"
},
"follow_request": {
"accept": "수락",
"accepted": "수락됨",
"reject": "거절",
"rejected": "거절됨"
} }
}, },
"thread": { "thread": {

View File

@ -544,6 +544,12 @@
"keyobard": { "keyobard": {
"show_everything": "Alles weergeven", "show_everything": "Alles weergeven",
"show_mentions": "Vermeldingen weergeven" "show_mentions": "Vermeldingen weergeven"
},
"follow_request": {
"accept": "Accept",
"accepted": "Accepted",
"reject": "reject",
"rejected": "Rejected"
} }
}, },
"thread": { "thread": {

View File

@ -544,6 +544,12 @@
"keyobard": { "keyobard": {
"show_everything": "Show Everything", "show_everything": "Show Everything",
"show_mentions": "Show Mentions" "show_mentions": "Show Mentions"
},
"follow_request": {
"accept": "Accept",
"accepted": "Accepted",
"reject": "reject",
"rejected": "Rejected"
} }
}, },
"thread": { "thread": {

View File

@ -544,6 +544,12 @@
"keyobard": { "keyobard": {
"show_everything": "Show Everything", "show_everything": "Show Everything",
"show_mentions": "Show Mentions" "show_mentions": "Show Mentions"
},
"follow_request": {
"accept": "Accept",
"accepted": "Accepted",
"reject": "reject",
"rejected": "Rejected"
} }
}, },
"thread": { "thread": {

View File

@ -544,6 +544,12 @@
"keyobard": { "keyobard": {
"show_everything": "Show Everything", "show_everything": "Show Everything",
"show_mentions": "Show Mentions" "show_mentions": "Show Mentions"
},
"follow_request": {
"accept": "Accept",
"accepted": "Accepted",
"reject": "reject",
"rejected": "Rejected"
} }
}, },
"thread": { "thread": {

View File

@ -544,6 +544,12 @@
"keyobard": { "keyobard": {
"show_everything": "Показать все", "show_everything": "Показать все",
"show_mentions": "Показать упоминания" "show_mentions": "Показать упоминания"
},
"follow_request": {
"accept": "Accept",
"accepted": "Accepted",
"reject": "reject",
"rejected": "Rejected"
} }
}, },
"thread": { "thread": {

View File

@ -544,6 +544,12 @@
"keyobard": { "keyobard": {
"show_everything": "Visa allt", "show_everything": "Visa allt",
"show_mentions": "Visa omnämningar" "show_mentions": "Visa omnämningar"
},
"follow_request": {
"accept": "Accept",
"accepted": "Accepted",
"reject": "reject",
"rejected": "Rejected"
} }
}, },
"thread": { "thread": {

View File

@ -418,7 +418,7 @@
}, },
"profile": { "profile": {
"header": { "header": {
"follows_you": "Follows You" "follows_you": "ติดตามคุณ"
}, },
"dashboard": { "dashboard": {
"posts": "โพสต์", "posts": "โพสต์",
@ -544,6 +544,12 @@
"keyobard": { "keyobard": {
"show_everything": "แสดงทุกอย่าง", "show_everything": "แสดงทุกอย่าง",
"show_mentions": "แสดงการกล่าวถึง" "show_mentions": "แสดงการกล่าวถึง"
},
"follow_request": {
"accept": "Accept",
"accepted": "Accepted",
"reject": "reject",
"rejected": "Rejected"
} }
}, },
"thread": { "thread": {

View File

@ -544,6 +544,12 @@
"keyobard": { "keyobard": {
"show_everything": "Her Şeyi Göster", "show_everything": "Her Şeyi Göster",
"show_mentions": "Bahsetmeleri Göster" "show_mentions": "Bahsetmeleri Göster"
},
"follow_request": {
"accept": "Accept",
"accepted": "Accepted",
"reject": "reject",
"rejected": "Rejected"
} }
}, },
"thread": { "thread": {

View File

@ -544,6 +544,12 @@
"keyobard": { "keyobard": {
"show_everything": "Hiện mọi thứ", "show_everything": "Hiện mọi thứ",
"show_mentions": "Hiện lượt nhắc" "show_mentions": "Hiện lượt nhắc"
},
"follow_request": {
"accept": "Chấp nhận",
"accepted": "Đã chấp nhận",
"reject": "từ chối",
"rejected": "Đã từ chối"
} }
}, },
"thread": { "thread": {

View File

@ -544,6 +544,12 @@
"keyobard": { "keyobard": {
"show_everything": "显示全部", "show_everything": "显示全部",
"show_mentions": "显示提及" "show_mentions": "显示提及"
},
"follow_request": {
"accept": "接受",
"accepted": "已接受",
"reject": "拒绝",
"rejected": "已拒绝"
} }
}, },
"thread": { "thread": {

View File

@ -544,6 +544,12 @@
"keyobard": { "keyobard": {
"show_everything": "顯示全部", "show_everything": "顯示全部",
"show_mentions": "顯示提及" "show_mentions": "顯示提及"
},
"follow_request": {
"accept": "接受",
"accepted": "已接受",
"reject": "拒絕",
"rejected": "已拒絕"
} }
}, },
"thread": { "thread": {

View File

@ -544,6 +544,12 @@
"keyobard": { "keyobard": {
"show_everything": "Show Everything", "show_everything": "Show Everything",
"show_mentions": "Show Mentions" "show_mentions": "Show Mentions"
},
"follow_request": {
"accept": "Accept",
"accepted": "Accepted",
"reject": "reject",
"rejected": "Rejected"
} }
}, },
"thread": { "thread": {

View File

@ -4850,7 +4850,7 @@
CODE_SIGN_ENTITLEMENTS = Mastodon/Mastodon.entitlements; CODE_SIGN_ENTITLEMENTS = Mastodon/Mastodon.entitlements;
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 140; CURRENT_PROJECT_VERSION = 144;
DEVELOPMENT_ASSET_PATHS = "Mastodon/Resources/Preview\\ Assets.xcassets"; DEVELOPMENT_ASSET_PATHS = "Mastodon/Resources/Preview\\ Assets.xcassets";
DEVELOPMENT_TEAM = 5Z4GVSS33P; DEVELOPMENT_TEAM = 5Z4GVSS33P;
INFOPLIST_FILE = Mastodon/Info.plist; INFOPLIST_FILE = Mastodon/Info.plist;
@ -4880,7 +4880,7 @@
CODE_SIGN_ENTITLEMENTS = Mastodon/Mastodon.entitlements; CODE_SIGN_ENTITLEMENTS = Mastodon/Mastodon.entitlements;
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 140; CURRENT_PROJECT_VERSION = 144;
DEVELOPMENT_ASSET_PATHS = "Mastodon/Resources/Preview\\ Assets.xcassets"; DEVELOPMENT_ASSET_PATHS = "Mastodon/Resources/Preview\\ Assets.xcassets";
DEVELOPMENT_TEAM = 5Z4GVSS33P; DEVELOPMENT_TEAM = 5Z4GVSS33P;
INFOPLIST_FILE = Mastodon/Info.plist; INFOPLIST_FILE = Mastodon/Info.plist;
@ -4988,11 +4988,11 @@
APPLICATION_EXTENSION_API_ONLY = YES; APPLICATION_EXTENSION_API_ONLY = YES;
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 140; CURRENT_PROJECT_VERSION = 144;
DEFINES_MODULE = YES; DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = 5Z4GVSS33P; DEVELOPMENT_TEAM = 5Z4GVSS33P;
DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 140; DYLIB_CURRENT_VERSION = 144;
DYLIB_INSTALL_NAME_BASE = "@rpath"; DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = AppShared/Info.plist; INFOPLIST_FILE = AppShared/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
@ -5019,11 +5019,11 @@
APPLICATION_EXTENSION_API_ONLY = YES; APPLICATION_EXTENSION_API_ONLY = YES;
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 140; CURRENT_PROJECT_VERSION = 144;
DEFINES_MODULE = YES; DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = 5Z4GVSS33P; DEVELOPMENT_TEAM = 5Z4GVSS33P;
DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 140; DYLIB_CURRENT_VERSION = 144;
DYLIB_INSTALL_NAME_BASE = "@rpath"; DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = AppShared/Info.plist; INFOPLIST_FILE = AppShared/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
@ -5114,7 +5114,7 @@
CODE_SIGN_ENTITLEMENTS = Mastodon/Mastodon.entitlements; CODE_SIGN_ENTITLEMENTS = Mastodon/Mastodon.entitlements;
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 140; CURRENT_PROJECT_VERSION = 144;
DEVELOPMENT_ASSET_PATHS = "Mastodon/Resources/Preview\\ Assets.xcassets"; DEVELOPMENT_ASSET_PATHS = "Mastodon/Resources/Preview\\ Assets.xcassets";
DEVELOPMENT_TEAM = 5Z4GVSS33P; DEVELOPMENT_TEAM = 5Z4GVSS33P;
INFOPLIST_FILE = Mastodon/Info.plist; INFOPLIST_FILE = Mastodon/Info.plist;
@ -5182,11 +5182,11 @@
APPLICATION_EXTENSION_API_ONLY = YES; APPLICATION_EXTENSION_API_ONLY = YES;
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 140; CURRENT_PROJECT_VERSION = 144;
DEFINES_MODULE = YES; DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = 5Z4GVSS33P; DEVELOPMENT_TEAM = 5Z4GVSS33P;
DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 140; DYLIB_CURRENT_VERSION = 144;
DYLIB_INSTALL_NAME_BASE = "@rpath"; DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = AppShared/Info.plist; INFOPLIST_FILE = AppShared/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
@ -5211,7 +5211,7 @@
buildSettings = { buildSettings = {
CODE_SIGN_ENTITLEMENTS = NotificationService/NotificationService.entitlements; CODE_SIGN_ENTITLEMENTS = NotificationService/NotificationService.entitlements;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 140; CURRENT_PROJECT_VERSION = 144;
DEVELOPMENT_TEAM = 5Z4GVSS33P; DEVELOPMENT_TEAM = 5Z4GVSS33P;
INFOPLIST_FILE = NotificationService/Info.plist; INFOPLIST_FILE = NotificationService/Info.plist;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
@ -5234,7 +5234,7 @@
buildSettings = { buildSettings = {
CODE_SIGN_ENTITLEMENTS = ShareActionExtension/ShareActionExtension.entitlements; CODE_SIGN_ENTITLEMENTS = ShareActionExtension/ShareActionExtension.entitlements;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 140; CURRENT_PROJECT_VERSION = 144;
DEVELOPMENT_TEAM = 5Z4GVSS33P; DEVELOPMENT_TEAM = 5Z4GVSS33P;
INFOPLIST_FILE = ShareActionExtension/Info.plist; INFOPLIST_FILE = ShareActionExtension/Info.plist;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
@ -5258,7 +5258,7 @@
buildSettings = { buildSettings = {
CODE_SIGN_ENTITLEMENTS = MastodonIntent/MastodonIntent.entitlements; CODE_SIGN_ENTITLEMENTS = MastodonIntent/MastodonIntent.entitlements;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 140; CURRENT_PROJECT_VERSION = 144;
DEVELOPMENT_TEAM = 5Z4GVSS33P; DEVELOPMENT_TEAM = 5Z4GVSS33P;
INFOPLIST_FILE = MastodonIntent/Info.plist; INFOPLIST_FILE = MastodonIntent/Info.plist;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
@ -5282,7 +5282,7 @@
buildSettings = { buildSettings = {
CODE_SIGN_ENTITLEMENTS = MastodonIntent/MastodonIntent.entitlements; CODE_SIGN_ENTITLEMENTS = MastodonIntent/MastodonIntent.entitlements;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 140; CURRENT_PROJECT_VERSION = 144;
DEVELOPMENT_TEAM = 5Z4GVSS33P; DEVELOPMENT_TEAM = 5Z4GVSS33P;
INFOPLIST_FILE = MastodonIntent/Info.plist; INFOPLIST_FILE = MastodonIntent/Info.plist;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
@ -5306,7 +5306,7 @@
buildSettings = { buildSettings = {
CODE_SIGN_ENTITLEMENTS = MastodonIntent/MastodonIntent.entitlements; CODE_SIGN_ENTITLEMENTS = MastodonIntent/MastodonIntent.entitlements;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 140; CURRENT_PROJECT_VERSION = 144;
DEVELOPMENT_TEAM = 5Z4GVSS33P; DEVELOPMENT_TEAM = 5Z4GVSS33P;
INFOPLIST_FILE = MastodonIntent/Info.plist; INFOPLIST_FILE = MastodonIntent/Info.plist;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
@ -5330,7 +5330,7 @@
buildSettings = { buildSettings = {
CODE_SIGN_ENTITLEMENTS = ShareActionExtension/ShareActionExtension.entitlements; CODE_SIGN_ENTITLEMENTS = ShareActionExtension/ShareActionExtension.entitlements;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 140; CURRENT_PROJECT_VERSION = 144;
DEVELOPMENT_TEAM = 5Z4GVSS33P; DEVELOPMENT_TEAM = 5Z4GVSS33P;
INFOPLIST_FILE = ShareActionExtension/Info.plist; INFOPLIST_FILE = ShareActionExtension/Info.plist;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
@ -5354,7 +5354,7 @@
buildSettings = { buildSettings = {
CODE_SIGN_ENTITLEMENTS = ShareActionExtension/ShareActionExtension.entitlements; CODE_SIGN_ENTITLEMENTS = ShareActionExtension/ShareActionExtension.entitlements;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 140; CURRENT_PROJECT_VERSION = 144;
DEVELOPMENT_TEAM = 5Z4GVSS33P; DEVELOPMENT_TEAM = 5Z4GVSS33P;
INFOPLIST_FILE = ShareActionExtension/Info.plist; INFOPLIST_FILE = ShareActionExtension/Info.plist;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
@ -5441,7 +5441,7 @@
CODE_SIGN_ENTITLEMENTS = Mastodon/Mastodon.entitlements; CODE_SIGN_ENTITLEMENTS = Mastodon/Mastodon.entitlements;
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 140; CURRENT_PROJECT_VERSION = 144;
DEVELOPMENT_ASSET_PATHS = "Mastodon/Resources/Preview\\ Assets.xcassets"; DEVELOPMENT_ASSET_PATHS = "Mastodon/Resources/Preview\\ Assets.xcassets";
DEVELOPMENT_TEAM = 5Z4GVSS33P; DEVELOPMENT_TEAM = 5Z4GVSS33P;
INFOPLIST_FILE = Mastodon/Info.plist; INFOPLIST_FILE = Mastodon/Info.plist;
@ -5508,11 +5508,11 @@
APPLICATION_EXTENSION_API_ONLY = YES; APPLICATION_EXTENSION_API_ONLY = YES;
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 140; CURRENT_PROJECT_VERSION = 144;
DEFINES_MODULE = YES; DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = 5Z4GVSS33P; DEVELOPMENT_TEAM = 5Z4GVSS33P;
DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 140; DYLIB_CURRENT_VERSION = 144;
DYLIB_INSTALL_NAME_BASE = "@rpath"; DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = AppShared/Info.plist; INFOPLIST_FILE = AppShared/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
@ -5536,7 +5536,7 @@
buildSettings = { buildSettings = {
CODE_SIGN_ENTITLEMENTS = NotificationService/NotificationService.entitlements; CODE_SIGN_ENTITLEMENTS = NotificationService/NotificationService.entitlements;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 140; CURRENT_PROJECT_VERSION = 144;
DEVELOPMENT_TEAM = 5Z4GVSS33P; DEVELOPMENT_TEAM = 5Z4GVSS33P;
INFOPLIST_FILE = NotificationService/Info.plist; INFOPLIST_FILE = NotificationService/Info.plist;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
@ -5559,7 +5559,7 @@
buildSettings = { buildSettings = {
CODE_SIGN_ENTITLEMENTS = ShareActionExtension/ShareActionExtension.entitlements; CODE_SIGN_ENTITLEMENTS = ShareActionExtension/ShareActionExtension.entitlements;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 140; CURRENT_PROJECT_VERSION = 144;
DEVELOPMENT_TEAM = 5Z4GVSS33P; DEVELOPMENT_TEAM = 5Z4GVSS33P;
INFOPLIST_FILE = ShareActionExtension/Info.plist; INFOPLIST_FILE = ShareActionExtension/Info.plist;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
@ -5583,7 +5583,7 @@
buildSettings = { buildSettings = {
CODE_SIGN_ENTITLEMENTS = MastodonIntent/MastodonIntent.entitlements; CODE_SIGN_ENTITLEMENTS = MastodonIntent/MastodonIntent.entitlements;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 140; CURRENT_PROJECT_VERSION = 144;
DEVELOPMENT_TEAM = 5Z4GVSS33P; DEVELOPMENT_TEAM = 5Z4GVSS33P;
INFOPLIST_FILE = MastodonIntent/Info.plist; INFOPLIST_FILE = MastodonIntent/Info.plist;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
@ -5607,7 +5607,7 @@
buildSettings = { buildSettings = {
CODE_SIGN_ENTITLEMENTS = NotificationService/NotificationService.entitlements; CODE_SIGN_ENTITLEMENTS = NotificationService/NotificationService.entitlements;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 140; CURRENT_PROJECT_VERSION = 144;
DEVELOPMENT_TEAM = 5Z4GVSS33P; DEVELOPMENT_TEAM = 5Z4GVSS33P;
INFOPLIST_FILE = NotificationService/Info.plist; INFOPLIST_FILE = NotificationService/Info.plist;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
@ -5630,7 +5630,7 @@
buildSettings = { buildSettings = {
CODE_SIGN_ENTITLEMENTS = NotificationService/NotificationService.entitlements; CODE_SIGN_ENTITLEMENTS = NotificationService/NotificationService.entitlements;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 140; CURRENT_PROJECT_VERSION = 144;
DEVELOPMENT_TEAM = 5Z4GVSS33P; DEVELOPMENT_TEAM = 5Z4GVSS33P;
INFOPLIST_FILE = NotificationService/Info.plist; INFOPLIST_FILE = NotificationService/Info.plist;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (

View File

@ -19,7 +19,7 @@
<key>Mastodon - Profile.xcscheme_^#shared#^_</key> <key>Mastodon - Profile.xcscheme_^#shared#^_</key>
<dict> <dict>
<key>orderHint</key> <key>orderHint</key>
<integer>1</integer> <integer>3</integer>
</dict> </dict>
<key>Mastodon - RTL.xcscheme_^#shared#^_</key> <key>Mastodon - RTL.xcscheme_^#shared#^_</key>
<dict> <dict>
@ -114,7 +114,7 @@
<key>MastodonIntent.xcscheme_^#shared#^_</key> <key>MastodonIntent.xcscheme_^#shared#^_</key>
<dict> <dict>
<key>orderHint</key> <key>orderHint</key>
<integer>34</integer> <integer>29</integer>
</dict> </dict>
<key>MastodonIntents.xcscheme_^#shared#^_</key> <key>MastodonIntents.xcscheme_^#shared#^_</key>
<dict> <dict>
@ -129,12 +129,12 @@
<key>NotificationService.xcscheme_^#shared#^_</key> <key>NotificationService.xcscheme_^#shared#^_</key>
<dict> <dict>
<key>orderHint</key> <key>orderHint</key>
<integer>32</integer> <integer>31</integer>
</dict> </dict>
<key>ShareActionExtension.xcscheme_^#shared#^_</key> <key>ShareActionExtension.xcscheme_^#shared#^_</key>
<dict> <dict>
<key>orderHint</key> <key>orderHint</key>
<integer>33</integer> <integer>30</integer>
</dict> </dict>
</dict> </dict>
<key>SuppressBuildableAutocreation</key> <key>SuppressBuildableAutocreation</key>

View File

@ -496,7 +496,7 @@ private extension SceneCoordinator {
} }
let _viewController = SFSafariViewController(url: url) let _viewController = SFSafariViewController(url: url)
_viewController.preferredBarTintColor = ThemeService.shared.currentTheme.value.navigationBarBackgroundColor _viewController.preferredBarTintColor = ThemeService.shared.currentTheme.value.navigationBarBackgroundColor
_viewController.preferredControlTintColor = Asset.Colors.brandBlue.color _viewController.preferredControlTintColor = Asset.Colors.brand.color
viewController = _viewController viewController = _viewController
case .alertController(let alertController): case .alertController(let alertController):

View File

@ -17,7 +17,7 @@ extension Mastodon.Entity.Notification.NotificationType {
var color: UIColor var color: UIColor
switch self { switch self {
case .follow: case .follow:
color = Asset.Colors.brandBlue.color color = Asset.Colors.brand.color
case .favourite: case .favourite:
color = Asset.Colors.Notification.favourite.color color = Asset.Colors.Notification.favourite.color
case .reblog: case .reblog:
@ -25,9 +25,9 @@ extension Mastodon.Entity.Notification.NotificationType {
case .mention: case .mention:
color = Asset.Colors.Notification.mention.color color = Asset.Colors.Notification.mention.color
case .poll: case .poll:
color = Asset.Colors.brandBlue.color color = Asset.Colors.brand.color
case .followRequest: case .followRequest:
color = Asset.Colors.brandBlue.color color = Asset.Colors.brand.color
default: default:
color = .clear color = .clear
} }

View File

@ -35,7 +35,7 @@ extension UITableView {
let backgroundColor = cell.backgroundColor let backgroundColor = cell.backgroundColor
UIView.animate(withDuration: 0.3) { UIView.animate(withDuration: 0.3) {
cell.backgroundColor = Asset.Colors.brandBlue.color.withAlphaComponent(0.5) cell.backgroundColor = Asset.Colors.brand.color.withAlphaComponent(0.5)
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
UIView.animate(withDuration: 0.3) { UIView.animate(withDuration: 0.3) {
cell.backgroundColor = backgroundColor cell.backgroundColor = backgroundColor

View File

@ -2,6 +2,19 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>onion</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSIncludesSubdomains</key>
<true/>
</dict>
</dict>
</dict>
<key>CADisableMinimumFrameDurationOnPhone</key> <key>CADisableMinimumFrameDurationOnPhone</key>
<true/> <true/>
<key>CFBundleDevelopmentRegion</key> <key>CFBundleDevelopmentRegion</key>
@ -17,7 +30,7 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string> <string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>1.4.4</string> <string>1.4.5</string>
<key>CFBundleURLTypes</key> <key>CFBundleURLTypes</key>
<array> <array>
<dict> <dict>
@ -30,7 +43,7 @@
</dict> </dict>
</array> </array>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>140</string> <string>144</string>
<key>ITSAppUsesNonExemptEncryption</key> <key>ITSAppUsesNonExemptEncryption</key>
<false/> <false/>
<key>LSApplicationQueriesSchemes</key> <key>LSApplicationQueriesSchemes</key>
@ -46,19 +59,6 @@
</array> </array>
<key>LSRequiresIPhoneOS</key> <key>LSRequiresIPhoneOS</key>
<true/> <true/>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>onion</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSIncludesSubdomains</key>
<true/>
</dict>
</dict>
</dict>
<key>NSUserActivityTypes</key> <key>NSUserActivityTypes</key>
<array> <array>
<string>SendPostIntent</string> <string>SendPostIntent</string>

View File

@ -14,7 +14,7 @@ extension DataSourceFacade {
user: ManagedObjectRecord<MastodonUser>, user: ManagedObjectRecord<MastodonUser>,
authenticationBox: MastodonAuthenticationBox authenticationBox: MastodonAuthenticationBox
) async throws { ) async throws {
let selectionFeedbackGenerator = UISelectionFeedbackGenerator() let selectionFeedbackGenerator = await UISelectionFeedbackGenerator()
await selectionFeedbackGenerator.selectionChanged() await selectionFeedbackGenerator.selectionChanged()
_ = try await dependency.context.apiService.toggleBlock( _ = try await dependency.context.apiService.toggleBlock(

View File

@ -15,7 +15,7 @@ extension DataSourceFacade {
status: ManagedObjectRecord<Status>, status: ManagedObjectRecord<Status>,
authenticationBox: MastodonAuthenticationBox authenticationBox: MastodonAuthenticationBox
) async throws { ) async throws {
let selectionFeedbackGenerator = UISelectionFeedbackGenerator() let selectionFeedbackGenerator = await UISelectionFeedbackGenerator()
await selectionFeedbackGenerator.selectionChanged() await selectionFeedbackGenerator.selectionChanged()
_ = try await provider.context.apiService.favorite( _ = try await provider.context.apiService.favorite(

View File

@ -7,6 +7,9 @@
import UIKit import UIKit
import CoreDataStack import CoreDataStack
import class CoreDataStack.Notification
import MastodonSDK
import MastodonLocalization
extension DataSourceFacade { extension DataSourceFacade {
static func responseToUserFollowAction( static func responseToUserFollowAction(
@ -14,7 +17,7 @@ extension DataSourceFacade {
user: ManagedObjectRecord<MastodonUser>, user: ManagedObjectRecord<MastodonUser>,
authenticationBox: MastodonAuthenticationBox authenticationBox: MastodonAuthenticationBox
) async throws { ) async throws {
let selectionFeedbackGenerator = UISelectionFeedbackGenerator() let selectionFeedbackGenerator = await UISelectionFeedbackGenerator()
await selectionFeedbackGenerator.selectionChanged() await selectionFeedbackGenerator.selectionChanged()
_ = try await dependency.context.apiService.toggleFollow( _ = try await dependency.context.apiService.toggleFollow(
@ -23,3 +26,104 @@ extension DataSourceFacade {
) )
} // end func } // end func
} }
extension DataSourceFacade {
static func responseToUserFollowRequestAction(
dependency: NeedsDependency,
notification: ManagedObjectRecord<Notification>,
query: Mastodon.API.Account.FollowReqeustQuery,
authenticationBox: MastodonAuthenticationBox
) async throws {
let selectionFeedbackGenerator = await UISelectionFeedbackGenerator()
await selectionFeedbackGenerator.selectionChanged()
let managedObjectContext = dependency.context.managedObjectContext
let _userID: MastodonUser.ID? = try await managedObjectContext.perform {
guard let notification = notification.object(in: managedObjectContext) else { return nil }
return notification.account.id
}
guard let userID = _userID else {
assertionFailure()
throw APIService.APIError.implicit(.badRequest)
}
let state: MastodonFollowRequestState = try await managedObjectContext.perform {
guard let notification = notification.object(in: managedObjectContext) else { return .init(state: .none) }
return notification.followRequestState
}
guard state.state == .none else {
return
}
try? await managedObjectContext.performChanges {
guard let notification = notification.object(in: managedObjectContext) else { return }
switch query {
case .accept:
notification.transientFollowRequestState = .init(state: .isAccepting)
case .reject:
notification.transientFollowRequestState = .init(state: .isRejecting)
}
}
do {
_ = try await dependency.context.apiService.followRequest(
userID: userID,
query: query,
authenticationBox: authenticationBox
)
} catch {
try? await managedObjectContext.performChanges {
guard let notification = notification.object(in: managedObjectContext) else { return }
notification.transientFollowRequestState = .init(state: .none)
}
if let error = error as? Mastodon.API.Error {
switch error.httpResponseStatus {
case .notFound:
let backgroundManagedObjectContext = dependency.context.backgroundManagedObjectContext
try await backgroundManagedObjectContext.performChanges {
guard let notification = notification.object(in: backgroundManagedObjectContext) else { return }
for feed in notification.feeds {
backgroundManagedObjectContext.delete(feed)
}
backgroundManagedObjectContext.delete(notification)
}
default:
let alertController = await UIAlertController(for: error, title: nil, preferredStyle: .alert)
let okAction = await UIAlertAction(title: L10n.Common.Controls.Actions.ok, style: .default)
await alertController.addAction(okAction)
await dependency.coordinator.present(
scene: .alertController(alertController: alertController),
from: nil,
transition: .alertController(animated: true, completion: nil)
)
}
}
return
}
try? await managedObjectContext.performChanges {
guard let notification = notification.object(in: managedObjectContext) else { return }
switch query {
case .accept:
notification.transientFollowRequestState = .init(state: .isAccept)
case .reject:
notification.transientFollowRequestState = .init(state: .isReject)
}
}
let backgroundManagedObjectContext = dependency.context.backgroundManagedObjectContext
try? await backgroundManagedObjectContext.performChanges {
guard let notification = notification.object(in: backgroundManagedObjectContext) else { return }
switch query {
case .accept:
notification.followRequestState = .init(state: .isAccept)
case .reject:
notification.followRequestState = .init(state: .isReject)
}
}
} // end func
}

View File

@ -14,7 +14,7 @@ extension DataSourceFacade {
user: ManagedObjectRecord<MastodonUser>, user: ManagedObjectRecord<MastodonUser>,
authenticationBox: MastodonAuthenticationBox authenticationBox: MastodonAuthenticationBox
) async throws { ) async throws {
let selectionFeedbackGenerator = UISelectionFeedbackGenerator() let selectionFeedbackGenerator = await UISelectionFeedbackGenerator()
await selectionFeedbackGenerator.selectionChanged() await selectionFeedbackGenerator.selectionChanged()
_ = try await dependency.context.apiService.toggleMute( _ = try await dependency.context.apiService.toggleMute(

View File

@ -15,7 +15,7 @@ extension DataSourceFacade {
status: ManagedObjectRecord<Status>, status: ManagedObjectRecord<Status>,
authenticationBox: MastodonAuthenticationBox authenticationBox: MastodonAuthenticationBox
) async throws { ) async throws {
let selectionFeedbackGenerator = UISelectionFeedbackGenerator() let selectionFeedbackGenerator = await UISelectionFeedbackGenerator()
await selectionFeedbackGenerator.selectionChanged() await selectionFeedbackGenerator.selectionChanged()
_ = try await provider.context.apiService.reblog( _ = try await provider.context.apiService.reblog(

View File

@ -87,6 +87,69 @@ extension NotificationTableViewCellDelegate where Self: DataSourceProvider {
} }
} }
// MARK: - Follow Request
extension NotificationTableViewCellDelegate where Self: DataSourceProvider {
func tableViewCell(
_ cell: UITableViewCell,
notificationView: NotificationView,
acceptFollowRequestButtonDidPressed button: UIButton
) {
Task {
let source = DataSourceItem.Source(tableViewCell: cell, indexPath: nil)
guard let item = await item(from: source) else {
assertionFailure()
return
}
guard case let .notification(notification) = item else {
assertionFailure("only works for status data provider")
return
}
guard let authenticationBox = context.authenticationService.activeMastodonAuthenticationBox.value else {
return
}
try await DataSourceFacade.responseToUserFollowRequestAction(
dependency: self,
notification: notification,
query: .accept,
authenticationBox: authenticationBox
)
} // end Task
}
func tableViewCell(
_ cell: UITableViewCell,
notificationView: NotificationView,
rejectFollowRequestButtonDidPressed button: UIButton
) {
Task {
let source = DataSourceItem.Source(tableViewCell: cell, indexPath: nil)
guard let item = await item(from: source) else {
assertionFailure()
return
}
guard case let .notification(notification) = item else {
assertionFailure("only works for status data provider")
return
}
guard let authenticationBox = context.authenticationService.activeMastodonAuthenticationBox.value else {
return
}
try await DataSourceFacade.responseToUserFollowRequestAction(
dependency: self,
notification: notification,
query: .reject,
authenticationBox: authenticationBox
)
} // end Task
}
}
// MARK: - Status Content // MARK: - Status Content
extension NotificationTableViewCellDelegate where Self: DataSourceProvider { extension NotificationTableViewCellDelegate where Self: DataSourceProvider {
func tableViewCell( func tableViewCell(

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 KiB

View File

@ -1,112 +1,190 @@
{ {
"images" : [ "images" : [
{ {
"filename" : "icon_20pt@2x.png", "filename" : "AppIcon~iPhone-20@2x.png",
"idiom" : "iphone", "idiom" : "iphone",
"scale" : "2x", "scale" : "2x",
"size" : "20x20" "size" : "20x20"
}, },
{ {
"filename" : "icon_20pt@3x.png", "filename" : "AppIcon~iPhone-20@3x.png",
"idiom" : "iphone", "idiom" : "iphone",
"scale" : "3x", "scale" : "3x",
"size" : "20x20" "size" : "20x20"
}, },
{ {
"filename" : "icon_29pt@2x.png", "filename" : "AppIcon~iPhone-29@1x.png",
"idiom" : "iphone",
"scale" : "1x",
"size" : "29x29"
},
{
"filename" : "AppIcon~iPhone-29@2x.png",
"idiom" : "iphone", "idiom" : "iphone",
"scale" : "2x", "scale" : "2x",
"size" : "29x29" "size" : "29x29"
}, },
{ {
"filename" : "icon_29pt@3x.png", "filename" : "AppIcon~iPhone-29@3x.png",
"idiom" : "iphone", "idiom" : "iphone",
"scale" : "3x", "scale" : "3x",
"size" : "29x29" "size" : "29x29"
}, },
{ {
"filename" : "icon_40pt@2x.png", "filename" : "AppIcon~iPhone-40@2x.png",
"idiom" : "iphone", "idiom" : "iphone",
"scale" : "2x", "scale" : "2x",
"size" : "40x40" "size" : "40x40"
}, },
{ {
"filename" : "icon_40pt@3x.png", "filename" : "AppIcon~iPhone-40@3x.png",
"idiom" : "iphone", "idiom" : "iphone",
"scale" : "3x", "scale" : "3x",
"size" : "40x40" "size" : "40x40"
}, },
{ {
"filename" : "icon_60pt@2x.png", "filename" : "AppIcon~iPhone-57@1x.png",
"idiom" : "iphone",
"scale" : "1x",
"size" : "57x57"
},
{
"filename" : "AppIcon~iPhone-57@2x.png",
"idiom" : "iphone",
"scale" : "2x",
"size" : "57x57"
},
{
"filename" : "AppIcon~iPhone-60@2x.png",
"idiom" : "iphone", "idiom" : "iphone",
"scale" : "2x", "scale" : "2x",
"size" : "60x60" "size" : "60x60"
}, },
{ {
"filename" : "icon_60pt@3x.png", "filename" : "AppIcon~iPhone-60@3x.png",
"idiom" : "iphone", "idiom" : "iphone",
"scale" : "3x", "scale" : "3x",
"size" : "60x60" "size" : "60x60"
}, },
{ {
"filename" : "icon_20pt.png", "filename" : "AppIcon~iPad-20@1x.png",
"idiom" : "ipad", "idiom" : "ipad",
"scale" : "1x", "scale" : "1x",
"size" : "20x20" "size" : "20x20"
}, },
{ {
"filename" : "icon_20pt@2x-1.png", "filename" : "AppIcon~iPad-20@2x.png",
"idiom" : "ipad", "idiom" : "ipad",
"scale" : "2x", "scale" : "2x",
"size" : "20x20" "size" : "20x20"
}, },
{ {
"filename" : "icon_29pt.png", "filename" : "AppIcon~iPad-29@1x.png",
"idiom" : "ipad", "idiom" : "ipad",
"scale" : "1x", "scale" : "1x",
"size" : "29x29" "size" : "29x29"
}, },
{ {
"filename" : "icon_29pt@2x-1.png", "filename" : "AppIcon~iPad-29@2x.png",
"idiom" : "ipad", "idiom" : "ipad",
"scale" : "2x", "scale" : "2x",
"size" : "29x29" "size" : "29x29"
}, },
{ {
"filename" : "icon_40pt.png", "filename" : "AppIcon~iPad-40@1x.png",
"idiom" : "ipad", "idiom" : "ipad",
"scale" : "1x", "scale" : "1x",
"size" : "40x40" "size" : "40x40"
}, },
{ {
"filename" : "icon_40pt@2x-1.png", "filename" : "AppIcon~iPad-40@2x.png",
"idiom" : "ipad", "idiom" : "ipad",
"scale" : "2x", "scale" : "2x",
"size" : "40x40" "size" : "40x40"
}, },
{ {
"filename" : "icon_76pt.png", "filename" : "AppIcon~iPad-76@1x.png",
"idiom" : "ipad", "idiom" : "ipad",
"scale" : "1x", "scale" : "1x",
"size" : "76x76" "size" : "76x76"
}, },
{ {
"filename" : "icon_76pt@2x.png", "filename" : "AppIcon~iPad-76@2x.png",
"idiom" : "ipad", "idiom" : "ipad",
"scale" : "2x", "scale" : "2x",
"size" : "76x76" "size" : "76x76"
}, },
{ {
"filename" : "icon_83.5@2x.png", "filename" : "AppIcon~iPad-83.5@2x.png",
"idiom" : "ipad", "idiom" : "ipad",
"scale" : "2x", "scale" : "2x",
"size" : "83.5x83.5" "size" : "83.5x83.5"
}, },
{ {
"filename" : "iTunesArtwork@2x.png", "filename" : "AppIcon~iOS-Marketing-1024@1x.png",
"idiom" : "ios-marketing", "idiom" : "ios-marketing",
"scale" : "1x", "scale" : "1x",
"size" : "1024x1024" "size" : "1024x1024"
},
{
"filename" : "AppIcon~macOS-16@1x.png",
"idiom" : "mac",
"scale" : "1x",
"size" : "16x16"
},
{
"filename" : "AppIcon~macOS-16@2x.png",
"idiom" : "mac",
"scale" : "2x",
"size" : "16x16"
},
{
"filename" : "AppIcon~macOS-32@1x.png",
"idiom" : "mac",
"scale" : "1x",
"size" : "32x32"
},
{
"filename" : "AppIcon~macOS-32@2x.png",
"idiom" : "mac",
"scale" : "2x",
"size" : "32x32"
},
{
"filename" : "AppIcon~macOS-128@1x.png",
"idiom" : "mac",
"scale" : "1x",
"size" : "128x128"
},
{
"filename" : "AppIcon~macOS-128@2x.png",
"idiom" : "mac",
"scale" : "2x",
"size" : "128x128"
},
{
"filename" : "AppIcon~macOS-256@1x.png",
"idiom" : "mac",
"scale" : "1x",
"size" : "256x256"
},
{
"filename" : "AppIcon~macOS-256@2x.png",
"idiom" : "mac",
"scale" : "2x",
"size" : "256x256"
},
{
"filename" : "AppIcon~macOS-512@1x.png",
"idiom" : "mac",
"scale" : "1x",
"size" : "512x512"
},
{
"filename" : "AppIcon~macOS-512@2x.png",
"idiom" : "mac",
"scale" : "2x",
"size" : "512x512"
} }
], ],
"info" : { "info" : {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 798 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

View File

@ -25,7 +25,7 @@ final class ComposeStatusPollExpiresOptionCollectionViewCell: UICollectionViewCe
button.titleLabel?.font = UIFontMetrics(forTextStyle: .body).scaledFont(for: .systemFont(ofSize: 12)) button.titleLabel?.font = UIFontMetrics(forTextStyle: .body).scaledFont(for: .systemFont(ofSize: 12))
button.expandEdgeInsets = UIEdgeInsets(top: 0, left: -10, bottom: -20, right: -20) button.expandEdgeInsets = UIEdgeInsets(top: 0, left: -10, bottom: -20, right: -20)
button.setTitle(L10n.Scene.Compose.Poll.durationTime(L10n.Scene.Compose.Poll.thirtyMinutes), for: .normal) button.setTitle(L10n.Scene.Compose.Poll.durationTime(L10n.Scene.Compose.Poll.thirtyMinutes), for: .normal)
button.setTitleColor(Asset.Colors.brandBlue.color, for: .normal) button.setTitleColor(Asset.Colors.brand.color, for: .normal)
return button return button
}() }()

Some files were not shown because too many files have changed in this diff Show More