forked from zelo72/mastodon-ios
Merge pull request #428 from mastodon/feature-report-flow
Update report flow
This commit is contained in:
commit
c98aab5efd
|
@ -15,8 +15,8 @@
|
|||
<key>CFBundlePackageType</key>
|
||||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.4.1</string>
|
||||
<string>1.4.2</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>126</string>
|
||||
<string>127</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
|
@ -1,51 +1,51 @@
|
|||
"16wxgf" = "Post on Mastodon";
|
||||
"16wxgf" = "Julkaise Mastodonissa";
|
||||
|
||||
"751xkl" = "Text Content";
|
||||
"751xkl" = "Tekstisisältö";
|
||||
|
||||
"CsR7G2" = "Post on Mastodon";
|
||||
"CsR7G2" = "Julkaise Mastodonissa";
|
||||
|
||||
"HZSGTr" = "What content to post?";
|
||||
"HZSGTr" = "Mitä sisältöä julkaista?";
|
||||
|
||||
"HdGikU" = "Posting failed";
|
||||
"HdGikU" = "Julkaiseminen epäonnistui";
|
||||
|
||||
"KDNTJ4" = "Failure Reason";
|
||||
"KDNTJ4" = "Epäonnistumisen syy";
|
||||
|
||||
"RHxKOw" = "Send Post with text content";
|
||||
"RHxKOw" = "Lähetä julkaisu teksisisällöllä";
|
||||
|
||||
"RxSqsb" = "Post";
|
||||
"RxSqsb" = "Julkaisu";
|
||||
|
||||
"WCIR3D" = "Post ${content} on Mastodon";
|
||||
"WCIR3D" = "Julkaise ${content} Mastodonissa";
|
||||
|
||||
"ZKJSNu" = "Post";
|
||||
"ZKJSNu" = "Julkaisu";
|
||||
|
||||
"ZS1XaK" = "${content}";
|
||||
|
||||
"ZbSjzC" = "Visibility";
|
||||
"ZbSjzC" = "Näkyvyys";
|
||||
|
||||
"Zo4jgJ" = "Post Visibility";
|
||||
"Zo4jgJ" = "Julkaisun näkyvyys";
|
||||
|
||||
"apSxMG-dYQ5NN" = "There are ${count} options matching ‘Public’.";
|
||||
"apSxMG-dYQ5NN" = "On ${count} vaihtoehtoa, jotka vastaavat ‘Julkinen’.";
|
||||
|
||||
"apSxMG-ehFLjY" = "There are ${count} options matching ‘Followers Only’.";
|
||||
"apSxMG-ehFLjY" = "On ${count} vaihtoehtoa, jotka vastaavat ‘Vain seuraajat’.";
|
||||
|
||||
"ayoYEb-dYQ5NN" = "${content}, Public";
|
||||
"ayoYEb-dYQ5NN" = "${content}, julkinen";
|
||||
|
||||
"ayoYEb-ehFLjY" = "${content}, Followers Only";
|
||||
"ayoYEb-ehFLjY" = "${content}, vain seuraajat";
|
||||
|
||||
"dUyuGg" = "Post on Mastodon";
|
||||
"dUyuGg" = "Julkaise Mastodonissa";
|
||||
|
||||
"dYQ5NN" = "Public";
|
||||
"dYQ5NN" = "Julkinen";
|
||||
|
||||
"ehFLjY" = "Followers Only";
|
||||
"ehFLjY" = "Vain seuraajat";
|
||||
|
||||
"gfePDu" = "Posting failed. ${failureReason}";
|
||||
"gfePDu" = "Julkaiseminen epäonnistui. ${failureReason}";
|
||||
|
||||
"k7dbKQ" = "Post was sent successfully.";
|
||||
"k7dbKQ" = "Julkaisu lähetettiin onnistuneesti.";
|
||||
|
||||
"oGiqmY-dYQ5NN" = "Just to confirm, you wanted ‘Public’?";
|
||||
"oGiqmY-dYQ5NN" = "Vahvitukseksi, halusit ‘Julkinen’?";
|
||||
|
||||
"oGiqmY-ehFLjY" = "Just to confirm, you wanted ‘Followers Only’?";
|
||||
"oGiqmY-ehFLjY" = "Vahvitstukseksi, halusit ‘Vain seuraajat’?";
|
||||
|
||||
"rM6dvp" = "URL";
|
||||
|
||||
"ryJLwG" = "Post was sent successfully. ";
|
||||
"ryJLwG" = "Julkaisu lähetettiin onnistuneesti. ";
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<key>There are ${count} options matching ‘${content}’. - 2</key>
|
||||
<dict>
|
||||
<key>NSStringLocalizedFormatKey</key>
|
||||
<string>There are %#@count_option@ matching ‘${content}’.</string>
|
||||
<string>On %#@count_option@, joka/jotka vastaavat sisältöön ‘${content}’.</string>
|
||||
<key>count_option</key>
|
||||
<dict>
|
||||
<key>NSStringFormatSpecTypeKey</key>
|
||||
|
@ -13,15 +13,15 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>%ld</string>
|
||||
<key>one</key>
|
||||
<string>1 option</string>
|
||||
<string>1 vaihtoehto</string>
|
||||
<key>other</key>
|
||||
<string>%ld options</string>
|
||||
<string>%ld vaihtoehtoa</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>There are ${count} options matching ‘${visibility}’.</key>
|
||||
<dict>
|
||||
<key>NSStringLocalizedFormatKey</key>
|
||||
<string>There are %#@count_option@ matching ‘${visibility}’.</string>
|
||||
<string>On vaihtoehtoa %#@count_option@, joka/jotka vastaavat näkyvyyteen ‘${visibility}’.</string>
|
||||
<key>count_option</key>
|
||||
<dict>
|
||||
<key>NSStringFormatSpecTypeKey</key>
|
||||
|
@ -29,9 +29,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>%ld</string>
|
||||
<key>one</key>
|
||||
<string>1 option</string>
|
||||
<string>1 vaihtoehto</string>
|
||||
<key>other</key>
|
||||
<string>%ld options</string>
|
||||
<string>%ld vaihtoehtoa</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
|
|
|
@ -1,51 +1,51 @@
|
|||
"16wxgf" = "Post on Mastodon";
|
||||
"16wxgf" = "Publicar en Mastodon";
|
||||
|
||||
"751xkl" = "Text Content";
|
||||
"751xkl" = "Texto a incluír";
|
||||
|
||||
"CsR7G2" = "Post on Mastodon";
|
||||
"CsR7G2" = "Publicar en Mastodon";
|
||||
|
||||
"HZSGTr" = "What content to post?";
|
||||
"HZSGTr" = "Cal é o contido a publicar?";
|
||||
|
||||
"HdGikU" = "Posting failed";
|
||||
"HdGikU" = "Fallou a publicación";
|
||||
|
||||
"KDNTJ4" = "Failure Reason";
|
||||
"KDNTJ4" = "Razón do fallo";
|
||||
|
||||
"RHxKOw" = "Send Post with text content";
|
||||
"RHxKOw" = "Enviar Publicación con texto";
|
||||
|
||||
"RxSqsb" = "Post";
|
||||
"RxSqsb" = "Publicación";
|
||||
|
||||
"WCIR3D" = "Post ${content} on Mastodon";
|
||||
"WCIR3D" = "Publicar ${content} en Mastodon";
|
||||
|
||||
"ZKJSNu" = "Post";
|
||||
"ZKJSNu" = "Publicación";
|
||||
|
||||
"ZS1XaK" = "${content}";
|
||||
|
||||
"ZbSjzC" = "Visibility";
|
||||
"ZbSjzC" = "Visibilidade";
|
||||
|
||||
"Zo4jgJ" = "Post Visibility";
|
||||
"Zo4jgJ" = "Visibilidade da publicación";
|
||||
|
||||
"apSxMG-dYQ5NN" = "There are ${count} options matching ‘Public’.";
|
||||
"apSxMG-dYQ5NN" = "Hai ${count} opcións que coinciden con ‘Público’.";
|
||||
|
||||
"apSxMG-ehFLjY" = "There are ${count} options matching ‘Followers Only’.";
|
||||
"apSxMG-ehFLjY" = "Hai ${count} opcións que coinciden con 'Só seguidoras’.";
|
||||
|
||||
"ayoYEb-dYQ5NN" = "${content}, Public";
|
||||
"ayoYEb-dYQ5NN" = "${content}, Público";
|
||||
|
||||
"ayoYEb-ehFLjY" = "${content}, Followers Only";
|
||||
"ayoYEb-ehFLjY" = "${content}, Só seguidoras";
|
||||
|
||||
"dUyuGg" = "Post on Mastodon";
|
||||
"dUyuGg" = "Publicar en Mastodon";
|
||||
|
||||
"dYQ5NN" = "Public";
|
||||
"dYQ5NN" = "Público";
|
||||
|
||||
"ehFLjY" = "Followers Only";
|
||||
"ehFLjY" = "Só seguidoras";
|
||||
|
||||
"gfePDu" = "Posting failed. ${failureReason}";
|
||||
"gfePDu" = "Fallou a publicación. ${failureReason}";
|
||||
|
||||
"k7dbKQ" = "Post was sent successfully.";
|
||||
"k7dbKQ" = "Publicación correcta.";
|
||||
|
||||
"oGiqmY-dYQ5NN" = "Just to confirm, you wanted ‘Public’?";
|
||||
"oGiqmY-dYQ5NN" = "Só para confirmar, querías ’Público'?";
|
||||
|
||||
"oGiqmY-ehFLjY" = "Just to confirm, you wanted ‘Followers Only’?";
|
||||
"oGiqmY-ehFLjY" = "Só para confirmar, querías ’Só para seguidoras'?";
|
||||
|
||||
"rM6dvp" = "URL";
|
||||
|
||||
"ryJLwG" = "Post was sent successfully. ";
|
||||
"ryJLwG" = "Publicación correcta. ";
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<key>There are ${count} options matching ‘${content}’. - 2</key>
|
||||
<dict>
|
||||
<key>NSStringLocalizedFormatKey</key>
|
||||
<string>There are %#@count_option@ matching ‘${content}’.</string>
|
||||
<string>Hai %#@count_option@ coincidencias con '${content}'.</string>
|
||||
<key>count_option</key>
|
||||
<dict>
|
||||
<key>NSStringFormatSpecTypeKey</key>
|
||||
|
@ -13,15 +13,15 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>%ld</string>
|
||||
<key>one</key>
|
||||
<string>1 option</string>
|
||||
<string>1 opción</string>
|
||||
<key>other</key>
|
||||
<string>%ld options</string>
|
||||
<string>%ld opcións</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>There are ${count} options matching ‘${visibility}’.</key>
|
||||
<dict>
|
||||
<key>NSStringLocalizedFormatKey</key>
|
||||
<string>There are %#@count_option@ matching ‘${visibility}’.</string>
|
||||
<string>Hai %#@count_option@ coincidentes con '${visibility}'.</string>
|
||||
<key>count_option</key>
|
||||
<dict>
|
||||
<key>NSStringFormatSpecTypeKey</key>
|
||||
|
@ -29,9 +29,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>%ld</string>
|
||||
<key>one</key>
|
||||
<string>1 option</string>
|
||||
<string>1 opción</string>
|
||||
<key>other</key>
|
||||
<string>%ld options</string>
|
||||
<string>%ld opcións</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
"16wxgf" = "Posta på Mastodon";
|
||||
"16wxgf" = "Publicera på Mastodon";
|
||||
|
||||
"751xkl" = "Textinnehåll";
|
||||
|
||||
"CsR7G2" = "Posta på Mastodon";
|
||||
"CsR7G2" = "Publicera på Mastodon";
|
||||
|
||||
"HZSGTr" = "Vilket innehåll ska jag posta?";
|
||||
"HZSGTr" = "Vilket innehåll ska publiceras?";
|
||||
|
||||
"HdGikU" = "Inlägget misslyckades";
|
||||
"HdGikU" = "Publiceringen misslyckades";
|
||||
|
||||
"KDNTJ4" = "Felorsak";
|
||||
|
||||
"RHxKOw" = "Skicka inlägg med textinnehåll";
|
||||
|
||||
"RxSqsb" = "Posta";
|
||||
"RxSqsb" = "Inlägg";
|
||||
|
||||
"WCIR3D" = "Posta ${content} på Mastodon";
|
||||
"WCIR3D" = "Publicera ${content} på Mastodon";
|
||||
|
||||
"ZKJSNu" = "Posta";
|
||||
"ZKJSNu" = "Inlägg";
|
||||
|
||||
"ZS1XaK" = "${content}";
|
||||
|
||||
|
@ -24,28 +24,28 @@
|
|||
|
||||
"Zo4jgJ" = "Inläggssynlighet";
|
||||
|
||||
"apSxMG-dYQ5NN" = "Det finns ${count} alternativ som matchar ‘Publikt’.";
|
||||
"apSxMG-dYQ5NN" = "Det finns ${count} alternativ som matchar ‘Offentligt’.";
|
||||
|
||||
"apSxMG-ehFLjY" = "Det finns ${count} alternativ som matchar ‘Endast följare’.";
|
||||
|
||||
"ayoYEb-dYQ5NN" = "${content}, Publikt";
|
||||
"ayoYEb-dYQ5NN" = "${content}, Offentligt";
|
||||
|
||||
"ayoYEb-ehFLjY" = "${content}, Endast följare";
|
||||
|
||||
"dUyuGg" = "Posta på Mastodon";
|
||||
"dUyuGg" = "Publicera på Mastodon";
|
||||
|
||||
"dYQ5NN" = "Publikt";
|
||||
"dYQ5NN" = "Offentligt";
|
||||
|
||||
"ehFLjY" = "Endast följare";
|
||||
|
||||
"gfePDu" = "Inlägget misslyckades. ${failureReason}";
|
||||
"gfePDu" = "Publicering misslyckades. ${failureReason}";
|
||||
|
||||
"k7dbKQ" = "Inlägget har postats.";
|
||||
"k7dbKQ" = "Inlägget har publicerats.";
|
||||
|
||||
"oGiqmY-dYQ5NN" = "Bara för att bekräfta, ville du ha 'Publikt'?";
|
||||
"oGiqmY-dYQ5NN" = "Bara för att bekräfta, ville du ha 'Offentligt'?";
|
||||
|
||||
"oGiqmY-ehFLjY" = "Bara för att bekräfta, ville du ha 'Endast följare'?";
|
||||
|
||||
"rM6dvp" = "URL";
|
||||
|
||||
"ryJLwG" = "Inlägget har postats. ";
|
||||
"ryJLwG" = "Inlägget har publicerats. ";
|
||||
|
|
|
@ -109,7 +109,7 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>zero</key>
|
||||
<string>لا منشور</string>
|
||||
<string>لا مَنشورات</string>
|
||||
<key>one</key>
|
||||
<string>منشورٌ واحِد</string>
|
||||
<key>two</key>
|
||||
|
@ -447,13 +447,13 @@
|
|||
<key>zero</key>
|
||||
<string>تتبقى لَحظة</string>
|
||||
<key>one</key>
|
||||
<string>تتبقى ثانية</string>
|
||||
<string>تتبقى ثانية واحِدة</string>
|
||||
<key>two</key>
|
||||
<string>تتبقى ثانيتين</string>
|
||||
<string>تتبقى ثانيتان</string>
|
||||
<key>few</key>
|
||||
<string>تتبقى %ld ثوان</string>
|
||||
<key>many</key>
|
||||
<string>تتبقى %ld ثانيةً</string>
|
||||
<string>تتبقى %ld ثانية</string>
|
||||
<key>other</key>
|
||||
<string>تتبقى %ld ثانية</string>
|
||||
</dict>
|
||||
|
|
|
@ -71,7 +71,7 @@
|
|||
"cancel": "إلغاء",
|
||||
"discard": "تجاهُل",
|
||||
"try_again": "المُحاولة مرة أُخرى",
|
||||
"take_photo": "التقاط صورة",
|
||||
"take_photo": "اِلتِقاطُ صُورَة",
|
||||
"save_photo": "حفظ الصورة",
|
||||
"copy_photo": "نسخ الصورة",
|
||||
"sign_in": "تسجيل الدخول",
|
||||
|
@ -240,7 +240,8 @@
|
|||
"category": "الفئة"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "اِبحَث عن خادِم أو انضم إلى آخر خاص بك..."
|
||||
"placeholder": "اِبحَث عن خادِم أو انضم إلى آخر خاص بك...",
|
||||
"search_servers_or_enter_url": "اِبحث عَن مُجتَمَعَات أو أدخِل عُنوانَ URL"
|
||||
},
|
||||
"empty_state": {
|
||||
"finding_servers": "يجري إيجاد خوادم متوفِّرَة...",
|
||||
|
@ -342,7 +343,11 @@
|
|||
"offline": "غَير مُتَّصِل",
|
||||
"new_posts": "إظهار منشورات جديدة",
|
||||
"published": "تمَّ النَّشر!",
|
||||
"Publishing": "يَجري نَشر المُشارَكَة..."
|
||||
"Publishing": "يَجري نَشر المُشارَكَة...",
|
||||
"accessibility": {
|
||||
"logo_label": "ُّزِرُّ الشِّعار",
|
||||
"logo_hint": "اُنقُر لِلتمريرِ لأعلى واُنقُر مَرّةً أُخرَى لِلذَّهابِ إلَى المَوقِعِ السَّابِق"
|
||||
}
|
||||
}
|
||||
},
|
||||
"suggestion_account": {
|
||||
|
@ -355,11 +360,11 @@
|
|||
"new_reply": "رَدٌّ جديد"
|
||||
},
|
||||
"media_selection": {
|
||||
"camera": "إلتقاط صورة",
|
||||
"photo_library": "مكتبة الصور",
|
||||
"browse": "تصفح"
|
||||
"camera": "اِلتِقاطُ صُورَة",
|
||||
"photo_library": "مَكتَبَةُ الصُّوَر",
|
||||
"browse": "تَصَفَّح"
|
||||
},
|
||||
"content_input_placeholder": "أخبِرنا بِما يَجُولُ فِي ذِهنَك",
|
||||
"content_input_placeholder": "عَبِّر عَمَّ يَجُولُ فِي ذِهنِك",
|
||||
"compose_action": "نَشر",
|
||||
"replying_to_user": "رَدًا على %s",
|
||||
"attachment": {
|
||||
|
@ -588,15 +593,56 @@
|
|||
"report": {
|
||||
"title_report": "إبلاغ",
|
||||
"title": "الإبلاغ عن %s",
|
||||
"step1": "الخطوة الأولى مِن أصل اثنتين",
|
||||
"step2": "الخطوة الثانية والأخيرة",
|
||||
"step1": "الخطوة 1 مِن أصل 2",
|
||||
"step2": "الخطوة 2 مِن أصل 2",
|
||||
"content1": "هل ترغب في إضافة أي منشورات أُخرى إلى البلاغ؟",
|
||||
"content2": "هل هناك أي شيء يجب أن يعرفه المُراقبين حول هذا البلاغ؟",
|
||||
"report_sent_title": "شُكرًا لَكَ على الإبلاغ، سَوفَ نَنظُرُ فِي هَذَا الأمر.",
|
||||
"send": "إرسال البلاغ",
|
||||
"skip_to_send": "إرسال بدون تعليق",
|
||||
"text_placeholder": "اكتب أو الصق تعليقات إضافيَّة",
|
||||
"reported": "مُبْلَغٌ عَنه"
|
||||
"reported": "مُبْلَغٌ عَنه",
|
||||
"step_one": {
|
||||
"step_1_of_4": "الخطوة 1 مِن أصل 4",
|
||||
"whats_wrong_with_this_post": "ما المُشكِلَةُ فِي هَذَا المَنشُور؟",
|
||||
"whats_wrong_with_this_account": "ما المُشكِلَةُ فِي هَذَا الحِساب؟",
|
||||
"whats_wrong_with_this_username": "ما المُشكِلَة مَعَ %s؟",
|
||||
"select_the_best_match": "اِختَر أفضلَ تَطابُق",
|
||||
"i_dont_like_it": "لا يُعجِبُني",
|
||||
"it_is_not_something_you_want_to_see": "إنَّهُ ليسَ شيئًا تُريدُ رُؤيَتَه",
|
||||
"its_spam": "إنَّهُ غَيرٌ مَرغوبٍ فيه",
|
||||
"malicious_links_fake_engagement_or_repetetive_replies": "رَوابِطٌ ضَارَّة، اِرتِباطاتٌ مُزيَّفَة أو رُدودٌ مُتَكَرِّرَة",
|
||||
"it_violates_server_rules": "يَنتَهِكُ قَواعِدَ الخادِم",
|
||||
"you_are_aware_that_it_breaks_specific_rules": "أنتَ مُدِركٌ لِانتِهاكِهِ قَواعِدًا مُحَدَّدَة",
|
||||
"its_something_else": "إنَّهُ شَيءٌ آخَر",
|
||||
"the_issue_does_not_fit_into_other_categories": "المُشكِلَةُ لَا تَتَناسَبُ مَعَ الفِئاتِ الأُخرَى"
|
||||
},
|
||||
"step_two": {
|
||||
"step_2_of_4": "الخطوة 2 مِن أصل 4",
|
||||
"which_rules_are_being_violated": "مَا هِيَ القَواعِدُ الَّتي تُنتَهَك؟",
|
||||
"select_all_that_apply": "اِختَر كُلَّ ما يَنطَبِق",
|
||||
"i_just_don’t_like_it": "أنا فَقَط لا يُعجِبُني"
|
||||
},
|
||||
"step_three": {
|
||||
"step_3_of_4": "الخطوة 3 مِن أصل 4",
|
||||
"are_there_any_posts_that_back_up_this_report": "هَل هُناكَ أيُّ مَنشُوراتٍ أُخرَى تَتَوافَقُ مَعَ هَذَا التَّقرير؟",
|
||||
"select_all_that_apply": "اِختَر كُلَّ ما يَنطَبِق"
|
||||
},
|
||||
"step_four": {
|
||||
"step_4_of_4": "الخطوة 4 مِن أصل 4",
|
||||
"is_there_anything_else_we_should_know": "هَل هُناكَ شَيءٌ آخَرَ يَجِبُ أن نَعلَمَ بِه؟"
|
||||
},
|
||||
"step_final": {
|
||||
"dont_want_to_see_this": "ألَا تُريدُ رُؤيَةَ هَذَا؟",
|
||||
"when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "عِندما تَرى شيئًا لَا يُعجِبُكَ عَلَى مَاستودُون، يُمكِنُكَ إزالَةُ الشَّخصِ مِن تَجرِبَتِك.",
|
||||
"unfollow": "إلغاءُ المُتابَعَة",
|
||||
"unfollowed": "أُلغِيَت المُتابَعَة",
|
||||
"unfollow_user": "إلغاءُ مُتابَعَةِ %s",
|
||||
"mute_user": "كَتمُ %s",
|
||||
"you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "لَن تَرى مُشارَكاتِهِ أو إعادَاتِ تَدوينَهِ فِي تغذيَتِكَ الرَّئيسَة. لَن يَعرِفَ أنَّهُ قَد كُتِمَ أيضًا.",
|
||||
"block_user": "حَظرُ %s",
|
||||
"they_will_no_longer_be_able_to_follow_or_see_your_posts_but_they_can_see_if_theyve_been_blocked": "لَن يَتمكَّنَ بَعدَ الآنِ مِن مُتابَعَةِ مَنشوراتِكَ أو رُؤيَتِها، وَلكِن يُمكِنَهُ مَعرِفَةُ مَا إذا حُظَرِت عَنه."
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"keyboard": {
|
||||
|
|
|
@ -240,16 +240,17 @@
|
|||
"category": "CATEGORIA"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Troba un servidor o uneix-te al teu..."
|
||||
"placeholder": "Cerca servidors",
|
||||
"search_servers_or_enter_url": "Cerca comunitats o introdueix l'URL"
|
||||
},
|
||||
"empty_state": {
|
||||
"finding_servers": "Cercant els servidors disponibles...",
|
||||
"bad_network": "S'ha produït un error en carregar les dades. Comprova la teva connexió a Internet.",
|
||||
"bad_network": "Alguna cosa no ha anat bé en carregar les dades. Comprova la teva connexió a Internet.",
|
||||
"no_results": "No hi ha resultats"
|
||||
}
|
||||
},
|
||||
"register": {
|
||||
"title": "Parla'ns de tu.",
|
||||
"title": "Anem a configurar-te a %s",
|
||||
"input": {
|
||||
"avatar": {
|
||||
"delete": "Suprimeix"
|
||||
|
@ -309,7 +310,7 @@
|
|||
},
|
||||
"server_rules": {
|
||||
"title": "Algunes regles bàsiques.",
|
||||
"subtitle": "Aquestes regles estan establertes per els administradors de %s.",
|
||||
"subtitle": "Aquestes regles estan establertes i aplicades per els moderadors de %s.",
|
||||
"prompt": "Al continuar, estàs subjecte als termes de servei i a la política de privacitat de %s.",
|
||||
"terms_of_service": "termes del servei",
|
||||
"privacy_policy": "política de privadesa",
|
||||
|
@ -342,11 +343,15 @@
|
|||
"offline": "Fora de línia",
|
||||
"new_posts": "Veure noves publicacions",
|
||||
"published": "Publicat!",
|
||||
"Publishing": "S'està publicant..."
|
||||
"Publishing": "S'està publicant...",
|
||||
"accessibility": {
|
||||
"logo_label": "Botó de logotip",
|
||||
"logo_hint": "Toca per desplaçar-te cap a dalt i torna a toca de nou per tornar a la ubicació anterior"
|
||||
}
|
||||
}
|
||||
},
|
||||
"suggestion_account": {
|
||||
"title": "Cerca Persones per Seguir",
|
||||
"title": "Cerca Persones a Seguir",
|
||||
"follow_explain": "Quan segueixes algú, veuràs les seves publicacions a Inici."
|
||||
},
|
||||
"compose": {
|
||||
|
@ -596,7 +601,48 @@
|
|||
"send": "Envia Informe",
|
||||
"skip_to_send": "Envia sense comentaris",
|
||||
"text_placeholder": "Escriu o enganxa comentaris addicionals",
|
||||
"reported": "REPORTAT"
|
||||
"reported": "REPORTAT",
|
||||
"step_one": {
|
||||
"step_1_of_4": "Pas 1 de 4",
|
||||
"whats_wrong_with_this_post": "Quin és el problema amb aquesta publicació?",
|
||||
"whats_wrong_with_this_account": "Quin és el problema amb aquest compte?",
|
||||
"whats_wrong_with_this_username": "Quin és el problema amb %s?",
|
||||
"select_the_best_match": "Selecciona la millor coincidència",
|
||||
"i_dont_like_it": "No m'agrada",
|
||||
"it_is_not_something_you_want_to_see": "No és una cosa que vulguis veure",
|
||||
"its_spam": "És contingut brossa",
|
||||
"malicious_links_fake_engagement_or_repetetive_replies": "Enllaços maliciosos, compromís falç o respostes repetitives",
|
||||
"it_violates_server_rules": "Infringeix les normes del servidor",
|
||||
"you_are_aware_that_it_breaks_specific_rules": "Ets conscient que incompleix normes específiques",
|
||||
"its_something_else": "És una altra cosa",
|
||||
"the_issue_does_not_fit_into_other_categories": "El problema no encaixa en altres categories"
|
||||
},
|
||||
"step_two": {
|
||||
"step_2_of_4": "Pas 2 de 4",
|
||||
"which_rules_are_being_violated": "Quines normes s'estan infringint?",
|
||||
"select_all_that_apply": "Selecciona tot el que correspongui",
|
||||
"i_just_don’t_like_it": "Simplement no m'agrada"
|
||||
},
|
||||
"step_three": {
|
||||
"step_3_of_4": "Pas 3 de 4",
|
||||
"are_there_any_posts_that_back_up_this_report": "Hi ha alguna publicació que recolzi aquest informe?",
|
||||
"select_all_that_apply": "Selecciona tot el que correspongui"
|
||||
},
|
||||
"step_four": {
|
||||
"step_4_of_4": "Pas 4 de 4",
|
||||
"is_there_anything_else_we_should_know": "Hi ha res més que hauríem de saber?"
|
||||
},
|
||||
"step_final": {
|
||||
"dont_want_to_see_this": "No vols veure això?",
|
||||
"when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "Quan veus alguna cosa que no t'agrada a Mastodon, pots eliminar la persona de la vostra experiència.",
|
||||
"unfollow": "Deixa de seguir",
|
||||
"unfollowed": "S'ha deixat de seguir",
|
||||
"unfollow_user": "Deixa de seguir %s",
|
||||
"mute_user": "Silencia %s",
|
||||
"you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "No veuràs les seves publicacions o impulsos a la teva línia de temps personal. No sabran que han estat silenciats.",
|
||||
"block_user": "Bloca %s",
|
||||
"they_will_no_longer_be_able_to_follow_or_see_your_posts_but_they_can_see_if_theyve_been_blocked": "Ja no podran seguir ni veure les teves publicacions, però poden veure si han estat bloquejats."
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"keyboard": {
|
||||
|
|
|
@ -240,7 +240,8 @@
|
|||
"category": "بەش"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "بگەڕێ"
|
||||
"placeholder": "بگەڕێ",
|
||||
"search_servers_or_enter_url": "Search communities or enter URL"
|
||||
},
|
||||
"empty_state": {
|
||||
"finding_servers": "ڕاژەکار دەدۆزرێتەوە...",
|
||||
|
@ -342,7 +343,11 @@
|
|||
"offline": "دەرهێڵ",
|
||||
"new_posts": "پۆستە نوێکان ببینە",
|
||||
"published": "بڵاوکرایەوە!",
|
||||
"Publishing": "پۆستەکە بڵاو دەکرێتەوە..."
|
||||
"Publishing": "پۆستەکە بڵاو دەکرێتەوە...",
|
||||
"accessibility": {
|
||||
"logo_label": "Logo Button",
|
||||
"logo_hint": "Tap to scroll to top and tap again to previous location"
|
||||
}
|
||||
}
|
||||
},
|
||||
"suggestion_account": {
|
||||
|
@ -596,7 +601,48 @@
|
|||
"send": "سکاڵاکە بنێرە",
|
||||
"skip_to_send": "بەبێ لێدوان بینێرە",
|
||||
"text_placeholder": "ڕوونکردنەوەی زۆرتر بدە",
|
||||
"reported": "سکاڵای لێ کرا"
|
||||
"reported": "سکاڵای لێ کرا",
|
||||
"step_one": {
|
||||
"step_1_of_4": "Step 1 of 4",
|
||||
"whats_wrong_with_this_post": "What's wrong with this post?",
|
||||
"whats_wrong_with_this_account": "What's wrong with this account?",
|
||||
"whats_wrong_with_this_username": "What's wrong with %s?",
|
||||
"select_the_best_match": "Select the best match",
|
||||
"i_dont_like_it": "I don’t like it",
|
||||
"it_is_not_something_you_want_to_see": "It is not something you want to see",
|
||||
"its_spam": "It’s spam",
|
||||
"malicious_links_fake_engagement_or_repetetive_replies": "Malicious links, fake engagement, or repetetive replies",
|
||||
"it_violates_server_rules": "It violates server rules",
|
||||
"you_are_aware_that_it_breaks_specific_rules": "You are aware that it breaks specific rules",
|
||||
"its_something_else": "It’s something else",
|
||||
"the_issue_does_not_fit_into_other_categories": "The issue does not fit into other categories"
|
||||
},
|
||||
"step_two": {
|
||||
"step_2_of_4": "Step 2 of 4",
|
||||
"which_rules_are_being_violated": "Which rules are being violated?",
|
||||
"select_all_that_apply": "Select all that apply",
|
||||
"i_just_don’t_like_it": "I just don’t like it"
|
||||
},
|
||||
"step_three": {
|
||||
"step_3_of_4": "Step 3 of 4",
|
||||
"are_there_any_posts_that_back_up_this_report": "Are there any posts that back up this report?",
|
||||
"select_all_that_apply": "Select all that apply"
|
||||
},
|
||||
"step_four": {
|
||||
"step_4_of_4": "Step 4 of 4",
|
||||
"is_there_anything_else_we_should_know": "Is there anything else we should know?"
|
||||
},
|
||||
"step_final": {
|
||||
"dont_want_to_see_this": "Don’t want to see this?",
|
||||
"when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.",
|
||||
"unfollow": "Unfollow",
|
||||
"unfollowed": "Unfollowed",
|
||||
"unfollow_user": "Unfollow %s",
|
||||
"mute_user": "Mute %s",
|
||||
"you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.",
|
||||
"block_user": "Block %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 they’ve been blocked."
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"keyboard": {
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
<key>many</key>
|
||||
<string>%ld characters</string>
|
||||
<key>other</key>
|
||||
<string>%ld characters</string>
|
||||
<string>%ld nodau</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>a11y.plural.count.input_limit_remains</key>
|
||||
|
@ -85,17 +85,17 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>zero</key>
|
||||
<string>posts</string>
|
||||
<string>post</string>
|
||||
<key>one</key>
|
||||
<string>post</string>
|
||||
<key>two</key>
|
||||
<string>posts</string>
|
||||
<string>postiau</string>
|
||||
<key>few</key>
|
||||
<string>posts</string>
|
||||
<key>many</key>
|
||||
<string>posts</string>
|
||||
<key>other</key>
|
||||
<string>posts</string>
|
||||
<string>postiau</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>plural.count.post</key>
|
||||
|
|
|
@ -138,7 +138,7 @@
|
|||
},
|
||||
"actions": {
|
||||
"reply": "Reply",
|
||||
"reblog": "Reblog",
|
||||
"reblog": "Hybwch",
|
||||
"unreblog": "Undo reblog",
|
||||
"favorite": "Favorite",
|
||||
"unfavorite": "Unfavorite",
|
||||
|
@ -240,7 +240,8 @@
|
|||
"category": "CATEGORY"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Search servers"
|
||||
"placeholder": "Search servers",
|
||||
"search_servers_or_enter_url": "Search communities or enter URL"
|
||||
},
|
||||
"empty_state": {
|
||||
"finding_servers": "Finding available servers...",
|
||||
|
@ -342,7 +343,11 @@
|
|||
"offline": "Offline",
|
||||
"new_posts": "See new posts",
|
||||
"published": "Published!",
|
||||
"Publishing": "Publishing post..."
|
||||
"Publishing": "Publishing post...",
|
||||
"accessibility": {
|
||||
"logo_label": "Logo Button",
|
||||
"logo_hint": "Tap to scroll to top and tap again to previous location"
|
||||
}
|
||||
}
|
||||
},
|
||||
"suggestion_account": {
|
||||
|
@ -411,7 +416,7 @@
|
|||
},
|
||||
"profile": {
|
||||
"dashboard": {
|
||||
"posts": "posts",
|
||||
"posts": "postiadau",
|
||||
"following": "following",
|
||||
"followers": "followers"
|
||||
},
|
||||
|
@ -423,9 +428,9 @@
|
|||
}
|
||||
},
|
||||
"segmented_control": {
|
||||
"posts": "Posts",
|
||||
"posts": "Postiadau",
|
||||
"replies": "Replies",
|
||||
"posts_and_replies": "Posts and Replies",
|
||||
"posts_and_replies": "Postiadau ac Atebion",
|
||||
"media": "Media",
|
||||
"about": "About"
|
||||
},
|
||||
|
@ -484,7 +489,7 @@
|
|||
"all": "All",
|
||||
"people": "People",
|
||||
"hashtags": "Hashtags",
|
||||
"posts": "Posts"
|
||||
"posts": "Postiadau"
|
||||
},
|
||||
"empty_state": {
|
||||
"no_results": "No results"
|
||||
|
@ -495,7 +500,7 @@
|
|||
},
|
||||
"discovery": {
|
||||
"tabs": {
|
||||
"posts": "Posts",
|
||||
"posts": "Postiadau",
|
||||
"hashtags": "Hashtags",
|
||||
"news": "News",
|
||||
"community": "Community",
|
||||
|
@ -596,7 +601,48 @@
|
|||
"send": "Send Report",
|
||||
"skip_to_send": "Send without comment",
|
||||
"text_placeholder": "Type or paste additional comments",
|
||||
"reported": "REPORTED"
|
||||
"reported": "REPORTED",
|
||||
"step_one": {
|
||||
"step_1_of_4": "Step 1 of 4",
|
||||
"whats_wrong_with_this_post": "What's wrong with this post?",
|
||||
"whats_wrong_with_this_account": "What's wrong with this account?",
|
||||
"whats_wrong_with_this_username": "What's wrong with %s?",
|
||||
"select_the_best_match": "Select the best match",
|
||||
"i_dont_like_it": "I don’t like it",
|
||||
"it_is_not_something_you_want_to_see": "It is not something you want to see",
|
||||
"its_spam": "It’s spam",
|
||||
"malicious_links_fake_engagement_or_repetetive_replies": "Malicious links, fake engagement, or repetetive replies",
|
||||
"it_violates_server_rules": "It violates server rules",
|
||||
"you_are_aware_that_it_breaks_specific_rules": "You are aware that it breaks specific rules",
|
||||
"its_something_else": "It’s something else",
|
||||
"the_issue_does_not_fit_into_other_categories": "The issue does not fit into other categories"
|
||||
},
|
||||
"step_two": {
|
||||
"step_2_of_4": "Step 2 of 4",
|
||||
"which_rules_are_being_violated": "Which rules are being violated?",
|
||||
"select_all_that_apply": "Select all that apply",
|
||||
"i_just_don’t_like_it": "I just don’t like it"
|
||||
},
|
||||
"step_three": {
|
||||
"step_3_of_4": "Step 3 of 4",
|
||||
"are_there_any_posts_that_back_up_this_report": "Are there any posts that back up this report?",
|
||||
"select_all_that_apply": "Select all that apply"
|
||||
},
|
||||
"step_four": {
|
||||
"step_4_of_4": "Step 4 of 4",
|
||||
"is_there_anything_else_we_should_know": "Is there anything else we should know?"
|
||||
},
|
||||
"step_final": {
|
||||
"dont_want_to_see_this": "Don’t want to see this?",
|
||||
"when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.",
|
||||
"unfollow": "Unfollow",
|
||||
"unfollowed": "Unfollowed",
|
||||
"unfollow_user": "Unfollow %s",
|
||||
"mute_user": "Mute %s",
|
||||
"you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.",
|
||||
"block_user": "Block %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 they’ve been blocked."
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"keyboard": {
|
||||
|
|
|
@ -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"
|
||||
"NewPostShortcutItemTitle": "Post Newydd",
|
||||
"SearchShortcutItemTitle": "Chwilio"
|
||||
}
|
||||
|
|
|
@ -240,7 +240,8 @@
|
|||
"category": "CATEGORY"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Search servers"
|
||||
"placeholder": "Search servers",
|
||||
"search_servers_or_enter_url": "Search communities or enter URL"
|
||||
},
|
||||
"empty_state": {
|
||||
"finding_servers": "Finding available servers...",
|
||||
|
@ -342,7 +343,11 @@
|
|||
"offline": "Offline",
|
||||
"new_posts": "See new posts",
|
||||
"published": "Published!",
|
||||
"Publishing": "Publishing post..."
|
||||
"Publishing": "Publishing post...",
|
||||
"accessibility": {
|
||||
"logo_label": "Logo Button",
|
||||
"logo_hint": "Tap to scroll to top and tap again to previous location"
|
||||
}
|
||||
}
|
||||
},
|
||||
"suggestion_account": {
|
||||
|
@ -596,7 +601,48 @@
|
|||
"send": "Send Report",
|
||||
"skip_to_send": "Send without comment",
|
||||
"text_placeholder": "Type or paste additional comments",
|
||||
"reported": "REPORTED"
|
||||
"reported": "REPORTED",
|
||||
"step_one": {
|
||||
"step_1_of_4": "Step 1 of 4",
|
||||
"whats_wrong_with_this_post": "What's wrong with this post?",
|
||||
"whats_wrong_with_this_account": "What's wrong with this account?",
|
||||
"whats_wrong_with_this_username": "What's wrong with %s?",
|
||||
"select_the_best_match": "Select the best match",
|
||||
"i_dont_like_it": "I don’t like it",
|
||||
"it_is_not_something_you_want_to_see": "It is not something you want to see",
|
||||
"its_spam": "It’s spam",
|
||||
"malicious_links_fake_engagement_or_repetetive_replies": "Malicious links, fake engagement, or repetetive replies",
|
||||
"it_violates_server_rules": "It violates server rules",
|
||||
"you_are_aware_that_it_breaks_specific_rules": "You are aware that it breaks specific rules",
|
||||
"its_something_else": "It’s something else",
|
||||
"the_issue_does_not_fit_into_other_categories": "The issue does not fit into other categories"
|
||||
},
|
||||
"step_two": {
|
||||
"step_2_of_4": "Step 2 of 4",
|
||||
"which_rules_are_being_violated": "Which rules are being violated?",
|
||||
"select_all_that_apply": "Select all that apply",
|
||||
"i_just_don’t_like_it": "I just don’t like it"
|
||||
},
|
||||
"step_three": {
|
||||
"step_3_of_4": "Step 3 of 4",
|
||||
"are_there_any_posts_that_back_up_this_report": "Are there any posts that back up this report?",
|
||||
"select_all_that_apply": "Select all that apply"
|
||||
},
|
||||
"step_four": {
|
||||
"step_4_of_4": "Step 4 of 4",
|
||||
"is_there_anything_else_we_should_know": "Is there anything else we should know?"
|
||||
},
|
||||
"step_final": {
|
||||
"dont_want_to_see_this": "Don’t want to see this?",
|
||||
"when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.",
|
||||
"unfollow": "Unfollow",
|
||||
"unfollowed": "Unfollowed",
|
||||
"unfollow_user": "Unfollow %s",
|
||||
"mute_user": "Mute %s",
|
||||
"you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.",
|
||||
"block_user": "Block %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 they’ve been blocked."
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"keyboard": {
|
||||
|
|
|
@ -129,7 +129,7 @@
|
|||
"show_post": "Beitrag anzeigen",
|
||||
"show_user_profile": "Benutzerprofil anzeigen",
|
||||
"content_warning": "Inhaltswarnung",
|
||||
"sensitive_content": "Sensitive Content",
|
||||
"sensitive_content": "NSFW-Inhalt",
|
||||
"media_content_warning": "Tippe irgendwo zum Anzeigen",
|
||||
"tap_to_reveal": "Zum Anzeigen tippen",
|
||||
"poll": {
|
||||
|
@ -240,7 +240,8 @@
|
|||
"category": "KATEGORIE"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Finde einen Server oder trete deinem eigenen bei..."
|
||||
"placeholder": "Finde einen Server oder trete deinem eigenen bei...",
|
||||
"search_servers_or_enter_url": "Search communities or enter URL"
|
||||
},
|
||||
"empty_state": {
|
||||
"finding_servers": "Verfügbare Server werden gesucht...",
|
||||
|
@ -342,7 +343,11 @@
|
|||
"offline": "Offline",
|
||||
"new_posts": "Neue Beiträge anzeigen",
|
||||
"published": "Veröffentlicht!",
|
||||
"Publishing": "Beitrag wird veröffentlicht..."
|
||||
"Publishing": "Beitrag wird veröffentlicht...",
|
||||
"accessibility": {
|
||||
"logo_label": "Logo Button",
|
||||
"logo_hint": "Tap to scroll to top and tap again to previous location"
|
||||
}
|
||||
}
|
||||
},
|
||||
"suggestion_account": {
|
||||
|
@ -501,7 +506,7 @@
|
|||
"community": "Community",
|
||||
"for_you": "Für dich"
|
||||
},
|
||||
"intro": "These are the posts gaining traction in your corner of Mastodon."
|
||||
"intro": "Dies sind die Beiträge, die in deiner Umgebung auf Mastodon beliebter werden."
|
||||
},
|
||||
"favorite": {
|
||||
"title": "Deine Favoriten"
|
||||
|
@ -596,7 +601,48 @@
|
|||
"send": "Meldung abschicken",
|
||||
"skip_to_send": "Ohne Kommentar abschicken",
|
||||
"text_placeholder": "Zusätzliche Kommentare eingeben oder einfügen",
|
||||
"reported": "GEMELDET"
|
||||
"reported": "GEMELDET",
|
||||
"step_one": {
|
||||
"step_1_of_4": "Step 1 of 4",
|
||||
"whats_wrong_with_this_post": "What's wrong with this post?",
|
||||
"whats_wrong_with_this_account": "What's wrong with this account?",
|
||||
"whats_wrong_with_this_username": "What's wrong with %s?",
|
||||
"select_the_best_match": "Select the best match",
|
||||
"i_dont_like_it": "I don’t like it",
|
||||
"it_is_not_something_you_want_to_see": "It is not something you want to see",
|
||||
"its_spam": "It’s spam",
|
||||
"malicious_links_fake_engagement_or_repetetive_replies": "Malicious links, fake engagement, or repetetive replies",
|
||||
"it_violates_server_rules": "It violates server rules",
|
||||
"you_are_aware_that_it_breaks_specific_rules": "You are aware that it breaks specific rules",
|
||||
"its_something_else": "It’s something else",
|
||||
"the_issue_does_not_fit_into_other_categories": "The issue does not fit into other categories"
|
||||
},
|
||||
"step_two": {
|
||||
"step_2_of_4": "Step 2 of 4",
|
||||
"which_rules_are_being_violated": "Which rules are being violated?",
|
||||
"select_all_that_apply": "Select all that apply",
|
||||
"i_just_don’t_like_it": "I just don’t like it"
|
||||
},
|
||||
"step_three": {
|
||||
"step_3_of_4": "Step 3 of 4",
|
||||
"are_there_any_posts_that_back_up_this_report": "Are there any posts that back up this report?",
|
||||
"select_all_that_apply": "Select all that apply"
|
||||
},
|
||||
"step_four": {
|
||||
"step_4_of_4": "Step 4 of 4",
|
||||
"is_there_anything_else_we_should_know": "Is there anything else we should know?"
|
||||
},
|
||||
"step_final": {
|
||||
"dont_want_to_see_this": "Don’t want to see this?",
|
||||
"when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.",
|
||||
"unfollow": "Unfollow",
|
||||
"unfollowed": "Unfollowed",
|
||||
"unfollow_user": "Unfollow %s",
|
||||
"mute_user": "Mute %s",
|
||||
"you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.",
|
||||
"block_user": "Block %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 they’ve been blocked."
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"keyboard": {
|
||||
|
@ -612,7 +658,7 @@
|
|||
},
|
||||
"wizard": {
|
||||
"new_in_mastodon": "Neu in Mastodon",
|
||||
"multiple_account_switch_intro_description": "Wechsel zwischen mehreren Konten durch drücken der Profil-Schaltfläche.",
|
||||
"multiple_account_switch_intro_description": "Wechsel zwischen mehreren Konten durch Drücken der Profil-Schaltfläche.",
|
||||
"accessibility_hint": "Doppeltippen, um diesen Assistenten zu schließen"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -240,7 +240,8 @@
|
|||
"category": "CATEGORY"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Search servers"
|
||||
"placeholder": "Search servers",
|
||||
"search_servers_or_enter_url": "Search communities or enter URL"
|
||||
},
|
||||
"empty_state": {
|
||||
"finding_servers": "Finding available servers...",
|
||||
|
@ -342,7 +343,11 @@
|
|||
"offline": "Offline",
|
||||
"new_posts": "See new posts",
|
||||
"published": "Published!",
|
||||
"Publishing": "Publishing post..."
|
||||
"Publishing": "Publishing post...",
|
||||
"accessibility": {
|
||||
"logo_label": "Logo Button",
|
||||
"logo_hint": "Tap to scroll to top and tap again to previous location"
|
||||
}
|
||||
}
|
||||
},
|
||||
"suggestion_account": {
|
||||
|
@ -596,7 +601,48 @@
|
|||
"send": "Send Report",
|
||||
"skip_to_send": "Send without comment",
|
||||
"text_placeholder": "Type or paste additional comments",
|
||||
"reported": "REPORTED"
|
||||
"reported": "REPORTED",
|
||||
"step_one": {
|
||||
"step_1_of_4": "Step 1 of 4",
|
||||
"whats_wrong_with_this_post": "What's wrong with this post?",
|
||||
"whats_wrong_with_this_account": "What's wrong with this account?",
|
||||
"whats_wrong_with_this_username": "What's wrong with %s?",
|
||||
"select_the_best_match": "Select the best match",
|
||||
"i_dont_like_it": "I don’t like it",
|
||||
"it_is_not_something_you_want_to_see": "It is not something you want to see",
|
||||
"its_spam": "It’s spam",
|
||||
"malicious_links_fake_engagement_or_repetetive_replies": "Malicious links, fake engagement, or repetetive replies",
|
||||
"it_violates_server_rules": "It violates server rules",
|
||||
"you_are_aware_that_it_breaks_specific_rules": "You are aware that it breaks specific rules",
|
||||
"its_something_else": "It’s something else",
|
||||
"the_issue_does_not_fit_into_other_categories": "The issue does not fit into other categories"
|
||||
},
|
||||
"step_two": {
|
||||
"step_2_of_4": "Step 2 of 4",
|
||||
"which_rules_are_being_violated": "Which rules are being violated?",
|
||||
"select_all_that_apply": "Select all that apply",
|
||||
"i_just_don’t_like_it": "I just don’t like it"
|
||||
},
|
||||
"step_three": {
|
||||
"step_3_of_4": "Step 3 of 4",
|
||||
"are_there_any_posts_that_back_up_this_report": "Are there any posts that back up this report?",
|
||||
"select_all_that_apply": "Select all that apply"
|
||||
},
|
||||
"step_four": {
|
||||
"step_4_of_4": "Step 4 of 4",
|
||||
"is_there_anything_else_we_should_know": "Is there anything else we should know?"
|
||||
},
|
||||
"step_final": {
|
||||
"dont_want_to_see_this": "Don’t want to see this?",
|
||||
"when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.",
|
||||
"unfollow": "Unfollow",
|
||||
"unfollowed": "Unfollowed",
|
||||
"unfollow_user": "Unfollow %s",
|
||||
"mute_user": "Mute %s",
|
||||
"you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.",
|
||||
"block_user": "Block %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 they’ve been blocked."
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"keyboard": {
|
||||
|
|
|
@ -240,7 +240,8 @@
|
|||
"category": "CATEGORÍA"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Encontrá un servidor o unite al tuyo…"
|
||||
"placeholder": "Encontrá un servidor o unite al tuyo…",
|
||||
"search_servers_or_enter_url": "Search communities or enter URL"
|
||||
},
|
||||
"empty_state": {
|
||||
"finding_servers": "Buscando servidores disponibles…",
|
||||
|
@ -342,7 +343,11 @@
|
|||
"offline": "Desconectado",
|
||||
"new_posts": "Ver nuevos mensajes",
|
||||
"published": "¡Enviado!",
|
||||
"Publishing": "Enviando mensaje…"
|
||||
"Publishing": "Enviando mensaje…",
|
||||
"accessibility": {
|
||||
"logo_label": "Logo Button",
|
||||
"logo_hint": "Tap to scroll to top and tap again to previous location"
|
||||
}
|
||||
}
|
||||
},
|
||||
"suggestion_account": {
|
||||
|
@ -498,7 +503,7 @@
|
|||
"posts": "Mensajes",
|
||||
"hashtags": "Etiquetas",
|
||||
"news": "Novedades",
|
||||
"community": "Community",
|
||||
"community": "Comunidad",
|
||||
"for_you": "Para vos"
|
||||
},
|
||||
"intro": "Estos son los mensajes que están ganando tracción en tu rincón de Mastodon."
|
||||
|
@ -596,7 +601,48 @@
|
|||
"send": "Enviar denuncia",
|
||||
"skip_to_send": "Enviar sin comentarios",
|
||||
"text_placeholder": "Escribí o pegá comentarios adicionales",
|
||||
"reported": "DENUNCIADA"
|
||||
"reported": "DENUNCIADA",
|
||||
"step_one": {
|
||||
"step_1_of_4": "Step 1 of 4",
|
||||
"whats_wrong_with_this_post": "What's wrong with this post?",
|
||||
"whats_wrong_with_this_account": "What's wrong with this account?",
|
||||
"whats_wrong_with_this_username": "What's wrong with %s?",
|
||||
"select_the_best_match": "Select the best match",
|
||||
"i_dont_like_it": "I don’t like it",
|
||||
"it_is_not_something_you_want_to_see": "It is not something you want to see",
|
||||
"its_spam": "It’s spam",
|
||||
"malicious_links_fake_engagement_or_repetetive_replies": "Malicious links, fake engagement, or repetetive replies",
|
||||
"it_violates_server_rules": "It violates server rules",
|
||||
"you_are_aware_that_it_breaks_specific_rules": "You are aware that it breaks specific rules",
|
||||
"its_something_else": "It’s something else",
|
||||
"the_issue_does_not_fit_into_other_categories": "The issue does not fit into other categories"
|
||||
},
|
||||
"step_two": {
|
||||
"step_2_of_4": "Step 2 of 4",
|
||||
"which_rules_are_being_violated": "Which rules are being violated?",
|
||||
"select_all_that_apply": "Select all that apply",
|
||||
"i_just_don’t_like_it": "I just don’t like it"
|
||||
},
|
||||
"step_three": {
|
||||
"step_3_of_4": "Step 3 of 4",
|
||||
"are_there_any_posts_that_back_up_this_report": "Are there any posts that back up this report?",
|
||||
"select_all_that_apply": "Select all that apply"
|
||||
},
|
||||
"step_four": {
|
||||
"step_4_of_4": "Step 4 of 4",
|
||||
"is_there_anything_else_we_should_know": "Is there anything else we should know?"
|
||||
},
|
||||
"step_final": {
|
||||
"dont_want_to_see_this": "Don’t want to see this?",
|
||||
"when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.",
|
||||
"unfollow": "Unfollow",
|
||||
"unfollowed": "Unfollowed",
|
||||
"unfollow_user": "Unfollow %s",
|
||||
"mute_user": "Mute %s",
|
||||
"you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.",
|
||||
"block_user": "Block %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 they’ve been blocked."
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"keyboard": {
|
||||
|
|
|
@ -240,7 +240,8 @@
|
|||
"category": "CATEGORÍA"
|
||||
},
|
||||
"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 communities or enter URL"
|
||||
},
|
||||
"empty_state": {
|
||||
"finding_servers": "Encontrando servidores disponibles...",
|
||||
|
@ -342,7 +343,11 @@
|
|||
"offline": "Sin Conexión",
|
||||
"new_posts": "Ver nuevas publicaciones",
|
||||
"published": "¡Publicado!",
|
||||
"Publishing": "Publicación en curso..."
|
||||
"Publishing": "Publicación en curso...",
|
||||
"accessibility": {
|
||||
"logo_label": "Logo Button",
|
||||
"logo_hint": "Tap to scroll to top and tap again to previous location"
|
||||
}
|
||||
}
|
||||
},
|
||||
"suggestion_account": {
|
||||
|
@ -596,7 +601,48 @@
|
|||
"send": "Enviar Reporte",
|
||||
"skip_to_send": "Enviar sin comentarios",
|
||||
"text_placeholder": "Escribe o pega comentarios adicionales",
|
||||
"reported": "REPORTADO"
|
||||
"reported": "REPORTADO",
|
||||
"step_one": {
|
||||
"step_1_of_4": "Step 1 of 4",
|
||||
"whats_wrong_with_this_post": "What's wrong with this post?",
|
||||
"whats_wrong_with_this_account": "What's wrong with this account?",
|
||||
"whats_wrong_with_this_username": "What's wrong with %s?",
|
||||
"select_the_best_match": "Select the best match",
|
||||
"i_dont_like_it": "I don’t like it",
|
||||
"it_is_not_something_you_want_to_see": "It is not something you want to see",
|
||||
"its_spam": "It’s spam",
|
||||
"malicious_links_fake_engagement_or_repetetive_replies": "Malicious links, fake engagement, or repetetive replies",
|
||||
"it_violates_server_rules": "It violates server rules",
|
||||
"you_are_aware_that_it_breaks_specific_rules": "You are aware that it breaks specific rules",
|
||||
"its_something_else": "It’s something else",
|
||||
"the_issue_does_not_fit_into_other_categories": "The issue does not fit into other categories"
|
||||
},
|
||||
"step_two": {
|
||||
"step_2_of_4": "Step 2 of 4",
|
||||
"which_rules_are_being_violated": "Which rules are being violated?",
|
||||
"select_all_that_apply": "Select all that apply",
|
||||
"i_just_don’t_like_it": "I just don’t like it"
|
||||
},
|
||||
"step_three": {
|
||||
"step_3_of_4": "Step 3 of 4",
|
||||
"are_there_any_posts_that_back_up_this_report": "Are there any posts that back up this report?",
|
||||
"select_all_that_apply": "Select all that apply"
|
||||
},
|
||||
"step_four": {
|
||||
"step_4_of_4": "Step 4 of 4",
|
||||
"is_there_anything_else_we_should_know": "Is there anything else we should know?"
|
||||
},
|
||||
"step_final": {
|
||||
"dont_want_to_see_this": "Don’t want to see this?",
|
||||
"when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.",
|
||||
"unfollow": "Unfollow",
|
||||
"unfollowed": "Unfollowed",
|
||||
"unfollow_user": "Unfollow %s",
|
||||
"mute_user": "Mute %s",
|
||||
"you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.",
|
||||
"block_user": "Block %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 they’ve been blocked."
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"keyboard": {
|
||||
|
|
|
@ -240,7 +240,8 @@
|
|||
"category": "KATEGORIA"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Bilatu zerbitzari bat edo sortu zurea..."
|
||||
"placeholder": "Bilatu zerbitzari bat edo sortu zurea...",
|
||||
"search_servers_or_enter_url": "Search communities or enter URL"
|
||||
},
|
||||
"empty_state": {
|
||||
"finding_servers": "Erabilgarri dauden zerbitzariak bilatzen...",
|
||||
|
@ -342,7 +343,11 @@
|
|||
"offline": "Konexio gabe",
|
||||
"new_posts": "Ikusi bidal. berriak",
|
||||
"published": "Argitaratua!",
|
||||
"Publishing": "Bidalketa argitaratzen..."
|
||||
"Publishing": "Bidalketa argitaratzen...",
|
||||
"accessibility": {
|
||||
"logo_label": "Logo Button",
|
||||
"logo_hint": "Tap to scroll to top and tap again to previous location"
|
||||
}
|
||||
}
|
||||
},
|
||||
"suggestion_account": {
|
||||
|
@ -596,7 +601,48 @@
|
|||
"send": "Bidali salaketa",
|
||||
"skip_to_send": "Bidali iruzkinik gabe",
|
||||
"text_placeholder": "Idatzi edo itsatsi iruzkin gehigarriak",
|
||||
"reported": "SALATUA"
|
||||
"reported": "SALATUA",
|
||||
"step_one": {
|
||||
"step_1_of_4": "Step 1 of 4",
|
||||
"whats_wrong_with_this_post": "What's wrong with this post?",
|
||||
"whats_wrong_with_this_account": "What's wrong with this account?",
|
||||
"whats_wrong_with_this_username": "What's wrong with %s?",
|
||||
"select_the_best_match": "Select the best match",
|
||||
"i_dont_like_it": "I don’t like it",
|
||||
"it_is_not_something_you_want_to_see": "It is not something you want to see",
|
||||
"its_spam": "It’s spam",
|
||||
"malicious_links_fake_engagement_or_repetetive_replies": "Malicious links, fake engagement, or repetetive replies",
|
||||
"it_violates_server_rules": "It violates server rules",
|
||||
"you_are_aware_that_it_breaks_specific_rules": "You are aware that it breaks specific rules",
|
||||
"its_something_else": "It’s something else",
|
||||
"the_issue_does_not_fit_into_other_categories": "The issue does not fit into other categories"
|
||||
},
|
||||
"step_two": {
|
||||
"step_2_of_4": "Step 2 of 4",
|
||||
"which_rules_are_being_violated": "Which rules are being violated?",
|
||||
"select_all_that_apply": "Select all that apply",
|
||||
"i_just_don’t_like_it": "I just don’t like it"
|
||||
},
|
||||
"step_three": {
|
||||
"step_3_of_4": "Step 3 of 4",
|
||||
"are_there_any_posts_that_back_up_this_report": "Are there any posts that back up this report?",
|
||||
"select_all_that_apply": "Select all that apply"
|
||||
},
|
||||
"step_four": {
|
||||
"step_4_of_4": "Step 4 of 4",
|
||||
"is_there_anything_else_we_should_know": "Is there anything else we should know?"
|
||||
},
|
||||
"step_final": {
|
||||
"dont_want_to_see_this": "Don’t want to see this?",
|
||||
"when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.",
|
||||
"unfollow": "Unfollow",
|
||||
"unfollowed": "Unfollowed",
|
||||
"unfollow_user": "Unfollow %s",
|
||||
"mute_user": "Mute %s",
|
||||
"you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.",
|
||||
"block_user": "Block %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 they’ve been blocked."
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"keyboard": {
|
||||
|
|
|
@ -13,15 +13,15 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 unread notification</string>
|
||||
<string>1 lukematon ilmoitus</string>
|
||||
<key>other</key>
|
||||
<string>%ld unread notification</string>
|
||||
<string>%ld lukematonta ilmoitusta</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>a11y.plural.count.input_limit_exceeds</key>
|
||||
<dict>
|
||||
<key>NSStringLocalizedFormatKey</key>
|
||||
<string>Input limit exceeds %#@character_count@</string>
|
||||
<string>Syöterajoitus ylittyy %#@character_count@</string>
|
||||
<key>character_count</key>
|
||||
<dict>
|
||||
<key>NSStringFormatSpecTypeKey</key>
|
||||
|
@ -29,15 +29,15 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 character</string>
|
||||
<string>1 merkki</string>
|
||||
<key>other</key>
|
||||
<string>%ld characters</string>
|
||||
<string>%ld merkkiä</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>a11y.plural.count.input_limit_remains</key>
|
||||
<dict>
|
||||
<key>NSStringLocalizedFormatKey</key>
|
||||
<string>Input limit remains %#@character_count@</string>
|
||||
<string>Syöterajoitus ylittyy %#@character_count@ päästä</string>
|
||||
<key>character_count</key>
|
||||
<dict>
|
||||
<key>NSStringFormatSpecTypeKey</key>
|
||||
|
@ -45,9 +45,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 character</string>
|
||||
<string>1 merkki</string>
|
||||
<key>other</key>
|
||||
<string>%ld characters</string>
|
||||
<string>%ld merkkiä</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>plural.count.metric_formatted.post</key>
|
||||
|
@ -61,9 +61,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>post</string>
|
||||
<string>julkaisu</string>
|
||||
<key>other</key>
|
||||
<string>posts</string>
|
||||
<string>julkaisut</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>plural.count.post</key>
|
||||
|
@ -77,9 +77,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 post</string>
|
||||
<string>1 julkaisu</string>
|
||||
<key>other</key>
|
||||
<string>%ld posts</string>
|
||||
<string>%ld julkaisua</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>plural.count.favorite</key>
|
||||
|
@ -93,9 +93,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 favorite</string>
|
||||
<string>1 suosikki</string>
|
||||
<key>other</key>
|
||||
<string>%ld favorites</string>
|
||||
<string>%ld suosikkia</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>plural.count.reblog</key>
|
||||
|
@ -109,9 +109,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 reblog</string>
|
||||
<string>1 edelleen jako</string>
|
||||
<key>other</key>
|
||||
<string>%ld reblogs</string>
|
||||
<string>%ld edelleen jakoa</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>plural.count.reply</key>
|
||||
|
@ -141,9 +141,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 vote</string>
|
||||
<string>1 ääni</string>
|
||||
<key>other</key>
|
||||
<string>%ld votes</string>
|
||||
<string>%ld ääntä</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>plural.count.voter</key>
|
||||
|
@ -157,9 +157,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 voter</string>
|
||||
<string>1 vastaaja</string>
|
||||
<key>other</key>
|
||||
<string>%ld voters</string>
|
||||
<string>%ld vastaajaa</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>plural.people_talking</key>
|
||||
|
@ -173,9 +173,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 people talking</string>
|
||||
<string>1 ihminen puhuu</string>
|
||||
<key>other</key>
|
||||
<string>%ld people talking</string>
|
||||
<string>%ld ihmistä puhuu</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>plural.count.following</key>
|
||||
|
@ -189,9 +189,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 following</string>
|
||||
<string>1 seurataan</string>
|
||||
<key>other</key>
|
||||
<string>%ld following</string>
|
||||
<string>%ld seurataan</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>plural.count.follower</key>
|
||||
|
@ -205,9 +205,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 follower</string>
|
||||
<string>1 seuraaja</string>
|
||||
<key>other</key>
|
||||
<string>%ld followers</string>
|
||||
<string>%ld seuraajaa</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.year.left</key>
|
||||
|
@ -221,9 +221,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 year left</string>
|
||||
<string>1 vuosi jäljellä</string>
|
||||
<key>other</key>
|
||||
<string>%ld years left</string>
|
||||
<string>%ld vuotta jäljellä</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.month.left</key>
|
||||
|
@ -237,9 +237,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 months left</string>
|
||||
<string>1 kuukausi jäljellä</string>
|
||||
<key>other</key>
|
||||
<string>%ld months left</string>
|
||||
<string>%ld kuukautta jäljellä</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.day.left</key>
|
||||
|
@ -253,9 +253,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 day left</string>
|
||||
<string>1 päivä jäljellä</string>
|
||||
<key>other</key>
|
||||
<string>%ld days left</string>
|
||||
<string>%ld päivää jäljellä</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.hour.left</key>
|
||||
|
@ -269,9 +269,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 hour left</string>
|
||||
<string>1 tunti jäljellä</string>
|
||||
<key>other</key>
|
||||
<string>%ld hours left</string>
|
||||
<string>%ld tuntia jäljellä</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.minute.left</key>
|
||||
|
@ -285,9 +285,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 minute left</string>
|
||||
<string>1 minuutti jäljellä</string>
|
||||
<key>other</key>
|
||||
<string>%ld minutes left</string>
|
||||
<string>%ld minuuttia jäljellä</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.second.left</key>
|
||||
|
@ -301,9 +301,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 second left</string>
|
||||
<string>1 sekuntti</string>
|
||||
<key>other</key>
|
||||
<string>%ld seconds left</string>
|
||||
<string>%ld sekunttia jäljellä</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.year.ago.abbr</key>
|
||||
|
@ -317,9 +317,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1y ago</string>
|
||||
<string>1v sitten</string>
|
||||
<key>other</key>
|
||||
<string>%ldy ago</string>
|
||||
<string>%ldv sitten</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.month.ago.abbr</key>
|
||||
|
@ -333,9 +333,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1M ago</string>
|
||||
<string>1kk sitten</string>
|
||||
<key>other</key>
|
||||
<string>%ldM ago</string>
|
||||
<string>%ldkk sitten</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.day.ago.abbr</key>
|
||||
|
@ -349,9 +349,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1d ago</string>
|
||||
<string>1pv sitten</string>
|
||||
<key>other</key>
|
||||
<string>%ldd ago</string>
|
||||
<string>%ldpv sitten</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.hour.ago.abbr</key>
|
||||
|
@ -365,9 +365,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1h ago</string>
|
||||
<string>1t sitten</string>
|
||||
<key>other</key>
|
||||
<string>%ldh ago</string>
|
||||
<string>%ldt sitten</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.minute.ago.abbr</key>
|
||||
|
@ -381,9 +381,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1m ago</string>
|
||||
<string>1min sitten</string>
|
||||
<key>other</key>
|
||||
<string>%ldm ago</string>
|
||||
<string>%ldmin sitten</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.second.ago.abbr</key>
|
||||
|
@ -397,9 +397,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1s ago</string>
|
||||
<string>1s sitten</string>
|
||||
<key>other</key>
|
||||
<string>%lds ago</string>
|
||||
<string>%lds sitten</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
|
|
|
@ -2,147 +2,147 @@
|
|||
"common": {
|
||||
"alerts": {
|
||||
"common": {
|
||||
"please_try_again": "Please try again.",
|
||||
"please_try_again_later": "Please try again later."
|
||||
"please_try_again": "Yritä uudelleen.",
|
||||
"please_try_again_later": "Yritä uudelleen myöhemmin."
|
||||
},
|
||||
"sign_up_failure": {
|
||||
"title": "Sign Up Failure"
|
||||
"title": "Rekisteröinti epäonnistui"
|
||||
},
|
||||
"server_error": {
|
||||
"title": "Server Error"
|
||||
"title": "Palvelinvirhe"
|
||||
},
|
||||
"vote_failure": {
|
||||
"title": "Vote Failure",
|
||||
"poll_ended": "The poll has ended"
|
||||
"poll_ended": "Kysely on päättynyt"
|
||||
},
|
||||
"discard_post_content": {
|
||||
"title": "Discard Draft",
|
||||
"title": "Hylkää luonnos",
|
||||
"message": "Confirm to discard composed post content."
|
||||
},
|
||||
"publish_post_failure": {
|
||||
"title": "Publish Failure",
|
||||
"message": "Failed to publish the post.\nPlease check your internet connection.",
|
||||
"title": "Julkaiseminen epäonnistui",
|
||||
"message": "Julkaisun julkaiseminen epäonnistui.\nTarkista internet-yhteytesi.",
|
||||
"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."
|
||||
"more_than_one_video": "Ei voi liittä yhtä videota enempää."
|
||||
}
|
||||
},
|
||||
"edit_profile_failure": {
|
||||
"title": "Edit Profile Error",
|
||||
"message": "Cannot edit profile. Please try again."
|
||||
"title": "Virhe profiilin muokkauksessa",
|
||||
"message": "Profiilia ei voida muoka. Yritä uudelleen."
|
||||
},
|
||||
"sign_out": {
|
||||
"title": "Sign Out",
|
||||
"message": "Are you sure you want to sign out?",
|
||||
"confirm": "Sign Out"
|
||||
"title": "Kirjaudu ulos",
|
||||
"message": "Haluatko varmasti kirjautua ulos?",
|
||||
"confirm": "Kirjaudu ulos"
|
||||
},
|
||||
"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"
|
||||
"block_entire_domain": "Estä verkkotunnus"
|
||||
},
|
||||
"save_photo_failure": {
|
||||
"title": "Save Photo Failure",
|
||||
"title": "Kuvan tallentaminen epäonnistui",
|
||||
"message": "Please enable the photo library access permission to save the photo."
|
||||
},
|
||||
"delete_post": {
|
||||
"title": "Delete Post",
|
||||
"title": "Haluatko varmasti poistaa tämän julkaisun?",
|
||||
"message": "Are you sure you want to delete this post?"
|
||||
},
|
||||
"clean_cache": {
|
||||
"title": "Clean Cache",
|
||||
"message": "Successfully cleaned %s cache."
|
||||
"title": "Puhdista välimuisti",
|
||||
"message": "%s välimuisti tyhjennetty onnistuneesti."
|
||||
}
|
||||
},
|
||||
"controls": {
|
||||
"actions": {
|
||||
"back": "Back",
|
||||
"next": "Next",
|
||||
"previous": "Previous",
|
||||
"open": "Open",
|
||||
"add": "Add",
|
||||
"remove": "Remove",
|
||||
"edit": "Edit",
|
||||
"save": "Save",
|
||||
"back": "Takaisin",
|
||||
"next": "Seuraava",
|
||||
"previous": "Edellinen",
|
||||
"open": "Avaa",
|
||||
"add": "Lisää",
|
||||
"remove": "Poista",
|
||||
"edit": "Muokkaa",
|
||||
"save": "Tallenna",
|
||||
"ok": "OK",
|
||||
"done": "Done",
|
||||
"confirm": "Confirm",
|
||||
"continue": "Continue",
|
||||
"compose": "Compose",
|
||||
"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",
|
||||
"done": "Valmis",
|
||||
"confirm": "Vahvista",
|
||||
"continue": "Jatka",
|
||||
"compose": "Koosta",
|
||||
"cancel": "Kumoa",
|
||||
"discard": "Hylkää",
|
||||
"try_again": "Yritä uudelleen",
|
||||
"take_photo": "Ota kuva",
|
||||
"save_photo": "Tallenna kuva",
|
||||
"copy_photo": "Kopioi kuva",
|
||||
"sign_in": "Kirjaudu sisään",
|
||||
"sign_up": "Rekisteröidy",
|
||||
"see_more": "Näytä lisää",
|
||||
"preview": "Esikatselu",
|
||||
"share": "Jaa",
|
||||
"share_user": "Jaa %s",
|
||||
"share_post": "Jaa julkaisu",
|
||||
"open_in_safari": "Avaa Safarissa",
|
||||
"open_in_browser": "Open in Browser",
|
||||
"find_people": "Find people to follow",
|
||||
"find_people": "Löydä tilejä seurattavaksi",
|
||||
"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"
|
||||
"skip": "Ohita",
|
||||
"reply": "Vastaa",
|
||||
"report_user": "Ilmianna %s",
|
||||
"block_domain": "Estä %s",
|
||||
"unblock_domain": "Poista esto %s",
|
||||
"settings": "Asetukset",
|
||||
"delete": "Poista"
|
||||
},
|
||||
"tabs": {
|
||||
"home": "Home",
|
||||
"search": "Search",
|
||||
"notification": "Notification",
|
||||
"profile": "Profile"
|
||||
"home": "Koti",
|
||||
"search": "Haku",
|
||||
"notification": "Ilmoitus",
|
||||
"profile": "Profiili"
|
||||
},
|
||||
"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": "Vaihda %s",
|
||||
"compose_new_post": "Koosta uusi julkaisu",
|
||||
"show_favorites": "Näytä suosikit",
|
||||
"open_settings": "Avaa asetukset"
|
||||
},
|
||||
"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",
|
||||
"previous_status": "Edellinen julkaisu",
|
||||
"next_status": "Seuraava julkaisu",
|
||||
"open_status": "Avaa julkaisu",
|
||||
"open_author_profile": "Avaa tekijän profiili",
|
||||
"open_reblogger_profile": "Avaa edelleen jakajan profiili",
|
||||
"reply_status": "Vastaa julkaisuun",
|
||||
"toggle_reblog": "Toggle Reblog on Post",
|
||||
"toggle_favorite": "Toggle Favorite on Post",
|
||||
"toggle_content_warning": "Toggle Content Warning",
|
||||
"toggle_content_warning": "Vaihda sisältövaroitus",
|
||||
"preview_image": "Preview Image"
|
||||
},
|
||||
"segmented_control": {
|
||||
"previous_section": "Previous Section",
|
||||
"next_section": "Next Section"
|
||||
"next_section": "Seuraava lohko"
|
||||
}
|
||||
},
|
||||
"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",
|
||||
"user_reblogged": "%s jakoi edelleen",
|
||||
"user_replied_to": "Vastasi %s:lle",
|
||||
"show_post": "Näytä julkaisu",
|
||||
"show_user_profile": "Näytä tili",
|
||||
"content_warning": "Sisältövaroitus",
|
||||
"sensitive_content": "Sensitive Content",
|
||||
"media_content_warning": "Tap anywhere to reveal",
|
||||
"media_content_warning": "Napauta mistä tahansa paljastaaksesi",
|
||||
"tap_to_reveal": "Tap to reveal",
|
||||
"poll": {
|
||||
"vote": "Vote",
|
||||
"closed": "Closed"
|
||||
"closed": "Suljettu"
|
||||
},
|
||||
"actions": {
|
||||
"reply": "Reply",
|
||||
"reblog": "Reblog",
|
||||
"unreblog": "Undo reblog",
|
||||
"reply": "Vastaa",
|
||||
"reblog": "Jaa edelleen",
|
||||
"unreblog": "Peru edelleen jako",
|
||||
"favorite": "Favorite",
|
||||
"unfavorite": "Unfavorite",
|
||||
"menu": "Menu",
|
||||
"menu": "Valikko",
|
||||
"hide": "Hide",
|
||||
"show_image": "Show image",
|
||||
"show_gif": "Show GIF",
|
||||
|
@ -152,9 +152,9 @@
|
|||
"tag": {
|
||||
"url": "URL",
|
||||
"mention": "Mention",
|
||||
"link": "Link",
|
||||
"hashtag": "Hashtag",
|
||||
"email": "Email",
|
||||
"link": "Linkki",
|
||||
"hashtag": "Hashtagi",
|
||||
"email": "Sähköposti",
|
||||
"emoji": "Emoji"
|
||||
},
|
||||
"visibility": {
|
||||
|
@ -165,266 +165,271 @@
|
|||
}
|
||||
},
|
||||
"friendship": {
|
||||
"follow": "Follow",
|
||||
"following": "Following",
|
||||
"request": "Request",
|
||||
"pending": "Pending",
|
||||
"block": "Block",
|
||||
"block_user": "Block %s",
|
||||
"block_domain": "Block %s",
|
||||
"unblock": "Unblock",
|
||||
"follow": "Seuraa",
|
||||
"following": "Seurataan",
|
||||
"request": "Pyydä",
|
||||
"pending": "Pyydetty",
|
||||
"block": "Estä",
|
||||
"block_user": "Estä %s",
|
||||
"block_domain": "Estä %s",
|
||||
"unblock": "Poista esto",
|
||||
"unblock_user": "Unblock %s",
|
||||
"blocked": "Blocked",
|
||||
"mute": "Mute",
|
||||
"mute_user": "Mute %s",
|
||||
"unmute": "Unmute",
|
||||
"unmute_user": "Unmute %s",
|
||||
"muted": "Muted",
|
||||
"edit_info": "Edit Info"
|
||||
"blocked": "Estetty",
|
||||
"mute": "Mykistä",
|
||||
"mute_user": "Mykistä %s",
|
||||
"unmute": "Poista mykistys",
|
||||
"unmute_user": "Poista mykistys tililtä %s",
|
||||
"muted": "Mykistetty",
|
||||
"edit_info": "Muokkaa profiilia"
|
||||
},
|
||||
"timeline": {
|
||||
"filtered": "Filtered",
|
||||
"filtered": "Suodatettu",
|
||||
"timestamp": {
|
||||
"now": "Now"
|
||||
"now": "Nyt"
|
||||
},
|
||||
"loader": {
|
||||
"load_missing_posts": "Load missing posts",
|
||||
"loading_missing_posts": "Loading missing posts...",
|
||||
"show_more_replies": "Show more replies"
|
||||
"load_missing_posts": "Lataa puuttuvat julkaisut",
|
||||
"loading_missing_posts": "Ladataan puuttuvia julkaisuja...",
|
||||
"show_more_replies": "Näytä lisää vastauksia"
|
||||
},
|
||||
"header": {
|
||||
"no_status_found": "No Post Found",
|
||||
"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."
|
||||
"no_status_found": "Julkaisua ei löytynyt",
|
||||
"blocking_warning": "Et voi tarkastella tämän tilin profiilia\nennen kuin poistat sen esto.\nProfiilisi näyttää tältä hänelle.",
|
||||
"user_blocking_warning": "Et voi tarkastella tilin %s profiilia\nennen kuin poistat sen esto.\nProfiilisi näyttää tältä hänelle.",
|
||||
"blocked_warning": "Et voi tarkastella tämän tilin profiilia\nennen kuin hän poistaa eston.",
|
||||
"user_blocked_warning": "Et voi tarkastella tilin %s profiilia\nennen kuin hän poistaa eston.",
|
||||
"suspended_warning": "Tämä tili on lakkautettu.",
|
||||
"user_suspended_warning": "Tili %s on lakkautettu."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"scene": {
|
||||
"welcome": {
|
||||
"slogan": "Social networking\nback in your hands.",
|
||||
"slogan": "Sosiaalinen verkostoituminen\ntakaisin käsissäsi.",
|
||||
"get_started": "Get Started",
|
||||
"log_in": "Log In"
|
||||
},
|
||||
"server_picker": {
|
||||
"title": "Mastodon is made of users in different servers.",
|
||||
"title": "Valitse palvelin,\nmikä tahansa palvelin.",
|
||||
"subtitle": "Pick a server based on your interests, region, or a general purpose one.",
|
||||
"subtitle_extend": "Pick a server based on your interests, region, or a general purpose one. Each server is operated by an entirely independent organization or individual.",
|
||||
"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"
|
||||
"all": "Kaikki",
|
||||
"all_accessiblity_description": "Kategoria: Kaikki",
|
||||
"academia": "akateeminen",
|
||||
"activism": "aktivismi",
|
||||
"food": "ruoka",
|
||||
"furry": "turri",
|
||||
"games": "pelit",
|
||||
"general": "yleinen",
|
||||
"journalism": "journalismi",
|
||||
"lgbt": "hlbt",
|
||||
"regional": "alueellinen",
|
||||
"art": "taide",
|
||||
"music": "musiikki",
|
||||
"tech": "tekniikka"
|
||||
},
|
||||
"see_less": "See Less",
|
||||
"see_more": "See More"
|
||||
"see_less": "Näytä vähemmän",
|
||||
"see_more": "Näytä lisää"
|
||||
},
|
||||
"label": {
|
||||
"language": "LANGUAGE",
|
||||
"users": "USERS",
|
||||
"category": "CATEGORY"
|
||||
"language": "KIELI",
|
||||
"users": "TILIÄ",
|
||||
"category": "KATEGORIA"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Search servers"
|
||||
"placeholder": "Etsi palvelin tai liity omaan...",
|
||||
"search_servers_or_enter_url": "Search communities or enter URL"
|
||||
},
|
||||
"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": "Etsistään saatavilla olevia palvelimia...",
|
||||
"bad_network": "Jokin meni pieleen dataa ladatessa. Tarkista internet-yhteytesi.",
|
||||
"no_results": "Ei hakutuloksia"
|
||||
}
|
||||
},
|
||||
"register": {
|
||||
"title": "Let’s get you set up on %s",
|
||||
"title": "Kerro meille sinusta.",
|
||||
"input": {
|
||||
"avatar": {
|
||||
"delete": "Delete"
|
||||
"delete": "Poista"
|
||||
},
|
||||
"username": {
|
||||
"placeholder": "username",
|
||||
"duplicate_prompt": "This username is taken."
|
||||
"placeholder": "käyttäjänimi",
|
||||
"duplicate_prompt": "Tämä käyttäjänimi on varattu."
|
||||
},
|
||||
"display_name": {
|
||||
"placeholder": "display name"
|
||||
"placeholder": "näyttönimi"
|
||||
},
|
||||
"email": {
|
||||
"placeholder": "email"
|
||||
"placeholder": "sähköposti"
|
||||
},
|
||||
"password": {
|
||||
"placeholder": "password",
|
||||
"placeholder": "salasana",
|
||||
"require": "Your password needs at least:",
|
||||
"character_limit": "8 characters",
|
||||
"accessibility": {
|
||||
"checked": "checked",
|
||||
"unchecked": "unchecked"
|
||||
},
|
||||
"hint": "Your password needs at least eight characters"
|
||||
"hint": "Salasanassasi on oltava vähintään kahdeksan merkkiä"
|
||||
},
|
||||
"invite": {
|
||||
"registration_user_invite_request": "Why do you want to join?"
|
||||
"registration_user_invite_request": "Miksi haluat liittyä?"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
"item": {
|
||||
"username": "Username",
|
||||
"email": "Email",
|
||||
"password": "Password",
|
||||
"agreement": "Agreement",
|
||||
"username": "Käyttäjänimi",
|
||||
"email": "Sähköposti",
|
||||
"password": "Salasana",
|
||||
"agreement": "Hyväksy",
|
||||
"locale": "Locale",
|
||||
"reason": "Reason"
|
||||
"reason": "Syy"
|
||||
},
|
||||
"reason": {
|
||||
"blocked": "%s contains a disallowed email provider",
|
||||
"unreachable": "%s does not seem to exist",
|
||||
"taken": "%s is already in use",
|
||||
"blocked": "%s sisältää estetyn sähköpostipalveluntarjoajan",
|
||||
"unreachable": "%s ei näytä olevan olemassa",
|
||||
"taken": "%s on jo käytössä",
|
||||
"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"
|
||||
"accepted": "%s täytyy hyväksyä",
|
||||
"blank": "%s vaaditaan",
|
||||
"invalid": "%s on virheellinen",
|
||||
"too_long": "%s on liian pitkä",
|
||||
"too_short": "%s on liian lyhyt",
|
||||
"inclusion": "%s ei ole tuettu arvo"
|
||||
},
|
||||
"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": "Käyttäjänimi voi sisältää ainoastaan aakkosnumerrisia merkkejä ja alaviivoja",
|
||||
"username_too_long": "Käyttäjänimi on liian pitkä (ei voi olla pidempi kuin 30 merkkiä)",
|
||||
"email_invalid": "Tämä ei ole kelvollinen sähköpostiosoite",
|
||||
"password_too_short": "Salasana on liian lyhyt (täytyy olla vähintään 8 merkkiä)"
|
||||
}
|
||||
}
|
||||
},
|
||||
"server_rules": {
|
||||
"title": "Some ground rules.",
|
||||
"subtitle": "These are set and enforced by the %s moderators.",
|
||||
"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": "Joitakin perussääntöjä.",
|
||||
"subtitle": "Nämä säännöt ovat %s -palvelun asettamia.",
|
||||
"prompt": "Jatkamalla, hyväksyt palvelun %s palveluehdot ja tietosuojakäytönnön.",
|
||||
"terms_of_service": "käyttöehdot",
|
||||
"privacy_policy": "tietosuojakäytäntö",
|
||||
"button": {
|
||||
"confirm": "I Agree"
|
||||
"confirm": "Hyväksyn"
|
||||
}
|
||||
},
|
||||
"confirm_email": {
|
||||
"title": "One last thing.",
|
||||
"subtitle": "Tap the link we emailed to you to verify your account.",
|
||||
"title": "Viimeinen asia.",
|
||||
"subtitle": "Lähetimme juuri sähköpostin osoitteeseen %s, napauta siinä olevaa linkkiä vahvistaaksesi tilisi.",
|
||||
"button": {
|
||||
"open_email_app": "Open Email App",
|
||||
"open_email_app": "Avaa sähköpostisovellus",
|
||||
"resend": "Resend"
|
||||
},
|
||||
"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": "Tarkista sähköpostisi",
|
||||
"description": "Tarkista, että sähköpostiosoitteesi on oikea, sekä roskapostikansiosi, jos et vielä ole.",
|
||||
"resend_email": "Lähetä sähköposti uudelleen"
|
||||
},
|
||||
"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": "Tarkasta postilaatikkosi.",
|
||||
"description": "Lähetimme sinulle juuri sähköpostin. Tarkista myös roskapostikansiosi, jos et vielä ole.",
|
||||
"mail": "Sähköposti",
|
||||
"open_email_client": "Avaa sähköpostisovellus"
|
||||
}
|
||||
},
|
||||
"home_timeline": {
|
||||
"title": "Home",
|
||||
"title": "Koti",
|
||||
"navigation_bar_state": {
|
||||
"offline": "Offline",
|
||||
"new_posts": "See new posts",
|
||||
"published": "Published!",
|
||||
"Publishing": "Publishing post..."
|
||||
"offline": "Yhteydetön",
|
||||
"new_posts": "Uusia julkaisuja",
|
||||
"published": "Julkaistu!",
|
||||
"Publishing": "Julkaistaan julkaisua...",
|
||||
"accessibility": {
|
||||
"logo_label": "Logo Button",
|
||||
"logo_hint": "Tap to scroll to top and tap again to previous location"
|
||||
}
|
||||
}
|
||||
},
|
||||
"suggestion_account": {
|
||||
"title": "Find People to Follow",
|
||||
"follow_explain": "When you follow someone, you’ll see their posts in your home feed."
|
||||
"title": "Löydä tilejä seurattavaksi",
|
||||
"follow_explain": "Kun seuraat jotakuta, näet hänen julkaisunsa kotisyötteessäsi."
|
||||
},
|
||||
"compose": {
|
||||
"title": {
|
||||
"new_post": "New Post",
|
||||
"new_reply": "New Reply"
|
||||
"new_post": "Uusi julkaisu",
|
||||
"new_reply": "Uusi vastaus"
|
||||
},
|
||||
"media_selection": {
|
||||
"camera": "Take Photo",
|
||||
"photo_library": "Photo Library",
|
||||
"browse": "Browse"
|
||||
"camera": "Ota kuva",
|
||||
"photo_library": "Kuvakirjasto",
|
||||
"browse": "Selaa"
|
||||
},
|
||||
"content_input_placeholder": "Type or paste what’s on your mind",
|
||||
"compose_action": "Publish",
|
||||
"replying_to_user": "replying to %s",
|
||||
"content_input_placeholder": "Kirjoita tai liitä, siitä mitä ajattelet",
|
||||
"compose_action": "Julkaise",
|
||||
"replying_to_user": "vastaamassa tilille %s",
|
||||
"attachment": {
|
||||
"photo": "photo",
|
||||
"photo": "kuva",
|
||||
"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..."
|
||||
"description_photo": "Kuvaile kuva näkövammaisille...",
|
||||
"description_video": "Kuvaile video näkövammaisille..."
|
||||
},
|
||||
"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": "Kesto: %s",
|
||||
"thirty_minutes": "30 minuuttia",
|
||||
"one_hour": "1 tunti",
|
||||
"six_hours": "6 tuntia",
|
||||
"one_day": "1 päivä",
|
||||
"three_days": "3 päivää",
|
||||
"seven_days": "7 päivää",
|
||||
"option_number": "Vaihtoehto %ld"
|
||||
},
|
||||
"content_warning": {
|
||||
"placeholder": "Write an accurate warning here..."
|
||||
"placeholder": "Kirjoita tarkka varoitus tähän..."
|
||||
},
|
||||
"visibility": {
|
||||
"public": "Public",
|
||||
"unlisted": "Unlisted",
|
||||
"private": "Followers only",
|
||||
"direct": "Only people I mention"
|
||||
"public": "Julkinen",
|
||||
"unlisted": "Listaamaton",
|
||||
"private": "Vain seuraajat",
|
||||
"direct": "Vain mainitsemani tilit"
|
||||
},
|
||||
"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"
|
||||
"append_attachment": "Lisää liite",
|
||||
"append_poll": "Lisää kysely",
|
||||
"remove_poll": "Poista kysely",
|
||||
"custom_emoji_picker": "Mukautettu emojivalitsin",
|
||||
"enable_content_warning": "Ota sisältövaroitus käyttöön",
|
||||
"disable_content_warning": "Poista sisältövaroitus käytöstä",
|
||||
"post_visibility_menu": "Julkaisun näkyvyysvalikko"
|
||||
},
|
||||
"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": "Hylkää julkaisu",
|
||||
"publish_post": "Julkaise julkaisu",
|
||||
"toggle_poll": "Vaihda kysely",
|
||||
"toggle_content_warning": "Vaihda sisältövaroitus",
|
||||
"append_attachment_entry": "Lisää liite - %s",
|
||||
"select_visibility_entry": "Valitse näkyvyys - %s"
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
"dashboard": {
|
||||
"posts": "posts",
|
||||
"following": "following",
|
||||
"followers": "followers"
|
||||
"posts": "julkaisut",
|
||||
"following": "seurataan",
|
||||
"followers": "seuraajat"
|
||||
},
|
||||
"fields": {
|
||||
"add_row": "Add Row",
|
||||
"add_row": "Lisää rivi",
|
||||
"placeholder": {
|
||||
"label": "Label",
|
||||
"content": "Content"
|
||||
"label": "Nimi",
|
||||
"content": "Sisältö"
|
||||
}
|
||||
},
|
||||
"segmented_control": {
|
||||
"posts": "Posts",
|
||||
"replies": "Replies",
|
||||
"posts": "Julkaisut",
|
||||
"replies": "Vastaukset",
|
||||
"posts_and_replies": "Posts and Replies",
|
||||
"media": "Media",
|
||||
"about": "About"
|
||||
|
@ -435,8 +440,8 @@
|
|||
"message": "Confirm to mute %s"
|
||||
},
|
||||
"confirm_unmute_user": {
|
||||
"title": "Unmute Account",
|
||||
"message": "Confirm to unmute %s"
|
||||
"title": "Poista tilin mykistys",
|
||||
"message": "Vahvista, että haluat poistaa mykistyksen tililtä %s"
|
||||
},
|
||||
"confirm_block_user": {
|
||||
"title": "Block Account",
|
||||
|
@ -455,42 +460,42 @@
|
|||
}
|
||||
},
|
||||
"follower": {
|
||||
"footer": "Followers from other servers are not displayed."
|
||||
"footer": "Seuraajia muilta palvelimilta ei näytetä."
|
||||
},
|
||||
"following": {
|
||||
"footer": "Follows from other servers are not displayed."
|
||||
"footer": "Seurauksia muilta palvelimilta ei näytetä."
|
||||
},
|
||||
"search": {
|
||||
"title": "Search",
|
||||
"title": "Haku",
|
||||
"search_bar": {
|
||||
"placeholder": "Search hashtags and users",
|
||||
"cancel": "Cancel"
|
||||
"placeholder": "Haku",
|
||||
"cancel": "Kumoa"
|
||||
},
|
||||
"recommend": {
|
||||
"button_text": "See All",
|
||||
"button_text": "Katso kaikki",
|
||||
"hash_tag": {
|
||||
"title": "Trending on Mastodon",
|
||||
"description": "Hashtags that are getting quite a bit of attention",
|
||||
"people_talking": "%s people are talking"
|
||||
"title": "Trendaavat Mastodonissa",
|
||||
"description": "Hashtagit, jotka saavat melkoisesti huomiota",
|
||||
"people_talking": "%s ihmistä puhuu"
|
||||
},
|
||||
"accounts": {
|
||||
"title": "Accounts you might like",
|
||||
"description": "You may like to follow these accounts",
|
||||
"follow": "Follow"
|
||||
"title": "Saatat pitää näistä tileistä",
|
||||
"description": "Haluta ehkä seurata näitä tilejä",
|
||||
"follow": "Seuraa"
|
||||
}
|
||||
},
|
||||
"searching": {
|
||||
"segment": {
|
||||
"all": "All",
|
||||
"people": "People",
|
||||
"hashtags": "Hashtags",
|
||||
"posts": "Posts"
|
||||
"all": "Kaikki",
|
||||
"people": "Tilit",
|
||||
"hashtags": "Hashtagit",
|
||||
"posts": "Julkaisut"
|
||||
},
|
||||
"empty_state": {
|
||||
"no_results": "No results"
|
||||
"no_results": "Ei hakutuloksia"
|
||||
},
|
||||
"recent_search": "Recent searches",
|
||||
"clear": "Clear"
|
||||
"recent_search": "Viimeaikaiset",
|
||||
"clear": "Tyhjennä"
|
||||
}
|
||||
},
|
||||
"discovery": {
|
||||
|
@ -504,12 +509,12 @@
|
|||
"intro": "These are the posts gaining traction in your corner of Mastodon."
|
||||
},
|
||||
"favorite": {
|
||||
"title": "Your Favorites"
|
||||
"title": "Omat suosikit"
|
||||
},
|
||||
"notification": {
|
||||
"title": {
|
||||
"Everything": "Everything",
|
||||
"Mentions": "Mentions"
|
||||
"Everything": "Kaikki",
|
||||
"Mentions": "Maininnat"
|
||||
},
|
||||
"notification_description": {
|
||||
"followed_you": "followed you",
|
||||
|
@ -520,22 +525,22 @@
|
|||
"poll_has_ended": "poll has ended"
|
||||
},
|
||||
"keyobard": {
|
||||
"show_everything": "Show Everything",
|
||||
"show_mentions": "Show Mentions"
|
||||
"show_everything": "Näytä kaikki",
|
||||
"show_mentions": "Näytä maininnat"
|
||||
}
|
||||
},
|
||||
"thread": {
|
||||
"back_title": "Post",
|
||||
"title": "Post from %s"
|
||||
"back_title": "Julkaisu",
|
||||
"title": "Julkaisu tililtä %s"
|
||||
},
|
||||
"settings": {
|
||||
"title": "Settings",
|
||||
"title": "Asetukset",
|
||||
"section": {
|
||||
"appearance": {
|
||||
"title": "Appearance",
|
||||
"automatic": "Automatic",
|
||||
"light": "Always Light",
|
||||
"dark": "Always Dark"
|
||||
"title": "Ulkoasu",
|
||||
"automatic": "Seuraa järjestelmää",
|
||||
"light": "Vaalea",
|
||||
"dark": "Tumma"
|
||||
},
|
||||
"look_and_feel": {
|
||||
"title": "Look and Feel",
|
||||
|
@ -545,75 +550,116 @@
|
|||
"light": "Light"
|
||||
},
|
||||
"notifications": {
|
||||
"title": "Notifications",
|
||||
"title": "Ilmoitukset",
|
||||
"favorites": "Favorites my post",
|
||||
"follows": "Follows me",
|
||||
"boosts": "Reblogs my post",
|
||||
"mentions": "Mentions me",
|
||||
"follows": "Seuraa minua",
|
||||
"boosts": "Omien julkaisujen edelleen jaot",
|
||||
"mentions": "Mainitsee minut",
|
||||
"trigger": {
|
||||
"anyone": "anyone",
|
||||
"follower": "a follower",
|
||||
"follow": "anyone I follow",
|
||||
"noone": "no one",
|
||||
"title": "Notify me when"
|
||||
"anyone": "kuka tahansa",
|
||||
"follower": "seuraaja",
|
||||
"follow": "kuka tahansa, jota seuraan",
|
||||
"noone": "ei kukaan",
|
||||
"title": "Ilmoita minulle, kun"
|
||||
}
|
||||
},
|
||||
"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": "Lisäasetukset",
|
||||
"true_black_dark_mode": "Todellinen mustan tumma tila",
|
||||
"disable_avatar_animation": "Poista käytöstä animoidut avatarit",
|
||||
"disable_emoji_animation": "Poista käytöstä animoidut emojit",
|
||||
"using_default_browser": "Käytä oletusselainta linkkien avaamiseen",
|
||||
"open_links_in_mastodon": "Open links in Mastodon"
|
||||
},
|
||||
"boring_zone": {
|
||||
"title": "The Boring Zone",
|
||||
"account_settings": "Account Settings",
|
||||
"terms": "Terms of Service",
|
||||
"privacy": "Privacy Policy"
|
||||
"title": "Tylsä alue",
|
||||
"account_settings": "Tiliasetukset",
|
||||
"terms": "Palveluehdot",
|
||||
"privacy": "Tietosuojakäytäntö"
|
||||
},
|
||||
"spicy_zone": {
|
||||
"title": "The Spicy Zone",
|
||||
"clear": "Clear Media Cache",
|
||||
"signout": "Sign Out"
|
||||
"title": "Varovainen alue",
|
||||
"clear": "Tyhjennä median välimuisti",
|
||||
"signout": "Kirjaudu ulos"
|
||||
}
|
||||
},
|
||||
"footer": {
|
||||
"mastodon_description": "Mastodon is open source software. You can report issues on GitHub at %s (%s)"
|
||||
"mastodon_description": "Mastodon on avoimen lähdekoodin ohjelmisto. Voit raportoida ongelmasta GitHubissa osoitteessa %s (%s)"
|
||||
},
|
||||
"keyboard": {
|
||||
"close_settings_window": "Close Settings Window"
|
||||
"close_settings_window": "Sulje asetukset"
|
||||
}
|
||||
},
|
||||
"report": {
|
||||
"title_report": "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?",
|
||||
"title": "Ilmianna %s",
|
||||
"step1": "Vaihe 1/2",
|
||||
"step2": "Vaihe 2/2",
|
||||
"content1": "Onko julkaisuja, joita haluaisit lisätä ilmiantoon?",
|
||||
"content2": "Onko valvojien syytä tietää tästä ilmiannosta?",
|
||||
"report_sent_title": "Thanks for reporting, we’ll look into this.",
|
||||
"send": "Send Report",
|
||||
"skip_to_send": "Send without comment",
|
||||
"text_placeholder": "Type or paste additional comments",
|
||||
"reported": "REPORTED"
|
||||
"send": "Lähetä ilmianto",
|
||||
"skip_to_send": "Lähetä ilman kommentteja",
|
||||
"text_placeholder": "Kirjoita tai liitä lisäkommentteja",
|
||||
"reported": "REPORTED",
|
||||
"step_one": {
|
||||
"step_1_of_4": "Step 1 of 4",
|
||||
"whats_wrong_with_this_post": "What's wrong with this post?",
|
||||
"whats_wrong_with_this_account": "What's wrong with this account?",
|
||||
"whats_wrong_with_this_username": "What's wrong with %s?",
|
||||
"select_the_best_match": "Select the best match",
|
||||
"i_dont_like_it": "I don’t like it",
|
||||
"it_is_not_something_you_want_to_see": "It is not something you want to see",
|
||||
"its_spam": "It’s spam",
|
||||
"malicious_links_fake_engagement_or_repetetive_replies": "Malicious links, fake engagement, or repetetive replies",
|
||||
"it_violates_server_rules": "It violates server rules",
|
||||
"you_are_aware_that_it_breaks_specific_rules": "You are aware that it breaks specific rules",
|
||||
"its_something_else": "It’s something else",
|
||||
"the_issue_does_not_fit_into_other_categories": "The issue does not fit into other categories"
|
||||
},
|
||||
"step_two": {
|
||||
"step_2_of_4": "Step 2 of 4",
|
||||
"which_rules_are_being_violated": "Which rules are being violated?",
|
||||
"select_all_that_apply": "Select all that apply",
|
||||
"i_just_don’t_like_it": "I just don’t like it"
|
||||
},
|
||||
"step_three": {
|
||||
"step_3_of_4": "Step 3 of 4",
|
||||
"are_there_any_posts_that_back_up_this_report": "Are there any posts that back up this report?",
|
||||
"select_all_that_apply": "Select all that apply"
|
||||
},
|
||||
"step_four": {
|
||||
"step_4_of_4": "Step 4 of 4",
|
||||
"is_there_anything_else_we_should_know": "Is there anything else we should know?"
|
||||
},
|
||||
"step_final": {
|
||||
"dont_want_to_see_this": "Don’t want to see this?",
|
||||
"when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.",
|
||||
"unfollow": "Unfollow",
|
||||
"unfollowed": "Unfollowed",
|
||||
"unfollow_user": "Unfollow %s",
|
||||
"mute_user": "Mute %s",
|
||||
"you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.",
|
||||
"block_user": "Block %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 they’ve been blocked."
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"keyboard": {
|
||||
"close_preview": "Close Preview",
|
||||
"show_next": "Show Next",
|
||||
"show_previous": "Show Previous"
|
||||
"close_preview": "Sulje esikatselu",
|
||||
"show_next": "Näytä seuraava",
|
||||
"show_previous": "Näytä edellinen"
|
||||
}
|
||||
},
|
||||
"account_list": {
|
||||
"tab_bar_hint": "Current selected profile: %s. Double tap then hold to show account switcher",
|
||||
"dismiss_account_switcher": "Dismiss Account Switcher",
|
||||
"add_account": "Add Account"
|
||||
"tab_bar_hint": "Nykyinen valittu profiili: %s. Kaksoisnapauta ja pidä sitten painettuna näytääksesi tilin vaihtajan",
|
||||
"dismiss_account_switcher": "Sulje tilin vaihtaja",
|
||||
"add_account": "Lisää tili"
|
||||
},
|
||||
"wizard": {
|
||||
"new_in_mastodon": "New in Mastodon",
|
||||
"multiple_account_switch_intro_description": "Switch between multiple accounts by holding the profile button.",
|
||||
"accessibility_hint": "Double tap to dismiss this wizard"
|
||||
"new_in_mastodon": "Uutta Mastodonissa",
|
||||
"multiple_account_switch_intro_description": "Vaihda useiden tilien välillä pitämällä profiilipainiketta painettuna.",
|
||||
"accessibility_hint": "Hylkää tämä ohjattu toiminto kaksoisnapauttamalla"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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": "Käytetään kuvan ottamiseen julkaisua varten",
|
||||
"NSPhotoLibraryAddUsageDescription": "Käytetään kuvan tallentamiseen kuvakirjastoon",
|
||||
"NewPostShortcutItemTitle": "Uusi julkaisu",
|
||||
"SearchShortcutItemTitle": "Haku"
|
||||
}
|
||||
|
|
|
@ -240,7 +240,8 @@
|
|||
"category": "CATÉGORIE"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Trouvez un serveur ou rejoignez le vôtre..."
|
||||
"placeholder": "Trouvez un serveur ou rejoignez le vôtre...",
|
||||
"search_servers_or_enter_url": "Search communities or enter URL"
|
||||
},
|
||||
"empty_state": {
|
||||
"finding_servers": "Recherche des serveurs disponibles...",
|
||||
|
@ -342,7 +343,11 @@
|
|||
"offline": "Hors ligne",
|
||||
"new_posts": "Voir les nouvelles publications",
|
||||
"published": "Publié!",
|
||||
"Publishing": "Publication en cours ..."
|
||||
"Publishing": "Publication en cours ...",
|
||||
"accessibility": {
|
||||
"logo_label": "Logo Button",
|
||||
"logo_hint": "Tap to scroll to top and tap again to previous location"
|
||||
}
|
||||
}
|
||||
},
|
||||
"suggestion_account": {
|
||||
|
@ -596,7 +601,48 @@
|
|||
"send": "Envoyer le rapport",
|
||||
"skip_to_send": "Envoyer sans commentaire",
|
||||
"text_placeholder": "Tapez ou collez des informations supplémentaires",
|
||||
"reported": "SIGNALÉ"
|
||||
"reported": "SIGNALÉ",
|
||||
"step_one": {
|
||||
"step_1_of_4": "Step 1 of 4",
|
||||
"whats_wrong_with_this_post": "What's wrong with this post?",
|
||||
"whats_wrong_with_this_account": "What's wrong with this account?",
|
||||
"whats_wrong_with_this_username": "What's wrong with %s?",
|
||||
"select_the_best_match": "Select the best match",
|
||||
"i_dont_like_it": "I don’t like it",
|
||||
"it_is_not_something_you_want_to_see": "It is not something you want to see",
|
||||
"its_spam": "It’s spam",
|
||||
"malicious_links_fake_engagement_or_repetetive_replies": "Malicious links, fake engagement, or repetetive replies",
|
||||
"it_violates_server_rules": "It violates server rules",
|
||||
"you_are_aware_that_it_breaks_specific_rules": "You are aware that it breaks specific rules",
|
||||
"its_something_else": "It’s something else",
|
||||
"the_issue_does_not_fit_into_other_categories": "The issue does not fit into other categories"
|
||||
},
|
||||
"step_two": {
|
||||
"step_2_of_4": "Step 2 of 4",
|
||||
"which_rules_are_being_violated": "Which rules are being violated?",
|
||||
"select_all_that_apply": "Select all that apply",
|
||||
"i_just_don’t_like_it": "I just don’t like it"
|
||||
},
|
||||
"step_three": {
|
||||
"step_3_of_4": "Step 3 of 4",
|
||||
"are_there_any_posts_that_back_up_this_report": "Are there any posts that back up this report?",
|
||||
"select_all_that_apply": "Select all that apply"
|
||||
},
|
||||
"step_four": {
|
||||
"step_4_of_4": "Step 4 of 4",
|
||||
"is_there_anything_else_we_should_know": "Is there anything else we should know?"
|
||||
},
|
||||
"step_final": {
|
||||
"dont_want_to_see_this": "Don’t want to see this?",
|
||||
"when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.",
|
||||
"unfollow": "Unfollow",
|
||||
"unfollowed": "Unfollowed",
|
||||
"unfollow_user": "Unfollow %s",
|
||||
"mute_user": "Mute %s",
|
||||
"you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.",
|
||||
"block_user": "Block %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 they’ve been blocked."
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"keyboard": {
|
||||
|
|
|
@ -240,7 +240,8 @@
|
|||
"category": "ROINN-SEÒRSA"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Lorg frithealaiche no gabh pàirt san fhear agad fhèin…"
|
||||
"placeholder": "Lorg frithealaiche no gabh pàirt san fhear agad fhèin…",
|
||||
"search_servers_or_enter_url": "Search communities or enter URL"
|
||||
},
|
||||
"empty_state": {
|
||||
"finding_servers": "A’ lorg nam frithealaichean ri am faighinn…",
|
||||
|
@ -342,7 +343,11 @@
|
|||
"offline": "Far loidhne",
|
||||
"new_posts": "Seall na postaichean ùra",
|
||||
"published": "Chaidh fhoillseachadh!",
|
||||
"Publishing": "A’ foillseachadh a’ phuist…"
|
||||
"Publishing": "A’ foillseachadh a’ phuist…",
|
||||
"accessibility": {
|
||||
"logo_label": "Logo Button",
|
||||
"logo_hint": "Tap to scroll to top and tap again to previous location"
|
||||
}
|
||||
}
|
||||
},
|
||||
"suggestion_account": {
|
||||
|
@ -498,7 +503,7 @@
|
|||
"posts": "Postaichean",
|
||||
"hashtags": "Tagaichean hais",
|
||||
"news": "Naidheachdan",
|
||||
"community": "Community",
|
||||
"community": "Coimhearsnachd",
|
||||
"for_you": "Dhut-sa"
|
||||
},
|
||||
"intro": "Seo na postaichean fèillmhor ’nad cheàrnaidh de Mhastodon."
|
||||
|
@ -596,7 +601,48 @@
|
|||
"send": "Cuir an gearan",
|
||||
"skip_to_send": "Cuir gun bheachd ris",
|
||||
"text_placeholder": "Sgrìobh no cuir ann beachdan a bharrachd",
|
||||
"reported": "CHAIDH GEARAN A DHÈANAMH"
|
||||
"reported": "CHAIDH GEARAN A DHÈANAMH",
|
||||
"step_one": {
|
||||
"step_1_of_4": "Step 1 of 4",
|
||||
"whats_wrong_with_this_post": "What's wrong with this post?",
|
||||
"whats_wrong_with_this_account": "What's wrong with this account?",
|
||||
"whats_wrong_with_this_username": "What's wrong with %s?",
|
||||
"select_the_best_match": "Select the best match",
|
||||
"i_dont_like_it": "I don’t like it",
|
||||
"it_is_not_something_you_want_to_see": "It is not something you want to see",
|
||||
"its_spam": "It’s spam",
|
||||
"malicious_links_fake_engagement_or_repetetive_replies": "Malicious links, fake engagement, or repetetive replies",
|
||||
"it_violates_server_rules": "It violates server rules",
|
||||
"you_are_aware_that_it_breaks_specific_rules": "You are aware that it breaks specific rules",
|
||||
"its_something_else": "It’s something else",
|
||||
"the_issue_does_not_fit_into_other_categories": "The issue does not fit into other categories"
|
||||
},
|
||||
"step_two": {
|
||||
"step_2_of_4": "Step 2 of 4",
|
||||
"which_rules_are_being_violated": "Which rules are being violated?",
|
||||
"select_all_that_apply": "Select all that apply",
|
||||
"i_just_don’t_like_it": "I just don’t like it"
|
||||
},
|
||||
"step_three": {
|
||||
"step_3_of_4": "Step 3 of 4",
|
||||
"are_there_any_posts_that_back_up_this_report": "Are there any posts that back up this report?",
|
||||
"select_all_that_apply": "Select all that apply"
|
||||
},
|
||||
"step_four": {
|
||||
"step_4_of_4": "Step 4 of 4",
|
||||
"is_there_anything_else_we_should_know": "Is there anything else we should know?"
|
||||
},
|
||||
"step_final": {
|
||||
"dont_want_to_see_this": "Don’t want to see this?",
|
||||
"when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.",
|
||||
"unfollow": "Unfollow",
|
||||
"unfollowed": "Unfollowed",
|
||||
"unfollow_user": "Unfollow %s",
|
||||
"mute_user": "Mute %s",
|
||||
"you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.",
|
||||
"block_user": "Block %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 they’ve been blocked."
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"keyboard": {
|
||||
|
|
|
@ -13,15 +13,15 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 unread notification</string>
|
||||
<string>1 notificación non lida</string>
|
||||
<key>other</key>
|
||||
<string>%ld unread notification</string>
|
||||
<string>%ld notificacións non lidas</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>a11y.plural.count.input_limit_exceeds</key>
|
||||
<dict>
|
||||
<key>NSStringLocalizedFormatKey</key>
|
||||
<string>Input limit exceeds %#@character_count@</string>
|
||||
<string>O límite supera %#@character_count@</string>
|
||||
<key>character_count</key>
|
||||
<dict>
|
||||
<key>NSStringFormatSpecTypeKey</key>
|
||||
|
@ -29,15 +29,15 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 character</string>
|
||||
<string>1 caracter</string>
|
||||
<key>other</key>
|
||||
<string>%ld characters</string>
|
||||
<string>%ld caracteres</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>a11y.plural.count.input_limit_remains</key>
|
||||
<dict>
|
||||
<key>NSStringLocalizedFormatKey</key>
|
||||
<string>Input limit remains %#@character_count@</string>
|
||||
<string>O límite de entrada mantense en %#@character_count@</string>
|
||||
<key>character_count</key>
|
||||
<dict>
|
||||
<key>NSStringFormatSpecTypeKey</key>
|
||||
|
@ -45,9 +45,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 character</string>
|
||||
<string>1 caracter</string>
|
||||
<key>other</key>
|
||||
<string>%ld characters</string>
|
||||
<string>%ld caracteres</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>plural.count.metric_formatted.post</key>
|
||||
|
@ -61,9 +61,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>post</string>
|
||||
<string>publicación</string>
|
||||
<key>other</key>
|
||||
<string>posts</string>
|
||||
<string>publicacións</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>plural.count.post</key>
|
||||
|
@ -77,9 +77,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 post</string>
|
||||
<string>1 publicación</string>
|
||||
<key>other</key>
|
||||
<string>%ld posts</string>
|
||||
<string>%ld publicacións</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>plural.count.favorite</key>
|
||||
|
@ -93,9 +93,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 favorite</string>
|
||||
<string>1 favorito</string>
|
||||
<key>other</key>
|
||||
<string>%ld favorites</string>
|
||||
<string>%ld favoritos</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>plural.count.reblog</key>
|
||||
|
@ -109,9 +109,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 reblog</string>
|
||||
<string>1 promoción</string>
|
||||
<key>other</key>
|
||||
<string>%ld reblogs</string>
|
||||
<string>%ld promocións</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>plural.count.reply</key>
|
||||
|
@ -125,9 +125,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 reply</string>
|
||||
<string>1 resposta</string>
|
||||
<key>other</key>
|
||||
<string>%ld replies</string>
|
||||
<string>%ld respostas</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>plural.count.vote</key>
|
||||
|
@ -141,9 +141,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 vote</string>
|
||||
<string>1 voto</string>
|
||||
<key>other</key>
|
||||
<string>%ld votes</string>
|
||||
<string>%ld votos</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>plural.count.voter</key>
|
||||
|
@ -157,9 +157,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 voter</string>
|
||||
<string>1 votante</string>
|
||||
<key>other</key>
|
||||
<string>%ld voters</string>
|
||||
<string>%ld votantes</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>plural.people_talking</key>
|
||||
|
@ -173,9 +173,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 people talking</string>
|
||||
<string>1 persoa comentando</string>
|
||||
<key>other</key>
|
||||
<string>%ld people talking</string>
|
||||
<string>%ld persoas comentando</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>plural.count.following</key>
|
||||
|
@ -189,9 +189,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 following</string>
|
||||
<string>1 seguimento</string>
|
||||
<key>other</key>
|
||||
<string>%ld following</string>
|
||||
<string>%ld seguimentos</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>plural.count.follower</key>
|
||||
|
@ -205,9 +205,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 follower</string>
|
||||
<string>1 seguidora</string>
|
||||
<key>other</key>
|
||||
<string>%ld followers</string>
|
||||
<string>%ld seguidoras</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.year.left</key>
|
||||
|
@ -221,9 +221,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 year left</string>
|
||||
<string>Queda 1 ano</string>
|
||||
<key>other</key>
|
||||
<string>%ld years left</string>
|
||||
<string>Quedan %ld anos</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.month.left</key>
|
||||
|
@ -237,9 +237,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 months left</string>
|
||||
<string>Queda 1 mes</string>
|
||||
<key>other</key>
|
||||
<string>%ld months left</string>
|
||||
<string>Quedan %ld meses</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.day.left</key>
|
||||
|
@ -253,9 +253,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 day left</string>
|
||||
<string>Queda 1 día</string>
|
||||
<key>other</key>
|
||||
<string>%ld days left</string>
|
||||
<string>Quedan %ld días</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.hour.left</key>
|
||||
|
@ -269,9 +269,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 hour left</string>
|
||||
<string>Queda 1 hora</string>
|
||||
<key>other</key>
|
||||
<string>%ld hours left</string>
|
||||
<string>Quedan %ld horas</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.minute.left</key>
|
||||
|
@ -285,9 +285,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 minute left</string>
|
||||
<string>Queda 1 minuto</string>
|
||||
<key>other</key>
|
||||
<string>%ld minutes left</string>
|
||||
<string>Quedan %ld minutos</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.second.left</key>
|
||||
|
@ -301,9 +301,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 second left</string>
|
||||
<string>Queda 1 segundo</string>
|
||||
<key>other</key>
|
||||
<string>%ld seconds left</string>
|
||||
<string>Quedan %ld segundos</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.year.ago.abbr</key>
|
||||
|
@ -317,9 +317,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1y ago</string>
|
||||
<string>hai 1 ano</string>
|
||||
<key>other</key>
|
||||
<string>%ldy ago</string>
|
||||
<string>hai %ld anos</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.month.ago.abbr</key>
|
||||
|
@ -333,9 +333,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1M ago</string>
|
||||
<string>hai 1 mes</string>
|
||||
<key>other</key>
|
||||
<string>%ldM ago</string>
|
||||
<string>hai %ld meses</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.day.ago.abbr</key>
|
||||
|
@ -349,9 +349,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1d ago</string>
|
||||
<string>hai 1 día</string>
|
||||
<key>other</key>
|
||||
<string>%ldd ago</string>
|
||||
<string>hai %ld días</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.hour.ago.abbr</key>
|
||||
|
@ -365,9 +365,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1h ago</string>
|
||||
<string>fai 1 hora</string>
|
||||
<key>other</key>
|
||||
<string>%ldh ago</string>
|
||||
<string>fai %ld horas</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.minute.ago.abbr</key>
|
||||
|
@ -381,9 +381,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1m ago</string>
|
||||
<string>fai 1 minuto</string>
|
||||
<key>other</key>
|
||||
<string>%ldm ago</string>
|
||||
<string>fai %ld minutos</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.second.ago.abbr</key>
|
||||
|
@ -397,9 +397,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1s ago</string>
|
||||
<string>fai 1 seg.</string>
|
||||
<key>other</key>
|
||||
<string>%lds ago</string>
|
||||
<string>fai %ld seg.</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
|
|
|
@ -195,18 +195,18 @@
|
|||
"header": {
|
||||
"no_status_found": "Non se atopa a publicación",
|
||||
"blocking_warning": "Non podes ver o perfil da usuaria\nata que a desbloquees.\nAsí ven outras o teu perfil.",
|
||||
"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."
|
||||
"user_blocking_warning": "Non podes ver o perfil de %s\nata que o desbloquees.\nAsí se ve o teu perfil.",
|
||||
"blocked_warning": "Non podes ver o perfil desta usuaria\nata que te desbloquee.",
|
||||
"user_blocked_warning": "Non podes ver o perfil de %s\nata que te desbloquee.",
|
||||
"suspended_warning": "Esta usuaria foi suspendida.",
|
||||
"user_suspended_warning": "A conta de %s foi suspendida."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"scene": {
|
||||
"welcome": {
|
||||
"slogan": "Social networking\nback in your hands.",
|
||||
"slogan": "Comunicación social\nde volta ás túas mans.",
|
||||
"get_started": "Comezar",
|
||||
"log_in": "Acceder"
|
||||
},
|
||||
|
@ -240,7 +240,8 @@
|
|||
"category": "CATEGORÍA"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Buscar comunidades"
|
||||
"placeholder": "Buscar comunidades",
|
||||
"search_servers_or_enter_url": "Search communities or enter URL"
|
||||
},
|
||||
"empty_state": {
|
||||
"finding_servers": "Buscando servidores dispoñibles...",
|
||||
|
@ -301,79 +302,83 @@
|
|||
},
|
||||
"special": {
|
||||
"username_invalid": "O nome de usuaria só pode ter caracteres alfanuméricos e trazos baixos",
|
||||
"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_too_long": "O nome de usuaria é demasiado longo (maior de 30 caracteres)",
|
||||
"email_invalid": "Este non é un enderezo válido de email",
|
||||
"password_too_short": "O contrasinal é demasiado curto (debe ter 8 caracteres como mínimo)"
|
||||
}
|
||||
}
|
||||
},
|
||||
"server_rules": {
|
||||
"title": "Some ground rules.",
|
||||
"subtitle": "These are set and enforced by the %s moderators.",
|
||||
"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": "Algunhas regras básicas.",
|
||||
"subtitle": "Son establecidas e aplicadas pola moderación de %s.",
|
||||
"prompt": "Ao continuar, acatas os termos do servizo e a política de privacidade para %s.",
|
||||
"terms_of_service": "termos do servizo",
|
||||
"privacy_policy": "polícica de privacidade",
|
||||
"button": {
|
||||
"confirm": "I Agree"
|
||||
"confirm": "Acepto"
|
||||
}
|
||||
},
|
||||
"confirm_email": {
|
||||
"title": "One last thing.",
|
||||
"subtitle": "Tap the link we emailed to you to verify your account.",
|
||||
"title": "O último detalle.",
|
||||
"subtitle": "Preme na ligazón que che enviamos ao email para verificar a conta.",
|
||||
"button": {
|
||||
"open_email_app": "Open Email App",
|
||||
"resend": "Resend"
|
||||
"open_email_app": "Abrir app de email",
|
||||
"resend": "Reenviar"
|
||||
},
|
||||
"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": "Revisa o teu correo",
|
||||
"description": "Comproba que o enderezo de email é correcto e que non vaia directo ao cartafol de spam.",
|
||||
"resend_email": "Volver enviar o correo"
|
||||
},
|
||||
"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": "Mira na caixa de correo.",
|
||||
"description": "Enviámosche un email. Se non aparece, mira no cartafol do lixo.",
|
||||
"mail": "Correo",
|
||||
"open_email_client": "Abrir cliente de email"
|
||||
}
|
||||
},
|
||||
"home_timeline": {
|
||||
"title": "Home",
|
||||
"title": "Inicio",
|
||||
"navigation_bar_state": {
|
||||
"offline": "Offline",
|
||||
"new_posts": "See new posts",
|
||||
"published": "Published!",
|
||||
"Publishing": "Publishing post..."
|
||||
"offline": "Sen conexión",
|
||||
"new_posts": "Novas publicacións",
|
||||
"published": "Publicado!",
|
||||
"Publishing": "Publicando...",
|
||||
"accessibility": {
|
||||
"logo_label": "Logo Button",
|
||||
"logo_hint": "Tap to scroll to top and tap again to previous location"
|
||||
}
|
||||
}
|
||||
},
|
||||
"suggestion_account": {
|
||||
"title": "Find People to Follow",
|
||||
"follow_explain": "When you follow someone, you’ll see their posts in your home feed."
|
||||
"title": "Atopar persoas para seguir",
|
||||
"follow_explain": "Cando sigas a alguén verás as súas publicacións na cronoloxía de inicio."
|
||||
},
|
||||
"compose": {
|
||||
"title": {
|
||||
"new_post": "New Post",
|
||||
"new_reply": "New Reply"
|
||||
"new_post": "Nova publicación",
|
||||
"new_reply": "Nova resposta"
|
||||
},
|
||||
"media_selection": {
|
||||
"camera": "Take Photo",
|
||||
"photo_library": "Photo Library",
|
||||
"browse": "Browse"
|
||||
"camera": "Facer foto",
|
||||
"photo_library": "Biblioteca de fotos",
|
||||
"browse": "Explorar"
|
||||
},
|
||||
"content_input_placeholder": "Type or paste what’s on your mind",
|
||||
"compose_action": "Publish",
|
||||
"replying_to_user": "replying to %s",
|
||||
"content_input_placeholder": "Escribe o que che apeteza",
|
||||
"compose_action": "Publicar",
|
||||
"replying_to_user": "en resposta a %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": "foto",
|
||||
"video": "vídeo",
|
||||
"attachment_broken": "Este %s está estragado e non pode\nser subido a Mastodon.",
|
||||
"description_photo": "Describe a foto para persoas con problemas visuais...",
|
||||
"description_video": "Describe o vídeo para persoas con problemas visuais..."
|
||||
},
|
||||
"poll": {
|
||||
"duration_time": "Duration: %s",
|
||||
"thirty_minutes": "30 minutes",
|
||||
"one_hour": "1 Hour",
|
||||
"six_hours": "6 Hours",
|
||||
"duration_time": "Duración: %s",
|
||||
"thirty_minutes": "30 minutos",
|
||||
"one_hour": "1 Hora",
|
||||
"six_hours": "6 Horas",
|
||||
"one_day": "1 Día",
|
||||
"three_days": "3 Días",
|
||||
"seven_days": "7 Días",
|
||||
|
@ -499,90 +504,90 @@
|
|||
"hashtags": "Cancelos",
|
||||
"news": "Novas",
|
||||
"community": "Comunidade",
|
||||
"for_you": "For You"
|
||||
"for_you": "Para ti"
|
||||
},
|
||||
"intro": "These are the posts gaining traction in your corner of Mastodon."
|
||||
"intro": "Estas son as publicacións en voga no teu recuncho de Mastodon."
|
||||
},
|
||||
"favorite": {
|
||||
"title": "Your Favorites"
|
||||
"title": "Publicacións Favoritas"
|
||||
},
|
||||
"notification": {
|
||||
"title": {
|
||||
"Everything": "Everything",
|
||||
"Mentions": "Mentions"
|
||||
"Everything": "Todo",
|
||||
"Mentions": "Mencións"
|
||||
},
|
||||
"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"
|
||||
"followed_you": "séguete",
|
||||
"favorited_your_post": "marcou a túa publicación como favorita",
|
||||
"reblogged_your_post": "compartiu a túa publicación",
|
||||
"mentioned_you": "mencionoute",
|
||||
"request_to_follow_you": "solicitou seguirte",
|
||||
"poll_has_ended": "a enquisa rematou"
|
||||
},
|
||||
"keyobard": {
|
||||
"show_everything": "Show Everything",
|
||||
"show_mentions": "Show Mentions"
|
||||
"show_everything": "Mostrar Todo",
|
||||
"show_mentions": "Mostrar mencións"
|
||||
}
|
||||
},
|
||||
"thread": {
|
||||
"back_title": "Post",
|
||||
"title": "Post from %s"
|
||||
"back_title": "Publicación",
|
||||
"title": "Publicación de %s"
|
||||
},
|
||||
"settings": {
|
||||
"title": "Settings",
|
||||
"title": "Axustes",
|
||||
"section": {
|
||||
"appearance": {
|
||||
"title": "Appearance",
|
||||
"automatic": "Automatic",
|
||||
"light": "Always Light",
|
||||
"dark": "Always Dark"
|
||||
"title": "Aparencia",
|
||||
"automatic": "Automático",
|
||||
"light": "Sempre claro",
|
||||
"dark": "Sempre escuro"
|
||||
},
|
||||
"look_and_feel": {
|
||||
"title": "Look and Feel",
|
||||
"use_system": "Use System",
|
||||
"really_dark": "Really Dark",
|
||||
"sorta_dark": "Sorta Dark",
|
||||
"light": "Light"
|
||||
"title": "Aparencia",
|
||||
"use_system": "Seguir o sistema",
|
||||
"really_dark": "Realmente escuro",
|
||||
"sorta_dark": "Algo escuro",
|
||||
"light": "Claro"
|
||||
},
|
||||
"notifications": {
|
||||
"title": "Notifications",
|
||||
"favorites": "Favorites my post",
|
||||
"follows": "Follows me",
|
||||
"boosts": "Reblogs my post",
|
||||
"mentions": "Mentions me",
|
||||
"title": "Notificacións",
|
||||
"favorites": "Favorece a miña publicación",
|
||||
"follows": "Me segue",
|
||||
"boosts": "Promove a miña publicación",
|
||||
"mentions": "Me menciona",
|
||||
"trigger": {
|
||||
"anyone": "anyone",
|
||||
"follower": "a follower",
|
||||
"follow": "anyone I follow",
|
||||
"noone": "no one",
|
||||
"title": "Notify me when"
|
||||
"anyone": "calquera",
|
||||
"follower": "unha seguidora",
|
||||
"follow": "alguén a quen sigo",
|
||||
"noone": "ninguén",
|
||||
"title": "Avisarme cando"
|
||||
}
|
||||
},
|
||||
"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",
|
||||
"open_links_in_mastodon": "Open links in Mastodon"
|
||||
"title": "Preferencias",
|
||||
"true_black_dark_mode": "Modo negro verdadeiro",
|
||||
"disable_avatar_animation": "Desactivar avatares animados",
|
||||
"disable_emoji_animation": "Desactivar emojis animados",
|
||||
"using_default_browser": "Usar navegador por defecto para as ligazóns",
|
||||
"open_links_in_mastodon": "Abrir ligazóns en Mastodon"
|
||||
},
|
||||
"boring_zone": {
|
||||
"title": "The Boring Zone",
|
||||
"account_settings": "Account Settings",
|
||||
"terms": "Terms of Service",
|
||||
"privacy": "Privacy Policy"
|
||||
"title": "A zona aburrida",
|
||||
"account_settings": "Axustes da conta",
|
||||
"terms": "Termos do Servizo",
|
||||
"privacy": "Política de Privacidade"
|
||||
},
|
||||
"spicy_zone": {
|
||||
"title": "The Spicy Zone",
|
||||
"clear": "Clear Media Cache",
|
||||
"signout": "Sign Out"
|
||||
"title": "A zona picante",
|
||||
"clear": "Limpar caché multimedia",
|
||||
"signout": "Pechar sesión"
|
||||
}
|
||||
},
|
||||
"footer": {
|
||||
"mastodon_description": "Mastodon is open source software. You can report issues on GitHub at %s (%s)"
|
||||
"mastodon_description": "Mastodon é software de código aberto. Podes informar de fallos en GitHub en %s (%s)"
|
||||
},
|
||||
"keyboard": {
|
||||
"close_settings_window": "Close Settings Window"
|
||||
"close_settings_window": "Pechar ventá de axustes"
|
||||
}
|
||||
},
|
||||
"report": {
|
||||
|
@ -596,7 +601,48 @@
|
|||
"send": "Enviar Denuncia",
|
||||
"skip_to_send": "Enviar sen comentarios",
|
||||
"text_placeholder": "Escribe ou pega comentarios adicionais",
|
||||
"reported": "DENUNCIADO"
|
||||
"reported": "DENUNCIADO",
|
||||
"step_one": {
|
||||
"step_1_of_4": "Step 1 of 4",
|
||||
"whats_wrong_with_this_post": "What's wrong with this post?",
|
||||
"whats_wrong_with_this_account": "What's wrong with this account?",
|
||||
"whats_wrong_with_this_username": "What's wrong with %s?",
|
||||
"select_the_best_match": "Select the best match",
|
||||
"i_dont_like_it": "I don’t like it",
|
||||
"it_is_not_something_you_want_to_see": "It is not something you want to see",
|
||||
"its_spam": "It’s spam",
|
||||
"malicious_links_fake_engagement_or_repetetive_replies": "Malicious links, fake engagement, or repetetive replies",
|
||||
"it_violates_server_rules": "It violates server rules",
|
||||
"you_are_aware_that_it_breaks_specific_rules": "You are aware that it breaks specific rules",
|
||||
"its_something_else": "It’s something else",
|
||||
"the_issue_does_not_fit_into_other_categories": "The issue does not fit into other categories"
|
||||
},
|
||||
"step_two": {
|
||||
"step_2_of_4": "Step 2 of 4",
|
||||
"which_rules_are_being_violated": "Which rules are being violated?",
|
||||
"select_all_that_apply": "Select all that apply",
|
||||
"i_just_don’t_like_it": "I just don’t like it"
|
||||
},
|
||||
"step_three": {
|
||||
"step_3_of_4": "Step 3 of 4",
|
||||
"are_there_any_posts_that_back_up_this_report": "Are there any posts that back up this report?",
|
||||
"select_all_that_apply": "Select all that apply"
|
||||
},
|
||||
"step_four": {
|
||||
"step_4_of_4": "Step 4 of 4",
|
||||
"is_there_anything_else_we_should_know": "Is there anything else we should know?"
|
||||
},
|
||||
"step_final": {
|
||||
"dont_want_to_see_this": "Don’t want to see this?",
|
||||
"when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.",
|
||||
"unfollow": "Unfollow",
|
||||
"unfollowed": "Unfollowed",
|
||||
"unfollow_user": "Unfollow %s",
|
||||
"mute_user": "Mute %s",
|
||||
"you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.",
|
||||
"block_user": "Block %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 they’ve been blocked."
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"keyboard": {
|
||||
|
@ -606,14 +652,14 @@
|
|||
}
|
||||
},
|
||||
"account_list": {
|
||||
"tab_bar_hint": "Current selected profile: %s. Double tap then hold to show account switcher",
|
||||
"dismiss_account_switcher": "Dismiss Account Switcher",
|
||||
"add_account": "Add Account"
|
||||
"tab_bar_hint": "Perfil seleccionado: %s. Dobre toque e manter para mostrar o intercambiador de contas",
|
||||
"dismiss_account_switcher": "Desbotar intercambiador de contas",
|
||||
"add_account": "Engadir conta"
|
||||
},
|
||||
"wizard": {
|
||||
"new_in_mastodon": "New in Mastodon",
|
||||
"multiple_account_switch_intro_description": "Switch between multiple accounts by holding the profile button.",
|
||||
"accessibility_hint": "Double tap to dismiss this wizard"
|
||||
"new_in_mastodon": "Novidade en Mastodon",
|
||||
"multiple_account_switch_intro_description": "Cambia dunha conta a outra mantendo preso o botón do perfil.",
|
||||
"accessibility_hint": "Dobre toque para desbotar este asistente"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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": "Utilizado para facer foto e publicar estado",
|
||||
"NSPhotoLibraryAddUsageDescription": "Utilizado para gardar a foto na Biblioteca",
|
||||
"NewPostShortcutItemTitle": "Nova publicación",
|
||||
"SearchShortcutItemTitle": "Buscar"
|
||||
}
|
||||
|
|
|
@ -240,7 +240,8 @@
|
|||
"category": "CATEGORY"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Search servers"
|
||||
"placeholder": "Search servers",
|
||||
"search_servers_or_enter_url": "Search communities or enter URL"
|
||||
},
|
||||
"empty_state": {
|
||||
"finding_servers": "Finding available servers...",
|
||||
|
@ -342,7 +343,11 @@
|
|||
"offline": "Offline",
|
||||
"new_posts": "See new posts",
|
||||
"published": "Published!",
|
||||
"Publishing": "Publishing post..."
|
||||
"Publishing": "Publishing post...",
|
||||
"accessibility": {
|
||||
"logo_label": "Logo Button",
|
||||
"logo_hint": "Tap to scroll to top and tap again to previous location"
|
||||
}
|
||||
}
|
||||
},
|
||||
"suggestion_account": {
|
||||
|
@ -596,7 +601,48 @@
|
|||
"send": "Send Report",
|
||||
"skip_to_send": "Send without comment",
|
||||
"text_placeholder": "Type or paste additional comments",
|
||||
"reported": "REPORTED"
|
||||
"reported": "REPORTED",
|
||||
"step_one": {
|
||||
"step_1_of_4": "Step 1 of 4",
|
||||
"whats_wrong_with_this_post": "What's wrong with this post?",
|
||||
"whats_wrong_with_this_account": "What's wrong with this account?",
|
||||
"whats_wrong_with_this_username": "What's wrong with %s?",
|
||||
"select_the_best_match": "Select the best match",
|
||||
"i_dont_like_it": "I don’t like it",
|
||||
"it_is_not_something_you_want_to_see": "It is not something you want to see",
|
||||
"its_spam": "It’s spam",
|
||||
"malicious_links_fake_engagement_or_repetetive_replies": "Malicious links, fake engagement, or repetetive replies",
|
||||
"it_violates_server_rules": "It violates server rules",
|
||||
"you_are_aware_that_it_breaks_specific_rules": "You are aware that it breaks specific rules",
|
||||
"its_something_else": "It’s something else",
|
||||
"the_issue_does_not_fit_into_other_categories": "The issue does not fit into other categories"
|
||||
},
|
||||
"step_two": {
|
||||
"step_2_of_4": "Step 2 of 4",
|
||||
"which_rules_are_being_violated": "Which rules are being violated?",
|
||||
"select_all_that_apply": "Select all that apply",
|
||||
"i_just_don’t_like_it": "I just don’t like it"
|
||||
},
|
||||
"step_three": {
|
||||
"step_3_of_4": "Step 3 of 4",
|
||||
"are_there_any_posts_that_back_up_this_report": "Are there any posts that back up this report?",
|
||||
"select_all_that_apply": "Select all that apply"
|
||||
},
|
||||
"step_four": {
|
||||
"step_4_of_4": "Step 4 of 4",
|
||||
"is_there_anything_else_we_should_know": "Is there anything else we should know?"
|
||||
},
|
||||
"step_final": {
|
||||
"dont_want_to_see_this": "Don’t want to see this?",
|
||||
"when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.",
|
||||
"unfollow": "Unfollow",
|
||||
"unfollowed": "Unfollowed",
|
||||
"unfollow_user": "Unfollow %s",
|
||||
"mute_user": "Mute %s",
|
||||
"you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.",
|
||||
"block_user": "Block %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 they’ve been blocked."
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"keyboard": {
|
||||
|
|
|
@ -240,7 +240,8 @@
|
|||
"category": "KATEGORI"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Search servers"
|
||||
"placeholder": "Search servers",
|
||||
"search_servers_or_enter_url": "Search communities or enter URL"
|
||||
},
|
||||
"empty_state": {
|
||||
"finding_servers": "Mencari server yang tersedia...",
|
||||
|
@ -342,7 +343,11 @@
|
|||
"offline": "Luring",
|
||||
"new_posts": "Lihat postingan baru",
|
||||
"published": "Dipublikasikan!",
|
||||
"Publishing": "Mempublikasikan postingan..."
|
||||
"Publishing": "Mempublikasikan postingan...",
|
||||
"accessibility": {
|
||||
"logo_label": "Logo Button",
|
||||
"logo_hint": "Tap to scroll to top and tap again to previous location"
|
||||
}
|
||||
}
|
||||
},
|
||||
"suggestion_account": {
|
||||
|
@ -596,7 +601,48 @@
|
|||
"send": "Kirim Laporan",
|
||||
"skip_to_send": "Kirim tanpa komentar",
|
||||
"text_placeholder": "Ketik atau tempel komentar tambahan",
|
||||
"reported": "REPORTED"
|
||||
"reported": "REPORTED",
|
||||
"step_one": {
|
||||
"step_1_of_4": "Step 1 of 4",
|
||||
"whats_wrong_with_this_post": "What's wrong with this post?",
|
||||
"whats_wrong_with_this_account": "What's wrong with this account?",
|
||||
"whats_wrong_with_this_username": "What's wrong with %s?",
|
||||
"select_the_best_match": "Select the best match",
|
||||
"i_dont_like_it": "I don’t like it",
|
||||
"it_is_not_something_you_want_to_see": "It is not something you want to see",
|
||||
"its_spam": "It’s spam",
|
||||
"malicious_links_fake_engagement_or_repetetive_replies": "Malicious links, fake engagement, or repetetive replies",
|
||||
"it_violates_server_rules": "It violates server rules",
|
||||
"you_are_aware_that_it_breaks_specific_rules": "You are aware that it breaks specific rules",
|
||||
"its_something_else": "It’s something else",
|
||||
"the_issue_does_not_fit_into_other_categories": "The issue does not fit into other categories"
|
||||
},
|
||||
"step_two": {
|
||||
"step_2_of_4": "Step 2 of 4",
|
||||
"which_rules_are_being_violated": "Which rules are being violated?",
|
||||
"select_all_that_apply": "Select all that apply",
|
||||
"i_just_don’t_like_it": "I just don’t like it"
|
||||
},
|
||||
"step_three": {
|
||||
"step_3_of_4": "Step 3 of 4",
|
||||
"are_there_any_posts_that_back_up_this_report": "Are there any posts that back up this report?",
|
||||
"select_all_that_apply": "Select all that apply"
|
||||
},
|
||||
"step_four": {
|
||||
"step_4_of_4": "Step 4 of 4",
|
||||
"is_there_anything_else_we_should_know": "Is there anything else we should know?"
|
||||
},
|
||||
"step_final": {
|
||||
"dont_want_to_see_this": "Don’t want to see this?",
|
||||
"when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.",
|
||||
"unfollow": "Unfollow",
|
||||
"unfollowed": "Unfollowed",
|
||||
"unfollow_user": "Unfollow %s",
|
||||
"mute_user": "Mute %s",
|
||||
"you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.",
|
||||
"block_user": "Block %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 they’ve been blocked."
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"keyboard": {
|
||||
|
|
|
@ -240,7 +240,8 @@
|
|||
"category": "CATEGORIA"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Cerca comunità"
|
||||
"placeholder": "Cerca comunità",
|
||||
"search_servers_or_enter_url": "Cerca comunità o inserisci l'URL"
|
||||
},
|
||||
"empty_state": {
|
||||
"finding_servers": "Ricerca server disponibili...",
|
||||
|
@ -342,7 +343,11 @@
|
|||
"offline": "Non in linea",
|
||||
"new_posts": "Vedi nuovi post",
|
||||
"published": "Pubblicato!",
|
||||
"Publishing": "Pubblicazione post..."
|
||||
"Publishing": "Pubblicazione post...",
|
||||
"accessibility": {
|
||||
"logo_label": "Pulsante Logo",
|
||||
"logo_hint": "Tocca per scorrere verso l'alto e tocca di nuovo verso la posizione precedente"
|
||||
}
|
||||
}
|
||||
},
|
||||
"suggestion_account": {
|
||||
|
@ -596,7 +601,48 @@
|
|||
"send": "Invia segnalazione",
|
||||
"skip_to_send": "Invia senza commento",
|
||||
"text_placeholder": "Digita o incolla commenti aggiuntivi",
|
||||
"reported": "SEGNALATO"
|
||||
"reported": "SEGNALATO",
|
||||
"step_one": {
|
||||
"step_1_of_4": "Fase 1 di 4",
|
||||
"whats_wrong_with_this_post": "Cosa c'è che non va con questo post?",
|
||||
"whats_wrong_with_this_account": "Cosa c'è che non va con questo account?",
|
||||
"whats_wrong_with_this_username": "Cosa c'è che non va con %s?",
|
||||
"select_the_best_match": "Scegli la migliore corrispondenza",
|
||||
"i_dont_like_it": "Non mi piace",
|
||||
"it_is_not_something_you_want_to_see": "È qualcosa che non vuoi vedere",
|
||||
"its_spam": "È spam",
|
||||
"malicious_links_fake_engagement_or_repetetive_replies": "Collegamenti malevoli, false interazioni o risposte ripetitive",
|
||||
"it_violates_server_rules": "Viola le regole del server",
|
||||
"you_are_aware_that_it_breaks_specific_rules": "Sei consapevole che violi regole specifiche",
|
||||
"its_something_else": "È qualcos'altro",
|
||||
"the_issue_does_not_fit_into_other_categories": "Il problema non rientra in altre categorie"
|
||||
},
|
||||
"step_two": {
|
||||
"step_2_of_4": "Fase 2 di 4",
|
||||
"which_rules_are_being_violated": "Quali regole vengono violate?",
|
||||
"select_all_that_apply": "Seleziona tutte le risposte pertinenti",
|
||||
"i_just_don’t_like_it": "Non mi piace"
|
||||
},
|
||||
"step_three": {
|
||||
"step_3_of_4": "Fase 3 di 4",
|
||||
"are_there_any_posts_that_back_up_this_report": "Ci sono post a sostegno di questa segnalazione?",
|
||||
"select_all_that_apply": "Seleziona tutte le risposte pertinenti"
|
||||
},
|
||||
"step_four": {
|
||||
"step_4_of_4": "Fase 4 di 4",
|
||||
"is_there_anything_else_we_should_know": "C'è altro che dovremmo sapere?"
|
||||
},
|
||||
"step_final": {
|
||||
"dont_want_to_see_this": "Non vuoi vedere questo?",
|
||||
"when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "Quando vedi qualcosa che non ti piace su Mastodon, puoi rimuovere la persona dalla tua esperienza.",
|
||||
"unfollow": "Smetti di seguire",
|
||||
"unfollowed": "Non seguito",
|
||||
"unfollow_user": "Smetti di seguire %s",
|
||||
"mute_user": "Silenzia %s",
|
||||
"you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "Non vedrai i loro post o le condivisioni nel tuo feed. Non sapranno di essere stati silenziati.",
|
||||
"block_user": "Blocca %s",
|
||||
"they_will_no_longer_be_able_to_follow_or_see_your_posts_but_they_can_see_if_theyve_been_blocked": "Non saranno più in grado di seguire o vedere i tuoi post, ma possono vedere se sono stati bloccati."
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"keyboard": {
|
||||
|
|
|
@ -153,7 +153,7 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>other</key>
|
||||
<string>%ld people talking</string>
|
||||
<string>%ld人が投稿</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>plural.count.following</key>
|
||||
|
|
|
@ -45,8 +45,8 @@
|
|||
"message": "写真を保存するには、フォトライブラリへのアクセス許可を有効にしてください。"
|
||||
},
|
||||
"delete_post": {
|
||||
"title": "この投稿を消去しますか?",
|
||||
"message": "本当に削除しますか?"
|
||||
"title": "投稿を削除",
|
||||
"message": "本当にこの投稿を削除しますか?"
|
||||
},
|
||||
"clean_cache": {
|
||||
"title": "キャッシュを消去",
|
||||
|
@ -56,7 +56,7 @@
|
|||
"controls": {
|
||||
"actions": {
|
||||
"back": "戻る",
|
||||
"next": "次",
|
||||
"next": "次へ",
|
||||
"previous": "前",
|
||||
"open": "開く",
|
||||
"add": "追加",
|
||||
|
@ -91,7 +91,7 @@
|
|||
"block_domain": "%sをブロック",
|
||||
"unblock_domain": "%sのブロックを解除",
|
||||
"settings": "設定",
|
||||
"delete": "消去"
|
||||
"delete": "削除"
|
||||
},
|
||||
"tabs": {
|
||||
"home": "ホーム",
|
||||
|
@ -131,7 +131,7 @@
|
|||
"content_warning": "コンテンツ警告",
|
||||
"sensitive_content": "Sensitive Content",
|
||||
"media_content_warning": "どこかをタップして表示",
|
||||
"tap_to_reveal": "Tap to reveal",
|
||||
"tap_to_reveal": "タップして表示",
|
||||
"poll": {
|
||||
"vote": "投票",
|
||||
"closed": "クローズド"
|
||||
|
@ -144,8 +144,8 @@
|
|||
"unfavorite": "お気に入り登録を取り消す",
|
||||
"menu": "メニュー",
|
||||
"hide": "非表示",
|
||||
"show_image": "Show image",
|
||||
"show_gif": "Show GIF",
|
||||
"show_image": "画像を表示",
|
||||
"show_gif": "GIFを表示",
|
||||
"show_video_player": "Show video player",
|
||||
"tap_then_hold_to_show_menu": "Tap then hold to show menu"
|
||||
},
|
||||
|
@ -207,7 +207,7 @@
|
|||
"scene": {
|
||||
"welcome": {
|
||||
"slogan": "ソーシャルネットワーキングを、あなたの手の中に.",
|
||||
"get_started": "Get Started",
|
||||
"get_started": "はじめる",
|
||||
"log_in": "ログイン"
|
||||
},
|
||||
"server_picker": {
|
||||
|
@ -240,7 +240,8 @@
|
|||
"category": "カテゴリー"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "サーバーを探す"
|
||||
"placeholder": "サーバーを探す",
|
||||
"search_servers_or_enter_url": "Search communities or enter URL"
|
||||
},
|
||||
"empty_state": {
|
||||
"finding_servers": "利用可能なサーバーの検索...",
|
||||
|
@ -252,7 +253,7 @@
|
|||
"title": "あなたのことを教えてください",
|
||||
"input": {
|
||||
"avatar": {
|
||||
"delete": "消去"
|
||||
"delete": "削除"
|
||||
},
|
||||
"username": {
|
||||
"placeholder": "ユーザー名",
|
||||
|
@ -342,7 +343,11 @@
|
|||
"offline": "オフライン",
|
||||
"new_posts": "新しい投稿を見る",
|
||||
"published": "投稿しました!",
|
||||
"Publishing": "投稿中..."
|
||||
"Publishing": "投稿中...",
|
||||
"accessibility": {
|
||||
"logo_label": "Logo Button",
|
||||
"logo_hint": "Tap to scroll to top and tap again to previous location"
|
||||
}
|
||||
}
|
||||
},
|
||||
"suggestion_account": {
|
||||
|
@ -498,10 +503,10 @@
|
|||
"posts": "投稿",
|
||||
"hashtags": "ハッシュタグ",
|
||||
"news": "ニュース",
|
||||
"community": "Community",
|
||||
"for_you": "For You"
|
||||
"community": "コミュニティ",
|
||||
"for_you": "おすすめ"
|
||||
},
|
||||
"intro": "These are the posts gaining traction in your corner of Mastodon."
|
||||
"intro": "あなたのMastodonサーバーで注目を集めている投稿がここに表示されます。"
|
||||
},
|
||||
"favorite": {
|
||||
"title": "お気に入り"
|
||||
|
@ -512,12 +517,12 @@
|
|||
"Mentions": "メンション"
|
||||
},
|
||||
"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"
|
||||
"followed_you": "さんにフォローされました",
|
||||
"favorited_your_post": "さんがあなたの投稿をお気に入りに登録しました",
|
||||
"reblogged_your_post": "さんがあなたの投稿をブーストしました",
|
||||
"mentioned_you": "さんがあなたに返信しました",
|
||||
"request_to_follow_you": "さんがあなたにフォローリクエストしました",
|
||||
"poll_has_ended": "アンケートが終了しました"
|
||||
},
|
||||
"keyobard": {
|
||||
"show_everything": "すべて見る",
|
||||
|
@ -538,11 +543,11 @@
|
|||
"dark": "ダーク"
|
||||
},
|
||||
"look_and_feel": {
|
||||
"title": "Look and Feel",
|
||||
"use_system": "Use System",
|
||||
"really_dark": "Really Dark",
|
||||
"sorta_dark": "Sorta Dark",
|
||||
"light": "Light"
|
||||
"title": "テーマ",
|
||||
"use_system": "端末の設定を使う",
|
||||
"really_dark": "ブラック",
|
||||
"sorta_dark": "ダーク",
|
||||
"light": "ライト"
|
||||
},
|
||||
"notifications": {
|
||||
"title": "通知",
|
||||
|
@ -564,7 +569,7 @@
|
|||
"disable_avatar_animation": "アバターのアニメーションを無効化する",
|
||||
"disable_emoji_animation": "絵文字のアニメーションを無効化する",
|
||||
"using_default_browser": "既定のブラウザでリンクを開く",
|
||||
"open_links_in_mastodon": "Open links in Mastodon"
|
||||
"open_links_in_mastodon": "Mastodonでリンクを開く"
|
||||
},
|
||||
"boring_zone": {
|
||||
"title": "アプリについて",
|
||||
|
@ -596,7 +601,48 @@
|
|||
"send": "通報を送信",
|
||||
"skip_to_send": "コメントなしで送信",
|
||||
"text_placeholder": "追加コメントを入力",
|
||||
"reported": "報告済み"
|
||||
"reported": "報告済み",
|
||||
"step_one": {
|
||||
"step_1_of_4": "Step 1 of 4",
|
||||
"whats_wrong_with_this_post": "What's wrong with this post?",
|
||||
"whats_wrong_with_this_account": "What's wrong with this account?",
|
||||
"whats_wrong_with_this_username": "What's wrong with %s?",
|
||||
"select_the_best_match": "Select the best match",
|
||||
"i_dont_like_it": "I don’t like it",
|
||||
"it_is_not_something_you_want_to_see": "It is not something you want to see",
|
||||
"its_spam": "It’s spam",
|
||||
"malicious_links_fake_engagement_or_repetetive_replies": "Malicious links, fake engagement, or repetetive replies",
|
||||
"it_violates_server_rules": "It violates server rules",
|
||||
"you_are_aware_that_it_breaks_specific_rules": "You are aware that it breaks specific rules",
|
||||
"its_something_else": "It’s something else",
|
||||
"the_issue_does_not_fit_into_other_categories": "The issue does not fit into other categories"
|
||||
},
|
||||
"step_two": {
|
||||
"step_2_of_4": "Step 2 of 4",
|
||||
"which_rules_are_being_violated": "Which rules are being violated?",
|
||||
"select_all_that_apply": "Select all that apply",
|
||||
"i_just_don’t_like_it": "I just don’t like it"
|
||||
},
|
||||
"step_three": {
|
||||
"step_3_of_4": "Step 3 of 4",
|
||||
"are_there_any_posts_that_back_up_this_report": "Are there any posts that back up this report?",
|
||||
"select_all_that_apply": "Select all that apply"
|
||||
},
|
||||
"step_four": {
|
||||
"step_4_of_4": "Step 4 of 4",
|
||||
"is_there_anything_else_we_should_know": "Is there anything else we should know?"
|
||||
},
|
||||
"step_final": {
|
||||
"dont_want_to_see_this": "Don’t want to see this?",
|
||||
"when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.",
|
||||
"unfollow": "Unfollow",
|
||||
"unfollowed": "Unfollowed",
|
||||
"unfollow_user": "Unfollow %s",
|
||||
"mute_user": "Mute %s",
|
||||
"you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.",
|
||||
"block_user": "Block %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 they’ve been blocked."
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"keyboard": {
|
||||
|
|
|
@ -240,7 +240,8 @@
|
|||
"category": "TAGGAYT"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Nadi timɣiwnin"
|
||||
"placeholder": "Nadi timɣiwnin",
|
||||
"search_servers_or_enter_url": "Search communities or enter URL"
|
||||
},
|
||||
"empty_state": {
|
||||
"finding_servers": "Tifin n yiqeddacen yellan...",
|
||||
|
@ -342,7 +343,11 @@
|
|||
"offline": "Beṛṛa n tuqqna",
|
||||
"new_posts": "Tissufaɣ timaynutin",
|
||||
"published": "Yettwasuffeɣ!",
|
||||
"Publishing": "Asuffeɣ tasuffeɣt..."
|
||||
"Publishing": "Asuffeɣ tasuffeɣt...",
|
||||
"accessibility": {
|
||||
"logo_label": "Logo Button",
|
||||
"logo_hint": "Tap to scroll to top and tap again to previous location"
|
||||
}
|
||||
}
|
||||
},
|
||||
"suggestion_account": {
|
||||
|
@ -596,7 +601,48 @@
|
|||
"send": "Azen aneqis",
|
||||
"skip_to_send": "Azen s war awennit",
|
||||
"text_placeholder": "Aru neɣ senteḍ iwenniten-nniḍen",
|
||||
"reported": "YETTWAMMEL"
|
||||
"reported": "YETTWAMMEL",
|
||||
"step_one": {
|
||||
"step_1_of_4": "Step 1 of 4",
|
||||
"whats_wrong_with_this_post": "What's wrong with this post?",
|
||||
"whats_wrong_with_this_account": "What's wrong with this account?",
|
||||
"whats_wrong_with_this_username": "What's wrong with %s?",
|
||||
"select_the_best_match": "Select the best match",
|
||||
"i_dont_like_it": "I don’t like it",
|
||||
"it_is_not_something_you_want_to_see": "It is not something you want to see",
|
||||
"its_spam": "It’s spam",
|
||||
"malicious_links_fake_engagement_or_repetetive_replies": "Malicious links, fake engagement, or repetetive replies",
|
||||
"it_violates_server_rules": "It violates server rules",
|
||||
"you_are_aware_that_it_breaks_specific_rules": "You are aware that it breaks specific rules",
|
||||
"its_something_else": "It’s something else",
|
||||
"the_issue_does_not_fit_into_other_categories": "The issue does not fit into other categories"
|
||||
},
|
||||
"step_two": {
|
||||
"step_2_of_4": "Step 2 of 4",
|
||||
"which_rules_are_being_violated": "Which rules are being violated?",
|
||||
"select_all_that_apply": "Select all that apply",
|
||||
"i_just_don’t_like_it": "I just don’t like it"
|
||||
},
|
||||
"step_three": {
|
||||
"step_3_of_4": "Step 3 of 4",
|
||||
"are_there_any_posts_that_back_up_this_report": "Are there any posts that back up this report?",
|
||||
"select_all_that_apply": "Select all that apply"
|
||||
},
|
||||
"step_four": {
|
||||
"step_4_of_4": "Step 4 of 4",
|
||||
"is_there_anything_else_we_should_know": "Is there anything else we should know?"
|
||||
},
|
||||
"step_final": {
|
||||
"dont_want_to_see_this": "Don’t want to see this?",
|
||||
"when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.",
|
||||
"unfollow": "Unfollow",
|
||||
"unfollowed": "Unfollowed",
|
||||
"unfollow_user": "Unfollow %s",
|
||||
"mute_user": "Mute %s",
|
||||
"you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.",
|
||||
"block_user": "Block %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 they’ve been blocked."
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"keyboard": {
|
||||
|
|
|
@ -211,7 +211,7 @@
|
|||
"log_in": "Têkeve"
|
||||
},
|
||||
"server_picker": {
|
||||
"title": "Rajekarekê hilbijêre,\nHer kîjan rajekar be.",
|
||||
"title": "Mastodon ji bikarhênerên di civakên cuda de pêk tê.",
|
||||
"subtitle": "Li gorî berjewendî, herêm, an jî armancek gelemperî civakekê hilbijêre.",
|
||||
"subtitle_extend": "Li gorî berjewendî, herêm, an jî armancek gelemperî civakekê hilbijêre. Her civakek ji hêla rêxistinek an kesek bi tevahî serbixwe ve tê xebitandin.",
|
||||
"button": {
|
||||
|
@ -240,7 +240,8 @@
|
|||
"category": "BEŞ"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Rajekarekî bibîne an jî beşdarî ya xwe bibe..."
|
||||
"placeholder": "Li rajekaran bigere",
|
||||
"search_servers_or_enter_url": "Search communities or enter URL"
|
||||
},
|
||||
"empty_state": {
|
||||
"finding_servers": "Peydakirina rajekarên berdest...",
|
||||
|
@ -342,7 +343,11 @@
|
|||
"offline": "Derhêl",
|
||||
"new_posts": "Şandiyên nû bibîne",
|
||||
"published": "Hate weşandin!",
|
||||
"Publishing": "Şandî tê weşandin..."
|
||||
"Publishing": "Şandî tê weşandin...",
|
||||
"accessibility": {
|
||||
"logo_label": "Logo Button",
|
||||
"logo_hint": "Tap to scroll to top and tap again to previous location"
|
||||
}
|
||||
}
|
||||
},
|
||||
"suggestion_account": {
|
||||
|
@ -596,7 +601,48 @@
|
|||
"send": "Ragihandinê bişîne",
|
||||
"skip_to_send": "Bêyî şirove bişîne",
|
||||
"text_placeholder": "Şiroveyên daxwazkirê binivîsine an jî pê ve bike",
|
||||
"reported": "HATE RAGIHANDIN"
|
||||
"reported": "HATE RAGIHANDIN",
|
||||
"step_one": {
|
||||
"step_1_of_4": "Step 1 of 4",
|
||||
"whats_wrong_with_this_post": "What's wrong with this post?",
|
||||
"whats_wrong_with_this_account": "What's wrong with this account?",
|
||||
"whats_wrong_with_this_username": "What's wrong with %s?",
|
||||
"select_the_best_match": "Select the best match",
|
||||
"i_dont_like_it": "I don’t like it",
|
||||
"it_is_not_something_you_want_to_see": "It is not something you want to see",
|
||||
"its_spam": "It’s spam",
|
||||
"malicious_links_fake_engagement_or_repetetive_replies": "Malicious links, fake engagement, or repetetive replies",
|
||||
"it_violates_server_rules": "It violates server rules",
|
||||
"you_are_aware_that_it_breaks_specific_rules": "You are aware that it breaks specific rules",
|
||||
"its_something_else": "It’s something else",
|
||||
"the_issue_does_not_fit_into_other_categories": "The issue does not fit into other categories"
|
||||
},
|
||||
"step_two": {
|
||||
"step_2_of_4": "Step 2 of 4",
|
||||
"which_rules_are_being_violated": "Which rules are being violated?",
|
||||
"select_all_that_apply": "Select all that apply",
|
||||
"i_just_don’t_like_it": "I just don’t like it"
|
||||
},
|
||||
"step_three": {
|
||||
"step_3_of_4": "Step 3 of 4",
|
||||
"are_there_any_posts_that_back_up_this_report": "Are there any posts that back up this report?",
|
||||
"select_all_that_apply": "Select all that apply"
|
||||
},
|
||||
"step_four": {
|
||||
"step_4_of_4": "Step 4 of 4",
|
||||
"is_there_anything_else_we_should_know": "Is there anything else we should know?"
|
||||
},
|
||||
"step_final": {
|
||||
"dont_want_to_see_this": "Don’t want to see this?",
|
||||
"when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.",
|
||||
"unfollow": "Unfollow",
|
||||
"unfollowed": "Unfollowed",
|
||||
"unfollow_user": "Unfollow %s",
|
||||
"mute_user": "Mute %s",
|
||||
"you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.",
|
||||
"block_user": "Block %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 they’ve been blocked."
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"keyboard": {
|
||||
|
|
|
@ -240,7 +240,8 @@
|
|||
"category": "분류"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Search servers"
|
||||
"placeholder": "Search servers",
|
||||
"search_servers_or_enter_url": "Search communities or enter URL"
|
||||
},
|
||||
"empty_state": {
|
||||
"finding_servers": "Finding available servers...",
|
||||
|
@ -342,7 +343,11 @@
|
|||
"offline": "오프라인",
|
||||
"new_posts": "새 글 보기",
|
||||
"published": "게시됨!",
|
||||
"Publishing": "Publishing post..."
|
||||
"Publishing": "Publishing post...",
|
||||
"accessibility": {
|
||||
"logo_label": "Logo Button",
|
||||
"logo_hint": "Tap to scroll to top and tap again to previous location"
|
||||
}
|
||||
}
|
||||
},
|
||||
"suggestion_account": {
|
||||
|
@ -596,7 +601,48 @@
|
|||
"send": "신고 전송",
|
||||
"skip_to_send": "추가설명 없이 보내기",
|
||||
"text_placeholder": "추가 설명을 적거나 붙여넣으세요",
|
||||
"reported": "REPORTED"
|
||||
"reported": "REPORTED",
|
||||
"step_one": {
|
||||
"step_1_of_4": "Step 1 of 4",
|
||||
"whats_wrong_with_this_post": "What's wrong with this post?",
|
||||
"whats_wrong_with_this_account": "What's wrong with this account?",
|
||||
"whats_wrong_with_this_username": "What's wrong with %s?",
|
||||
"select_the_best_match": "Select the best match",
|
||||
"i_dont_like_it": "I don’t like it",
|
||||
"it_is_not_something_you_want_to_see": "It is not something you want to see",
|
||||
"its_spam": "It’s spam",
|
||||
"malicious_links_fake_engagement_or_repetetive_replies": "Malicious links, fake engagement, or repetetive replies",
|
||||
"it_violates_server_rules": "It violates server rules",
|
||||
"you_are_aware_that_it_breaks_specific_rules": "You are aware that it breaks specific rules",
|
||||
"its_something_else": "It’s something else",
|
||||
"the_issue_does_not_fit_into_other_categories": "The issue does not fit into other categories"
|
||||
},
|
||||
"step_two": {
|
||||
"step_2_of_4": "Step 2 of 4",
|
||||
"which_rules_are_being_violated": "Which rules are being violated?",
|
||||
"select_all_that_apply": "Select all that apply",
|
||||
"i_just_don’t_like_it": "I just don’t like it"
|
||||
},
|
||||
"step_three": {
|
||||
"step_3_of_4": "Step 3 of 4",
|
||||
"are_there_any_posts_that_back_up_this_report": "Are there any posts that back up this report?",
|
||||
"select_all_that_apply": "Select all that apply"
|
||||
},
|
||||
"step_four": {
|
||||
"step_4_of_4": "Step 4 of 4",
|
||||
"is_there_anything_else_we_should_know": "Is there anything else we should know?"
|
||||
},
|
||||
"step_final": {
|
||||
"dont_want_to_see_this": "Don’t want to see this?",
|
||||
"when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.",
|
||||
"unfollow": "Unfollow",
|
||||
"unfollowed": "Unfollowed",
|
||||
"unfollow_user": "Unfollow %s",
|
||||
"mute_user": "Mute %s",
|
||||
"you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.",
|
||||
"block_user": "Block %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 they’ve been blocked."
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"keyboard": {
|
||||
|
|
|
@ -240,7 +240,8 @@
|
|||
"category": "CATEGORIE"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Zoek uw server of sluit u bij een nieuwe server aan..."
|
||||
"placeholder": "Zoek uw server of sluit u bij een nieuwe server aan...",
|
||||
"search_servers_or_enter_url": "Search communities or enter URL"
|
||||
},
|
||||
"empty_state": {
|
||||
"finding_servers": "Beschikbare servers zoeken...",
|
||||
|
@ -342,7 +343,11 @@
|
|||
"offline": "Offline",
|
||||
"new_posts": "Bekijk nieuwe berichten",
|
||||
"published": "Gepubliceerd!",
|
||||
"Publishing": "Bericht publiceren..."
|
||||
"Publishing": "Bericht publiceren...",
|
||||
"accessibility": {
|
||||
"logo_label": "Logo Button",
|
||||
"logo_hint": "Tap to scroll to top and tap again to previous location"
|
||||
}
|
||||
}
|
||||
},
|
||||
"suggestion_account": {
|
||||
|
@ -596,7 +601,48 @@
|
|||
"send": "Stuur rapport",
|
||||
"skip_to_send": "Verstuur zonder opmerkingen",
|
||||
"text_placeholder": "Schrijf of plak aanvullende opmerkingen",
|
||||
"reported": "Gerapporteerd"
|
||||
"reported": "Gerapporteerd",
|
||||
"step_one": {
|
||||
"step_1_of_4": "Step 1 of 4",
|
||||
"whats_wrong_with_this_post": "What's wrong with this post?",
|
||||
"whats_wrong_with_this_account": "What's wrong with this account?",
|
||||
"whats_wrong_with_this_username": "What's wrong with %s?",
|
||||
"select_the_best_match": "Select the best match",
|
||||
"i_dont_like_it": "I don’t like it",
|
||||
"it_is_not_something_you_want_to_see": "It is not something you want to see",
|
||||
"its_spam": "It’s spam",
|
||||
"malicious_links_fake_engagement_or_repetetive_replies": "Malicious links, fake engagement, or repetetive replies",
|
||||
"it_violates_server_rules": "It violates server rules",
|
||||
"you_are_aware_that_it_breaks_specific_rules": "You are aware that it breaks specific rules",
|
||||
"its_something_else": "It’s something else",
|
||||
"the_issue_does_not_fit_into_other_categories": "The issue does not fit into other categories"
|
||||
},
|
||||
"step_two": {
|
||||
"step_2_of_4": "Step 2 of 4",
|
||||
"which_rules_are_being_violated": "Which rules are being violated?",
|
||||
"select_all_that_apply": "Select all that apply",
|
||||
"i_just_don’t_like_it": "I just don’t like it"
|
||||
},
|
||||
"step_three": {
|
||||
"step_3_of_4": "Step 3 of 4",
|
||||
"are_there_any_posts_that_back_up_this_report": "Are there any posts that back up this report?",
|
||||
"select_all_that_apply": "Select all that apply"
|
||||
},
|
||||
"step_four": {
|
||||
"step_4_of_4": "Step 4 of 4",
|
||||
"is_there_anything_else_we_should_know": "Is there anything else we should know?"
|
||||
},
|
||||
"step_final": {
|
||||
"dont_want_to_see_this": "Don’t want to see this?",
|
||||
"when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.",
|
||||
"unfollow": "Unfollow",
|
||||
"unfollowed": "Unfollowed",
|
||||
"unfollow_user": "Unfollow %s",
|
||||
"mute_user": "Mute %s",
|
||||
"you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.",
|
||||
"block_user": "Block %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 they’ve been blocked."
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"keyboard": {
|
||||
|
|
|
@ -240,7 +240,8 @@
|
|||
"category": "CATEGORY"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Search servers"
|
||||
"placeholder": "Search servers",
|
||||
"search_servers_or_enter_url": "Search communities or enter URL"
|
||||
},
|
||||
"empty_state": {
|
||||
"finding_servers": "Finding available servers...",
|
||||
|
@ -342,7 +343,11 @@
|
|||
"offline": "Offline",
|
||||
"new_posts": "See new posts",
|
||||
"published": "Published!",
|
||||
"Publishing": "Publishing post..."
|
||||
"Publishing": "Publishing post...",
|
||||
"accessibility": {
|
||||
"logo_label": "Logo Button",
|
||||
"logo_hint": "Tap to scroll to top and tap again to previous location"
|
||||
}
|
||||
}
|
||||
},
|
||||
"suggestion_account": {
|
||||
|
@ -596,7 +601,48 @@
|
|||
"send": "Send Report",
|
||||
"skip_to_send": "Send without comment",
|
||||
"text_placeholder": "Type or paste additional comments",
|
||||
"reported": "REPORTED"
|
||||
"reported": "REPORTED",
|
||||
"step_one": {
|
||||
"step_1_of_4": "Step 1 of 4",
|
||||
"whats_wrong_with_this_post": "What's wrong with this post?",
|
||||
"whats_wrong_with_this_account": "What's wrong with this account?",
|
||||
"whats_wrong_with_this_username": "What's wrong with %s?",
|
||||
"select_the_best_match": "Select the best match",
|
||||
"i_dont_like_it": "I don’t like it",
|
||||
"it_is_not_something_you_want_to_see": "It is not something you want to see",
|
||||
"its_spam": "It’s spam",
|
||||
"malicious_links_fake_engagement_or_repetetive_replies": "Malicious links, fake engagement, or repetetive replies",
|
||||
"it_violates_server_rules": "It violates server rules",
|
||||
"you_are_aware_that_it_breaks_specific_rules": "You are aware that it breaks specific rules",
|
||||
"its_something_else": "It’s something else",
|
||||
"the_issue_does_not_fit_into_other_categories": "The issue does not fit into other categories"
|
||||
},
|
||||
"step_two": {
|
||||
"step_2_of_4": "Step 2 of 4",
|
||||
"which_rules_are_being_violated": "Which rules are being violated?",
|
||||
"select_all_that_apply": "Select all that apply",
|
||||
"i_just_don’t_like_it": "I just don’t like it"
|
||||
},
|
||||
"step_three": {
|
||||
"step_3_of_4": "Step 3 of 4",
|
||||
"are_there_any_posts_that_back_up_this_report": "Are there any posts that back up this report?",
|
||||
"select_all_that_apply": "Select all that apply"
|
||||
},
|
||||
"step_four": {
|
||||
"step_4_of_4": "Step 4 of 4",
|
||||
"is_there_anything_else_we_should_know": "Is there anything else we should know?"
|
||||
},
|
||||
"step_final": {
|
||||
"dont_want_to_see_this": "Don’t want to see this?",
|
||||
"when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.",
|
||||
"unfollow": "Unfollow",
|
||||
"unfollowed": "Unfollowed",
|
||||
"unfollow_user": "Unfollow %s",
|
||||
"mute_user": "Mute %s",
|
||||
"you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.",
|
||||
"block_user": "Block %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 they’ve been blocked."
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"keyboard": {
|
||||
|
|
|
@ -240,7 +240,8 @@
|
|||
"category": "CATEGORY"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Search servers"
|
||||
"placeholder": "Search servers",
|
||||
"search_servers_or_enter_url": "Search communities or enter URL"
|
||||
},
|
||||
"empty_state": {
|
||||
"finding_servers": "Finding available servers...",
|
||||
|
@ -342,7 +343,11 @@
|
|||
"offline": "Offline",
|
||||
"new_posts": "See new posts",
|
||||
"published": "Published!",
|
||||
"Publishing": "Publishing post..."
|
||||
"Publishing": "Publishing post...",
|
||||
"accessibility": {
|
||||
"logo_label": "Logo Button",
|
||||
"logo_hint": "Tap to scroll to top and tap again to previous location"
|
||||
}
|
||||
}
|
||||
},
|
||||
"suggestion_account": {
|
||||
|
@ -596,7 +601,48 @@
|
|||
"send": "Send Report",
|
||||
"skip_to_send": "Send without comment",
|
||||
"text_placeholder": "Type or paste additional comments",
|
||||
"reported": "REPORTED"
|
||||
"reported": "REPORTED",
|
||||
"step_one": {
|
||||
"step_1_of_4": "Step 1 of 4",
|
||||
"whats_wrong_with_this_post": "What's wrong with this post?",
|
||||
"whats_wrong_with_this_account": "What's wrong with this account?",
|
||||
"whats_wrong_with_this_username": "What's wrong with %s?",
|
||||
"select_the_best_match": "Select the best match",
|
||||
"i_dont_like_it": "I don’t like it",
|
||||
"it_is_not_something_you_want_to_see": "It is not something you want to see",
|
||||
"its_spam": "It’s spam",
|
||||
"malicious_links_fake_engagement_or_repetetive_replies": "Malicious links, fake engagement, or repetetive replies",
|
||||
"it_violates_server_rules": "It violates server rules",
|
||||
"you_are_aware_that_it_breaks_specific_rules": "You are aware that it breaks specific rules",
|
||||
"its_something_else": "It’s something else",
|
||||
"the_issue_does_not_fit_into_other_categories": "The issue does not fit into other categories"
|
||||
},
|
||||
"step_two": {
|
||||
"step_2_of_4": "Step 2 of 4",
|
||||
"which_rules_are_being_violated": "Which rules are being violated?",
|
||||
"select_all_that_apply": "Select all that apply",
|
||||
"i_just_don’t_like_it": "I just don’t like it"
|
||||
},
|
||||
"step_three": {
|
||||
"step_3_of_4": "Step 3 of 4",
|
||||
"are_there_any_posts_that_back_up_this_report": "Are there any posts that back up this report?",
|
||||
"select_all_that_apply": "Select all that apply"
|
||||
},
|
||||
"step_four": {
|
||||
"step_4_of_4": "Step 4 of 4",
|
||||
"is_there_anything_else_we_should_know": "Is there anything else we should know?"
|
||||
},
|
||||
"step_final": {
|
||||
"dont_want_to_see_this": "Don’t want to see this?",
|
||||
"when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.",
|
||||
"unfollow": "Unfollow",
|
||||
"unfollowed": "Unfollowed",
|
||||
"unfollow_user": "Unfollow %s",
|
||||
"mute_user": "Mute %s",
|
||||
"you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.",
|
||||
"block_user": "Block %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 they’ve been blocked."
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"keyboard": {
|
||||
|
|
|
@ -240,7 +240,8 @@
|
|||
"category": "CATEGORY"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Search servers"
|
||||
"placeholder": "Search servers",
|
||||
"search_servers_or_enter_url": "Search communities or enter URL"
|
||||
},
|
||||
"empty_state": {
|
||||
"finding_servers": "Finding available servers...",
|
||||
|
@ -342,7 +343,11 @@
|
|||
"offline": "Offline",
|
||||
"new_posts": "See new posts",
|
||||
"published": "Published!",
|
||||
"Publishing": "Publishing post..."
|
||||
"Publishing": "Publishing post...",
|
||||
"accessibility": {
|
||||
"logo_label": "Logo Button",
|
||||
"logo_hint": "Tap to scroll to top and tap again to previous location"
|
||||
}
|
||||
}
|
||||
},
|
||||
"suggestion_account": {
|
||||
|
@ -596,7 +601,48 @@
|
|||
"send": "Send Report",
|
||||
"skip_to_send": "Send without comment",
|
||||
"text_placeholder": "Type or paste additional comments",
|
||||
"reported": "REPORTED"
|
||||
"reported": "REPORTED",
|
||||
"step_one": {
|
||||
"step_1_of_4": "Step 1 of 4",
|
||||
"whats_wrong_with_this_post": "What's wrong with this post?",
|
||||
"whats_wrong_with_this_account": "What's wrong with this account?",
|
||||
"whats_wrong_with_this_username": "What's wrong with %s?",
|
||||
"select_the_best_match": "Select the best match",
|
||||
"i_dont_like_it": "I don’t like it",
|
||||
"it_is_not_something_you_want_to_see": "It is not something you want to see",
|
||||
"its_spam": "It’s spam",
|
||||
"malicious_links_fake_engagement_or_repetetive_replies": "Malicious links, fake engagement, or repetetive replies",
|
||||
"it_violates_server_rules": "It violates server rules",
|
||||
"you_are_aware_that_it_breaks_specific_rules": "You are aware that it breaks specific rules",
|
||||
"its_something_else": "It’s something else",
|
||||
"the_issue_does_not_fit_into_other_categories": "The issue does not fit into other categories"
|
||||
},
|
||||
"step_two": {
|
||||
"step_2_of_4": "Step 2 of 4",
|
||||
"which_rules_are_being_violated": "Which rules are being violated?",
|
||||
"select_all_that_apply": "Select all that apply",
|
||||
"i_just_don’t_like_it": "I just don’t like it"
|
||||
},
|
||||
"step_three": {
|
||||
"step_3_of_4": "Step 3 of 4",
|
||||
"are_there_any_posts_that_back_up_this_report": "Are there any posts that back up this report?",
|
||||
"select_all_that_apply": "Select all that apply"
|
||||
},
|
||||
"step_four": {
|
||||
"step_4_of_4": "Step 4 of 4",
|
||||
"is_there_anything_else_we_should_know": "Is there anything else we should know?"
|
||||
},
|
||||
"step_final": {
|
||||
"dont_want_to_see_this": "Don’t want to see this?",
|
||||
"when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.",
|
||||
"unfollow": "Unfollow",
|
||||
"unfollowed": "Unfollowed",
|
||||
"unfollow_user": "Unfollow %s",
|
||||
"mute_user": "Mute %s",
|
||||
"you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.",
|
||||
"block_user": "Block %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 they’ve been blocked."
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"keyboard": {
|
||||
|
|
|
@ -240,7 +240,8 @@
|
|||
"category": "КАТЕГОРИЯ"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Найдите сервер или присоединитесь к своему..."
|
||||
"placeholder": "Найдите сервер или присоединитесь к своему...",
|
||||
"search_servers_or_enter_url": "Search communities or enter URL"
|
||||
},
|
||||
"empty_state": {
|
||||
"finding_servers": "Ищем доступные сервера...",
|
||||
|
@ -342,7 +343,11 @@
|
|||
"offline": "Не в сети",
|
||||
"new_posts": "Показать новые",
|
||||
"published": "Опубликовано!",
|
||||
"Publishing": "Публикуем пост..."
|
||||
"Publishing": "Публикуем пост...",
|
||||
"accessibility": {
|
||||
"logo_label": "Logo Button",
|
||||
"logo_hint": "Tap to scroll to top and tap again to previous location"
|
||||
}
|
||||
}
|
||||
},
|
||||
"suggestion_account": {
|
||||
|
@ -596,7 +601,48 @@
|
|||
"send": "Пожаловаться",
|
||||
"skip_to_send": "Отправить без комментария",
|
||||
"text_placeholder": "Дополнительные комментарии",
|
||||
"reported": "REPORTED"
|
||||
"reported": "REPORTED",
|
||||
"step_one": {
|
||||
"step_1_of_4": "Step 1 of 4",
|
||||
"whats_wrong_with_this_post": "What's wrong with this post?",
|
||||
"whats_wrong_with_this_account": "What's wrong with this account?",
|
||||
"whats_wrong_with_this_username": "What's wrong with %s?",
|
||||
"select_the_best_match": "Select the best match",
|
||||
"i_dont_like_it": "I don’t like it",
|
||||
"it_is_not_something_you_want_to_see": "It is not something you want to see",
|
||||
"its_spam": "It’s spam",
|
||||
"malicious_links_fake_engagement_or_repetetive_replies": "Malicious links, fake engagement, or repetetive replies",
|
||||
"it_violates_server_rules": "It violates server rules",
|
||||
"you_are_aware_that_it_breaks_specific_rules": "You are aware that it breaks specific rules",
|
||||
"its_something_else": "It’s something else",
|
||||
"the_issue_does_not_fit_into_other_categories": "The issue does not fit into other categories"
|
||||
},
|
||||
"step_two": {
|
||||
"step_2_of_4": "Step 2 of 4",
|
||||
"which_rules_are_being_violated": "Which rules are being violated?",
|
||||
"select_all_that_apply": "Select all that apply",
|
||||
"i_just_don’t_like_it": "I just don’t like it"
|
||||
},
|
||||
"step_three": {
|
||||
"step_3_of_4": "Step 3 of 4",
|
||||
"are_there_any_posts_that_back_up_this_report": "Are there any posts that back up this report?",
|
||||
"select_all_that_apply": "Select all that apply"
|
||||
},
|
||||
"step_four": {
|
||||
"step_4_of_4": "Step 4 of 4",
|
||||
"is_there_anything_else_we_should_know": "Is there anything else we should know?"
|
||||
},
|
||||
"step_final": {
|
||||
"dont_want_to_see_this": "Don’t want to see this?",
|
||||
"when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.",
|
||||
"unfollow": "Unfollow",
|
||||
"unfollowed": "Unfollowed",
|
||||
"unfollow_user": "Unfollow %s",
|
||||
"mute_user": "Mute %s",
|
||||
"you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.",
|
||||
"block_user": "Block %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 they’ve been blocked."
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"keyboard": {
|
||||
|
|
|
@ -157,7 +157,7 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>%ld röst</string>
|
||||
<string>%ld röstare</string>
|
||||
<key>other</key>
|
||||
<string>%ld röster</string>
|
||||
</dict>
|
||||
|
@ -317,7 +317,7 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>%ldå sedan</string>
|
||||
<string>%ld år sedan</string>
|
||||
<key>other</key>
|
||||
<string>%ldå sedan</string>
|
||||
</dict>
|
||||
|
@ -333,7 +333,7 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>%ldmån sedan</string>
|
||||
<string>%ld mån sedan</string>
|
||||
<key>other</key>
|
||||
<string>%ld mån sedan</string>
|
||||
</dict>
|
||||
|
|
|
@ -23,13 +23,13 @@
|
|||
"title": "Publicering misslyckades",
|
||||
"message": "Det gick inte att publicera inlägget.\nKontrollera din internetanslutning.",
|
||||
"attachments_message": {
|
||||
"video_attach_with_photo": "Det går inte att bifoga en video till en status som redan innehåller bilder.",
|
||||
"video_attach_with_photo": "Det går inte att bifoga en video till ett inlägg som redan innehåller bilder.",
|
||||
"more_than_one_video": "Det går inte att bifoga mer än en video."
|
||||
}
|
||||
},
|
||||
"edit_profile_failure": {
|
||||
"title": "Fel vid profilredigering",
|
||||
"message": "Kan inte redigera profil. Försök igen."
|
||||
"title": "Profilredigering misslyckades",
|
||||
"message": "Kan inte redigera profil. Var god försök igen."
|
||||
},
|
||||
"sign_out": {
|
||||
"title": "Logga ut",
|
||||
|
@ -41,7 +41,7 @@
|
|||
"block_entire_domain": "Blockera domän"
|
||||
},
|
||||
"save_photo_failure": {
|
||||
"title": "Kunde inte spara foto",
|
||||
"title": "Spara foto misslyckades",
|
||||
"message": "Aktivera åtkomst till Bilder för att spara bilden."
|
||||
},
|
||||
"delete_post": {
|
||||
|
@ -57,7 +57,7 @@
|
|||
"actions": {
|
||||
"back": "Tillbaka",
|
||||
"next": "Nästa",
|
||||
"previous": "Tidigare",
|
||||
"previous": "Föregående",
|
||||
"open": "Öppna",
|
||||
"add": "Lägg till",
|
||||
"remove": "Radera",
|
||||
|
@ -69,7 +69,7 @@
|
|||
"continue": "Fortsätt",
|
||||
"compose": "Skriv",
|
||||
"cancel": "Avbryt",
|
||||
"discard": "Kasta",
|
||||
"discard": "Släng",
|
||||
"try_again": "Försök igen",
|
||||
"take_photo": "Ta foto",
|
||||
"save_photo": "Spara foto",
|
||||
|
@ -77,7 +77,7 @@
|
|||
"sign_in": "Logga in",
|
||||
"sign_up": "Registrera dig",
|
||||
"see_more": "Visa mer",
|
||||
"preview": "Förhandstitt",
|
||||
"preview": "Förhandsvisa",
|
||||
"share": "Dela",
|
||||
"share_user": "Dela %s",
|
||||
"share_post": "Dela inlägg",
|
||||
|
@ -96,7 +96,7 @@
|
|||
"tabs": {
|
||||
"home": "Hem",
|
||||
"search": "Sök",
|
||||
"notification": "Avisering",
|
||||
"notification": "Notis",
|
||||
"profile": "Profil"
|
||||
},
|
||||
"keyboard": {
|
||||
|
@ -151,7 +151,7 @@
|
|||
},
|
||||
"tag": {
|
||||
"url": "URL",
|
||||
"mention": "Nämn",
|
||||
"mention": "Omnämn",
|
||||
"link": "Länk",
|
||||
"hashtag": "Hashtagg",
|
||||
"email": "E-post",
|
||||
|
@ -161,13 +161,13 @@
|
|||
"unlisted": "Alla kan se detta inlägg men det visas inte i den offentliga tidslinjen.",
|
||||
"private": "Endast deras följare kan se detta inlägg.",
|
||||
"private_from_me": "Bara mina följare kan se det här inlägget.",
|
||||
"direct": "Endast nämnda användare kan se detta inlägg."
|
||||
"direct": "Endast omnämnda användare kan se detta inlägg."
|
||||
}
|
||||
},
|
||||
"friendship": {
|
||||
"follow": "Följ",
|
||||
"following": "Följer",
|
||||
"request": "Begäran",
|
||||
"request": "Följ",
|
||||
"pending": "Väntande",
|
||||
"block": "Blockera",
|
||||
"block_user": "Blockera %s",
|
||||
|
@ -198,7 +198,7 @@
|
|||
"user_blocking_warning": "Du kan inte visa %ss profil\nförrän du avblockerar dem.\nDin profil ser ut så här för dem.",
|
||||
"blocked_warning": "Du kan inte visa den här användarens profil\nförrän de avblockerar dig.",
|
||||
"user_blocked_warning": "Du kan inte visa %ss profil\nförrän de avblockerar dig.",
|
||||
"suspended_warning": "Denna användare har stängts av.",
|
||||
"suspended_warning": "Denna användare har blivit avstängd.",
|
||||
"user_suspended_warning": "%ss konto har blivit avstängt."
|
||||
}
|
||||
}
|
||||
|
@ -211,9 +211,9 @@
|
|||
"log_in": "Logga in"
|
||||
},
|
||||
"server_picker": {
|
||||
"title": "Mastodon utgörs av användare i olika gemenskaper.",
|
||||
"subtitle": "Välj en gemenskap baserad på dina intressen, region eller ett allmänt syfte.",
|
||||
"subtitle_extend": "Välj en gemenskap baserad på dina intressen, region eller ett allmänt syfte. Varje gemenskap drivs av en helt oberoende organisation eller individ.",
|
||||
"title": "Mastodon utgörs av användare på olika servrar.",
|
||||
"subtitle": "Välj en server baserat på dina intressen, region eller ett allmänt syfte.",
|
||||
"subtitle_extend": "Välj en server baserat på dina intressen, region eller ett allmänt syfte. Varje server drivs av en helt oberoende organisation eller individ.",
|
||||
"button": {
|
||||
"category": {
|
||||
"all": "Alla",
|
||||
|
@ -240,7 +240,8 @@
|
|||
"category": "KATEGORI"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Sök gemenskaper"
|
||||
"placeholder": "Sök gemenskaper",
|
||||
"search_servers_or_enter_url": "Sök gemenskaper eller ange URL"
|
||||
},
|
||||
"empty_state": {
|
||||
"finding_servers": "Söker tillgängliga servrar...",
|
||||
|
@ -321,7 +322,7 @@
|
|||
"title": "En sista sak.",
|
||||
"subtitle": "Tryck på länken vi e-postade till dig för att verifiera ditt konto.",
|
||||
"button": {
|
||||
"open_email_app": "Öppna epostappen",
|
||||
"open_email_app": "Öppna e-postappen",
|
||||
"resend": "Skicka igen"
|
||||
},
|
||||
"dont_receive_email": {
|
||||
|
@ -340,9 +341,13 @@
|
|||
"title": "Hem",
|
||||
"navigation_bar_state": {
|
||||
"offline": "Offline",
|
||||
"new_posts": "Se nya inlägg",
|
||||
"published": "Publicerad!",
|
||||
"Publishing": "Publicerar inlägget..."
|
||||
"new_posts": "Nya inlägg",
|
||||
"published": "Publicerat!",
|
||||
"Publishing": "Publicerar inlägget...",
|
||||
"accessibility": {
|
||||
"logo_label": "Logo-knapp",
|
||||
"logo_hint": "Tryck för att bläddra till toppen och tryck igen för föregående plats"
|
||||
}
|
||||
}
|
||||
},
|
||||
"suggestion_account": {
|
||||
|
@ -370,11 +375,11 @@
|
|||
"description_video": "Beskriv videon för de synskadade..."
|
||||
},
|
||||
"poll": {
|
||||
"duration_time": "Varaktighet: %s",
|
||||
"duration_time": "Längd: %s",
|
||||
"thirty_minutes": "30 minuter",
|
||||
"one_hour": "1 timme",
|
||||
"six_hours": "6 timmar",
|
||||
"one_day": "1dag",
|
||||
"one_day": "1 dag",
|
||||
"three_days": "3 dagar",
|
||||
"seven_days": "7 dagar",
|
||||
"option_number": "Alternativ %ld"
|
||||
|
@ -383,13 +388,13 @@
|
|||
"placeholder": "Skriv en noggrann varning här..."
|
||||
},
|
||||
"visibility": {
|
||||
"public": "Publik",
|
||||
"public": "Offentlig",
|
||||
"unlisted": "Olistad",
|
||||
"private": "Endast följare",
|
||||
"direct": "Bara personer jag nämner"
|
||||
},
|
||||
"auto_complete": {
|
||||
"space_to_add": "Mellanslag att lägga till"
|
||||
"space_to_add": "Mellanslag för att lägga till"
|
||||
},
|
||||
"accessibility": {
|
||||
"append_attachment": "Lägg till bilaga",
|
||||
|
@ -401,8 +406,8 @@
|
|||
"post_visibility_menu": "Inläggssynlighetsmeny"
|
||||
},
|
||||
"keyboard": {
|
||||
"discard_post": "Kasta inlägget",
|
||||
"publish_post": "Publicerar inlägget",
|
||||
"discard_post": "Släng inlägget",
|
||||
"publish_post": "Publicera inlägget",
|
||||
"toggle_poll": "Växla omröstning",
|
||||
"toggle_content_warning": "Växla innehållsvarning",
|
||||
"append_attachment_entry": "Lägg till bilaga - %s",
|
||||
|
@ -498,7 +503,7 @@
|
|||
"posts": "Inlägg",
|
||||
"hashtags": "Hashtaggar",
|
||||
"news": "Nyheter",
|
||||
"community": "Gemenskap",
|
||||
"community": "Server",
|
||||
"for_you": "För dig"
|
||||
},
|
||||
"intro": "Detta är de inlägg som engagerar i ditt hörn av Mastodon."
|
||||
|
@ -545,11 +550,11 @@
|
|||
"light": "Ljust"
|
||||
},
|
||||
"notifications": {
|
||||
"title": "Aviseringar",
|
||||
"title": "Notiser",
|
||||
"favorites": "Favoriserar mitt inlägg",
|
||||
"follows": "Följer mig",
|
||||
"boosts": "Ompostar mitt inlägg",
|
||||
"mentions": "Nämner mig",
|
||||
"mentions": "Omnämner mig",
|
||||
"trigger": {
|
||||
"anyone": "alla",
|
||||
"follower": "en följare",
|
||||
|
@ -596,7 +601,48 @@
|
|||
"send": "Skicka rapport",
|
||||
"skip_to_send": "Skicka utan kommentar",
|
||||
"text_placeholder": "Skriv eller klistra in ytterligare kommentarer",
|
||||
"reported": "RAPPORTERAD"
|
||||
"reported": "RAPPORTERAD",
|
||||
"step_one": {
|
||||
"step_1_of_4": "Steg 1 av 4",
|
||||
"whats_wrong_with_this_post": "Vad är fel med det här inlägget?",
|
||||
"whats_wrong_with_this_account": "Vad är fel med det här kontot?",
|
||||
"whats_wrong_with_this_username": "Vad är fel med %s?",
|
||||
"select_the_best_match": "Välj den bästa träffen",
|
||||
"i_dont_like_it": "Jag tycker inte om det",
|
||||
"it_is_not_something_you_want_to_see": "Det är inget som du vill se",
|
||||
"its_spam": "Det är skräppost",
|
||||
"malicious_links_fake_engagement_or_repetetive_replies": "Skadliga länkar, bedrägligt beteende eller repetitiva svar",
|
||||
"it_violates_server_rules": "Det bryter mot serverns regler",
|
||||
"you_are_aware_that_it_breaks_specific_rules": "Du är medveten om att det bryter mot specifika regler",
|
||||
"its_something_else": "Det är något annat",
|
||||
"the_issue_does_not_fit_into_other_categories": "Frågan passar inte in i andra kategorier"
|
||||
},
|
||||
"step_two": {
|
||||
"step_2_of_4": "Steg 2 av 4",
|
||||
"which_rules_are_being_violated": "Vilka regler överträds?",
|
||||
"select_all_that_apply": "Välj allt som stämmer",
|
||||
"i_just_don’t_like_it": "Jag tycker bara inte om det"
|
||||
},
|
||||
"step_three": {
|
||||
"step_3_of_4": "Steg 3 av 4",
|
||||
"are_there_any_posts_that_back_up_this_report": "Finns det några inlägg som stöder denna rapport?",
|
||||
"select_all_that_apply": "Välj allt som stämmer"
|
||||
},
|
||||
"step_four": {
|
||||
"step_4_of_4": "Steg 4 av 4",
|
||||
"is_there_anything_else_we_should_know": "Finns det något annat vi borde veta?"
|
||||
},
|
||||
"step_final": {
|
||||
"dont_want_to_see_this": "Vill du inte se det här?",
|
||||
"when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "När du ser något som du inte gillar på Mastodon kan du ta bort personen från din upplevelse.",
|
||||
"unfollow": "Avfölj",
|
||||
"unfollowed": "Slutade följa",
|
||||
"unfollow_user": "Avfölj %s",
|
||||
"mute_user": "Tysta %s",
|
||||
"you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "Du kommer inte att se deras inlägg eller ompostningar i ditt hemflöde. De kommer inte att veta att de har blivit tystade.",
|
||||
"block_user": "Blockera %s",
|
||||
"they_will_no_longer_be_able_to_follow_or_see_your_posts_but_they_can_see_if_theyve_been_blocked": "De kommer inte längre att kunna följa eller se dina inlägg, men de kan se om de har blockerats."
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"keyboard": {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"NSCameraUsageDescription": "Används för att ta foto till inlägg",
|
||||
"NSPhotoLibraryAddUsageDescription": "Används för att spara foto till Bilder",
|
||||
"NSPhotoLibraryAddUsageDescription": "Används för att spara foto till bildbiblioteket",
|
||||
"NewPostShortcutItemTitle": "Nytt inlägg",
|
||||
"SearchShortcutItemTitle": "Sök"
|
||||
}
|
||||
|
|
|
@ -211,20 +211,20 @@
|
|||
"log_in": "เข้าสู่ระบบ"
|
||||
},
|
||||
"server_picker": {
|
||||
"title": "Mastodon ประกอบด้วยผู้ใช้ในชุมชนต่าง ๆ",
|
||||
"subtitle": "เลือกชุมชนตามความสนใจ, ภูมิภาค หรือวัตถุประสงค์ทั่วไปของคุณ",
|
||||
"subtitle_extend": "เลือกชุมชนตามความสนใจ, ภูมิภาค หรือวัตถุประสงค์ทั่วไปของคุณ แต่ละชุมชนดำเนินการโดยองค์กรหรือบุคคลที่เป็นอิสระโดยสิ้นเชิง",
|
||||
"title": "Mastodon ประกอบด้วยผู้ใช้ในเซิร์ฟเวอร์ต่าง ๆ",
|
||||
"subtitle": "เลือกเซิร์ฟเวอร์ตามความสนใจ, ภูมิภาค หรือวัตถุประสงค์ทั่วไปของคุณ",
|
||||
"subtitle_extend": "เลือกเซิร์ฟเวอร์ตามความสนใจ, ภูมิภาค หรือวัตถุประสงค์ทั่วไปของคุณ แต่ละเซิร์ฟเวอร์ดำเนินการโดยองค์กรหรือบุคคลที่เป็นอิสระโดยสิ้นเชิง",
|
||||
"button": {
|
||||
"category": {
|
||||
"all": "ทั้งหมด",
|
||||
"all_accessiblity_description": "หมวดหมู่: ทั้งหมด",
|
||||
"academia": "วิชาการ",
|
||||
"academia": "สถาบันการศึกษา",
|
||||
"activism": "กิจกรรมเพื่อการเปลี่ยนแปลง",
|
||||
"food": "อาหาร",
|
||||
"furry": "furry",
|
||||
"furry": "สัตว์ขนยาว",
|
||||
"games": "เกม",
|
||||
"general": "ทั่วไป",
|
||||
"journalism": "การเขียนข่าว",
|
||||
"journalism": "วารสารศาสตร์",
|
||||
"lgbt": "lgbt",
|
||||
"regional": "ภูมิภาค",
|
||||
"art": "ศิลปะ",
|
||||
|
@ -240,7 +240,8 @@
|
|||
"category": "หมวดหมู่"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "ค้นหาชุมชน"
|
||||
"placeholder": "ค้นหาเซิร์ฟเวอร์",
|
||||
"search_servers_or_enter_url": "Search communities or enter URL"
|
||||
},
|
||||
"empty_state": {
|
||||
"finding_servers": "กำลังค้นหาเซิร์ฟเวอร์ที่พร้อมใช้งาน...",
|
||||
|
@ -266,13 +267,13 @@
|
|||
},
|
||||
"password": {
|
||||
"placeholder": "รหัสผ่าน",
|
||||
"require": "รหัสผ่านของคุณต้องมีอย่างน้อย:",
|
||||
"require": "รหัสผ่านของคุณจำเป็นต้องมีอย่างน้อย:",
|
||||
"character_limit": "8 ตัวอักษร",
|
||||
"accessibility": {
|
||||
"checked": "กาเครื่องหมายแล้ว",
|
||||
"unchecked": "ไม่ได้กาเครื่องหมาย"
|
||||
},
|
||||
"hint": "รหัสผ่านของคุณต้องมีอย่างน้อยแปดตัวอักษร"
|
||||
"hint": "รหัสผ่านของคุณจำเป็นต้องมีอย่างน้อยแปดตัวอักษร"
|
||||
},
|
||||
"invite": {
|
||||
"registration_user_invite_request": "ทำไมคุณจึงต้องการเข้าร่วม?"
|
||||
|
@ -293,7 +294,7 @@
|
|||
"taken": "%s ถูกใช้งานแล้ว",
|
||||
"reserved": "%s เป็นคำสงวน",
|
||||
"accepted": "ต้องยอมรับ %s",
|
||||
"blank": "ต้องมี %s",
|
||||
"blank": "ต้องการ %s",
|
||||
"invalid": "%s ไม่ถูกต้อง",
|
||||
"too_long": "%s ยาวเกินไป",
|
||||
"too_short": "%s สั้นเกินไป",
|
||||
|
@ -342,7 +343,11 @@
|
|||
"offline": "ออฟไลน์",
|
||||
"new_posts": "ดูโพสต์ใหม่",
|
||||
"published": "เผยแพร่แล้ว!",
|
||||
"Publishing": "กำลังเผยแพร่โพสต์..."
|
||||
"Publishing": "กำลังเผยแพร่โพสต์...",
|
||||
"accessibility": {
|
||||
"logo_label": "Logo Button",
|
||||
"logo_hint": "Tap to scroll to top and tap again to previous location"
|
||||
}
|
||||
}
|
||||
},
|
||||
"suggestion_account": {
|
||||
|
@ -498,7 +503,7 @@
|
|||
"posts": "โพสต์",
|
||||
"hashtags": "แฮชแท็ก",
|
||||
"news": "ข่าว",
|
||||
"community": "Community",
|
||||
"community": "ชุมชน",
|
||||
"for_you": "สำหรับคุณ"
|
||||
},
|
||||
"intro": "นี่คือโพสต์ที่กำลังได้รับความสนใจในมุมของ Mastodon ของคุณ"
|
||||
|
@ -596,7 +601,48 @@
|
|||
"send": "ส่งรายงาน",
|
||||
"skip_to_send": "ส่งโดยไม่มีความคิดเห็น",
|
||||
"text_placeholder": "พิมพ์หรือวางความคิดเห็นเพิ่มเติม",
|
||||
"reported": "รายงานแล้ว"
|
||||
"reported": "รายงานแล้ว",
|
||||
"step_one": {
|
||||
"step_1_of_4": "Step 1 of 4",
|
||||
"whats_wrong_with_this_post": "What's wrong with this post?",
|
||||
"whats_wrong_with_this_account": "What's wrong with this account?",
|
||||
"whats_wrong_with_this_username": "What's wrong with %s?",
|
||||
"select_the_best_match": "Select the best match",
|
||||
"i_dont_like_it": "I don’t like it",
|
||||
"it_is_not_something_you_want_to_see": "It is not something you want to see",
|
||||
"its_spam": "It’s spam",
|
||||
"malicious_links_fake_engagement_or_repetetive_replies": "Malicious links, fake engagement, or repetetive replies",
|
||||
"it_violates_server_rules": "It violates server rules",
|
||||
"you_are_aware_that_it_breaks_specific_rules": "You are aware that it breaks specific rules",
|
||||
"its_something_else": "It’s something else",
|
||||
"the_issue_does_not_fit_into_other_categories": "The issue does not fit into other categories"
|
||||
},
|
||||
"step_two": {
|
||||
"step_2_of_4": "Step 2 of 4",
|
||||
"which_rules_are_being_violated": "Which rules are being violated?",
|
||||
"select_all_that_apply": "Select all that apply",
|
||||
"i_just_don’t_like_it": "I just don’t like it"
|
||||
},
|
||||
"step_three": {
|
||||
"step_3_of_4": "Step 3 of 4",
|
||||
"are_there_any_posts_that_back_up_this_report": "Are there any posts that back up this report?",
|
||||
"select_all_that_apply": "Select all that apply"
|
||||
},
|
||||
"step_four": {
|
||||
"step_4_of_4": "Step 4 of 4",
|
||||
"is_there_anything_else_we_should_know": "Is there anything else we should know?"
|
||||
},
|
||||
"step_final": {
|
||||
"dont_want_to_see_this": "Don’t want to see this?",
|
||||
"when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.",
|
||||
"unfollow": "Unfollow",
|
||||
"unfollowed": "Unfollowed",
|
||||
"unfollow_user": "Unfollow %s",
|
||||
"mute_user": "Mute %s",
|
||||
"you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.",
|
||||
"block_user": "Block %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 they’ve been blocked."
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"keyboard": {
|
||||
|
|
|
@ -240,7 +240,8 @@
|
|||
"category": "KATEGORİ"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Toplulukları ara"
|
||||
"placeholder": "Toplulukları ara",
|
||||
"search_servers_or_enter_url": "Search communities or enter URL"
|
||||
},
|
||||
"empty_state": {
|
||||
"finding_servers": "Mevcut sunucular aranıyor...",
|
||||
|
@ -342,7 +343,11 @@
|
|||
"offline": "Çevrimdışı",
|
||||
"new_posts": "Yeni gönderiler gör",
|
||||
"published": "Yayınlandı!",
|
||||
"Publishing": "Gönderi yayınlanıyor..."
|
||||
"Publishing": "Gönderi yayınlanıyor...",
|
||||
"accessibility": {
|
||||
"logo_label": "Logo Button",
|
||||
"logo_hint": "Tap to scroll to top and tap again to previous location"
|
||||
}
|
||||
}
|
||||
},
|
||||
"suggestion_account": {
|
||||
|
@ -498,7 +503,7 @@
|
|||
"posts": "Gönderiler",
|
||||
"hashtags": "Etiketler",
|
||||
"news": "Haberler",
|
||||
"community": "Community",
|
||||
"community": "Topluluk",
|
||||
"for_you": "Senin İçin"
|
||||
},
|
||||
"intro": "Bunlar, Mastodon'un köşesinde ilgi çeken gönderilerdir."
|
||||
|
@ -538,7 +543,7 @@
|
|||
"dark": "Daima Koyu"
|
||||
},
|
||||
"look_and_feel": {
|
||||
"title": "Look and Feel",
|
||||
"title": "Görünüm",
|
||||
"use_system": "Sistem İle Aynı",
|
||||
"really_dark": "Gerçek Koyu",
|
||||
"sorta_dark": "Hafif Koyu",
|
||||
|
@ -596,7 +601,48 @@
|
|||
"send": "Raporu Gönder",
|
||||
"skip_to_send": "Yorum yapmadan gönder",
|
||||
"text_placeholder": "Ek yorum yazın veya yapıştırın",
|
||||
"reported": "RAPORLANDI"
|
||||
"reported": "RAPORLANDI",
|
||||
"step_one": {
|
||||
"step_1_of_4": "Adım 1/4",
|
||||
"whats_wrong_with_this_post": "Bu gönderi ile ilgili sorun nedir?",
|
||||
"whats_wrong_with_this_account": "Bu hesap ile ilgili sorun nedir?",
|
||||
"whats_wrong_with_this_username": "%s kişisinin sorunu nedir?",
|
||||
"select_the_best_match": "En iyi seçeneceği seçiniz",
|
||||
"i_dont_like_it": "Beğenmedim",
|
||||
"it_is_not_something_you_want_to_see": "Görmek isteyeceğim bir şey değil",
|
||||
"its_spam": "Spam",
|
||||
"malicious_links_fake_engagement_or_repetetive_replies": "Malicious links, fake engagement, or repetetive replies",
|
||||
"it_violates_server_rules": "Sunucu kurallarını ihlal ediyor",
|
||||
"you_are_aware_that_it_breaks_specific_rules": "You are aware that it breaks specific rules",
|
||||
"its_something_else": "Başka bir şey",
|
||||
"the_issue_does_not_fit_into_other_categories": "Sorun bunlardan biri değil"
|
||||
},
|
||||
"step_two": {
|
||||
"step_2_of_4": "Adım 2/4",
|
||||
"which_rules_are_being_violated": "Hangi kurallar ihlal ediliyor?",
|
||||
"select_all_that_apply": "Geçerli olan tümünü seçiniz",
|
||||
"i_just_don’t_like_it": "Beğenmedim"
|
||||
},
|
||||
"step_three": {
|
||||
"step_3_of_4": "Adım 3/4",
|
||||
"are_there_any_posts_that_back_up_this_report": "Bu bildirimi destekleyecek herhangi bir gönderi var mı?",
|
||||
"select_all_that_apply": "Geçerli olanların tümünü seçiniz"
|
||||
},
|
||||
"step_four": {
|
||||
"step_4_of_4": "Adım 4/4",
|
||||
"is_there_anything_else_we_should_know": "Bilmemiz gereken başka bir şey var mı?"
|
||||
},
|
||||
"step_final": {
|
||||
"dont_want_to_see_this": "Bunu görmek istemiyor musunuz?",
|
||||
"when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.",
|
||||
"unfollow": "Takibi bırak",
|
||||
"unfollowed": "Unfollowed",
|
||||
"unfollow_user": "Unfollow %s",
|
||||
"mute_user": "Mute %s",
|
||||
"you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.",
|
||||
"block_user": "Block %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 they’ve been blocked."
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"keyboard": {
|
||||
|
|
|
@ -240,7 +240,8 @@
|
|||
"category": "PHÂN LOẠI"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Tìm máy chủ"
|
||||
"placeholder": "Tìm máy chủ",
|
||||
"search_servers_or_enter_url": "Search communities or enter URL"
|
||||
},
|
||||
"empty_state": {
|
||||
"finding_servers": "Đang tìm máy chủ hoạt động...",
|
||||
|
@ -342,7 +343,11 @@
|
|||
"offline": "Ngoại tuyến",
|
||||
"new_posts": "Đọc những tút mới",
|
||||
"published": "Đã đăng!",
|
||||
"Publishing": "Đang đăng tút..."
|
||||
"Publishing": "Đang đăng tút...",
|
||||
"accessibility": {
|
||||
"logo_label": "Logo Button",
|
||||
"logo_hint": "Tap to scroll to top and tap again to previous location"
|
||||
}
|
||||
}
|
||||
},
|
||||
"suggestion_account": {
|
||||
|
@ -596,7 +601,48 @@
|
|||
"send": "Gửi báo cáo",
|
||||
"skip_to_send": "Gửi không ghi chú",
|
||||
"text_placeholder": "Nhập hoặc bổ sung chú thích",
|
||||
"reported": "ĐÃ BÁO CÁO"
|
||||
"reported": "ĐÃ BÁO CÁO",
|
||||
"step_one": {
|
||||
"step_1_of_4": "Step 1 of 4",
|
||||
"whats_wrong_with_this_post": "What's wrong with this post?",
|
||||
"whats_wrong_with_this_account": "What's wrong with this account?",
|
||||
"whats_wrong_with_this_username": "What's wrong with %s?",
|
||||
"select_the_best_match": "Select the best match",
|
||||
"i_dont_like_it": "I don’t like it",
|
||||
"it_is_not_something_you_want_to_see": "It is not something you want to see",
|
||||
"its_spam": "It’s spam",
|
||||
"malicious_links_fake_engagement_or_repetetive_replies": "Malicious links, fake engagement, or repetetive replies",
|
||||
"it_violates_server_rules": "It violates server rules",
|
||||
"you_are_aware_that_it_breaks_specific_rules": "You are aware that it breaks specific rules",
|
||||
"its_something_else": "It’s something else",
|
||||
"the_issue_does_not_fit_into_other_categories": "The issue does not fit into other categories"
|
||||
},
|
||||
"step_two": {
|
||||
"step_2_of_4": "Step 2 of 4",
|
||||
"which_rules_are_being_violated": "Which rules are being violated?",
|
||||
"select_all_that_apply": "Select all that apply",
|
||||
"i_just_don’t_like_it": "I just don’t like it"
|
||||
},
|
||||
"step_three": {
|
||||
"step_3_of_4": "Step 3 of 4",
|
||||
"are_there_any_posts_that_back_up_this_report": "Are there any posts that back up this report?",
|
||||
"select_all_that_apply": "Select all that apply"
|
||||
},
|
||||
"step_four": {
|
||||
"step_4_of_4": "Step 4 of 4",
|
||||
"is_there_anything_else_we_should_know": "Is there anything else we should know?"
|
||||
},
|
||||
"step_final": {
|
||||
"dont_want_to_see_this": "Don’t want to see this?",
|
||||
"when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.",
|
||||
"unfollow": "Unfollow",
|
||||
"unfollowed": "Unfollowed",
|
||||
"unfollow_user": "Unfollow %s",
|
||||
"mute_user": "Mute %s",
|
||||
"you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.",
|
||||
"block_user": "Block %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 they’ve been blocked."
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"keyboard": {
|
||||
|
|
|
@ -240,7 +240,8 @@
|
|||
"category": "类别"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "查找或加入你自己的服务器..."
|
||||
"placeholder": "查找或加入你自己的服务器...",
|
||||
"search_servers_or_enter_url": "Search communities or enter URL"
|
||||
},
|
||||
"empty_state": {
|
||||
"finding_servers": "正在查找可用的服务器...",
|
||||
|
@ -342,7 +343,11 @@
|
|||
"offline": "离线",
|
||||
"new_posts": "查看新帖子",
|
||||
"published": "已发送",
|
||||
"Publishing": "正在发送..."
|
||||
"Publishing": "正在发送...",
|
||||
"accessibility": {
|
||||
"logo_label": "Logo Button",
|
||||
"logo_hint": "Tap to scroll to top and tap again to previous location"
|
||||
}
|
||||
}
|
||||
},
|
||||
"suggestion_account": {
|
||||
|
@ -596,7 +601,48 @@
|
|||
"send": "发送举报",
|
||||
"skip_to_send": "直接发送",
|
||||
"text_placeholder": "输入或粘贴额外的注释",
|
||||
"reported": "已报告"
|
||||
"reported": "已报告",
|
||||
"step_one": {
|
||||
"step_1_of_4": "Step 1 of 4",
|
||||
"whats_wrong_with_this_post": "What's wrong with this post?",
|
||||
"whats_wrong_with_this_account": "What's wrong with this account?",
|
||||
"whats_wrong_with_this_username": "What's wrong with %s?",
|
||||
"select_the_best_match": "Select the best match",
|
||||
"i_dont_like_it": "I don’t like it",
|
||||
"it_is_not_something_you_want_to_see": "It is not something you want to see",
|
||||
"its_spam": "It’s spam",
|
||||
"malicious_links_fake_engagement_or_repetetive_replies": "Malicious links, fake engagement, or repetetive replies",
|
||||
"it_violates_server_rules": "It violates server rules",
|
||||
"you_are_aware_that_it_breaks_specific_rules": "You are aware that it breaks specific rules",
|
||||
"its_something_else": "It’s something else",
|
||||
"the_issue_does_not_fit_into_other_categories": "The issue does not fit into other categories"
|
||||
},
|
||||
"step_two": {
|
||||
"step_2_of_4": "Step 2 of 4",
|
||||
"which_rules_are_being_violated": "Which rules are being violated?",
|
||||
"select_all_that_apply": "Select all that apply",
|
||||
"i_just_don’t_like_it": "I just don’t like it"
|
||||
},
|
||||
"step_three": {
|
||||
"step_3_of_4": "Step 3 of 4",
|
||||
"are_there_any_posts_that_back_up_this_report": "Are there any posts that back up this report?",
|
||||
"select_all_that_apply": "Select all that apply"
|
||||
},
|
||||
"step_four": {
|
||||
"step_4_of_4": "Step 4 of 4",
|
||||
"is_there_anything_else_we_should_know": "Is there anything else we should know?"
|
||||
},
|
||||
"step_final": {
|
||||
"dont_want_to_see_this": "Don’t want to see this?",
|
||||
"when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.",
|
||||
"unfollow": "Unfollow",
|
||||
"unfollowed": "Unfollowed",
|
||||
"unfollow_user": "Unfollow %s",
|
||||
"mute_user": "Mute %s",
|
||||
"you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.",
|
||||
"block_user": "Block %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 they’ve been blocked."
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"keyboard": {
|
||||
|
|
|
@ -240,7 +240,8 @@
|
|||
"category": "分類"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "搜尋伺服器"
|
||||
"placeholder": "搜尋伺服器",
|
||||
"search_servers_or_enter_url": "Search communities or enter URL"
|
||||
},
|
||||
"empty_state": {
|
||||
"finding_servers": "尋找可用的伺服器...",
|
||||
|
@ -342,7 +343,11 @@
|
|||
"offline": "離線",
|
||||
"new_posts": "檢視最新嘟文",
|
||||
"published": "嘟出去!",
|
||||
"Publishing": "發表嘟文..."
|
||||
"Publishing": "發表嘟文...",
|
||||
"accessibility": {
|
||||
"logo_label": "Logo Button",
|
||||
"logo_hint": "Tap to scroll to top and tap again to previous location"
|
||||
}
|
||||
}
|
||||
},
|
||||
"suggestion_account": {
|
||||
|
@ -596,7 +601,48 @@
|
|||
"send": "傳送檢舉報告",
|
||||
"skip_to_send": "不加入備註並傳送",
|
||||
"text_placeholder": "請輸入或貼上額外的備註",
|
||||
"reported": "已檢舉"
|
||||
"reported": "已檢舉",
|
||||
"step_one": {
|
||||
"step_1_of_4": "Step 1 of 4",
|
||||
"whats_wrong_with_this_post": "What's wrong with this post?",
|
||||
"whats_wrong_with_this_account": "What's wrong with this account?",
|
||||
"whats_wrong_with_this_username": "What's wrong with %s?",
|
||||
"select_the_best_match": "Select the best match",
|
||||
"i_dont_like_it": "I don’t like it",
|
||||
"it_is_not_something_you_want_to_see": "It is not something you want to see",
|
||||
"its_spam": "It’s spam",
|
||||
"malicious_links_fake_engagement_or_repetetive_replies": "Malicious links, fake engagement, or repetetive replies",
|
||||
"it_violates_server_rules": "It violates server rules",
|
||||
"you_are_aware_that_it_breaks_specific_rules": "You are aware that it breaks specific rules",
|
||||
"its_something_else": "It’s something else",
|
||||
"the_issue_does_not_fit_into_other_categories": "The issue does not fit into other categories"
|
||||
},
|
||||
"step_two": {
|
||||
"step_2_of_4": "Step 2 of 4",
|
||||
"which_rules_are_being_violated": "Which rules are being violated?",
|
||||
"select_all_that_apply": "Select all that apply",
|
||||
"i_just_don’t_like_it": "I just don’t like it"
|
||||
},
|
||||
"step_three": {
|
||||
"step_3_of_4": "Step 3 of 4",
|
||||
"are_there_any_posts_that_back_up_this_report": "Are there any posts that back up this report?",
|
||||
"select_all_that_apply": "Select all that apply"
|
||||
},
|
||||
"step_four": {
|
||||
"step_4_of_4": "Step 4 of 4",
|
||||
"is_there_anything_else_we_should_know": "Is there anything else we should know?"
|
||||
},
|
||||
"step_final": {
|
||||
"dont_want_to_see_this": "Don’t want to see this?",
|
||||
"when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.",
|
||||
"unfollow": "Unfollow",
|
||||
"unfollowed": "Unfollowed",
|
||||
"unfollow_user": "Unfollow %s",
|
||||
"mute_user": "Mute %s",
|
||||
"you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.",
|
||||
"block_user": "Block %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 they’ve been blocked."
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"keyboard": {
|
||||
|
|
|
@ -87,7 +87,7 @@
|
|||
2DF123A725C3B0210020F248 /* ActiveLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DF123A625C3B0210020F248 /* ActiveLabel.swift */; };
|
||||
2DF75BA725D10E1000694EC8 /* APIService+Favorite.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DF75BA625D10E1000694EC8 /* APIService+Favorite.swift */; };
|
||||
5B24BBDA262DB14800A9381B /* ReportViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B24BBD7262DB14800A9381B /* ReportViewModel.swift */; };
|
||||
5B24BBDB262DB14800A9381B /* ReportViewModel+Diffable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B24BBD8262DB14800A9381B /* ReportViewModel+Diffable.swift */; };
|
||||
5B24BBDB262DB14800A9381B /* ReportStatusViewModel+Diffable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B24BBD8262DB14800A9381B /* ReportStatusViewModel+Diffable.swift */; };
|
||||
5B24BBE2262DB19100A9381B /* APIService+Report.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B24BBE1262DB19100A9381B /* APIService+Report.swift */; };
|
||||
5B90C45E262599800002E742 /* SettingsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B90C456262599800002E742 /* SettingsViewModel.swift */; };
|
||||
5B90C45F262599800002E742 /* SettingsToggleTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B90C459262599800002E742 /* SettingsToggleTableViewCell.swift */; };
|
||||
|
@ -408,6 +408,7 @@
|
|||
DB7A9F932818F33C0016AF98 /* MastodonServerRulesViewController+Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB7A9F922818F33C0016AF98 /* MastodonServerRulesViewController+Debug.swift */; };
|
||||
DB7F48452620241000796008 /* ProfileHeaderViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB7F48442620241000796008 /* ProfileHeaderViewModel.swift */; };
|
||||
DB8190C62601FF0400020C08 /* AttachmentContainerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB8190C52601FF0400020C08 /* AttachmentContainerView.swift */; };
|
||||
DB848E33282B62A800A302CC /* ReportResultView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB848E32282B62A800A302CC /* ReportResultView.swift */; };
|
||||
DB852D1926FAEB6B00FC9D81 /* SidebarViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB852D1826FAEB6B00FC9D81 /* SidebarViewController.swift */; };
|
||||
DB852D1C26FB021500FC9D81 /* RootSplitViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB852D1B26FB021500FC9D81 /* RootSplitViewController.swift */; };
|
||||
DB852D1F26FB037800FC9D81 /* SidebarViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB852D1E26FB037800FC9D81 /* SidebarViewModel.swift */; };
|
||||
|
@ -437,7 +438,7 @@
|
|||
DB98337125C9443200AD9700 /* APIService+Authentication.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB98337025C9443200AD9700 /* APIService+Authentication.swift */; };
|
||||
DB98337F25C9452D00AD9700 /* APIService+APIError.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB98337E25C9452D00AD9700 /* APIService+APIError.swift */; };
|
||||
DB98339C25C96DE600AD9700 /* APIService+Account.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB98339B25C96DE600AD9700 /* APIService+Account.swift */; };
|
||||
DB98EB4727B0DFAA0082E365 /* ReportViewModel+State.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB98EB4627B0DFAA0082E365 /* ReportViewModel+State.swift */; };
|
||||
DB98EB4727B0DFAA0082E365 /* ReportStatusViewModel+State.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB98EB4627B0DFAA0082E365 /* ReportStatusViewModel+State.swift */; };
|
||||
DB98EB4927B0F0CD0082E365 /* ReportStatusTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB98EB4827B0F0CD0082E365 /* ReportStatusTableViewCell.swift */; };
|
||||
DB98EB4C27B0F2BC0082E365 /* ReportStatusTableViewCell+ViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB98EB4B27B0F2BC0082E365 /* ReportStatusTableViewCell+ViewModel.swift */; };
|
||||
DB98EB5327B0F9890082E365 /* ReportHeadlineTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB98EB5227B0F9890082E365 /* ReportHeadlineTableViewCell.swift */; };
|
||||
|
@ -448,7 +449,6 @@
|
|||
DB98EB6027B10E150082E365 /* ReportCommentTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB98EB5F27B10E150082E365 /* ReportCommentTableViewCell.swift */; };
|
||||
DB98EB6227B215EB0082E365 /* ReportResultViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB98EB6127B215EB0082E365 /* ReportResultViewController.swift */; };
|
||||
DB98EB6527B216500082E365 /* ReportResultViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB98EB6427B216500082E365 /* ReportResultViewModel.swift */; };
|
||||
DB98EB6727B216560082E365 /* ReportResultViewModel+Diffable.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB98EB6627B216560082E365 /* ReportResultViewModel+Diffable.swift */; };
|
||||
DB98EB6927B21A7C0082E365 /* ReportResultActionTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB98EB6827B21A7C0082E365 /* ReportResultActionTableViewCell.swift */; };
|
||||
DB98EB6B27B243470082E365 /* SettingsAppearanceTableViewCell+ViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB98EB6A27B243470082E365 /* SettingsAppearanceTableViewCell+ViewModel.swift */; };
|
||||
DB9A486C26032AC1008B817C /* AttachmentContainerView+EmptyStateView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB9A486B26032AC1008B817C /* AttachmentContainerView+EmptyStateView.swift */; };
|
||||
|
@ -564,6 +564,14 @@
|
|||
DBE3CE07261D6A0E00430CC6 /* FavoriteViewModel+Diffable.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBE3CE06261D6A0E00430CC6 /* FavoriteViewModel+Diffable.swift */; };
|
||||
DBE54AC62636C89F004E7C0B /* NotificationPreference.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBE54AC52636C89F004E7C0B /* NotificationPreference.swift */; };
|
||||
DBE54ACC2636C8FD004E7C0B /* NotificationPreference.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBE54AC52636C89F004E7C0B /* NotificationPreference.swift */; };
|
||||
DBEFCD71282A12B200C0ABEA /* ReportReasonViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBEFCD70282A12B200C0ABEA /* ReportReasonViewController.swift */; };
|
||||
DBEFCD74282A130400C0ABEA /* ReportReasonViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBEFCD73282A130400C0ABEA /* ReportReasonViewModel.swift */; };
|
||||
DBEFCD76282A143F00C0ABEA /* ReportStatusViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBEFCD75282A143F00C0ABEA /* ReportStatusViewController.swift */; };
|
||||
DBEFCD79282A147000C0ABEA /* ReportStatusViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBEFCD78282A147000C0ABEA /* ReportStatusViewModel.swift */; };
|
||||
DBEFCD7B282A162400C0ABEA /* ReportReasonView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBEFCD7A282A162400C0ABEA /* ReportReasonView.swift */; };
|
||||
DBEFCD7D282A2A3B00C0ABEA /* ReportServerRulesViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBEFCD7C282A2A3B00C0ABEA /* ReportServerRulesViewController.swift */; };
|
||||
DBEFCD80282A2AA900C0ABEA /* ReportServerRulesViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBEFCD7F282A2AA900C0ABEA /* ReportServerRulesViewModel.swift */; };
|
||||
DBEFCD82282A2AB100C0ABEA /* ReportServerRulesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBEFCD81282A2AB100C0ABEA /* ReportServerRulesView.swift */; };
|
||||
DBF156DF2701B17600EC00B7 /* SidebarAddAccountCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBF156DE2701B17600EC00B7 /* SidebarAddAccountCollectionViewCell.swift */; };
|
||||
DBF156E22702DA6900EC00B7 /* UIStatusBarManager+HandleTapAction.m in Sources */ = {isa = PBXBuildFile; fileRef = DBF156E12702DA6900EC00B7 /* UIStatusBarManager+HandleTapAction.m */; };
|
||||
DBF156E42702DB3F00EC00B7 /* HandleTapAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBF156E32702DB3F00EC00B7 /* HandleTapAction.swift */; };
|
||||
|
@ -787,7 +795,7 @@
|
|||
459EA4F43058CAB47719E963 /* Pods-Mastodon-MastodonUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Mastodon-MastodonUITests.debug.xcconfig"; path = "Target Support Files/Pods-Mastodon-MastodonUITests/Pods-Mastodon-MastodonUITests.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
46DAB0EBDDFB678347CD96FF /* Pods-MastodonTests.asdk - release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MastodonTests.asdk - release.xcconfig"; path = "Target Support Files/Pods-MastodonTests/Pods-MastodonTests.asdk - release.xcconfig"; sourceTree = "<group>"; };
|
||||
5B24BBD7262DB14800A9381B /* ReportViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReportViewModel.swift; sourceTree = "<group>"; };
|
||||
5B24BBD8262DB14800A9381B /* ReportViewModel+Diffable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ReportViewModel+Diffable.swift"; sourceTree = "<group>"; };
|
||||
5B24BBD8262DB14800A9381B /* ReportStatusViewModel+Diffable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ReportStatusViewModel+Diffable.swift"; sourceTree = "<group>"; };
|
||||
5B24BBE1262DB19100A9381B /* APIService+Report.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "APIService+Report.swift"; sourceTree = "<group>"; };
|
||||
5B90C456262599800002E742 /* SettingsViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SettingsViewModel.swift; sourceTree = "<group>"; };
|
||||
5B90C459262599800002E742 /* SettingsToggleTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SettingsToggleTableViewCell.swift; sourceTree = "<group>"; };
|
||||
|
@ -808,7 +816,10 @@
|
|||
5DDDF1A82617489F00311060 /* Mastodon+Entity+History.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Mastodon+Entity+History.swift"; sourceTree = "<group>"; };
|
||||
5DF1056325F887CB00D6C0D4 /* AVPlayer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AVPlayer.swift; sourceTree = "<group>"; };
|
||||
6130CBE4B26E3C976ACC1688 /* Pods-ShareActionExtension.asdk - debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ShareActionExtension.asdk - debug.xcconfig"; path = "Target Support Files/Pods-ShareActionExtension/Pods-ShareActionExtension.asdk - debug.xcconfig"; sourceTree = "<group>"; };
|
||||
63EF9E6E5B575CD2A8B0475D /* Pods-AppShared.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AppShared.profile.xcconfig"; path = "Target Support Files/Pods-AppShared/Pods-AppShared.profile.xcconfig"; sourceTree = "<group>"; };
|
||||
728DE51ADA27C395C6E1BAB5 /* Pods-Mastodon-MastodonUITests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Mastodon-MastodonUITests.profile.xcconfig"; path = "Target Support Files/Pods-Mastodon-MastodonUITests/Pods-Mastodon-MastodonUITests.profile.xcconfig"; sourceTree = "<group>"; };
|
||||
75E3471C898DDD9631729B6E /* Pods-Mastodon.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Mastodon.release.xcconfig"; path = "Target Support Files/Pods-Mastodon/Pods-Mastodon.release.xcconfig"; sourceTree = "<group>"; };
|
||||
7CB58D292DA7ACEF179A9050 /* Pods-Mastodon.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Mastodon.profile.xcconfig"; path = "Target Support Files/Pods-Mastodon/Pods-Mastodon.profile.xcconfig"; sourceTree = "<group>"; };
|
||||
7CEFFAE9AF9284B13C0A758D /* Pods-MastodonTests.asdk - debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MastodonTests.asdk - debug.xcconfig"; path = "Target Support Files/Pods-MastodonTests/Pods-MastodonTests.asdk - debug.xcconfig"; sourceTree = "<group>"; };
|
||||
819CEC9DCAD8E8E7BD85A7BB /* Pods-Mastodon.asdk.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Mastodon.asdk.xcconfig"; path = "Target Support Files/Pods-Mastodon/Pods-Mastodon.asdk.xcconfig"; sourceTree = "<group>"; };
|
||||
8850E70A1D5FF51432E43653 /* Pods-Mastodon-MastodonUITests.asdk - release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Mastodon-MastodonUITests.asdk - release.xcconfig"; path = "Target Support Files/Pods-Mastodon-MastodonUITests/Pods-Mastodon-MastodonUITests.asdk - release.xcconfig"; sourceTree = "<group>"; };
|
||||
|
@ -1158,6 +1169,7 @@
|
|||
DB8190C52601FF0400020C08 /* AttachmentContainerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AttachmentContainerView.swift; sourceTree = "<group>"; };
|
||||
DB8481142788121200BBEABA /* MastodonRegisterTextFieldTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MastodonRegisterTextFieldTableViewCell.swift; sourceTree = "<group>"; };
|
||||
DB84811627883C2600BBEABA /* MastodonRegisterPasswordHintTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MastodonRegisterPasswordHintTableViewCell.swift; sourceTree = "<group>"; };
|
||||
DB848E32282B62A800A302CC /* ReportResultView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReportResultView.swift; sourceTree = "<group>"; };
|
||||
DB852D1826FAEB6B00FC9D81 /* SidebarViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SidebarViewController.swift; sourceTree = "<group>"; };
|
||||
DB852D1B26FB021500FC9D81 /* RootSplitViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RootSplitViewController.swift; sourceTree = "<group>"; };
|
||||
DB852D1E26FB037800FC9D81 /* SidebarViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SidebarViewModel.swift; sourceTree = "<group>"; };
|
||||
|
@ -1194,7 +1206,7 @@
|
|||
DB98337025C9443200AD9700 /* APIService+Authentication.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "APIService+Authentication.swift"; sourceTree = "<group>"; };
|
||||
DB98337E25C9452D00AD9700 /* APIService+APIError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "APIService+APIError.swift"; sourceTree = "<group>"; };
|
||||
DB98339B25C96DE600AD9700 /* APIService+Account.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "APIService+Account.swift"; sourceTree = "<group>"; };
|
||||
DB98EB4627B0DFAA0082E365 /* ReportViewModel+State.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ReportViewModel+State.swift"; sourceTree = "<group>"; };
|
||||
DB98EB4627B0DFAA0082E365 /* ReportStatusViewModel+State.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ReportStatusViewModel+State.swift"; sourceTree = "<group>"; };
|
||||
DB98EB4827B0F0CD0082E365 /* ReportStatusTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReportStatusTableViewCell.swift; sourceTree = "<group>"; };
|
||||
DB98EB4B27B0F2BC0082E365 /* ReportStatusTableViewCell+ViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ReportStatusTableViewCell+ViewModel.swift"; sourceTree = "<group>"; };
|
||||
DB98EB5227B0F9890082E365 /* ReportHeadlineTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReportHeadlineTableViewCell.swift; sourceTree = "<group>"; };
|
||||
|
@ -1205,7 +1217,6 @@
|
|||
DB98EB5F27B10E150082E365 /* ReportCommentTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReportCommentTableViewCell.swift; sourceTree = "<group>"; };
|
||||
DB98EB6127B215EB0082E365 /* ReportResultViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReportResultViewController.swift; sourceTree = "<group>"; };
|
||||
DB98EB6427B216500082E365 /* ReportResultViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReportResultViewModel.swift; sourceTree = "<group>"; };
|
||||
DB98EB6627B216560082E365 /* ReportResultViewModel+Diffable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ReportResultViewModel+Diffable.swift"; sourceTree = "<group>"; };
|
||||
DB98EB6827B21A7C0082E365 /* ReportResultActionTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReportResultActionTableViewCell.swift; sourceTree = "<group>"; };
|
||||
DB98EB6A27B243470082E365 /* SettingsAppearanceTableViewCell+ViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SettingsAppearanceTableViewCell+ViewModel.swift"; sourceTree = "<group>"; };
|
||||
DB9A486B26032AC1008B817C /* AttachmentContainerView+EmptyStateView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AttachmentContainerView+EmptyStateView.swift"; sourceTree = "<group>"; };
|
||||
|
@ -1325,6 +1336,14 @@
|
|||
DBEB19E927E4F37B00B0E80E /* ku */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ku; path = ku.lproj/Intents.strings; sourceTree = "<group>"; };
|
||||
DBEB19EA27E4F37B00B0E80E /* ku */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ku; path = ku.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
DBEB19EB27E4F37B00B0E80E /* ku */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = ku; path = ku.lproj/Intents.stringsdict; sourceTree = "<group>"; };
|
||||
DBEFCD70282A12B200C0ABEA /* ReportReasonViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReportReasonViewController.swift; sourceTree = "<group>"; };
|
||||
DBEFCD73282A130400C0ABEA /* ReportReasonViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReportReasonViewModel.swift; sourceTree = "<group>"; };
|
||||
DBEFCD75282A143F00C0ABEA /* ReportStatusViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReportStatusViewController.swift; sourceTree = "<group>"; };
|
||||
DBEFCD78282A147000C0ABEA /* ReportStatusViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReportStatusViewModel.swift; sourceTree = "<group>"; };
|
||||
DBEFCD7A282A162400C0ABEA /* ReportReasonView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReportReasonView.swift; sourceTree = "<group>"; };
|
||||
DBEFCD7C282A2A3B00C0ABEA /* ReportServerRulesViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReportServerRulesViewController.swift; sourceTree = "<group>"; };
|
||||
DBEFCD7F282A2AA900C0ABEA /* ReportServerRulesViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReportServerRulesViewModel.swift; sourceTree = "<group>"; };
|
||||
DBEFCD81282A2AB100C0ABEA /* ReportServerRulesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReportServerRulesView.swift; sourceTree = "<group>"; };
|
||||
DBF156DE2701B17600EC00B7 /* SidebarAddAccountCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SidebarAddAccountCollectionViewCell.swift; sourceTree = "<group>"; };
|
||||
DBF156E02702DA6800EC00B7 /* Mastodon-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Mastodon-Bridging-Header.h"; sourceTree = "<group>"; };
|
||||
DBF156E12702DA6900EC00B7 /* UIStatusBarManager+HandleTapAction.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIStatusBarManager+HandleTapAction.m"; sourceTree = "<group>"; };
|
||||
|
@ -1365,6 +1384,7 @@
|
|||
DBFEF07226A6913D006D7ED1 /* APIService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = APIService.swift; sourceTree = "<group>"; };
|
||||
DBFEF07A26A6BCE8006D7ED1 /* APIService+Status+Publish.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "APIService+Status+Publish.swift"; sourceTree = "<group>"; };
|
||||
DDB1B139FA8EA26F510D58B6 /* Pods-AppShared.asdk - release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AppShared.asdk - release.xcconfig"; path = "Target Support Files/Pods-AppShared/Pods-AppShared.asdk - release.xcconfig"; sourceTree = "<group>"; };
|
||||
DF65937EC1FF64462BC002EE /* Pods-MastodonTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MastodonTests.profile.xcconfig"; path = "Target Support Files/Pods-MastodonTests/Pods-MastodonTests.profile.xcconfig"; sourceTree = "<group>"; };
|
||||
E5C7236E58D14A0322FE00F2 /* Pods-Mastodon-MastodonUITests.asdk - debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Mastodon-MastodonUITests.asdk - debug.xcconfig"; path = "Target Support Files/Pods-Mastodon-MastodonUITests/Pods-Mastodon-MastodonUITests.asdk - debug.xcconfig"; sourceTree = "<group>"; };
|
||||
E9AABD3D26B64B8C00E237DA /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Intents.strings; sourceTree = "<group>"; };
|
||||
E9AABD4026B64B8D00E237DA /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
|
@ -1567,6 +1587,10 @@
|
|||
0655B257371274BEB7EB1C19 /* Pods-Mastodon.release snapshot.xcconfig */,
|
||||
0827D1674B2523503E8605F6 /* Pods-Mastodon-MastodonUITests.release snapshot.xcconfig */,
|
||||
8E79CCBE51FBC3F7FE8CF49F /* Pods-MastodonTests.release snapshot.xcconfig */,
|
||||
63EF9E6E5B575CD2A8B0475D /* Pods-AppShared.profile.xcconfig */,
|
||||
7CB58D292DA7ACEF179A9050 /* Pods-Mastodon.profile.xcconfig */,
|
||||
728DE51ADA27C395C6E1BAB5 /* Pods-Mastodon-MastodonUITests.profile.xcconfig */,
|
||||
DF65937EC1FF64462BC002EE /* Pods-MastodonTests.profile.xcconfig */,
|
||||
);
|
||||
path = Pods;
|
||||
sourceTree = "<group>";
|
||||
|
@ -1836,6 +1860,9 @@
|
|||
isa = PBXGroup;
|
||||
children = (
|
||||
DB98EB5727B0FF1F0082E365 /* Share */,
|
||||
DBEFCD77282A144D00C0ABEA /* Report */,
|
||||
DBEFCD72282A12B900C0ABEA /* ReportReason */,
|
||||
DBEFCD7E282A2A3D00C0ABEA /* ReportServerRules */,
|
||||
DB98EB4F27B0F9300082E365 /* ReportStatus */,
|
||||
DB98EB5A27B109900082E365 /* ReportSupplementary */,
|
||||
DB98EB6327B216490082E365 /* ReportResult */,
|
||||
|
@ -2202,8 +2229,8 @@
|
|||
DB427DD425BAA00100D1B89D /* Mastodon */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
DB427DE325BAA00100D1B89D /* Info.plist */,
|
||||
DB89BA1025C10FF5008580ED /* Mastodon.entitlements */,
|
||||
DB427DE325BAA00100D1B89D /* Info.plist */,
|
||||
2D76319C25C151DE00929FB9 /* Diffiable */,
|
||||
DB8AF52A25C13561002E6C99 /* State */,
|
||||
2D61335525C1886800CAE157 /* Service */,
|
||||
|
@ -2844,10 +2871,10 @@
|
|||
DB98EB4F27B0F9300082E365 /* ReportStatus */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
5BB04FD4262E7AFF0043BFF6 /* ReportViewController.swift */,
|
||||
5B24BBD7262DB14800A9381B /* ReportViewModel.swift */,
|
||||
5B24BBD8262DB14800A9381B /* ReportViewModel+Diffable.swift */,
|
||||
DB98EB4627B0DFAA0082E365 /* ReportViewModel+State.swift */,
|
||||
DBEFCD75282A143F00C0ABEA /* ReportStatusViewController.swift */,
|
||||
DBEFCD78282A147000C0ABEA /* ReportStatusViewModel.swift */,
|
||||
5B24BBD8262DB14800A9381B /* ReportStatusViewModel+Diffable.swift */,
|
||||
DB98EB4627B0DFAA0082E365 /* ReportStatusViewModel+State.swift */,
|
||||
);
|
||||
path = ReportStatus;
|
||||
sourceTree = "<group>";
|
||||
|
@ -2876,7 +2903,7 @@
|
|||
children = (
|
||||
DB98EB6127B215EB0082E365 /* ReportResultViewController.swift */,
|
||||
DB98EB6427B216500082E365 /* ReportResultViewModel.swift */,
|
||||
DB98EB6627B216560082E365 /* ReportResultViewModel+Diffable.swift */,
|
||||
DB848E32282B62A800A302CC /* ReportResultView.swift */,
|
||||
);
|
||||
path = ReportResult;
|
||||
sourceTree = "<group>";
|
||||
|
@ -3171,6 +3198,35 @@
|
|||
path = Favorite;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
DBEFCD72282A12B900C0ABEA /* ReportReason */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
DBEFCD70282A12B200C0ABEA /* ReportReasonViewController.swift */,
|
||||
DBEFCD73282A130400C0ABEA /* ReportReasonViewModel.swift */,
|
||||
DBEFCD7A282A162400C0ABEA /* ReportReasonView.swift */,
|
||||
);
|
||||
path = ReportReason;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
DBEFCD77282A144D00C0ABEA /* Report */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
5BB04FD4262E7AFF0043BFF6 /* ReportViewController.swift */,
|
||||
5B24BBD7262DB14800A9381B /* ReportViewModel.swift */,
|
||||
);
|
||||
path = Report;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
DBEFCD7E282A2A3D00C0ABEA /* ReportServerRules */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
DBEFCD7C282A2A3B00C0ABEA /* ReportServerRulesViewController.swift */,
|
||||
DBEFCD7F282A2AA900C0ABEA /* ReportServerRulesViewModel.swift */,
|
||||
DBEFCD81282A2AB100C0ABEA /* ReportServerRulesView.swift */,
|
||||
);
|
||||
path = ReportServerRules;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
DBF1D24F269DAF6100C1C08A /* SearchDetail */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
|
@ -3867,6 +3923,7 @@
|
|||
2D364F7225E66D7500204FDC /* MastodonResendEmailViewController.swift in Sources */,
|
||||
DB68A06325E905E000CFDF14 /* UIApplication.swift in Sources */,
|
||||
DB02CDAB26256A9500D0A2AF /* ThreadReplyLoaderTableViewCell.swift in Sources */,
|
||||
DBEFCD80282A2AA900C0ABEA /* ReportServerRulesViewModel.swift in Sources */,
|
||||
DB0617FF27855D6C0030EE79 /* MastodonServerRulesViewModel+Diffable.swift in Sources */,
|
||||
DBB5255E2611F07A002F1F29 /* ProfileViewModel.swift in Sources */,
|
||||
DB0FCB982797F6BF006C02E2 /* UserTableViewCell+ViewModel.swift in Sources */,
|
||||
|
@ -3888,12 +3945,14 @@
|
|||
5DDDF1932617442700311060 /* Mastodon+Entity+Account.swift in Sources */,
|
||||
DB63F767279A5EB300455B82 /* NotificationTimelineViewModel.swift in Sources */,
|
||||
2D607AD826242FC500B70763 /* NotificationViewModel.swift in Sources */,
|
||||
DB848E33282B62A800A302CC /* ReportResultView.swift in Sources */,
|
||||
DBABE3EC25ECAC4B00879EE5 /* WelcomeIllustrationView.swift in Sources */,
|
||||
DB564BD3269F3B35001E39A7 /* StatusFilterService.swift in Sources */,
|
||||
DB0FCB9C27980AB6006C02E2 /* HashtagTimelineViewController+DataSourceProvider.swift in Sources */,
|
||||
DB63F76F279A7D1100455B82 /* NotificationTableViewCell.swift in Sources */,
|
||||
DB297B1B2679FAE200704C90 /* PlaceholderImageCacheService.swift in Sources */,
|
||||
DB0FCB8C2796BF8D006C02E2 /* SearchViewModel+Diffable.swift in Sources */,
|
||||
DBEFCD76282A143F00C0ABEA /* ReportStatusViewController.swift in Sources */,
|
||||
2D8FCA082637EABB00137F46 /* APIService+FollowRequest.swift in Sources */,
|
||||
DBDFF1952805561700557A48 /* DiscoveryPostsViewModel+Diffable.swift in Sources */,
|
||||
DB03A795272A981400EE37C5 /* ContentSplitViewController.swift in Sources */,
|
||||
|
@ -4024,7 +4083,7 @@
|
|||
DB63F75C279956D000455B82 /* Persistence+Tag.swift in Sources */,
|
||||
2D84350525FF858100EECE90 /* UIScrollView.swift in Sources */,
|
||||
DB49A61F25FF32AA00B98345 /* EmojiService+CustomEmojiViewModel.swift in Sources */,
|
||||
5B24BBDB262DB14800A9381B /* ReportViewModel+Diffable.swift in Sources */,
|
||||
5B24BBDB262DB14800A9381B /* ReportStatusViewModel+Diffable.swift in Sources */,
|
||||
DB4F0968269ED8AD00D62E92 /* SearchHistoryTableHeaderView.swift in Sources */,
|
||||
0FB3D2FE25E4CB6400AAD544 /* OnboardingHeadlineTableViewCell.swift in Sources */,
|
||||
5DA732CC2629CEF500A92342 /* UIView+Remove.swift in Sources */,
|
||||
|
@ -4036,6 +4095,7 @@
|
|||
DBBF1DC92652538500E5B703 /* AutoCompleteSection.swift in Sources */,
|
||||
DB3E6FE72806A7A200B035AE /* DiscoveryItem.swift in Sources */,
|
||||
DB8AF55D25C138B7002E6C99 /* UIViewController.swift in Sources */,
|
||||
DBEFCD79282A147000C0ABEA /* ReportStatusViewModel.swift in Sources */,
|
||||
DB7F48452620241000796008 /* ProfileHeaderViewModel.swift in Sources */,
|
||||
DB647C5926F1EA2700F7F82C /* WizardPreference.swift in Sources */,
|
||||
DB0A322E280EE9FD001729D2 /* DiscoveryIntroBannerView.swift in Sources */,
|
||||
|
@ -4061,7 +4121,6 @@
|
|||
DB3E6FEF2806D82600B035AE /* DiscoveryNewsViewModel.swift in Sources */,
|
||||
DBBF1DCB2652539E00E5B703 /* AutoCompleteItem.swift in Sources */,
|
||||
2DA6054725F716A2006356F9 /* PlaybackState.swift in Sources */,
|
||||
DB98EB6727B216560082E365 /* ReportResultViewModel+Diffable.swift in Sources */,
|
||||
DBC7A672260C897100E57475 /* StatusContentWarningEditorView.swift in Sources */,
|
||||
DB025B95278D6530002F581E /* Persistence+MastodonUser.swift in Sources */,
|
||||
DB3667A6268AE2620027D07F /* ComposeStatusPollSection.swift in Sources */,
|
||||
|
@ -4087,7 +4146,7 @@
|
|||
DB336F28278D6EC70031E64B /* MastodonFieldContainer.swift in Sources */,
|
||||
DBCA0EBC282BB38A0029E2B0 /* PageboyNavigateable.swift in Sources */,
|
||||
DBF156E42702DB3F00EC00B7 /* HandleTapAction.swift in Sources */,
|
||||
DB98EB4727B0DFAA0082E365 /* ReportViewModel+State.swift in Sources */,
|
||||
DB98EB4727B0DFAA0082E365 /* ReportStatusViewModel+State.swift in Sources */,
|
||||
2D5981A125E4A593000FB903 /* MastodonConfirmEmailViewModel.swift in Sources */,
|
||||
DB6B74F6272FBCDB00C70B6E /* FollowerListViewModel+State.swift in Sources */,
|
||||
DB87D4452609BE0500D12C0D /* ComposeStatusPollOptionCollectionViewCell.swift in Sources */,
|
||||
|
@ -4145,6 +4204,7 @@
|
|||
DB6D9F8426358EEC008423CD /* SettingsItem.swift in Sources */,
|
||||
2D364F7825E66D8300204FDC /* MastodonResendEmailViewModel.swift in Sources */,
|
||||
DBA465932696B495002B41DB /* APIService+WebFinger.swift in Sources */,
|
||||
DBEFCD7B282A162400C0ABEA /* ReportReasonView.swift in Sources */,
|
||||
DB8AF54525C13647002E6C99 /* NeedsDependency.swift in Sources */,
|
||||
DB63F77B279ACAE500455B82 /* DataSourceFacade+Favorite.swift in Sources */,
|
||||
DB9D6BF825E4F5690051B173 /* NotificationViewController.swift in Sources */,
|
||||
|
@ -4159,6 +4219,7 @@
|
|||
DB4F097526A037F500D62E92 /* SearchHistoryViewModel.swift in Sources */,
|
||||
DB3EA8E9281B7A3700598866 /* DiscoveryCommunityViewModel.swift in Sources */,
|
||||
DB6180F826391D660018D199 /* MediaPreviewingViewController.swift in Sources */,
|
||||
DBEFCD71282A12B200C0ABEA /* ReportReasonViewController.swift in Sources */,
|
||||
DB0140CF25C42AEE00F9F3CF /* OSLog.swift in Sources */,
|
||||
DB98EB5627B0FF1B0082E365 /* ReportViewControllerAppearance.swift in Sources */,
|
||||
DB938F1526241FDF00E5B6C1 /* APIService+Thread.swift in Sources */,
|
||||
|
@ -4195,6 +4256,7 @@
|
|||
2D7867192625B77500211898 /* NotificationItem.swift in Sources */,
|
||||
DB45FAB625CA5485005A8AC7 /* UIAlertController.swift in Sources */,
|
||||
DBE0821525CD382600FD6BBD /* MastodonRegisterViewController.swift in Sources */,
|
||||
DBEFCD74282A130400C0ABEA /* ReportReasonViewModel.swift in Sources */,
|
||||
2D5A3D0325CF8742002347D6 /* ControlContainableScrollViews.swift in Sources */,
|
||||
DB36679D268AB91B0027D07F /* ComposeStatusAttachmentTableViewCell.swift in Sources */,
|
||||
DB98336B25C9420100AD9700 /* APIService+App.swift in Sources */,
|
||||
|
@ -4280,6 +4342,7 @@
|
|||
DB0617EB277EF3820030EE79 /* GradientBorderView.swift in Sources */,
|
||||
DB789A1225F9F2CC0071ACA0 /* ComposeViewModel.swift in Sources */,
|
||||
DB63F74B279914A000455B82 /* FollowingListViewController+DataSourceProvider.swift in Sources */,
|
||||
DBEFCD7D282A2A3B00C0ABEA /* ReportServerRulesViewController.swift in Sources */,
|
||||
DBB525362611ECEB002F1F29 /* UserTimelineViewController.swift in Sources */,
|
||||
DB938F3326243D6200E5B6C1 /* TimelineTopLoaderTableViewCell.swift in Sources */,
|
||||
DB98EB4927B0F0CD0082E365 /* ReportStatusTableViewCell.swift in Sources */,
|
||||
|
@ -4290,6 +4353,7 @@
|
|||
DB98EB6527B216500082E365 /* ReportResultViewModel.swift in Sources */,
|
||||
DB4F096A269EDAD200D62E92 /* SearchResultViewModel+State.swift in Sources */,
|
||||
5BB04FF5262F0E6D0043BFF6 /* ReportSection.swift in Sources */,
|
||||
DBEFCD82282A2AB100C0ABEA /* ReportServerRulesView.swift in Sources */,
|
||||
DBA94436265CBB7400C537E1 /* ProfileFieldItem.swift in Sources */,
|
||||
DB023D2A27A0FE5C005AC798 /* DataSourceProvider+NotificationTableViewCellDelegate.swift in Sources */,
|
||||
DB98EB6027B10E150082E365 /* ReportCommentTableViewCell.swift in Sources */,
|
||||
|
@ -4604,7 +4668,7 @@
|
|||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||
|
@ -4699,7 +4763,7 @@
|
|||
CODE_SIGN_ENTITLEMENTS = Mastodon/Mastodon.entitlements;
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 126;
|
||||
CURRENT_PROJECT_VERSION = 127;
|
||||
DEVELOPMENT_ASSET_PATHS = "Mastodon/Resources/Preview\\ Assets.xcassets";
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = Mastodon/Info.plist;
|
||||
|
@ -4729,7 +4793,7 @@
|
|||
CODE_SIGN_ENTITLEMENTS = Mastodon/Mastodon.entitlements;
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 126;
|
||||
CURRENT_PROJECT_VERSION = 127;
|
||||
DEVELOPMENT_ASSET_PATHS = "Mastodon/Resources/Preview\\ Assets.xcassets";
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = Mastodon/Info.plist;
|
||||
|
@ -4837,11 +4901,11 @@
|
|||
APPLICATION_EXTENSION_API_ONLY = YES;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 126;
|
||||
CURRENT_PROJECT_VERSION = 127;
|
||||
DEFINES_MODULE = YES;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 126;
|
||||
DYLIB_CURRENT_VERSION = 127;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
INFOPLIST_FILE = AppShared/Info.plist;
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
|
@ -4868,11 +4932,11 @@
|
|||
APPLICATION_EXTENSION_API_ONLY = YES;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 126;
|
||||
CURRENT_PROJECT_VERSION = 127;
|
||||
DEFINES_MODULE = YES;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 126;
|
||||
DYLIB_CURRENT_VERSION = 127;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
INFOPLIST_FILE = AppShared/Info.plist;
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
|
@ -4891,12 +4955,247 @@
|
|||
};
|
||||
name = Release;
|
||||
};
|
||||
DB848E2A282B5E6300A302CC /* Profile */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"PROFILE=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
INTENTS_CODEGEN_LANGUAGE = Swift;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
MTL_FAST_MATH = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = PROFILE;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-O";
|
||||
};
|
||||
name = Profile;
|
||||
};
|
||||
DB848E2B282B5E6300A302CC /* Profile */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 7CB58D292DA7ACEF179A9050 /* Pods-Mastodon.profile.xcconfig */;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_ENTITLEMENTS = Mastodon/Mastodon.entitlements;
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 127;
|
||||
DEVELOPMENT_ASSET_PATHS = "Mastodon/Resources/Preview\\ Assets.xcassets";
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = Mastodon/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.0.7;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.joinmastodon.app;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "Mastodon/Vender/Mastodon-Bridging-Header.h";
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
};
|
||||
name = Profile;
|
||||
};
|
||||
DB848E2C282B5E6300A302CC /* Profile */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = DF65937EC1FF64462BC002EE /* Pods-MastodonTests.profile.xcconfig */;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = MastodonTests/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
"@loader_path/Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.joinmastodon.MastodonTests;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Mastodon.app/Mastodon";
|
||||
};
|
||||
name = Profile;
|
||||
};
|
||||
DB848E2D282B5E6300A302CC /* Profile */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 728DE51ADA27C395C6E1BAB5 /* Pods-Mastodon-MastodonUITests.profile.xcconfig */;
|
||||
buildSettings = {
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = MastodonUITests/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
"@loader_path/Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.joinmastodon.MastodonUITests;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
TEST_TARGET_NAME = Mastodon;
|
||||
};
|
||||
name = Profile;
|
||||
};
|
||||
DB848E2E282B5E6300A302CC /* Profile */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 63EF9E6E5B575CD2A8B0475D /* Pods-AppShared.profile.xcconfig */;
|
||||
buildSettings = {
|
||||
APPLICATION_EXTENSION_API_ONLY = YES;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 127;
|
||||
DEFINES_MODULE = YES;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 127;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
INFOPLIST_FILE = AppShared/Info.plist;
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
"@loader_path/Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.joinmastodon.app.AppShared;
|
||||
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
|
||||
SKIP_INSTALL = YES;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
};
|
||||
name = Profile;
|
||||
};
|
||||
DB848E2F282B5E6300A302CC /* Profile */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CODE_SIGN_ENTITLEMENTS = NotificationService/NotificationService.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 127;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = NotificationService/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
"@executable_path/../../Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.0.7;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.joinmastodon.app.NotificationService;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SKIP_INSTALL = YES;
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
};
|
||||
name = Profile;
|
||||
};
|
||||
DB848E30282B5E6300A302CC /* Profile */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CODE_SIGN_ENTITLEMENTS = ShareActionExtension/ShareActionExtension.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 127;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = ShareActionExtension/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
"@executable_path/../../Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.0.7;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.joinmastodon.app.ShareActionExtension;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SKIP_INSTALL = YES;
|
||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "APP_EXTENSION $(inherited)";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
};
|
||||
name = Profile;
|
||||
};
|
||||
DB848E31282B5E6300A302CC /* Profile */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CODE_SIGN_ENTITLEMENTS = MastodonIntent/MastodonIntent.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 127;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = MastodonIntent/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
"@executable_path/../../Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.0.7;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.joinmastodon.app.MastodonIntent;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SKIP_INSTALL = YES;
|
||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "APP_EXTENSION $(inherited)";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
};
|
||||
name = Profile;
|
||||
};
|
||||
DB8FABD026AEC7B2008E5AF4 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CODE_SIGN_ENTITLEMENTS = MastodonIntent/MastodonIntent.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 126;
|
||||
CURRENT_PROJECT_VERSION = 127;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = MastodonIntent/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
|
@ -4920,7 +5219,7 @@
|
|||
buildSettings = {
|
||||
CODE_SIGN_ENTITLEMENTS = MastodonIntent/MastodonIntent.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 126;
|
||||
CURRENT_PROJECT_VERSION = 127;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = MastodonIntent/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
|
@ -4944,7 +5243,7 @@
|
|||
buildSettings = {
|
||||
CODE_SIGN_ENTITLEMENTS = ShareActionExtension/ShareActionExtension.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 126;
|
||||
CURRENT_PROJECT_VERSION = 127;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = ShareActionExtension/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
|
@ -4968,7 +5267,7 @@
|
|||
buildSettings = {
|
||||
CODE_SIGN_ENTITLEMENTS = ShareActionExtension/ShareActionExtension.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 126;
|
||||
CURRENT_PROJECT_VERSION = 127;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = ShareActionExtension/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
|
@ -5055,7 +5354,7 @@
|
|||
CODE_SIGN_ENTITLEMENTS = Mastodon/Mastodon.entitlements;
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 126;
|
||||
CURRENT_PROJECT_VERSION = 127;
|
||||
DEVELOPMENT_ASSET_PATHS = "Mastodon/Resources/Preview\\ Assets.xcassets";
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = Mastodon/Info.plist;
|
||||
|
@ -5122,11 +5421,11 @@
|
|||
APPLICATION_EXTENSION_API_ONLY = YES;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 126;
|
||||
CURRENT_PROJECT_VERSION = 127;
|
||||
DEFINES_MODULE = YES;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 126;
|
||||
DYLIB_CURRENT_VERSION = 127;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
INFOPLIST_FILE = AppShared/Info.plist;
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
|
@ -5150,7 +5449,7 @@
|
|||
buildSettings = {
|
||||
CODE_SIGN_ENTITLEMENTS = NotificationService/NotificationService.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 126;
|
||||
CURRENT_PROJECT_VERSION = 127;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = NotificationService/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
|
@ -5173,7 +5472,7 @@
|
|||
buildSettings = {
|
||||
CODE_SIGN_ENTITLEMENTS = ShareActionExtension/ShareActionExtension.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 126;
|
||||
CURRENT_PROJECT_VERSION = 127;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = ShareActionExtension/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
|
@ -5197,7 +5496,7 @@
|
|||
buildSettings = {
|
||||
CODE_SIGN_ENTITLEMENTS = MastodonIntent/MastodonIntent.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 126;
|
||||
CURRENT_PROJECT_VERSION = 127;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = MastodonIntent/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
|
@ -5221,7 +5520,7 @@
|
|||
buildSettings = {
|
||||
CODE_SIGN_ENTITLEMENTS = NotificationService/NotificationService.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 126;
|
||||
CURRENT_PROJECT_VERSION = 127;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = NotificationService/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
|
@ -5244,7 +5543,7 @@
|
|||
buildSettings = {
|
||||
CODE_SIGN_ENTITLEMENTS = NotificationService/NotificationService.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 126;
|
||||
CURRENT_PROJECT_VERSION = 127;
|
||||
DEVELOPMENT_TEAM = 5Z4GVSS33P;
|
||||
INFOPLIST_FILE = NotificationService/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
|
@ -5269,6 +5568,7 @@
|
|||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
DB427DFA25BAA00100D1B89D /* Debug */,
|
||||
DB848E2A282B5E6300A302CC /* Profile */,
|
||||
DB427DFB25BAA00100D1B89D /* Release */,
|
||||
DBEB19E127E4658E00B0E80E /* Release Snapshot */,
|
||||
);
|
||||
|
@ -5279,6 +5579,7 @@
|
|||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
DB427DFD25BAA00100D1B89D /* Debug */,
|
||||
DB848E2B282B5E6300A302CC /* Profile */,
|
||||
DB427DFE25BAA00100D1B89D /* Release */,
|
||||
DBEB19E227E4658E00B0E80E /* Release Snapshot */,
|
||||
);
|
||||
|
@ -5289,6 +5590,7 @@
|
|||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
DB427E0025BAA00100D1B89D /* Debug */,
|
||||
DB848E2C282B5E6300A302CC /* Profile */,
|
||||
DB427E0125BAA00100D1B89D /* Release */,
|
||||
DBEB19E327E4658E00B0E80E /* Release Snapshot */,
|
||||
);
|
||||
|
@ -5299,6 +5601,7 @@
|
|||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
DB427E0325BAA00100D1B89D /* Debug */,
|
||||
DB848E2D282B5E6300A302CC /* Profile */,
|
||||
DB427E0425BAA00100D1B89D /* Release */,
|
||||
DBEB19E427E4658E00B0E80E /* Release Snapshot */,
|
||||
);
|
||||
|
@ -5309,6 +5612,7 @@
|
|||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
DB6804892637CD4C00430867 /* Debug */,
|
||||
DB848E2E282B5E6300A302CC /* Profile */,
|
||||
DB68048A2637CD4C00430867 /* Release */,
|
||||
DBEB19E527E4658E00B0E80E /* Release Snapshot */,
|
||||
);
|
||||
|
@ -5319,6 +5623,7 @@
|
|||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
DB8FABD026AEC7B2008E5AF4 /* Debug */,
|
||||
DB848E31282B5E6300A302CC /* Profile */,
|
||||
DB8FABD326AEC7B2008E5AF4 /* Release */,
|
||||
DBEB19E827E4658E00B0E80E /* Release Snapshot */,
|
||||
);
|
||||
|
@ -5329,6 +5634,7 @@
|
|||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
DBC6461D26A170AB00B0E31B /* Debug */,
|
||||
DB848E30282B5E6300A302CC /* Profile */,
|
||||
DBC6462026A170AB00B0E31B /* Release */,
|
||||
DBEB19E727E4658E00B0E80E /* Release Snapshot */,
|
||||
);
|
||||
|
@ -5339,6 +5645,7 @@
|
|||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
DBF8AE1C263293E400C9C23C /* Debug */,
|
||||
DB848E2F282B5E6300A302CC /* Profile */,
|
||||
DBF8AE1D263293E400C9C23C /* Release */,
|
||||
DBEB19E627E4658E00B0E80E /* Release Snapshot */,
|
||||
);
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<key>isShown</key>
|
||||
<true/>
|
||||
<key>orderHint</key>
|
||||
<integer>4</integer>
|
||||
<integer>5</integer>
|
||||
</dict>
|
||||
<key>CoreDataStack.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
|
@ -19,27 +19,27 @@
|
|||
<key>Mastodon - Profile.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>19</integer>
|
||||
<integer>1</integer>
|
||||
</dict>
|
||||
<key>Mastodon - RTL.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>5</integer>
|
||||
<integer>8</integer>
|
||||
</dict>
|
||||
<key>Mastodon - Release.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>1</integer>
|
||||
<integer>2</integer>
|
||||
</dict>
|
||||
<key>Mastodon - Snapshot.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>2</integer>
|
||||
<integer>3</integer>
|
||||
</dict>
|
||||
<key>Mastodon - ar.xcscheme</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>3</integer>
|
||||
<integer>4</integer>
|
||||
</dict>
|
||||
<key>Mastodon - ar.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
|
@ -114,7 +114,7 @@
|
|||
<key>MastodonIntent.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>21</integer>
|
||||
<integer>31</integer>
|
||||
</dict>
|
||||
<key>MastodonIntents.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
|
@ -129,12 +129,12 @@
|
|||
<key>NotificationService.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>20</integer>
|
||||
<integer>30</integer>
|
||||
</dict>
|
||||
<key>ShareActionExtension.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>22</integer>
|
||||
<integer>32</integer>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>SuppressBuildableAutocreation</key>
|
||||
|
|
|
@ -158,7 +158,7 @@ extension SceneCoordinator {
|
|||
case mastodonServerRules(viewModel: MastodonServerRulesViewModel)
|
||||
case mastodonConfirmEmail(viewModel: MastodonConfirmEmailViewModel)
|
||||
case mastodonResendEmail(viewModel: MastodonResendEmailViewModel)
|
||||
case mastodonWebView(viewModel:WebViewModel)
|
||||
case mastodonWebView(viewModel: WebViewModel)
|
||||
|
||||
// search
|
||||
case searchDetail(viewModel: SearchDetailViewModel)
|
||||
|
@ -184,6 +184,8 @@ extension SceneCoordinator {
|
|||
|
||||
// report
|
||||
case report(viewModel: ReportViewModel)
|
||||
case reportServerRules(viewModel: ReportServerRulesViewModel)
|
||||
case reportStatus(viewModel: ReportStatusViewModel)
|
||||
case reportSupplementary(viewModel: ReportSupplementaryViewModel)
|
||||
case reportResult(viewModel: ReportResultViewModel)
|
||||
|
||||
|
@ -447,6 +449,14 @@ private extension SceneCoordinator {
|
|||
let _viewController = ReportViewController()
|
||||
_viewController.viewModel = viewModel
|
||||
viewController = _viewController
|
||||
case .reportServerRules(let viewModel):
|
||||
let _viewController = ReportServerRulesViewController()
|
||||
_viewController.viewModel = viewModel
|
||||
viewController = _viewController
|
||||
case .reportStatus(let viewModel):
|
||||
let _viewController = ReportStatusViewController()
|
||||
_viewController.viewModel = viewModel
|
||||
viewController = _viewController
|
||||
case .reportSupplementary(let viewModel):
|
||||
let _viewController = ReportSupplementaryViewController()
|
||||
_viewController.viewModel = viewModel
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
<key>CFBundlePackageType</key>
|
||||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.4.1</string>
|
||||
<string>1.4.2</string>
|
||||
<key>CFBundleURLTypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
|
@ -43,7 +43,7 @@
|
|||
</dict>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>126</string>
|
||||
<string>127</string>
|
||||
<key>ITSAppUsesNonExemptEncryption</key>
|
||||
<false/>
|
||||
<key>LSApplicationQueriesSchemes</key>
|
||||
|
|
|
@ -9,6 +9,7 @@ import os.log
|
|||
import UIKit
|
||||
import Combine
|
||||
import MastodonAsset
|
||||
import MastodonLocalization
|
||||
|
||||
public protocol DiscoveryIntroBannerViewDelegate: AnyObject {
|
||||
func discoveryIntroBannerView(_ bannerView: DiscoveryIntroBannerView, closeButtonDidPressed button: UIButton)
|
||||
|
@ -26,7 +27,7 @@ public final class DiscoveryIntroBannerView: UIView {
|
|||
let label = UILabel()
|
||||
label.font = UIFontMetrics(forTextStyle: .headline).scaledFont(for: .systemFont(ofSize: 16, weight: .regular))
|
||||
label.textColor = Asset.Colors.Label.primary.color
|
||||
label.text = "These are the posts gaining traction in your corner of Mastodon." // TODO: i18n
|
||||
label.text = L10n.Scene.Discovery.intro
|
||||
label.numberOfLines = 0
|
||||
return label
|
||||
}()
|
||||
|
|
|
@ -229,6 +229,11 @@ extension MastodonConfirmEmailViewController {
|
|||
}
|
||||
}
|
||||
|
||||
// MARK: - PanPopableViewController
|
||||
extension MastodonConfirmEmailViewController: PanPopableViewController {
|
||||
var isPanPopable: Bool { false }
|
||||
}
|
||||
|
||||
// MARK: - OnboardingViewControllerAppearance
|
||||
extension MastodonConfirmEmailViewController: OnboardingViewControllerAppearance { }
|
||||
|
||||
|
|
|
@ -197,9 +197,6 @@ struct MastodonRegisterView: View {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
struct WidthKey: PreferenceKey {
|
||||
|
|
|
@ -44,7 +44,7 @@ final class ProfilePagingViewModel: NSObject {
|
|||
let barItems: [TMBarItemable] = {
|
||||
let items = [
|
||||
TMBarItem(title: L10n.Scene.Profile.SegmentedControl.posts),
|
||||
TMBarItem(title: L10n.Scene.Profile.SegmentedControl.postsAndReplies), // TODO: i18n
|
||||
TMBarItem(title: L10n.Scene.Profile.SegmentedControl.postsAndReplies),
|
||||
TMBarItem(title: L10n.Scene.Profile.SegmentedControl.media),
|
||||
TMBarItem(title: L10n.Scene.Profile.SegmentedControl.about),
|
||||
]
|
||||
|
|
|
@ -0,0 +1,206 @@
|
|||
//
|
||||
// ReportViewController.swift
|
||||
// Mastodon
|
||||
//
|
||||
// Created by ihugo on 2021/4/20.
|
||||
//
|
||||
|
||||
import os.log
|
||||
import UIKit
|
||||
import Combine
|
||||
import CoreDataStack
|
||||
import MastodonAsset
|
||||
import MastodonLocalization
|
||||
|
||||
class ReportViewController: UIViewController, NeedsDependency, ReportViewControllerAppearance {
|
||||
|
||||
let logger = Logger(subsystem: "ReportViewController", category: "ViewController")
|
||||
|
||||
var disposeBag = Set<AnyCancellable>()
|
||||
private var observations = Set<NSKeyValueObservation>()
|
||||
|
||||
weak var context: AppContext! { willSet { precondition(!isViewLoaded) } }
|
||||
weak var coordinator: SceneCoordinator! { willSet { precondition(!isViewLoaded) } }
|
||||
|
||||
var viewModel: ReportViewModel!
|
||||
|
||||
lazy var cancelBarButtonItem = UIBarButtonItem(
|
||||
barButtonSystemItem: .cancel,
|
||||
target: self,
|
||||
action: #selector(ReportViewController.cancelBarButtonItemDidPressed(_:))
|
||||
)
|
||||
|
||||
deinit {
|
||||
os_log(.info, log: .debug, "%{public}s[%{public}ld], %{public}s", ((#file as NSString).lastPathComponent), #line, #function)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
extension ReportViewController {
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
|
||||
setupAppearance()
|
||||
defer { setupNavigationBarBackgroundView() }
|
||||
|
||||
navigationItem.rightBarButtonItem = cancelBarButtonItem
|
||||
|
||||
viewModel.reportReasonViewModel.delegate = self
|
||||
viewModel.reportServerRulesViewModel.delegate = self
|
||||
viewModel.reportStatusViewModel.delegate = self
|
||||
viewModel.reportSupplementaryViewModel.delegate = self
|
||||
|
||||
let reportReasonViewController = ReportReasonViewController()
|
||||
reportReasonViewController.context = context
|
||||
reportReasonViewController.coordinator = coordinator
|
||||
reportReasonViewController.viewModel = viewModel.reportReasonViewModel
|
||||
|
||||
addChild(reportReasonViewController)
|
||||
reportReasonViewController.view.translatesAutoresizingMaskIntoConstraints = false
|
||||
view.addSubview(reportReasonViewController.view)
|
||||
reportReasonViewController.didMove(toParent: self)
|
||||
NSLayoutConstraint.activate([
|
||||
reportReasonViewController.view.topAnchor.constraint(equalTo: view.topAnchor),
|
||||
reportReasonViewController.view.leadingAnchor.constraint(equalTo: view.leadingAnchor),
|
||||
reportReasonViewController.view.trailingAnchor.constraint(equalTo: view.trailingAnchor),
|
||||
reportReasonViewController.view.bottomAnchor.constraint(equalTo: view.bottomAnchor),
|
||||
])
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
extension ReportViewController {
|
||||
|
||||
@objc private func cancelBarButtonItemDidPressed(_ sender: UIBarButtonItem) {
|
||||
dismiss(animated: true, completion: nil)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// MARK: - UIAdaptivePresentationControllerDelegate
|
||||
extension ReportViewController: UIAdaptivePresentationControllerDelegate {
|
||||
func presentationControllerShouldDismiss(_ presentationController: UIPresentationController) -> Bool {
|
||||
return viewModel.isReportSuccess
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - ReportReasonViewControllerDelegate
|
||||
extension ReportViewController: ReportReasonViewControllerDelegate {
|
||||
func reportReasonViewController(_ viewController: ReportReasonViewController, nextButtonPressed button: UIButton) {
|
||||
guard let reason = viewController.viewModel.selectReason else { return }
|
||||
switch reason {
|
||||
case .dislike:
|
||||
let reportResultViewModel = ReportResultViewModel(
|
||||
context: context,
|
||||
user: viewModel.user,
|
||||
isReported: false
|
||||
)
|
||||
coordinator.present(
|
||||
scene: .reportResult(viewModel: reportResultViewModel),
|
||||
from: self,
|
||||
transition: .show
|
||||
)
|
||||
case .violateRule:
|
||||
coordinator.present(
|
||||
scene: .reportServerRules(viewModel: viewModel.reportServerRulesViewModel),
|
||||
from: self,
|
||||
transition: .show
|
||||
)
|
||||
case .spam, .other:
|
||||
coordinator.present(
|
||||
scene: .reportStatus(viewModel: viewModel.reportStatusViewModel),
|
||||
from: self,
|
||||
transition: .show
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - ReportServerRulesViewControllerDelegate
|
||||
extension ReportViewController: ReportServerRulesViewControllerDelegate {
|
||||
func reportServerRulesViewController(_ viewController: ReportServerRulesViewController, nextButtonPressed button: UIButton) {
|
||||
if viewController.viewModel.isDislike {
|
||||
let reportResultViewModel = ReportResultViewModel(
|
||||
context: context,
|
||||
user: viewModel.user,
|
||||
isReported: false
|
||||
)
|
||||
coordinator.present(
|
||||
scene: .reportResult(viewModel: reportResultViewModel),
|
||||
from: self,
|
||||
transition: .show
|
||||
)
|
||||
} else if viewController.viewModel.selectRule != nil {
|
||||
coordinator.present(
|
||||
scene: .reportStatus(viewModel: viewModel.reportStatusViewModel),
|
||||
from: self,
|
||||
transition: .show
|
||||
)
|
||||
} else {
|
||||
assertionFailure()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - ReportStatusViewControllerDelegate
|
||||
extension ReportViewController: ReportStatusViewControllerDelegate {
|
||||
func reportStatusViewController(_ viewController: ReportStatusViewController, skipButtonDidPressed button: UIButton) {
|
||||
coordinateToReportSupplementary()
|
||||
}
|
||||
|
||||
func reportStatusViewController(_ viewController: ReportStatusViewController, nextButtonDidPressed button: UIButton) {
|
||||
coordinateToReportSupplementary()
|
||||
}
|
||||
|
||||
private func coordinateToReportSupplementary() {
|
||||
coordinator.present(
|
||||
scene: .reportSupplementary(viewModel: viewModel.reportSupplementaryViewModel),
|
||||
from: self,
|
||||
transition: .show
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - ReportSupplementaryViewControllerDelegate
|
||||
extension ReportViewController: ReportSupplementaryViewControllerDelegate {
|
||||
func reportSupplementaryViewController(_ viewController: ReportSupplementaryViewController, skipButtonDidPressed button: UIButton) {
|
||||
report()
|
||||
}
|
||||
|
||||
func reportSupplementaryViewController(_ viewController: ReportSupplementaryViewController, nextButtonDidPressed button: UIButton) {
|
||||
report()
|
||||
}
|
||||
|
||||
private func report() {
|
||||
Task { @MainActor in
|
||||
do {
|
||||
let _ = try await viewModel.report()
|
||||
logger.log(level: .debug, "\((#file as NSString).lastPathComponent, privacy: .public)[\(#line, privacy: .public)], \(#function, privacy: .public): report success")
|
||||
|
||||
let reportResultViewModel = ReportResultViewModel(
|
||||
context: context,
|
||||
user: viewModel.user,
|
||||
isReported: true
|
||||
)
|
||||
|
||||
coordinator.present(
|
||||
scene: .reportResult(viewModel: reportResultViewModel),
|
||||
from: self,
|
||||
transition: .show
|
||||
)
|
||||
|
||||
} catch {
|
||||
let alertController = UIAlertController(for: error, title: nil, preferredStyle: .alert)
|
||||
let okAction = UIAlertAction(title: L10n.Common.Controls.Actions.ok, style: .default, handler: nil)
|
||||
alertController.addAction(okAction)
|
||||
self.coordinator.present(
|
||||
scene: .alertController(alertController: alertController),
|
||||
from: nil,
|
||||
transition: .alertController(animated: true, completion: nil)
|
||||
)
|
||||
}
|
||||
} // end Task
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,190 @@
|
|||
//
|
||||
// ReportViewModel.swift
|
||||
// Mastodon
|
||||
//
|
||||
// Created by ihugo on 2021/4/19.
|
||||
//
|
||||
|
||||
import Combine
|
||||
import CoreData
|
||||
import CoreDataStack
|
||||
import Foundation
|
||||
import GameplayKit
|
||||
import MastodonSDK
|
||||
import OrderedCollections
|
||||
import os.log
|
||||
import UIKit
|
||||
import MastodonLocalization
|
||||
|
||||
class ReportViewModel {
|
||||
|
||||
var disposeBag = Set<AnyCancellable>()
|
||||
|
||||
let reportReasonViewModel: ReportReasonViewModel
|
||||
let reportServerRulesViewModel: ReportServerRulesViewModel
|
||||
let reportStatusViewModel: ReportStatusViewModel
|
||||
let reportSupplementaryViewModel: ReportSupplementaryViewModel
|
||||
|
||||
// input
|
||||
let context: AppContext
|
||||
let user: ManagedObjectRecord<MastodonUser>
|
||||
let status: ManagedObjectRecord<Status>?
|
||||
|
||||
// output
|
||||
@Published var isReporting = false
|
||||
@Published var isReportSuccess = false
|
||||
|
||||
init(
|
||||
context: AppContext,
|
||||
user: ManagedObjectRecord<MastodonUser>,
|
||||
status: ManagedObjectRecord<Status>?
|
||||
) {
|
||||
self.context = context
|
||||
self.user = user
|
||||
self.status = status
|
||||
self.reportReasonViewModel = ReportReasonViewModel(context: context)
|
||||
self.reportServerRulesViewModel = ReportServerRulesViewModel(context: context)
|
||||
self.reportStatusViewModel = ReportStatusViewModel(context: context, user: user, status: status)
|
||||
self.reportSupplementaryViewModel = ReportSupplementaryViewModel(context: context, user: user)
|
||||
// end init
|
||||
|
||||
guard let authenticationBox = context.authenticationService.activeMastodonAuthenticationBox.value else {
|
||||
return
|
||||
}
|
||||
|
||||
// setup reason viewModel
|
||||
if status != nil {
|
||||
reportReasonViewModel.headline = L10n.Scene.Report.StepOne.whatsWrongWithThisPost
|
||||
} else {
|
||||
Task { @MainActor in
|
||||
let managedObjectContext = context.managedObjectContext
|
||||
let _username: String? = try? await managedObjectContext.perform {
|
||||
let user = user.object(in: managedObjectContext)
|
||||
return user?.acctWithDomain
|
||||
}
|
||||
if let username = _username {
|
||||
reportReasonViewModel.headline = L10n.Scene.Report.StepOne.whatsWrongWithThisUsername(username)
|
||||
} else {
|
||||
reportReasonViewModel.headline = L10n.Scene.Report.StepOne.whatsWrongWithThisAccount
|
||||
}
|
||||
} // end Task
|
||||
}
|
||||
|
||||
// bind server rules
|
||||
Task { @MainActor in
|
||||
do {
|
||||
let response = try await context.apiService.instance(domain: authenticationBox.domain)
|
||||
.timeout(3, scheduler: DispatchQueue.main)
|
||||
.singleOutput()
|
||||
let rules = response.value.rules ?? []
|
||||
reportReasonViewModel.serverRules = rules
|
||||
reportServerRulesViewModel.serverRules = rules
|
||||
} catch {
|
||||
reportReasonViewModel.serverRules = []
|
||||
reportServerRulesViewModel.serverRules = []
|
||||
}
|
||||
} // end Task
|
||||
|
||||
$isReporting
|
||||
.assign(to: &reportSupplementaryViewModel.$isBusy)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
extension ReportViewModel {
|
||||
@MainActor
|
||||
func report() async throws {
|
||||
guard let authenticationBox = context.authenticationService.activeMastodonAuthenticationBox.value,
|
||||
!isReporting
|
||||
else {
|
||||
assertionFailure()
|
||||
return
|
||||
}
|
||||
|
||||
let managedObjectContext = context.managedObjectContext
|
||||
let _query: Mastodon.API.Reports.FileReportQuery? = try await managedObjectContext.perform {
|
||||
guard let user = self.user.object(in: managedObjectContext) else { return nil }
|
||||
|
||||
// the status picker is essential step in report flow
|
||||
// only check isSkip or not
|
||||
let statusIDs: [Status.ID]? = {
|
||||
if self.reportStatusViewModel.isSkip {
|
||||
let _id: Status.ID? = self.reportStatusViewModel.status.flatMap { record -> Status.ID? in
|
||||
guard let status = record.object(in: managedObjectContext) else { return nil }
|
||||
return status.id
|
||||
}
|
||||
return _id.flatMap { [$0] }
|
||||
} else {
|
||||
return self.reportStatusViewModel.selectStatuses.compactMap { record -> Status.ID? in
|
||||
guard let status = record.object(in: managedObjectContext) else { return nil }
|
||||
return status.id
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
||||
// the user comment is essential step in report flow
|
||||
// only check isSkip or not
|
||||
let comment: String? = {
|
||||
var suffixes: [String] = []
|
||||
let content: String?
|
||||
|
||||
// the server rules is NOT essential step in report flow
|
||||
// append suffix depends which reason
|
||||
if let reason = self.reportReasonViewModel.selectReason {
|
||||
switch reason {
|
||||
case .spam:
|
||||
suffixes.append(reason.rawValue)
|
||||
case .violateRule:
|
||||
suffixes.append(reason.rawValue)
|
||||
if let rule = self.reportServerRulesViewModel.selectRule {
|
||||
suffixes.append(rule.text)
|
||||
} else {
|
||||
assertionFailure("should select valid rule")
|
||||
}
|
||||
case .dislike:
|
||||
assertionFailure("should not enter the report flow")
|
||||
case .other:
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
content = self.reportSupplementaryViewModel.isSkip ? nil : self.reportSupplementaryViewModel.commentContext.comment
|
||||
|
||||
let suffix: String? = {
|
||||
let text = suffixes.joined(separator: ". ")
|
||||
guard !text.isEmpty else { return nil }
|
||||
return "<" + text + ">"
|
||||
}()
|
||||
|
||||
let comment = [content, suffix]
|
||||
.compactMap { $0 }
|
||||
.joined(separator: " ")
|
||||
return comment.isEmpty ? nil : comment
|
||||
}()
|
||||
return Mastodon.API.Reports.FileReportQuery(
|
||||
accountID: user.id,
|
||||
statusIDs: statusIDs,
|
||||
comment: comment,
|
||||
forward: true
|
||||
)
|
||||
}
|
||||
|
||||
guard let query = _query else { return }
|
||||
|
||||
do {
|
||||
isReporting = true
|
||||
#if DEBUG
|
||||
try await Task.sleep(nanoseconds: .second * 3)
|
||||
#else
|
||||
let _ = try await context.apiService.report(
|
||||
query: query,
|
||||
authenticationBox: authenticationBox
|
||||
)
|
||||
#endif
|
||||
isReportSuccess = true
|
||||
} catch {
|
||||
isReporting = false
|
||||
throw error
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,112 @@
|
|||
//
|
||||
// ReportReasonView.swift
|
||||
// Mastodon
|
||||
//
|
||||
// Created by MainasuK on 2022-5-10.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
import SwiftUI
|
||||
import MastodonLocalization
|
||||
import MastodonSDK
|
||||
import MastodonAsset
|
||||
|
||||
struct ReportReasonView: View {
|
||||
|
||||
@ObservedObject var viewModel: ReportReasonViewModel
|
||||
|
||||
var body: some View {
|
||||
ScrollView(.vertical) {
|
||||
HStack {
|
||||
VStack(alignment: .leading, spacing: 8) {
|
||||
Text(L10n.Scene.Report.StepOne.step1Of4)
|
||||
.foregroundColor(Color(Asset.Colors.Label.secondary.color))
|
||||
.font(Font(UIFontMetrics(forTextStyle: .largeTitle).scaledFont(for: .systemFont(ofSize: 17, weight: .regular)) as CTFont))
|
||||
Text(viewModel.headline)
|
||||
.foregroundColor(Color(Asset.Colors.Label.primary.color))
|
||||
.font(Font(UIFontMetrics(forTextStyle: .largeTitle).scaledFont(for: .systemFont(ofSize: 28, weight: .bold)) as CTFont))
|
||||
Text(L10n.Scene.Report.StepOne.selectTheBestMatch)
|
||||
.foregroundColor(Color(Asset.Colors.Label.secondary.color))
|
||||
.font(Font(UIFontMetrics(forTextStyle: .largeTitle).scaledFont(for: .systemFont(ofSize: 17, weight: .regular)) as CTFont))
|
||||
}
|
||||
Spacer()
|
||||
}
|
||||
.padding()
|
||||
|
||||
VStack(spacing: 16) {
|
||||
if let serverRules = viewModel.serverRules {
|
||||
ForEach(ReportReasonViewModel.Reason.allCases, id: \.self) { reason in
|
||||
switch reason {
|
||||
case .violateRule where serverRules.isEmpty:
|
||||
EmptyView()
|
||||
default:
|
||||
ReportReasonRowView(reason: reason, isSelect: reason == viewModel.selectReason)
|
||||
.background(
|
||||
Color(viewModel.backgroundColor)
|
||||
)
|
||||
.onTapGesture {
|
||||
viewModel.selectReason = reason
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
ProgressView()
|
||||
}
|
||||
}
|
||||
.padding()
|
||||
.transition(.opacity)
|
||||
.animation(.easeInOut)
|
||||
|
||||
Spacer()
|
||||
.frame(minHeight: viewModel.bottomPaddingHeight)
|
||||
}
|
||||
.background(
|
||||
Color(viewModel.backgroundColor)
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
struct ReportReasonRowView: View {
|
||||
|
||||
var reason: ReportReasonViewModel.Reason
|
||||
var isSelect: Bool
|
||||
|
||||
var body: some View {
|
||||
HStack(spacing: 14) {
|
||||
Image(systemName: isSelect ? "checkmark.circle.fill" : "circle")
|
||||
.resizable()
|
||||
.frame(width: 28, height: 28, alignment: .center)
|
||||
VStack(alignment: .leading, spacing: 4) {
|
||||
Text(reason.title)
|
||||
.foregroundColor(Color(Asset.Colors.Label.primary.color))
|
||||
.font(.headline)
|
||||
Text(reason.subtitle)
|
||||
.font(.subheadline)
|
||||
.foregroundColor(Color(Asset.Colors.Label.secondary.color))
|
||||
}
|
||||
Spacer()
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
struct ReportReasonView_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
Group {
|
||||
NavigationView {
|
||||
ReportReasonView(viewModel: ReportReasonViewModel(context: .shared))
|
||||
.navigationBarTitle(Text(""))
|
||||
.navigationBarTitleDisplayMode(.inline)
|
||||
}
|
||||
NavigationView {
|
||||
ReportReasonView(viewModel: ReportReasonViewModel(context: .shared))
|
||||
.navigationBarTitle(Text(""))
|
||||
.navigationBarTitleDisplayMode(.inline)
|
||||
}
|
||||
.preferredColorScheme(.dark)
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
|
@ -0,0 +1,104 @@
|
|||
//
|
||||
// ReportReasonViewController.swift
|
||||
// Mastodon
|
||||
//
|
||||
// Created by MainasuK on 2022-5-10.
|
||||
//
|
||||
|
||||
import os.log
|
||||
import UIKit
|
||||
import SwiftUI
|
||||
import Combine
|
||||
import MastodonUI
|
||||
import MastodonAsset
|
||||
import MastodonLocalization
|
||||
|
||||
protocol ReportReasonViewControllerDelegate: AnyObject {
|
||||
func reportReasonViewController(_ viewController: ReportReasonViewController, nextButtonPressed button: UIButton)
|
||||
}
|
||||
|
||||
final class ReportReasonViewController: UIViewController, NeedsDependency, ReportViewControllerAppearance {
|
||||
|
||||
let logger = Logger(subsystem: "ReportReasonViewController", category: "ViewController")
|
||||
|
||||
weak var context: AppContext! { willSet { precondition(!isViewLoaded) } }
|
||||
weak var coordinator: SceneCoordinator! { willSet { precondition(!isViewLoaded) } }
|
||||
|
||||
var disposeBag = Set<AnyCancellable>()
|
||||
private var observations = Set<NSKeyValueObservation>()
|
||||
|
||||
var viewModel: ReportReasonViewModel!
|
||||
private(set) lazy var reportReasonView = ReportReasonView(viewModel: viewModel)
|
||||
|
||||
let navigationActionView: NavigationActionView = {
|
||||
let navigationActionView = NavigationActionView()
|
||||
navigationActionView.backgroundColor = Asset.Scene.Onboarding.background.color
|
||||
navigationActionView.hidesBackButton = true
|
||||
return navigationActionView
|
||||
}()
|
||||
|
||||
deinit {
|
||||
os_log(.info, log: .debug, "%{public}s[%{public}ld], %{public}s", ((#file as NSString).lastPathComponent), #line, #function)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
extension ReportReasonViewController {
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
|
||||
setupAppearance()
|
||||
defer { setupNavigationBarBackgroundView() }
|
||||
|
||||
let hostingViewController = UIHostingController(rootView: reportReasonView)
|
||||
hostingViewController.view.preservesSuperviewLayoutMargins = true
|
||||
addChild(hostingViewController)
|
||||
hostingViewController.view.translatesAutoresizingMaskIntoConstraints = false
|
||||
view.addSubview(hostingViewController.view)
|
||||
NSLayoutConstraint.activate([
|
||||
hostingViewController.view.topAnchor.constraint(equalTo: view.topAnchor),
|
||||
hostingViewController.view.leadingAnchor.constraint(equalTo: view.leadingAnchor),
|
||||
hostingViewController.view.trailingAnchor.constraint(equalTo: view.trailingAnchor),
|
||||
hostingViewController.view.bottomAnchor.constraint(equalTo: view.bottomAnchor),
|
||||
])
|
||||
|
||||
navigationActionView.translatesAutoresizingMaskIntoConstraints = false
|
||||
view.addSubview(navigationActionView)
|
||||
defer {
|
||||
view.bringSubviewToFront(navigationActionView)
|
||||
}
|
||||
NSLayoutConstraint.activate([
|
||||
navigationActionView.leadingAnchor.constraint(equalTo: view.leadingAnchor),
|
||||
navigationActionView.trailingAnchor.constraint(equalTo: view.trailingAnchor),
|
||||
view.bottomAnchor.constraint(equalTo: navigationActionView.bottomAnchor),
|
||||
])
|
||||
|
||||
navigationActionView
|
||||
.observe(\.bounds, options: [.initial, .new]) { [weak self] navigationActionView, _ in
|
||||
guard let self = self else { return }
|
||||
let inset = navigationActionView.frame.height
|
||||
self.viewModel.bottomPaddingHeight = inset
|
||||
}
|
||||
.store(in: &observations)
|
||||
|
||||
viewModel.$selectReason
|
||||
.map { $0 != nil }
|
||||
.assign(to: \.isEnabled, on: navigationActionView.nextButton)
|
||||
.store(in: &disposeBag)
|
||||
|
||||
navigationActionView.nextButton.addTarget(self, action: #selector(ReportReasonViewController.nextButtonPressed(_:)), for: .touchUpInside)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
extension ReportReasonViewController {
|
||||
|
||||
@objc private func nextButtonPressed(_ sender: UIButton) {
|
||||
logger.log(level: .debug, "\((#file as NSString).lastPathComponent, privacy: .public)[\(#line, privacy: .public)], \(#function, privacy: .public)")
|
||||
|
||||
assert(viewModel.delegate != nil)
|
||||
viewModel.delegate?.reportReasonViewController(self, nextButtonPressed: sender)
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,84 @@
|
|||
//
|
||||
// ReportReasonViewModel.swift
|
||||
// Mastodon
|
||||
//
|
||||
// Created by MainasuK on 2022-5-10.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
import SwiftUI
|
||||
import MastodonAsset
|
||||
import MastodonSDK
|
||||
import MastodonLocalization
|
||||
|
||||
final class ReportReasonViewModel: ObservableObject {
|
||||
|
||||
weak var delegate: ReportReasonViewControllerDelegate?
|
||||
|
||||
// input
|
||||
let context: AppContext
|
||||
|
||||
@Published var headline = L10n.Scene.Report.StepOne.whatsWrongWithThisAccount
|
||||
@Published var serverRules: [Mastodon.Entity.Instance.Rule]?
|
||||
|
||||
@Published var bottomPaddingHeight: CGFloat = .zero
|
||||
@Published var backgroundColor: UIColor = Asset.Scene.Report.background.color
|
||||
|
||||
// output
|
||||
@Published var selectReason: Reason?
|
||||
|
||||
init(context: AppContext) {
|
||||
self.context = context
|
||||
// end init
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
extension ReportReasonViewModel {
|
||||
enum Reason: Hashable, CaseIterable {
|
||||
case dislike
|
||||
case spam
|
||||
case violateRule
|
||||
case other
|
||||
|
||||
var title: String {
|
||||
switch self {
|
||||
case .dislike:
|
||||
return L10n.Scene.Report.StepOne.iDontLikeIt
|
||||
case .spam:
|
||||
return L10n.Scene.Report.StepOne.itsSpam
|
||||
case .violateRule:
|
||||
return L10n.Scene.Report.StepOne.itViolatesServerRules
|
||||
case .other:
|
||||
return L10n.Scene.Report.StepOne.itsSomethingElse
|
||||
}
|
||||
}
|
||||
|
||||
var subtitle: String {
|
||||
switch self {
|
||||
case .dislike:
|
||||
return L10n.Scene.Report.StepOne.itIsNotSomethingYouWantToSee
|
||||
case .spam:
|
||||
return L10n.Scene.Report.StepOne.maliciousLinksFakeEngagementOrRepetetiveReplies
|
||||
case .violateRule:
|
||||
return L10n.Scene.Report.StepOne.youAreAwareThatItBreaksSpecificRules
|
||||
case .other:
|
||||
return L10n.Scene.Report.StepOne.theIssueDoesNotFitIntoOtherCategories
|
||||
}
|
||||
}
|
||||
|
||||
// do not i18n this
|
||||
var rawValue: String {
|
||||
switch self {
|
||||
case .dislike:
|
||||
return "I don’t like it"
|
||||
case .spam:
|
||||
return "It’s spam"
|
||||
case .violateRule:
|
||||
return "It violates server rules"
|
||||
case .other:
|
||||
return "It’s something else"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,217 @@
|
|||
//
|
||||
// ReportResultView.swift
|
||||
// Mastodon
|
||||
//
|
||||
// Created by MainasuK on 2022-5-11.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
import SwiftUI
|
||||
import MastodonSDK
|
||||
import MastodonUI
|
||||
import MastodonAsset
|
||||
import MastodonLocalization
|
||||
import CoreDataStack
|
||||
|
||||
struct ReportResultView: View {
|
||||
|
||||
@ObservedObject var viewModel: ReportResultViewModel
|
||||
|
||||
var avatarView: some View {
|
||||
HStack {
|
||||
Spacer()
|
||||
ZStack {
|
||||
AnimatedImage(imageURL: viewModel.avatarURL)
|
||||
.frame(width: 106, height: 106, alignment: .center)
|
||||
.background(Color(UIColor.systemFill))
|
||||
.cornerRadius(27)
|
||||
Text(L10n.Scene.Report.reported)
|
||||
.font(Font(FontFamily.Staatliches.regular.font(size: 49) as CTFont))
|
||||
.foregroundColor(Color(Asset.Scene.Report.reportBanner.color))
|
||||
.padding(EdgeInsets(top: 0, leading: 10, bottom: -2, trailing: 10))
|
||||
.background(Color(viewModel.backgroundColor))
|
||||
.cornerRadius(7)
|
||||
.padding(7)
|
||||
.background(Color(Asset.Scene.Report.reportBanner.color))
|
||||
.cornerRadius(12)
|
||||
.rotationEffect(.degrees(-8))
|
||||
.offset(x: 0, y: -5)
|
||||
}
|
||||
Spacer()
|
||||
}
|
||||
.padding()
|
||||
}
|
||||
|
||||
var body: some View {
|
||||
ScrollView(.vertical) {
|
||||
HStack {
|
||||
VStack(alignment: .leading, spacing: 8) {
|
||||
Text(viewModel.headline)
|
||||
.foregroundColor(Color(Asset.Colors.Label.primary.color))
|
||||
.font(Font(UIFontMetrics(forTextStyle: .largeTitle).scaledFont(for: .systemFont(ofSize: 28, weight: .bold)) as CTFont))
|
||||
if viewModel.isReported {
|
||||
avatarView
|
||||
Text(verbatim: "While we review this, you can take action against @\(viewModel.username)")
|
||||
.foregroundColor(Color(Asset.Colors.Label.secondary.color))
|
||||
.font(Font(UIFontMetrics(forTextStyle: .largeTitle).scaledFont(for: .systemFont(ofSize: 17, weight: .regular)) as CTFont))
|
||||
} else {
|
||||
Text(verbatim: L10n.Scene.Report.StepFinal.whenYouSeeSomethingYouDontLikeOnMastodonYouCanRemoveThePersonFromYourExperience)
|
||||
.foregroundColor(Color(Asset.Colors.Label.secondary.color))
|
||||
.font(Font(UIFontMetrics(forTextStyle: .largeTitle).scaledFont(for: .systemFont(ofSize: 17, weight: .regular)) as CTFont))
|
||||
}
|
||||
}
|
||||
Spacer()
|
||||
}
|
||||
.padding()
|
||||
|
||||
VStack(spacing: 32) {
|
||||
// Follow
|
||||
VStack(alignment: .leading, spacing: 4) {
|
||||
Text(L10n.Scene.Report.StepFinal.unfollowUser("@\(viewModel.username)"))
|
||||
.font(.headline)
|
||||
.foregroundColor(Color(Asset.Colors.Label.primary.color))
|
||||
ReportActionButton(
|
||||
action: {
|
||||
viewModel.followActionPublisher.send()
|
||||
},
|
||||
title: viewModel.relationshipViewModel.isFollowing ? "Unfollow" : "Unfollowed",
|
||||
isBusy: viewModel.isRequestFollow
|
||||
)
|
||||
}
|
||||
|
||||
// Mute
|
||||
VStack(alignment: .leading, spacing: 4) {
|
||||
Text(L10n.Scene.Report.StepFinal.muteUser("@\(viewModel.username)"))
|
||||
.font(.headline)
|
||||
.foregroundColor(Color(Asset.Colors.Label.primary.color))
|
||||
Text(verbatim: L10n.Scene.Report.StepFinal.youWontSeeTheirPostsOrReblogsInYourHomeFeedTheyWontKnowTheyVeBeenMuted)
|
||||
.foregroundColor(Color(Asset.Colors.Label.secondary.color))
|
||||
.font(Font(UIFontMetrics(forTextStyle: .subheadline).scaledFont(for: .systemFont(ofSize: 13, weight: .regular)) as CTFont))
|
||||
ReportActionButton(
|
||||
action: {
|
||||
viewModel.muteActionPublisher.send()
|
||||
},
|
||||
title: viewModel.relationshipViewModel.isMuting ? L10n.Common.Controls.Friendship.muted : L10n.Common.Controls.Friendship.mute,
|
||||
isBusy: viewModel.isRequestMute
|
||||
)
|
||||
}
|
||||
|
||||
// Block
|
||||
VStack(alignment: .leading, spacing: 4) {
|
||||
Text(L10n.Scene.Report.StepFinal.blockUser("@\(viewModel.username)"))
|
||||
.font(.headline)
|
||||
.foregroundColor(Color(Asset.Colors.Label.primary.color))
|
||||
Text(verbatim: L10n.Scene.Report.StepFinal.theyWillNoLongerBeAbleToFollowOrSeeYourPostsButTheyCanSeeIfTheyveBeenBlocked)
|
||||
.foregroundColor(Color(Asset.Colors.Label.secondary.color))
|
||||
.font(Font(UIFontMetrics(forTextStyle: .subheadline).scaledFont(for: .systemFont(ofSize: 13, weight: .regular)) as CTFont))
|
||||
ReportActionButton(
|
||||
action: {
|
||||
viewModel.blockActionPublisher.send()
|
||||
},
|
||||
title: viewModel.relationshipViewModel.isBlocking ? L10n.Common.Controls.Friendship.blocked : L10n.Common.Controls.Friendship.block,
|
||||
isBusy: viewModel.isRequestBlock
|
||||
)
|
||||
}
|
||||
}
|
||||
.padding()
|
||||
|
||||
Spacer()
|
||||
.frame(minHeight: viewModel.bottomPaddingHeight)
|
||||
}
|
||||
.background(
|
||||
Color(viewModel.backgroundColor)
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
struct ReportActionButton: View {
|
||||
|
||||
var action: () -> Void
|
||||
var title: String
|
||||
var isBusy: Bool
|
||||
|
||||
var body: some View {
|
||||
Button {
|
||||
action()
|
||||
} label: {
|
||||
ZStack {
|
||||
ProgressView()
|
||||
.opacity(isBusy ? 1 : 0)
|
||||
Text(title)
|
||||
.font(.headline)
|
||||
.foregroundColor(Color(Asset.Colors.Label.primary.color))
|
||||
.opacity(isBusy ? 0 : 1)
|
||||
}
|
||||
.frame(maxWidth: .infinity)
|
||||
.padding()
|
||||
.background(Color(UIColor.systemBackground))
|
||||
.cornerRadius(10)
|
||||
.shadow(color: .black.opacity(0.1), radius: 2, x: 0, y: 1)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
struct ReportResultView_Previews: PreviewProvider {
|
||||
|
||||
static func viewModel(isReported: Bool) -> ReportResultViewModel {
|
||||
let context = AppContext.shared
|
||||
let request = MastodonUser.sortedFetchRequest
|
||||
request.fetchLimit = 1
|
||||
|
||||
let property = MastodonUser.Property(
|
||||
identifier: "1",
|
||||
domain: "domain.com",
|
||||
id: "1",
|
||||
acct: "@user@domain.com",
|
||||
username: "user",
|
||||
displayName: "User",
|
||||
avatar: "",
|
||||
avatarStatic: "",
|
||||
header: "",
|
||||
headerStatic: "",
|
||||
note: "",
|
||||
url: "",
|
||||
statusesCount: Int64(100),
|
||||
followingCount: Int64(100),
|
||||
followersCount: Int64(100),
|
||||
locked: false,
|
||||
bot: false,
|
||||
suspended: false,
|
||||
createdAt: Date(),
|
||||
updatedAt: Date(),
|
||||
emojis: [],
|
||||
fields: []
|
||||
)
|
||||
let user = try! context.managedObjectContext.fetch(request).first ?? MastodonUser.insert(into: context.managedObjectContext, property: property)
|
||||
|
||||
return ReportResultViewModel(
|
||||
context: context,
|
||||
user: .init(objectID: user.objectID),
|
||||
isReported: isReported
|
||||
)
|
||||
}
|
||||
static var previews: some View {
|
||||
Group {
|
||||
NavigationView {
|
||||
ReportResultView(viewModel: viewModel(isReported: true))
|
||||
.navigationBarTitle(Text(""))
|
||||
.navigationBarTitleDisplayMode(.inline)
|
||||
}
|
||||
NavigationView {
|
||||
ReportResultView(viewModel: viewModel(isReported: false))
|
||||
.navigationBarTitle(Text(""))
|
||||
.navigationBarTitleDisplayMode(.inline)
|
||||
}
|
||||
NavigationView {
|
||||
ReportResultView(viewModel: viewModel(isReported: true))
|
||||
.navigationBarTitle(Text(""))
|
||||
.navigationBarTitleDisplayMode(.inline)
|
||||
}
|
||||
.preferredColorScheme(.dark)
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
|
@ -7,6 +7,7 @@
|
|||
|
||||
import os.log
|
||||
import UIKit
|
||||
import SwiftUI
|
||||
import Combine
|
||||
import MastodonAsset
|
||||
import MastodonLocalization
|
||||
|
@ -20,22 +21,13 @@ final class ReportResultViewController: UIViewController, NeedsDependency, Repor
|
|||
weak var coordinator: SceneCoordinator! { willSet { precondition(!isViewLoaded) } }
|
||||
|
||||
var viewModel: ReportResultViewModel!
|
||||
|
||||
let tableView: UITableView = {
|
||||
let tableView = ControlContainableTableView()
|
||||
tableView.backgroundColor = Asset.Scene.Report.background.color
|
||||
tableView.rowHeight = UITableView.automaticDimension
|
||||
tableView.separatorStyle = .none
|
||||
tableView.backgroundColor = .clear
|
||||
tableView.keyboardDismissMode = .onDrag
|
||||
tableView.allowsMultipleSelection = true
|
||||
if #available(iOS 15.0, *) {
|
||||
tableView.sectionHeaderTopPadding = .leastNonzeroMagnitude
|
||||
} else {
|
||||
// Fallback on earlier versions
|
||||
}
|
||||
return tableView
|
||||
}()
|
||||
private(set) lazy var reportResultView = ReportResultView(viewModel: viewModel)
|
||||
|
||||
lazy var doneBarButtonItem = UIBarButtonItem(
|
||||
barButtonSystemItem: .done,
|
||||
target: self,
|
||||
action: #selector(ReportResultViewController.doneBarButtonItemDidPressed(_:))
|
||||
)
|
||||
|
||||
let navigationActionView: NavigationActionView = {
|
||||
let navigationActionView = NavigationActionView()
|
||||
|
@ -60,21 +52,20 @@ extension ReportResultViewController {
|
|||
defer { setupNavigationBarBackgroundView() }
|
||||
|
||||
navigationItem.hidesBackButton = true
|
||||
navigationItem.rightBarButtonItem = doneBarButtonItem
|
||||
|
||||
tableView.translatesAutoresizingMaskIntoConstraints = false
|
||||
view.addSubview(tableView)
|
||||
let hostingViewController = UIHostingController(rootView: reportResultView)
|
||||
hostingViewController.view.preservesSuperviewLayoutMargins = true
|
||||
addChild(hostingViewController)
|
||||
hostingViewController.view.translatesAutoresizingMaskIntoConstraints = false
|
||||
view.addSubview(hostingViewController.view)
|
||||
NSLayoutConstraint.activate([
|
||||
tableView.topAnchor.constraint(equalTo: view.topAnchor),
|
||||
tableView.leadingAnchor.constraint(equalTo: view.leadingAnchor),
|
||||
tableView.trailingAnchor.constraint(equalTo: view.trailingAnchor),
|
||||
tableView.bottomAnchor.constraint(equalTo: view.bottomAnchor),
|
||||
hostingViewController.view.topAnchor.constraint(equalTo: view.topAnchor),
|
||||
hostingViewController.view.leadingAnchor.constraint(equalTo: view.leadingAnchor),
|
||||
hostingViewController.view.trailingAnchor.constraint(equalTo: view.trailingAnchor),
|
||||
hostingViewController.view.bottomAnchor.constraint(equalTo: view.bottomAnchor),
|
||||
])
|
||||
|
||||
tableView.delegate = self
|
||||
viewModel.setupDiffableDataSource(
|
||||
tableView: tableView
|
||||
)
|
||||
|
||||
navigationActionView.translatesAutoresizingMaskIntoConstraints = false
|
||||
view.addSubview(navigationActionView)
|
||||
defer {
|
||||
|
@ -90,18 +81,93 @@ extension ReportResultViewController {
|
|||
.observe(\.bounds, options: [.initial, .new]) { [weak self] navigationActionView, _ in
|
||||
guard let self = self else { return }
|
||||
let inset = navigationActionView.frame.height
|
||||
self.tableView.contentInset.bottom = inset
|
||||
self.tableView.verticalScrollIndicatorInsets.bottom = inset
|
||||
self.viewModel.bottomPaddingHeight = inset
|
||||
}
|
||||
.store(in: &observations)
|
||||
|
||||
|
||||
navigationActionView.nextButton.addTarget(self, action: #selector(ReportSupplementaryViewController.nextButtonDidPressed(_:)), for: .touchUpInside)
|
||||
|
||||
viewModel.followActionPublisher
|
||||
.throttle(for: 0.3, scheduler: DispatchQueue.main, latest: false)
|
||||
.sink { [weak self] in
|
||||
guard let self = self else { return }
|
||||
guard let authenticationBox = self.context.authenticationService.activeMastodonAuthenticationBox.value else {
|
||||
return
|
||||
}
|
||||
Task { @MainActor in
|
||||
guard !self.viewModel.isRequestFollow else { return }
|
||||
self.viewModel.isRequestFollow = true
|
||||
do {
|
||||
try await DataSourceFacade.responseToUserFollowAction(
|
||||
dependency: self,
|
||||
user: self.viewModel.user,
|
||||
authenticationBox: authenticationBox
|
||||
)
|
||||
} catch {
|
||||
// handle error
|
||||
}
|
||||
self.viewModel.isRequestFollow = false
|
||||
} // end Task
|
||||
}
|
||||
.store(in: &disposeBag)
|
||||
|
||||
viewModel.muteActionPublisher
|
||||
.throttle(for: 0.3, scheduler: DispatchQueue.main, latest: false)
|
||||
.sink { [weak self] in
|
||||
guard let self = self else { return }
|
||||
guard let authenticationBox = self.context.authenticationService.activeMastodonAuthenticationBox.value else {
|
||||
return
|
||||
}
|
||||
Task { @MainActor in
|
||||
guard !self.viewModel.isRequestMute else { return }
|
||||
self.viewModel.isRequestMute = true
|
||||
do {
|
||||
try await DataSourceFacade.responseToUserMuteAction(
|
||||
dependency: self,
|
||||
user: self.viewModel.user,
|
||||
authenticationBox: authenticationBox
|
||||
)
|
||||
} catch {
|
||||
// handle error
|
||||
}
|
||||
self.viewModel.isRequestMute = false
|
||||
} // end Task
|
||||
}
|
||||
.store(in: &disposeBag)
|
||||
|
||||
viewModel.blockActionPublisher
|
||||
.throttle(for: 0.3, scheduler: DispatchQueue.main, latest: false)
|
||||
.sink { [weak self] in
|
||||
guard let self = self else { return }
|
||||
guard let authenticationBox = self.context.authenticationService.activeMastodonAuthenticationBox.value else {
|
||||
return
|
||||
}
|
||||
Task { @MainActor in
|
||||
guard !self.viewModel.isRequestBlock else { return }
|
||||
self.viewModel.isRequestBlock = true
|
||||
do {
|
||||
try await DataSourceFacade.responseToUserBlockAction(
|
||||
dependency: self,
|
||||
user: self.viewModel.user,
|
||||
authenticationBox: authenticationBox
|
||||
)
|
||||
} catch {
|
||||
// handle error
|
||||
}
|
||||
self.viewModel.isRequestBlock = false
|
||||
} // end Task
|
||||
}
|
||||
.store(in: &disposeBag)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
extension ReportResultViewController {
|
||||
|
||||
@objc func doneBarButtonItemDidPressed(_ sender: UIButton) {
|
||||
dismiss(animated: true, completion: nil)
|
||||
}
|
||||
|
||||
@objc func nextButtonDidPressed(_ sender: UIButton) {
|
||||
dismiss(animated: true, completion: nil)
|
||||
|
@ -109,5 +175,7 @@ extension ReportResultViewController {
|
|||
|
||||
}
|
||||
|
||||
// MARK: - UITableViewDelegate
|
||||
extension ReportResultViewController: UITableViewDelegate { }
|
||||
// MARK: - PanPopableViewController
|
||||
extension ReportResultViewController: PanPopableViewController {
|
||||
var isPanPopable: Bool { false }
|
||||
}
|
||||
|
|
|
@ -1,37 +0,0 @@
|
|||
//
|
||||
// ReportResultViewModel+Diffable.swift
|
||||
// Mastodon
|
||||
//
|
||||
// Created by MainasuK on 2022-2-8.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
import Combine
|
||||
import CoreData
|
||||
import CoreDataStack
|
||||
import MastodonAsset
|
||||
import MastodonLocalization
|
||||
|
||||
extension ReportResultViewModel {
|
||||
|
||||
static let reportItemHeaderContext = ReportItem.HeaderContext(
|
||||
primaryLabelText: "Thanks for reporting, we’ll look into this.",
|
||||
secondaryLabelText: ""
|
||||
)
|
||||
|
||||
func setupDiffableDataSource(
|
||||
tableView: UITableView
|
||||
) {
|
||||
diffableDataSource = ReportSection.diffableDataSource(
|
||||
tableView: tableView,
|
||||
context: context,
|
||||
configuration: ReportSection.Configuration()
|
||||
)
|
||||
|
||||
var snapshot = NSDiffableDataSourceSnapshot<ReportSection, ReportItem>()
|
||||
snapshot.appendSections([.main])
|
||||
snapshot.appendItems([.header(context: ReportResultViewModel.reportItemHeaderContext)], toSection: .main)
|
||||
snapshot.appendItems([.result(record: user)], toSection: .main)
|
||||
diffableDataSource?.apply(snapshot)
|
||||
}
|
||||
}
|
|
@ -12,25 +12,60 @@ import Foundation
|
|||
import MastodonSDK
|
||||
import os.log
|
||||
import UIKit
|
||||
import MastodonAsset
|
||||
import MastodonUI
|
||||
import MastodonLocalization
|
||||
|
||||
class ReportResultViewModel {
|
||||
class ReportResultViewModel: ObservableObject {
|
||||
|
||||
var disposeBag = Set<AnyCancellable>()
|
||||
|
||||
// input
|
||||
let context: AppContext
|
||||
let user: ManagedObjectRecord<MastodonUser>
|
||||
let isReported: Bool
|
||||
|
||||
var headline: String {
|
||||
isReported ? L10n.Scene.Report.reportSentTitle : L10n.Scene.Report.StepFinal.dontWantToSeeThis
|
||||
}
|
||||
@Published var bottomPaddingHeight: CGFloat = .zero
|
||||
@Published var backgroundColor: UIColor = Asset.Scene.Report.background.color
|
||||
|
||||
@Published var isRequestFollow = false
|
||||
@Published var isRequestMute = false
|
||||
@Published var isRequestBlock = false
|
||||
|
||||
// output
|
||||
var diffableDataSource: UITableViewDiffableDataSource<ReportSection, ReportItem>?
|
||||
@Published var avatarURL: URL?
|
||||
@Published var username: String = ""
|
||||
|
||||
let relationshipViewModel = RelationshipViewModel()
|
||||
let muteActionPublisher = PassthroughSubject<Void, Never>()
|
||||
let followActionPublisher = PassthroughSubject<Void, Never>()
|
||||
let blockActionPublisher = PassthroughSubject<Void, Never>()
|
||||
|
||||
init(
|
||||
context: AppContext,
|
||||
user: ManagedObjectRecord<MastodonUser>
|
||||
user: ManagedObjectRecord<MastodonUser>,
|
||||
isReported: Bool
|
||||
) {
|
||||
self.context = context
|
||||
self.user = user
|
||||
self.isReported = isReported
|
||||
// end init
|
||||
|
||||
Task { @MainActor in
|
||||
guard let user = user.object(in: context.managedObjectContext) else { return }
|
||||
guard let me = context.authenticationService.activeMastodonAuthenticationBox.value?.authenticationRecord.object(in: context.managedObjectContext)?.user else { return }
|
||||
self.relationshipViewModel.user = user
|
||||
self.relationshipViewModel.me = me
|
||||
|
||||
self.avatarURL = user.avatarImageURL()
|
||||
self.username = user.acctWithDomain
|
||||
|
||||
} // end Task
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,115 @@
|
|||
//
|
||||
// ReportServerRulesView.swift
|
||||
// Mastodon
|
||||
//
|
||||
// Created by MainasuK on 2022-5-10.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
import SwiftUI
|
||||
import MastodonLocalization
|
||||
import MastodonSDK
|
||||
import MastodonAsset
|
||||
|
||||
struct ReportServerRulesView: View {
|
||||
|
||||
@ObservedObject var viewModel: ReportServerRulesViewModel
|
||||
|
||||
var body: some View {
|
||||
ScrollView(.vertical) {
|
||||
HStack {
|
||||
VStack(alignment: .leading, spacing: 8) {
|
||||
Text(L10n.Scene.Report.StepTwo.step2Of4)
|
||||
.foregroundColor(Color(Asset.Colors.Label.secondary.color))
|
||||
.font(Font(UIFontMetrics(forTextStyle: .largeTitle).scaledFont(for: .systemFont(ofSize: 17, weight: .regular)) as CTFont))
|
||||
Text(viewModel.headline)
|
||||
.foregroundColor(Color(Asset.Colors.Label.primary.color))
|
||||
.font(Font(UIFontMetrics(forTextStyle: .largeTitle).scaledFont(for: .systemFont(ofSize: 28, weight: .bold)) as CTFont))
|
||||
Text(L10n.Scene.Report.StepTwo.selectAllThatApply)
|
||||
.foregroundColor(Color(Asset.Colors.Label.secondary.color))
|
||||
.font(Font(UIFontMetrics(forTextStyle: .largeTitle).scaledFont(for: .systemFont(ofSize: 17, weight: .regular)) as CTFont))
|
||||
}
|
||||
Spacer()
|
||||
}
|
||||
.padding()
|
||||
|
||||
VStack(spacing: 32) {
|
||||
ForEach(viewModel.serverRules, id: \.self) { rule in
|
||||
ReportServerRulesRowView(
|
||||
title: rule.text,
|
||||
isSelect: rule == viewModel.selectRule
|
||||
)
|
||||
.background(
|
||||
Color(viewModel.backgroundColor)
|
||||
)
|
||||
.onTapGesture {
|
||||
viewModel.selectRule = rule
|
||||
viewModel.isDislike = false
|
||||
}
|
||||
}
|
||||
ReportServerRulesRowView(
|
||||
title: L10n.Scene.Report.StepTwo.iJustDonTLikeIt,
|
||||
isSelect: viewModel.isDislike
|
||||
)
|
||||
.background(
|
||||
Color(viewModel.backgroundColor)
|
||||
)
|
||||
.onTapGesture {
|
||||
viewModel.selectRule = nil
|
||||
viewModel.isDislike = true
|
||||
}
|
||||
}
|
||||
.padding()
|
||||
.transition(.opacity)
|
||||
.animation(.easeInOut)
|
||||
|
||||
Spacer()
|
||||
.frame(minHeight: viewModel.bottomPaddingHeight)
|
||||
}
|
||||
.background(
|
||||
Color(viewModel.backgroundColor)
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
struct ReportServerRulesRowView: View {
|
||||
|
||||
var title: String
|
||||
var isSelect: Bool
|
||||
|
||||
var body: some View {
|
||||
HStack(spacing: 14) {
|
||||
Image(systemName: isSelect ? "checkmark.circle.fill" : "circle")
|
||||
.resizable()
|
||||
.frame(width: 28, height: 28, alignment: .center)
|
||||
VStack(alignment: .leading, spacing: 4) {
|
||||
Text(title)
|
||||
.foregroundColor(Color(Asset.Colors.Label.primary.color))
|
||||
.font(.headline)
|
||||
}
|
||||
Spacer()
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
struct ReportServerRulesView_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
Group {
|
||||
NavigationView {
|
||||
ReportServerRulesView(viewModel: ReportServerRulesViewModel(context: .shared))
|
||||
.navigationBarTitle(Text(""))
|
||||
.navigationBarTitleDisplayMode(.inline)
|
||||
}
|
||||
NavigationView {
|
||||
ReportServerRulesView(viewModel: ReportServerRulesViewModel(context: .shared))
|
||||
.navigationBarTitle(Text(""))
|
||||
.navigationBarTitleDisplayMode(.inline)
|
||||
}
|
||||
.preferredColorScheme(.dark)
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
|
@ -0,0 +1,117 @@
|
|||
//
|
||||
// ReportServerRulesViewController.swift
|
||||
// Mastodon
|
||||
//
|
||||
// Created by MainasuK on 2022-5-10.
|
||||
//
|
||||
|
||||
import os.log
|
||||
import UIKit
|
||||
import SwiftUI
|
||||
import Combine
|
||||
import MastodonUI
|
||||
import MastodonAsset
|
||||
import MastodonLocalization
|
||||
|
||||
protocol ReportServerRulesViewControllerDelegate: AnyObject {
|
||||
func reportServerRulesViewController(_ viewController: ReportServerRulesViewController, nextButtonPressed button: UIButton)
|
||||
}
|
||||
|
||||
final class ReportServerRulesViewController: UIViewController, NeedsDependency, ReportViewControllerAppearance {
|
||||
|
||||
let logger = Logger(subsystem: "ReportReasonViewController", category: "ViewController")
|
||||
|
||||
weak var context: AppContext! { willSet { precondition(!isViewLoaded) } }
|
||||
weak var coordinator: SceneCoordinator! { willSet { precondition(!isViewLoaded) } }
|
||||
|
||||
var disposeBag = Set<AnyCancellable>()
|
||||
private var observations = Set<NSKeyValueObservation>()
|
||||
|
||||
var viewModel: ReportServerRulesViewModel!
|
||||
private(set) lazy var reportServerRulesView = ReportServerRulesView(viewModel: viewModel)
|
||||
|
||||
lazy var cancelBarButtonItem = UIBarButtonItem(
|
||||
barButtonSystemItem: .cancel,
|
||||
target: self,
|
||||
action: #selector(ReportServerRulesViewController.cancelBarButtonItemDidPressed(_:))
|
||||
)
|
||||
|
||||
let navigationActionView: NavigationActionView = {
|
||||
let navigationActionView = NavigationActionView()
|
||||
navigationActionView.backgroundColor = Asset.Scene.Onboarding.background.color
|
||||
navigationActionView.hidesBackButton = true
|
||||
return navigationActionView
|
||||
}()
|
||||
|
||||
deinit {
|
||||
os_log(.info, log: .debug, "%{public}s[%{public}ld], %{public}s", ((#file as NSString).lastPathComponent), #line, #function)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
extension ReportServerRulesViewController {
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
|
||||
setupAppearance()
|
||||
defer { setupNavigationBarBackgroundView() }
|
||||
|
||||
let hostingViewController = UIHostingController(rootView: reportServerRulesView)
|
||||
hostingViewController.view.preservesSuperviewLayoutMargins = true
|
||||
addChild(hostingViewController)
|
||||
hostingViewController.view.translatesAutoresizingMaskIntoConstraints = false
|
||||
view.addSubview(hostingViewController.view)
|
||||
NSLayoutConstraint.activate([
|
||||
hostingViewController.view.topAnchor.constraint(equalTo: view.topAnchor),
|
||||
hostingViewController.view.leadingAnchor.constraint(equalTo: view.leadingAnchor),
|
||||
hostingViewController.view.trailingAnchor.constraint(equalTo: view.trailingAnchor),
|
||||
hostingViewController.view.bottomAnchor.constraint(equalTo: view.bottomAnchor),
|
||||
])
|
||||
|
||||
navigationActionView.translatesAutoresizingMaskIntoConstraints = false
|
||||
view.addSubview(navigationActionView)
|
||||
defer {
|
||||
view.bringSubviewToFront(navigationActionView)
|
||||
}
|
||||
NSLayoutConstraint.activate([
|
||||
navigationActionView.leadingAnchor.constraint(equalTo: view.leadingAnchor),
|
||||
navigationActionView.trailingAnchor.constraint(equalTo: view.trailingAnchor),
|
||||
view.bottomAnchor.constraint(equalTo: navigationActionView.bottomAnchor),
|
||||
])
|
||||
|
||||
navigationActionView
|
||||
.observe(\.bounds, options: [.initial, .new]) { [weak self] navigationActionView, _ in
|
||||
guard let self = self else { return }
|
||||
let inset = navigationActionView.frame.height
|
||||
self.viewModel.bottomPaddingHeight = inset
|
||||
}
|
||||
.store(in: &observations)
|
||||
|
||||
Publishers.CombineLatest(
|
||||
viewModel.$selectRule,
|
||||
viewModel.$isDislike
|
||||
)
|
||||
.map { $0 != nil || $1 }
|
||||
.assign(to: \.isEnabled, on: navigationActionView.nextButton)
|
||||
.store(in: &disposeBag)
|
||||
|
||||
navigationActionView.nextButton.addTarget(self, action: #selector(ReportServerRulesViewController.nextButtonPressed(_:)), for: .touchUpInside)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
extension ReportServerRulesViewController {
|
||||
|
||||
@objc private func cancelBarButtonItemDidPressed(_ sender: UIBarButtonItem) {
|
||||
dismiss(animated: true, completion: nil)
|
||||
}
|
||||
|
||||
@objc private func nextButtonPressed(_ sender: UIButton) {
|
||||
logger.log(level: .debug, "\((#file as NSString).lastPathComponent, privacy: .public)[\(#line, privacy: .public)], \(#function, privacy: .public)")
|
||||
|
||||
assert(viewModel.delegate != nil)
|
||||
viewModel.delegate?.reportServerRulesViewController(self, nextButtonPressed: sender)
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
//
|
||||
// ReportServerRulesViewModel.swift
|
||||
// Mastodon
|
||||
//
|
||||
// Created by MainasuK on 2022-5-10.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
import SwiftUI
|
||||
import MastodonAsset
|
||||
import MastodonSDK
|
||||
import MastodonLocalization
|
||||
|
||||
final class ReportServerRulesViewModel: ObservableObject {
|
||||
|
||||
weak var delegate: ReportServerRulesViewControllerDelegate?
|
||||
|
||||
// input
|
||||
let context: AppContext
|
||||
|
||||
@Published var headline = L10n.Scene.Report.StepTwo.whichRulesAreBeingViolated
|
||||
@Published var serverRules: [Mastodon.Entity.Instance.Rule] = []
|
||||
|
||||
@Published var bottomPaddingHeight: CGFloat = .zero
|
||||
@Published var backgroundColor: UIColor = Asset.Scene.Report.background.color
|
||||
|
||||
// output
|
||||
@Published var selectRule: Mastodon.Entity.Instance.Rule?
|
||||
@Published var isDislike: Bool = false
|
||||
|
||||
init(context: AppContext) {
|
||||
self.context = context
|
||||
// end init
|
||||
}
|
||||
|
||||
}
|
|
@ -1,8 +1,8 @@
|
|||
//
|
||||
// ReportViewController.swift
|
||||
// ReportStatusViewController.swift
|
||||
// Mastodon
|
||||
//
|
||||
// Created by ihugo on 2021/4/20.
|
||||
// Created by MainasuK on 2022-5-10.
|
||||
//
|
||||
|
||||
import os.log
|
||||
|
@ -12,21 +12,29 @@ import CoreDataStack
|
|||
import MastodonAsset
|
||||
import MastodonLocalization
|
||||
|
||||
class ReportViewController: UIViewController, NeedsDependency, ReportViewControllerAppearance {
|
||||
protocol ReportStatusViewControllerDelegate: AnyObject {
|
||||
func reportStatusViewController(_ viewController: ReportStatusViewController, skipButtonDidPressed button: UIButton)
|
||||
func reportStatusViewController(_ viewController: ReportStatusViewController, nextButtonDidPressed button: UIButton)
|
||||
}
|
||||
|
||||
class ReportStatusViewController: UIViewController, NeedsDependency, ReportViewControllerAppearance {
|
||||
|
||||
let logger = Logger(subsystem: "ReportStatusViewController", category: "ViewController")
|
||||
|
||||
var disposeBag = Set<AnyCancellable>()
|
||||
private var observations = Set<NSKeyValueObservation>()
|
||||
|
||||
weak var context: AppContext! { willSet { precondition(!isViewLoaded) } }
|
||||
weak var coordinator: SceneCoordinator! { willSet { precondition(!isViewLoaded) } }
|
||||
|
||||
var viewModel: ReportViewModel!
|
||||
|
||||
var viewModel: ReportStatusViewModel!
|
||||
|
||||
// MAKK: - UI
|
||||
|
||||
lazy var cancelBarButtonItem = UIBarButtonItem(
|
||||
barButtonSystemItem: .cancel,
|
||||
target: self,
|
||||
action: #selector(ReportViewController.cancelBarButtonItemDidPressed(_:))
|
||||
action: #selector(ReportStatusViewController.cancelBarButtonItemDidPressed(_:))
|
||||
)
|
||||
|
||||
let tableView: UITableView = {
|
||||
|
@ -58,7 +66,7 @@ class ReportViewController: UIViewController, NeedsDependency, ReportViewControl
|
|||
|
||||
}
|
||||
|
||||
extension ReportViewController {
|
||||
extension ReportStatusViewController {
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
|
@ -67,7 +75,7 @@ extension ReportViewController {
|
|||
defer { setupNavigationBarBackgroundView() }
|
||||
|
||||
navigationItem.rightBarButtonItem = cancelBarButtonItem
|
||||
|
||||
|
||||
tableView.translatesAutoresizingMaskIntoConstraints = false
|
||||
view.addSubview(tableView)
|
||||
NSLayoutConstraint.activate([
|
||||
|
@ -109,7 +117,7 @@ extension ReportViewController {
|
|||
.sink { [weak self] _ in
|
||||
guard let self = self else { return }
|
||||
guard self.view.window != nil else { return }
|
||||
self.viewModel.stateMachine.enter(ReportViewModel.State.Loading.self)
|
||||
self.viewModel.stateMachine.enter(ReportStatusViewModel.State.Loading.self)
|
||||
}
|
||||
.store(in: &disposeBag)
|
||||
|
||||
|
@ -118,56 +126,38 @@ extension ReportViewController {
|
|||
.assign(to: \.isEnabled, on: navigationActionView.nextButton)
|
||||
.store(in: &disposeBag)
|
||||
|
||||
navigationActionView.backButton.addTarget(self, action: #selector(ReportViewController.skipButtonDidPressed(_:)), for: .touchUpInside)
|
||||
navigationActionView.nextButton.addTarget(self, action: #selector(ReportViewController.nextButtonDidPressed(_:)), for: .touchUpInside)
|
||||
navigationActionView.backButton.addTarget(self, action: #selector(ReportStatusViewController.skipButtonDidPressed(_:)), for: .touchUpInside)
|
||||
navigationActionView.nextButton.addTarget(self, action: #selector(ReportStatusViewController.nextButtonDidPressed(_:)), for: .touchUpInside)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
extension ReportViewController {
|
||||
|
||||
extension ReportStatusViewController {
|
||||
|
||||
@objc private func cancelBarButtonItemDidPressed(_ sender: UIBarButtonItem) {
|
||||
dismiss(animated: true, completion: nil)
|
||||
}
|
||||
|
||||
@objc func skipButtonDidPressed(_ sender: UIButton) {
|
||||
var selectStatuses: [ManagedObjectRecord<Status>] = []
|
||||
if let selectStatus = viewModel.status {
|
||||
selectStatuses.append(selectStatus)
|
||||
}
|
||||
@objc private func skipButtonDidPressed(_ sender: UIButton) {
|
||||
logger.log(level: .debug, "\((#file as NSString).lastPathComponent, privacy: .public)[\(#line, privacy: .public)], \(#function, privacy: .public)")
|
||||
|
||||
let reportSupplementaryViewModel = ReportSupplementaryViewModel(
|
||||
context: context,
|
||||
user: viewModel.user,
|
||||
selectStatuses: selectStatuses
|
||||
)
|
||||
coordinator.present(
|
||||
scene: .reportSupplementary(viewModel: reportSupplementaryViewModel),
|
||||
from: self,
|
||||
transition: .show
|
||||
)
|
||||
assert(viewModel.delegate != nil)
|
||||
viewModel.isSkip = true
|
||||
viewModel.delegate?.reportStatusViewController(self, skipButtonDidPressed: sender)
|
||||
}
|
||||
|
||||
@objc func nextButtonDidPressed(_ sender: UIButton) {
|
||||
let selectStatuses = Array(viewModel.selectStatuses)
|
||||
guard !selectStatuses.isEmpty else { return }
|
||||
@objc private func nextButtonDidPressed(_ sender: UIButton) {
|
||||
logger.log(level: .debug, "\((#file as NSString).lastPathComponent, privacy: .public)[\(#line, privacy: .public)], \(#function, privacy: .public)")
|
||||
|
||||
let reportSupplementaryViewModel = ReportSupplementaryViewModel(
|
||||
context: context,
|
||||
user: viewModel.user,
|
||||
selectStatuses: selectStatuses
|
||||
)
|
||||
coordinator.present(
|
||||
scene: .reportSupplementary(viewModel: reportSupplementaryViewModel),
|
||||
from: self,
|
||||
transition: .show
|
||||
)
|
||||
assert(viewModel.delegate != nil)
|
||||
viewModel.isSkip = false
|
||||
viewModel.delegate?.reportStatusViewController(self, nextButtonDidPressed: sender)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// MARK: - UITableViewDelegate
|
||||
extension ReportViewController: UITableViewDelegate {
|
||||
extension ReportStatusViewController: UITableViewDelegate {
|
||||
func tableView(_ tableView: UITableView, willSelectRowAt indexPath: IndexPath) -> IndexPath? {
|
||||
guard let item = viewModel.diffableDataSource?.itemIdentifier(for: indexPath),
|
||||
case .status = item
|
||||
|
@ -214,7 +204,7 @@ extension ReportViewController: UITableViewDelegate {
|
|||
}
|
||||
|
||||
// MARK: - UIAdaptivePresentationControllerDelegate
|
||||
extension ReportViewController: UIAdaptivePresentationControllerDelegate {
|
||||
extension ReportStatusViewController: UIAdaptivePresentationControllerDelegate {
|
||||
func presentationControllerShouldDismiss(_ presentationController: UIPresentationController) -> Bool {
|
||||
return false
|
||||
}
|
|
@ -12,11 +12,11 @@ import CoreDataStack
|
|||
import MastodonAsset
|
||||
import MastodonLocalization
|
||||
|
||||
extension ReportViewModel {
|
||||
extension ReportStatusViewModel {
|
||||
|
||||
static let reportItemHeaderContext = ReportItem.HeaderContext(
|
||||
primaryLabelText: L10n.Scene.Report.content1,
|
||||
secondaryLabelText: L10n.Scene.Report.step1
|
||||
secondaryLabelText: L10n.Scene.Report.StepThree.step3Of4
|
||||
)
|
||||
|
||||
func setupDiffableDataSource(
|
||||
|
@ -41,7 +41,7 @@ extension ReportViewModel {
|
|||
var snapshot = NSDiffableDataSourceSnapshot<ReportSection, ReportItem>()
|
||||
snapshot.appendSections([.main])
|
||||
|
||||
snapshot.appendItems([.header(context: ReportViewModel.reportItemHeaderContext)], toSection: .main)
|
||||
snapshot.appendItems([.header(context: ReportStatusViewModel.reportItemHeaderContext)], toSection: .main)
|
||||
|
||||
let items = records.map { ReportItem.status(record: $0) }
|
||||
snapshot.appendItems(items, toSection: .main)
|
|
@ -12,7 +12,7 @@ import CoreData
|
|||
import CoreDataStack
|
||||
import GameplayKit
|
||||
|
||||
extension ReportViewModel {
|
||||
extension ReportStatusViewModel {
|
||||
class State: GKState {
|
||||
|
||||
let logger = Logger(subsystem: "ReportViewModel.State", category: "StateMachine")
|
||||
|
@ -23,15 +23,15 @@ extension ReportViewModel {
|
|||
String(describing: Self.self)
|
||||
}
|
||||
|
||||
weak var viewModel: ReportViewModel?
|
||||
weak var viewModel: ReportStatusViewModel?
|
||||
|
||||
init(viewModel: ReportViewModel) {
|
||||
init(viewModel: ReportStatusViewModel) {
|
||||
self.viewModel = viewModel
|
||||
}
|
||||
|
||||
override func didEnter(from previousState: GKState?) {
|
||||
super.didEnter(from: previousState)
|
||||
let previousState = previousState as? ReportViewModel.State
|
||||
let previousState = previousState as? ReportStatusViewModel.State
|
||||
logger.log(level: .debug, "\((#file as NSString).lastPathComponent, privacy: .public)[\(#line, privacy: .public)], \(#function, privacy: .public): [\(self.id.uuidString)] enter \(self.name), previous: \(previousState?.name ?? "<nil>")")
|
||||
}
|
||||
|
||||
|
@ -46,8 +46,8 @@ extension ReportViewModel {
|
|||
}
|
||||
}
|
||||
|
||||
extension ReportViewModel.State {
|
||||
class Initial: ReportViewModel.State {
|
||||
extension ReportStatusViewModel.State {
|
||||
class Initial: ReportStatusViewModel.State {
|
||||
override func isValidNextState(_ stateClass: AnyClass) -> Bool {
|
||||
guard let _ = viewModel else { return false }
|
||||
switch stateClass {
|
||||
|
@ -59,7 +59,7 @@ extension ReportViewModel.State {
|
|||
}
|
||||
}
|
||||
|
||||
class Loading: ReportViewModel.State {
|
||||
class Loading: ReportStatusViewModel.State {
|
||||
override func isValidNextState(_ stateClass: AnyClass) -> Bool {
|
||||
switch stateClass {
|
||||
case is Fail.Type:
|
||||
|
@ -128,7 +128,7 @@ extension ReportViewModel.State {
|
|||
}
|
||||
}
|
||||
|
||||
class Fail: ReportViewModel.State {
|
||||
class Fail: ReportStatusViewModel.State {
|
||||
override func isValidNextState(_ stateClass: AnyClass) -> Bool {
|
||||
switch stateClass {
|
||||
case is Loading.Type:
|
||||
|
@ -139,7 +139,7 @@ extension ReportViewModel.State {
|
|||
}
|
||||
}
|
||||
|
||||
class Idle: ReportViewModel.State {
|
||||
class Idle: ReportStatusViewModel.State {
|
||||
override func isValidNextState(_ stateClass: AnyClass) -> Bool {
|
||||
switch stateClass {
|
||||
case is Loading.Type:
|
||||
|
@ -150,7 +150,7 @@ extension ReportViewModel.State {
|
|||
}
|
||||
}
|
||||
|
||||
class NoMore: ReportViewModel.State {
|
||||
class NoMore: ReportStatusViewModel.State {
|
||||
override func isValidNextState(_ stateClass: AnyClass) -> Bool {
|
||||
return false
|
||||
}
|
|
@ -1,8 +1,8 @@
|
|||
//
|
||||
// ReportViewModel.swift
|
||||
// ReportStatusViewModel.swift
|
||||
// Mastodon
|
||||
//
|
||||
// Created by ihugo on 2021/4/19.
|
||||
// Created by MainasuK on 2022-5-10.
|
||||
//
|
||||
|
||||
import Combine
|
||||
|
@ -15,10 +15,12 @@ import OrderedCollections
|
|||
import os.log
|
||||
import UIKit
|
||||
|
||||
class ReportViewModel {
|
||||
class ReportStatusViewModel {
|
||||
|
||||
var disposeBag = Set<AnyCancellable>()
|
||||
|
||||
weak var delegate: ReportStatusViewControllerDelegate?
|
||||
|
||||
// input
|
||||
let context: AppContext
|
||||
let user: ManagedObjectRecord<MastodonUser>
|
||||
|
@ -26,6 +28,7 @@ class ReportViewModel {
|
|||
let statusFetchedResultsController: StatusFetchedResultsController
|
||||
let listBatchFetchViewModel = ListBatchFetchViewModel()
|
||||
|
||||
@Published var isSkip = false
|
||||
@Published var selectStatuses = OrderedSet<ManagedObjectRecord<Status>>()
|
||||
|
||||
// output
|
|
@ -11,20 +11,25 @@ import Combine
|
|||
import MastodonAsset
|
||||
import MastodonLocalization
|
||||
|
||||
protocol ReportSupplementaryViewControllerDelegate: AnyObject {
|
||||
func reportSupplementaryViewController(_ viewController: ReportSupplementaryViewController, skipButtonDidPressed button: UIButton)
|
||||
func reportSupplementaryViewController(_ viewController: ReportSupplementaryViewController, nextButtonDidPressed button: UIButton)
|
||||
}
|
||||
|
||||
final class ReportSupplementaryViewController: UIViewController, NeedsDependency, ReportViewControllerAppearance {
|
||||
|
||||
let logger = Logger(subsystem: "ReportSupplementaryViewController", category: "ViewController")
|
||||
|
||||
var disposeBag = Set<AnyCancellable>()
|
||||
private var observations = Set<NSKeyValueObservation>()
|
||||
|
||||
|
||||
weak var context: AppContext! { willSet { precondition(!isViewLoaded) } }
|
||||
weak var coordinator: SceneCoordinator! { willSet { precondition(!isViewLoaded) } }
|
||||
|
||||
var viewModel: ReportSupplementaryViewModel! { willSet { precondition(!isViewLoaded) } }
|
||||
|
||||
|
||||
// MAKK: - UI
|
||||
|
||||
lazy var cancelBarButtonItem = UIBarButtonItem(
|
||||
barButtonSystemItem: .cancel,
|
||||
target: self,
|
||||
|
@ -74,16 +79,16 @@ extension ReportSupplementaryViewController {
|
|||
setupAppearance()
|
||||
defer { setupNavigationBarBackgroundView() }
|
||||
|
||||
navigationItem.rightBarButtonItem = cancelBarButtonItem
|
||||
|
||||
viewModel.$isReporting
|
||||
viewModel.$isBusy
|
||||
.receive(on: DispatchQueue.main)
|
||||
.sink { [weak self] isReporting in
|
||||
.sink { [weak self] isBusy in
|
||||
guard let self = self else { return }
|
||||
self.navigationActionView.isUserInteractionEnabled = !isReporting
|
||||
self.navigationItem.rightBarButtonItem = isBusy ? self.activityIndicatorBarButtonItem : self.cancelBarButtonItem
|
||||
self.navigationItem.hidesBackButton = isBusy
|
||||
self.navigationActionView.backButton.isUserInteractionEnabled = !isBusy
|
||||
}
|
||||
.store(in: &disposeBag)
|
||||
|
||||
|
||||
tableView.translatesAutoresizingMaskIntoConstraints = false
|
||||
view.addSubview(tableView)
|
||||
NSLayoutConstraint.activate([
|
||||
|
@ -130,49 +135,25 @@ extension ReportSupplementaryViewController {
|
|||
}
|
||||
|
||||
extension ReportSupplementaryViewController {
|
||||
private func report(withComment: Bool) {
|
||||
Task {
|
||||
do {
|
||||
let _ = try await viewModel.report(withComment: withComment)
|
||||
logger.log(level: .debug, "\((#file as NSString).lastPathComponent, privacy: .public)[\(#line, privacy: .public)], \(#function, privacy: .public): report success")
|
||||
|
||||
let reportResultViewModel = ReportResultViewModel(
|
||||
context: context,
|
||||
user: viewModel.user
|
||||
)
|
||||
|
||||
coordinator.present(
|
||||
scene: .reportResult(viewModel: reportResultViewModel),
|
||||
from: self,
|
||||
transition: .show
|
||||
)
|
||||
|
||||
} catch {
|
||||
let alertController = UIAlertController(for: error, title: nil, preferredStyle: .alert)
|
||||
let okAction = UIAlertAction(title: L10n.Common.Controls.Actions.ok, style: .default, handler: nil)
|
||||
alertController.addAction(okAction)
|
||||
self.coordinator.present(
|
||||
scene: .alertController(alertController: alertController),
|
||||
from: nil,
|
||||
transition: .alertController(animated: true, completion: nil)
|
||||
)
|
||||
}
|
||||
} // end Task
|
||||
}
|
||||
}
|
||||
|
||||
extension ReportSupplementaryViewController {
|
||||
|
||||
|
||||
@objc private func cancelBarButtonItemDidPressed(_ sender: UIBarButtonItem) {
|
||||
dismiss(animated: true, completion: nil)
|
||||
}
|
||||
|
||||
@objc func skipButtonDidPressed(_ sender: UIButton) {
|
||||
report(withComment: false)
|
||||
logger.log(level: .debug, "\((#file as NSString).lastPathComponent, privacy: .public)[\(#line, privacy: .public)], \(#function, privacy: .public)")
|
||||
|
||||
assert(viewModel.delegate != nil)
|
||||
viewModel.isSkip = true
|
||||
viewModel.delegate?.reportSupplementaryViewController(self, skipButtonDidPressed: sender)
|
||||
}
|
||||
|
||||
@objc func nextButtonDidPressed(_ sender: UIButton) {
|
||||
report(withComment: true)
|
||||
logger.log(level: .debug, "\((#file as NSString).lastPathComponent, privacy: .public)[\(#line, privacy: .public)], \(#function, privacy: .public)")
|
||||
|
||||
assert(viewModel.delegate != nil)
|
||||
viewModel.isSkip = false
|
||||
viewModel.delegate?.reportSupplementaryViewController(self, nextButtonDidPressed: sender)
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -15,8 +15,8 @@ import MastodonLocalization
|
|||
extension ReportSupplementaryViewModel {
|
||||
|
||||
static let reportItemHeaderContext = ReportItem.HeaderContext(
|
||||
primaryLabelText: L10n.Scene.Report.content2,
|
||||
secondaryLabelText: L10n.Scene.Report.step2
|
||||
primaryLabelText: L10n.Scene.Report.StepFour.isThereAnythingElseWeShouldKnow,
|
||||
secondaryLabelText: L10n.Scene.Report.StepFour.step4Of4
|
||||
)
|
||||
|
||||
func setupDiffableDataSource(
|
||||
|
|
|
@ -12,71 +12,37 @@ import MastodonSDK
|
|||
|
||||
class ReportSupplementaryViewModel {
|
||||
|
||||
weak var delegate: ReportSupplementaryViewControllerDelegate?
|
||||
|
||||
// Input
|
||||
var context: AppContext
|
||||
let user: ManagedObjectRecord<MastodonUser>
|
||||
let selectStatuses: [ManagedObjectRecord<Status>]
|
||||
let commentContext = ReportItem.CommentContext()
|
||||
|
||||
@Published var isSkip = false
|
||||
@Published var isBusy = false
|
||||
|
||||
// output
|
||||
var diffableDataSource: UITableViewDiffableDataSource<ReportSection, ReportItem>?
|
||||
@Published var isNextButtonEnabled = false
|
||||
@Published var isReporting = false
|
||||
@Published var isReportSuccess = false
|
||||
|
||||
init(
|
||||
context: AppContext,
|
||||
user: ManagedObjectRecord<MastodonUser>,
|
||||
selectStatuses: [ManagedObjectRecord<Status>]
|
||||
user: ManagedObjectRecord<MastodonUser>
|
||||
) {
|
||||
self.context = context
|
||||
self.user = user
|
||||
self.selectStatuses = selectStatuses
|
||||
// end init
|
||||
|
||||
commentContext.$comment
|
||||
.map { comment -> Bool in
|
||||
return !comment.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty
|
||||
}
|
||||
.assign(to: &$isNextButtonEnabled)
|
||||
Publishers.CombineLatest(
|
||||
commentContext.$comment,
|
||||
$isBusy
|
||||
)
|
||||
.map { comment, isBusy -> Bool in
|
||||
guard !isBusy else { return false }
|
||||
return !comment.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty
|
||||
}
|
||||
.assign(to: &$isNextButtonEnabled)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
extension ReportSupplementaryViewModel {
|
||||
func report(withComment: Bool) async throws {
|
||||
guard let authenticationBox = context.authenticationService.activeMastodonAuthenticationBox.value else {
|
||||
assertionFailure()
|
||||
return
|
||||
}
|
||||
|
||||
let managedObjectContext = context.managedObjectContext
|
||||
let _query: Mastodon.API.Reports.FileReportQuery? = try await managedObjectContext.perform {
|
||||
guard let user = self.user.object(in: managedObjectContext) else { return nil }
|
||||
let statusIDs = self.selectStatuses.compactMap { record -> Status.ID? in
|
||||
guard let status = record.object(in: managedObjectContext) else { return nil }
|
||||
return status.id
|
||||
}
|
||||
return Mastodon.API.Reports.FileReportQuery(
|
||||
accountID: user.id,
|
||||
statusIDs: statusIDs,
|
||||
comment: withComment ? self.commentContext.comment : nil,
|
||||
forward: nil
|
||||
)
|
||||
}
|
||||
|
||||
guard let query = _query else { return }
|
||||
|
||||
do {
|
||||
isReporting = true
|
||||
let _ = try await context.apiService.report(
|
||||
query: query,
|
||||
authenticationBox: authenticationBox
|
||||
)
|
||||
isReportSuccess = true
|
||||
} catch {
|
||||
isReporting = false
|
||||
throw error
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
import UIKit
|
||||
import Combine
|
||||
import MastodonUI
|
||||
import MastodonAsset
|
||||
import MastodonLocalization
|
||||
import UITextView_Placeholder
|
||||
|
||||
|
@ -27,7 +28,8 @@ final class ReportCommentTableViewCell: UITableViewCell {
|
|||
textView.attributedPlaceholder = NSAttributedString(
|
||||
string: L10n.Scene.Report.textPlaceholder,
|
||||
attributes: [
|
||||
.font: font
|
||||
.font: font,
|
||||
.foregroundColor: Asset.Colors.Label.secondary.color
|
||||
]
|
||||
)
|
||||
textView.textContainerInset = UIEdgeInsets(top: 16, left: 16, bottom: 16, right: 16)
|
||||
|
@ -80,4 +82,17 @@ extension ReportCommentTableViewCell {
|
|||
commentTextView.heightAnchor.constraint(greaterThanOrEqualToConstant: 100).priority(.defaultHigh),
|
||||
])
|
||||
}
|
||||
|
||||
override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
|
||||
super.traitCollectionDidChange(previousTraitCollection)
|
||||
|
||||
commentTextView.attributedPlaceholder = NSAttributedString(
|
||||
string: L10n.Scene.Report.textPlaceholder,
|
||||
attributes: [
|
||||
.font: UIFontMetrics(forTextStyle: .body).scaledFont(for: .systemFont(ofSize: 17, weight: .regular)),
|
||||
.foregroundColor: Asset.Colors.Label.secondary.color
|
||||
]
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@ extension ReportViewControllerAppearance {
|
|||
|
||||
func setupAppearance() {
|
||||
|
||||
title = L10n.Scene.Report.titleReport
|
||||
// title = L10n.Scene.Report.titleReport
|
||||
view.backgroundColor = Asset.Scene.Report.background.color
|
||||
|
||||
setupNavigationBarAppearance()
|
||||
|
|
|
@ -23,6 +23,7 @@ extension AdaptiveStatusBarStyleNavigationController {
|
|||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
|
||||
setupFullWidthBackGesture()
|
||||
}
|
||||
|
||||
|
@ -45,6 +46,11 @@ extension AdaptiveStatusBarStyleNavigationController: UIGestureRecognizerDelegat
|
|||
func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
|
||||
let isSystemSwipeToBackEnabled = interactivePopGestureRecognizer?.isEnabled == true
|
||||
let isThereStackedViewControllers = viewControllers.count > 1
|
||||
return isSystemSwipeToBackEnabled && isThereStackedViewControllers
|
||||
let isPanPopable = (topViewController as? PanPopableViewController)?.isPanPopable ?? true
|
||||
return isSystemSwipeToBackEnabled && isThereStackedViewControllers && isPanPopable
|
||||
}
|
||||
}
|
||||
|
||||
protocol PanPopableViewController: UIViewController {
|
||||
var isPanPopable: Bool { get }
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@ import UIKit
|
|||
import Combine
|
||||
import CoreDataStack
|
||||
|
||||
#if DEBUG
|
||||
#if PROFILE
|
||||
import FPSIndicator
|
||||
#endif
|
||||
|
||||
|
@ -22,7 +22,7 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate {
|
|||
var window: UIWindow?
|
||||
var coordinator: SceneCoordinator?
|
||||
|
||||
#if DEBUG
|
||||
#if PROFILE
|
||||
var fpsIndicator: FPSIndicator?
|
||||
#endif
|
||||
|
||||
|
@ -87,8 +87,8 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate {
|
|||
}
|
||||
.store(in: &observations)
|
||||
|
||||
#if DEBUG
|
||||
// fpsIndicator = FPSIndicator(windowScene: windowScene)
|
||||
#if PROFILE
|
||||
fpsIndicator = FPSIndicator(windowScene: windowScene)
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -17,9 +17,9 @@
|
|||
<key>CFBundlePackageType</key>
|
||||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.4.1</string>
|
||||
<string>1.4.2</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>126</string>
|
||||
<string>127</string>
|
||||
<key>NSExtension</key>
|
||||
<dict>
|
||||
<key>NSExtensionAttributes</key>
|
||||
|
|
|
@ -1,51 +1,51 @@
|
|||
"16wxgf" = "Post on Mastodon";
|
||||
"16wxgf" = "Publicar en Mastodon";
|
||||
|
||||
"751xkl" = "Text Content";
|
||||
"751xkl" = "Texto a incluír";
|
||||
|
||||
"CsR7G2" = "Post on Mastodon";
|
||||
"CsR7G2" = "Publicar en Mastodon";
|
||||
|
||||
"HZSGTr" = "What content to post?";
|
||||
"HZSGTr" = "Cal é o contido a publicar?";
|
||||
|
||||
"HdGikU" = "Posting failed";
|
||||
"HdGikU" = "Fallou a publicación";
|
||||
|
||||
"KDNTJ4" = "Failure Reason";
|
||||
"KDNTJ4" = "Razón do fallo";
|
||||
|
||||
"RHxKOw" = "Send Post with text content";
|
||||
"RHxKOw" = "Enviar Publicación con texto";
|
||||
|
||||
"RxSqsb" = "Post";
|
||||
"RxSqsb" = "Publicación";
|
||||
|
||||
"WCIR3D" = "Post ${content} on Mastodon";
|
||||
"WCIR3D" = "Publicar ${content} en Mastodon";
|
||||
|
||||
"ZKJSNu" = "Post";
|
||||
"ZKJSNu" = "Publicación";
|
||||
|
||||
"ZS1XaK" = "${content}";
|
||||
|
||||
"ZbSjzC" = "Visibility";
|
||||
"ZbSjzC" = "Visibilidade";
|
||||
|
||||
"Zo4jgJ" = "Post Visibility";
|
||||
"Zo4jgJ" = "Visibilidade da publicación";
|
||||
|
||||
"apSxMG-dYQ5NN" = "There are ${count} options matching ‘Public’.";
|
||||
"apSxMG-dYQ5NN" = "Hai ${count} opcións que coinciden con ‘Público’.";
|
||||
|
||||
"apSxMG-ehFLjY" = "There are ${count} options matching ‘Followers Only’.";
|
||||
"apSxMG-ehFLjY" = "Hai ${count} opcións que coinciden con 'Só seguidoras’.";
|
||||
|
||||
"ayoYEb-dYQ5NN" = "${content}, Public";
|
||||
"ayoYEb-dYQ5NN" = "${content}, Público";
|
||||
|
||||
"ayoYEb-ehFLjY" = "${content}, Followers Only";
|
||||
"ayoYEb-ehFLjY" = "${content}, Só seguidoras";
|
||||
|
||||
"dUyuGg" = "Post on Mastodon";
|
||||
"dUyuGg" = "Publicar en Mastodon";
|
||||
|
||||
"dYQ5NN" = "Public";
|
||||
"dYQ5NN" = "Público";
|
||||
|
||||
"ehFLjY" = "Followers Only";
|
||||
"ehFLjY" = "Só seguidoras";
|
||||
|
||||
"gfePDu" = "Posting failed. ${failureReason}";
|
||||
"gfePDu" = "Fallou a publicación. ${failureReason}";
|
||||
|
||||
"k7dbKQ" = "Post was sent successfully.";
|
||||
"k7dbKQ" = "Publicación correcta.";
|
||||
|
||||
"oGiqmY-dYQ5NN" = "Just to confirm, you wanted ‘Public’?";
|
||||
"oGiqmY-dYQ5NN" = "Só para confirmar, querías ’Público'?";
|
||||
|
||||
"oGiqmY-ehFLjY" = "Just to confirm, you wanted ‘Followers Only’?";
|
||||
"oGiqmY-ehFLjY" = "Só para confirmar, querías ’Só para seguidoras'?";
|
||||
|
||||
"rM6dvp" = "URL";
|
||||
|
||||
"ryJLwG" = "Post was sent successfully. ";
|
||||
"ryJLwG" = "Publicación correcta. ";
|
||||
|
|
|
@ -585,6 +585,12 @@ public enum L10n {
|
|||
public static let published = L10n.tr("Localizable", "Scene.HomeTimeline.NavigationBarState.Published")
|
||||
/// Publishing post...
|
||||
public static let publishing = L10n.tr("Localizable", "Scene.HomeTimeline.NavigationBarState.Publishing")
|
||||
public enum Accessibility {
|
||||
/// Tap to scroll to top and tap again to previous location
|
||||
public static let logoHint = L10n.tr("Localizable", "Scene.HomeTimeline.NavigationBarState.Accessibility.LogoHint")
|
||||
/// Logo Button
|
||||
public static let logoLabel = L10n.tr("Localizable", "Scene.HomeTimeline.NavigationBarState.Accessibility.LogoLabel")
|
||||
}
|
||||
}
|
||||
}
|
||||
public enum Notification {
|
||||
|
@ -840,6 +846,86 @@ public enum L10n {
|
|||
}
|
||||
/// Report
|
||||
public static let titleReport = L10n.tr("Localizable", "Scene.Report.TitleReport")
|
||||
public enum StepFinal {
|
||||
/// Block %@
|
||||
public static func blockUser(_ p1: Any) -> String {
|
||||
return L10n.tr("Localizable", "Scene.Report.StepFinal.BlockUser", String(describing: p1))
|
||||
}
|
||||
/// Don’t want to see this?
|
||||
public static let dontWantToSeeThis = L10n.tr("Localizable", "Scene.Report.StepFinal.DontWantToSeeThis")
|
||||
/// Mute %@
|
||||
public static func muteUser(_ p1: Any) -> String {
|
||||
return L10n.tr("Localizable", "Scene.Report.StepFinal.MuteUser", String(describing: p1))
|
||||
}
|
||||
/// They will no longer be able to follow or see your posts, but they can see if they’ve been blocked.
|
||||
public static let theyWillNoLongerBeAbleToFollowOrSeeYourPostsButTheyCanSeeIfTheyveBeenBlocked = L10n.tr("Localizable", "Scene.Report.StepFinal.TheyWillNoLongerBeAbleToFollowOrSeeYourPostsButTheyCanSeeIfTheyveBeenBlocked")
|
||||
/// Unfollow
|
||||
public static let unfollow = L10n.tr("Localizable", "Scene.Report.StepFinal.Unfollow")
|
||||
/// Unfollowed
|
||||
public static let unfollowed = L10n.tr("Localizable", "Scene.Report.StepFinal.Unfollowed")
|
||||
/// Unfollow %@
|
||||
public static func unfollowUser(_ p1: Any) -> String {
|
||||
return L10n.tr("Localizable", "Scene.Report.StepFinal.UnfollowUser", String(describing: p1))
|
||||
}
|
||||
/// When you see something you don’t like on Mastodon, you can remove the person from your experience.
|
||||
public static let whenYouSeeSomethingYouDontLikeOnMastodonYouCanRemoveThePersonFromYourExperience = L10n.tr("Localizable", "Scene.Report.StepFinal.WhenYouSeeSomethingYouDontLikeOnMastodonYouCanRemoveThePersonFromYourExperience.")
|
||||
/// You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.
|
||||
public static let youWontSeeTheirPostsOrReblogsInYourHomeFeedTheyWontKnowTheyVeBeenMuted = L10n.tr("Localizable", "Scene.Report.StepFinal.YouWontSeeTheirPostsOrReblogsInYourHomeFeedTheyWontKnowTheyVeBeenMuted")
|
||||
}
|
||||
public enum StepFour {
|
||||
/// Is there anything else we should know?
|
||||
public static let isThereAnythingElseWeShouldKnow = L10n.tr("Localizable", "Scene.Report.StepFour.IsThereAnythingElseWeShouldKnow")
|
||||
/// Step 4 of 4
|
||||
public static let step4Of4 = L10n.tr("Localizable", "Scene.Report.StepFour.Step4Of4")
|
||||
}
|
||||
public enum StepOne {
|
||||
/// I don’t like it
|
||||
public static let iDontLikeIt = L10n.tr("Localizable", "Scene.Report.StepOne.IDontLikeIt")
|
||||
/// It is not something you want to see
|
||||
public static let itIsNotSomethingYouWantToSee = L10n.tr("Localizable", "Scene.Report.StepOne.ItIsNotSomethingYouWantToSee")
|
||||
/// It’s something else
|
||||
public static let itsSomethingElse = L10n.tr("Localizable", "Scene.Report.StepOne.ItsSomethingElse")
|
||||
/// It’s spam
|
||||
public static let itsSpam = L10n.tr("Localizable", "Scene.Report.StepOne.ItsSpam")
|
||||
/// It violates server rules
|
||||
public static let itViolatesServerRules = L10n.tr("Localizable", "Scene.Report.StepOne.ItViolatesServerRules")
|
||||
/// Malicious links, fake engagement, or repetetive replies
|
||||
public static let maliciousLinksFakeEngagementOrRepetetiveReplies = L10n.tr("Localizable", "Scene.Report.StepOne.MaliciousLinksFakeEngagementOrRepetetiveReplies")
|
||||
/// Select the best match
|
||||
public static let selectTheBestMatch = L10n.tr("Localizable", "Scene.Report.StepOne.SelectTheBestMatch")
|
||||
/// Step 1 of 4
|
||||
public static let step1Of4 = L10n.tr("Localizable", "Scene.Report.StepOne.Step1Of4")
|
||||
/// The issue does not fit into other categories
|
||||
public static let theIssueDoesNotFitIntoOtherCategories = L10n.tr("Localizable", "Scene.Report.StepOne.TheIssueDoesNotFitIntoOtherCategories")
|
||||
/// What's wrong with this account?
|
||||
public static let whatsWrongWithThisAccount = L10n.tr("Localizable", "Scene.Report.StepOne.WhatsWrongWithThisAccount")
|
||||
/// What's wrong with this post?
|
||||
public static let whatsWrongWithThisPost = L10n.tr("Localizable", "Scene.Report.StepOne.WhatsWrongWithThisPost")
|
||||
/// What's wrong with %@?
|
||||
public static func whatsWrongWithThisUsername(_ p1: Any) -> String {
|
||||
return L10n.tr("Localizable", "Scene.Report.StepOne.WhatsWrongWithThisUsername", String(describing: p1))
|
||||
}
|
||||
/// You are aware that it breaks specific rules
|
||||
public static let youAreAwareThatItBreaksSpecificRules = L10n.tr("Localizable", "Scene.Report.StepOne.YouAreAwareThatItBreaksSpecificRules")
|
||||
}
|
||||
public enum StepThree {
|
||||
/// Are there any posts that back up this report?
|
||||
public static let areThereAnyPostsThatBackUpThisReport = L10n.tr("Localizable", "Scene.Report.StepThree.AreThereAnyPostsThatBackUpThisReport")
|
||||
/// Select all that apply
|
||||
public static let selectAllThatApply = L10n.tr("Localizable", "Scene.Report.StepThree.SelectAllThatApply")
|
||||
/// Step 3 of 4
|
||||
public static let step3Of4 = L10n.tr("Localizable", "Scene.Report.StepThree.Step3Of4")
|
||||
}
|
||||
public enum StepTwo {
|
||||
/// I just don’t like it
|
||||
public static let iJustDonTLikeIt = L10n.tr("Localizable", "Scene.Report.StepTwo.IJustDon’tLikeIt")
|
||||
/// Select all that apply
|
||||
public static let selectAllThatApply = L10n.tr("Localizable", "Scene.Report.StepTwo.SelectAllThatApply")
|
||||
/// Step 2 of 4
|
||||
public static let step2Of4 = L10n.tr("Localizable", "Scene.Report.StepTwo.Step2Of4")
|
||||
/// Which rules are being violated?
|
||||
public static let whichRulesAreBeingViolated = L10n.tr("Localizable", "Scene.Report.StepTwo.WhichRulesAreBeingViolated")
|
||||
}
|
||||
}
|
||||
public enum Search {
|
||||
/// Search
|
||||
|
@ -947,6 +1033,8 @@ public enum L10n {
|
|||
public enum Input {
|
||||
/// Search servers
|
||||
public static let placeholder = L10n.tr("Localizable", "Scene.ServerPicker.Input.Placeholder")
|
||||
/// Search communities or enter URL
|
||||
public static let searchServersOrEnterUrl = L10n.tr("Localizable", "Scene.ServerPicker.Input.SearchServersOrEnterUrl")
|
||||
}
|
||||
public enum Label {
|
||||
/// CATEGORY
|
||||
|
|
|
@ -58,7 +58,7 @@
|
|||
"Common.Controls.Actions.SignIn" = "تسجيل الدخول";
|
||||
"Common.Controls.Actions.SignUp" = "إنشاء حِساب";
|
||||
"Common.Controls.Actions.Skip" = "تخطي";
|
||||
"Common.Controls.Actions.TakePhoto" = "التقاط صورة";
|
||||
"Common.Controls.Actions.TakePhoto" = "اِلتِقاطُ صُورَة";
|
||||
"Common.Controls.Actions.TryAgain" = "المُحاولة مرة أُخرى";
|
||||
"Common.Controls.Actions.UnblockDomain" = "رفع الحظر عن %@";
|
||||
"Common.Controls.Friendship.Block" = "حظر";
|
||||
|
@ -164,7 +164,7 @@
|
|||
"Scene.Compose.Attachment.Video" = "مقطع مرئي";
|
||||
"Scene.Compose.AutoComplete.SpaceToAdd" = "انقر على مساحة لإضافتِها";
|
||||
"Scene.Compose.ComposeAction" = "نَشر";
|
||||
"Scene.Compose.ContentInputPlaceholder" = "أخبِرنا بِما يَجُولُ فِي ذِهنَك";
|
||||
"Scene.Compose.ContentInputPlaceholder" = "عَبِّر عَمَّ يَجُولُ فِي ذِهنِك";
|
||||
"Scene.Compose.ContentWarning.Placeholder" = "اكتب تَحذيرًا دَقيقًا هُنا...";
|
||||
"Scene.Compose.Keyboard.AppendAttachmentEntry" = "إضافة مُرفَق - %@";
|
||||
"Scene.Compose.Keyboard.DiscardPost" = "تجاهُل المنشور";
|
||||
|
@ -172,9 +172,9 @@
|
|||
"Scene.Compose.Keyboard.SelectVisibilityEntry" = "اختر مدى الظهور - %@";
|
||||
"Scene.Compose.Keyboard.ToggleContentWarning" = "تبديل تحذير المُحتَوى";
|
||||
"Scene.Compose.Keyboard.TogglePoll" = "تبديل الاستطلاع";
|
||||
"Scene.Compose.MediaSelection.Browse" = "تصفح";
|
||||
"Scene.Compose.MediaSelection.Camera" = "إلتقاط صورة";
|
||||
"Scene.Compose.MediaSelection.PhotoLibrary" = "مكتبة الصور";
|
||||
"Scene.Compose.MediaSelection.Browse" = "تَصَفَّح";
|
||||
"Scene.Compose.MediaSelection.Camera" = "اِلتِقاطُ صُورَة";
|
||||
"Scene.Compose.MediaSelection.PhotoLibrary" = "مَكتَبَةُ الصُّوَر";
|
||||
"Scene.Compose.Poll.DurationTime" = "المُدَّة: %@";
|
||||
"Scene.Compose.Poll.OneDay" = "يومٌ واحِد";
|
||||
"Scene.Compose.Poll.OneHour" = "ساعةٌ واحدة";
|
||||
|
@ -211,6 +211,8 @@
|
|||
"Scene.Favorite.Title" = "مُفضَّلَتُك";
|
||||
"Scene.Follower.Footer" = "لا يُمكِن عَرض المُتابِعين مِنَ الخوادم الأُخرى.";
|
||||
"Scene.Following.Footer" = "لا يُمكِن عَرض المُتابَعات مِنَ الخوادم الأُخرى.";
|
||||
"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoHint" = "اُنقُر لِلتمريرِ لأعلى واُنقُر مَرّةً أُخرَى لِلذَّهابِ إلَى المَوقِعِ السَّابِق";
|
||||
"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoLabel" = "ُّزِرُّ الشِّعار";
|
||||
"Scene.HomeTimeline.NavigationBarState.NewPosts" = "إظهار منشورات جديدة";
|
||||
"Scene.HomeTimeline.NavigationBarState.Offline" = "غَير مُتَّصِل";
|
||||
"Scene.HomeTimeline.NavigationBarState.Published" = "تمَّ النَّشر!";
|
||||
|
@ -291,8 +293,39 @@
|
|||
"Scene.Report.Reported" = "مُبْلَغٌ عَنه";
|
||||
"Scene.Report.Send" = "إرسال البلاغ";
|
||||
"Scene.Report.SkipToSend" = "إرسال بدون تعليق";
|
||||
"Scene.Report.Step1" = "الخطوة الأولى مِن أصل اثنتين";
|
||||
"Scene.Report.Step2" = "الخطوة الثانية والأخيرة";
|
||||
"Scene.Report.Step1" = "الخطوة 1 مِن أصل 2";
|
||||
"Scene.Report.Step2" = "الخطوة 2 مِن أصل 2";
|
||||
"Scene.Report.StepFinal.BlockUser" = "حَظرُ %@";
|
||||
"Scene.Report.StepFinal.DontWantToSeeThis" = "ألَا تُريدُ رُؤيَةَ هَذَا؟";
|
||||
"Scene.Report.StepFinal.MuteUser" = "كَتمُ %@";
|
||||
"Scene.Report.StepFinal.TheyWillNoLongerBeAbleToFollowOrSeeYourPostsButTheyCanSeeIfTheyveBeenBlocked" = "لَن يَتمكَّنَ بَعدَ الآنِ مِن مُتابَعَةِ مَنشوراتِكَ أو رُؤيَتِها، وَلكِن يُمكِنَهُ مَعرِفَةُ مَا إذا حُظَرِت عَنه.";
|
||||
"Scene.Report.StepFinal.Unfollow" = "إلغاءُ المُتابَعَة";
|
||||
"Scene.Report.StepFinal.UnfollowUser" = "إلغاءُ مُتابَعَةِ %@";
|
||||
"Scene.Report.StepFinal.Unfollowed" = "أُلغِيَت المُتابَعَة";
|
||||
"Scene.Report.StepFinal.WhenYouSeeSomethingYouDontLikeOnMastodonYouCanRemoveThePersonFromYourExperience." = "عِندما تَرى شيئًا لَا يُعجِبُكَ عَلَى مَاستودُون، يُمكِنُكَ إزالَةُ الشَّخصِ مِن تَجرِبَتِك.";
|
||||
"Scene.Report.StepFinal.YouWontSeeTheirPostsOrReblogsInYourHomeFeedTheyWontKnowTheyVeBeenMuted" = "لَن تَرى مُشارَكاتِهِ أو إعادَاتِ تَدوينَهِ فِي تغذيَتِكَ الرَّئيسَة. لَن يَعرِفَ أنَّهُ قَد كُتِمَ أيضًا.";
|
||||
"Scene.Report.StepFour.IsThereAnythingElseWeShouldKnow" = "هَل هُناكَ شَيءٌ آخَرَ يَجِبُ أن نَعلَمَ بِه؟";
|
||||
"Scene.Report.StepFour.Step4Of4" = "الخطوة 4 مِن أصل 4";
|
||||
"Scene.Report.StepOne.IDontLikeIt" = "لا يُعجِبُني";
|
||||
"Scene.Report.StepOne.ItIsNotSomethingYouWantToSee" = "إنَّهُ ليسَ شيئًا تُريدُ رُؤيَتَه";
|
||||
"Scene.Report.StepOne.ItViolatesServerRules" = "يَنتَهِكُ قَواعِدَ الخادِم";
|
||||
"Scene.Report.StepOne.ItsSomethingElse" = "إنَّهُ شَيءٌ آخَر";
|
||||
"Scene.Report.StepOne.ItsSpam" = "إنَّهُ غَيرٌ مَرغوبٍ فيه";
|
||||
"Scene.Report.StepOne.MaliciousLinksFakeEngagementOrRepetetiveReplies" = "رَوابِطٌ ضَارَّة، اِرتِباطاتٌ مُزيَّفَة أو رُدودٌ مُتَكَرِّرَة";
|
||||
"Scene.Report.StepOne.SelectTheBestMatch" = "اِختَر أفضلَ تَطابُق";
|
||||
"Scene.Report.StepOne.Step1Of4" = "الخطوة 1 مِن أصل 4";
|
||||
"Scene.Report.StepOne.TheIssueDoesNotFitIntoOtherCategories" = "المُشكِلَةُ لَا تَتَناسَبُ مَعَ الفِئاتِ الأُخرَى";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisAccount" = "ما المُشكِلَةُ فِي هَذَا الحِساب؟";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisPost" = "ما المُشكِلَةُ فِي هَذَا المَنشُور؟";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisUsername" = "ما المُشكِلَة مَعَ %@؟";
|
||||
"Scene.Report.StepOne.YouAreAwareThatItBreaksSpecificRules" = "أنتَ مُدِركٌ لِانتِهاكِهِ قَواعِدًا مُحَدَّدَة";
|
||||
"Scene.Report.StepThree.AreThereAnyPostsThatBackUpThisReport" = "هَل هُناكَ أيُّ مَنشُوراتٍ أُخرَى تَتَوافَقُ مَعَ هَذَا التَّقرير؟";
|
||||
"Scene.Report.StepThree.SelectAllThatApply" = "اِختَر كُلَّ ما يَنطَبِق";
|
||||
"Scene.Report.StepThree.Step3Of4" = "الخطوة 3 مِن أصل 4";
|
||||
"Scene.Report.StepTwo.IJustDon’tLikeIt" = "أنا فَقَط لا يُعجِبُني";
|
||||
"Scene.Report.StepTwo.SelectAllThatApply" = "اِختَر كُلَّ ما يَنطَبِق";
|
||||
"Scene.Report.StepTwo.Step2Of4" = "الخطوة 2 مِن أصل 4";
|
||||
"Scene.Report.StepTwo.WhichRulesAreBeingViolated" = "مَا هِيَ القَواعِدُ الَّتي تُنتَهَك؟";
|
||||
"Scene.Report.TextPlaceholder" = "اكتب أو الصق تعليقات إضافيَّة";
|
||||
"Scene.Report.Title" = "الإبلاغ عن %@";
|
||||
"Scene.Report.TitleReport" = "إبلاغ";
|
||||
|
@ -333,6 +366,7 @@
|
|||
"Scene.ServerPicker.EmptyState.FindingServers" = "يجري إيجاد خوادم متوفِّرَة...";
|
||||
"Scene.ServerPicker.EmptyState.NoResults" = "لا توجد نتائج";
|
||||
"Scene.ServerPicker.Input.Placeholder" = "اِبحَث عن خادِم أو انضم إلى آخر خاص بك...";
|
||||
"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "اِبحث عَن مُجتَمَعَات أو أدخِل عُنوانَ URL";
|
||||
"Scene.ServerPicker.Label.Category" = "الفئة";
|
||||
"Scene.ServerPicker.Label.Language" = "اللُّغة";
|
||||
"Scene.ServerPicker.Label.Users" = "مُستَخدِم";
|
||||
|
|
|
@ -109,7 +109,7 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>zero</key>
|
||||
<string>لا منشور</string>
|
||||
<string>لا مَنشورات</string>
|
||||
<key>one</key>
|
||||
<string>منشورٌ واحِد</string>
|
||||
<key>two</key>
|
||||
|
@ -447,13 +447,13 @@
|
|||
<key>zero</key>
|
||||
<string>تتبقى لَحظة</string>
|
||||
<key>one</key>
|
||||
<string>تتبقى ثانية</string>
|
||||
<string>تتبقى ثانية واحِدة</string>
|
||||
<key>two</key>
|
||||
<string>تتبقى ثانيتين</string>
|
||||
<string>تتبقى ثانيتان</string>
|
||||
<key>few</key>
|
||||
<string>تتبقى %ld ثوان</string>
|
||||
<key>many</key>
|
||||
<string>تتبقى %ld ثانيةً</string>
|
||||
<string>تتبقى %ld ثانية</string>
|
||||
<key>other</key>
|
||||
<string>تتبقى %ld ثانية</string>
|
||||
</dict>
|
||||
|
|
|
@ -210,6 +210,8 @@ carregat a Mastodon.";
|
|||
"Scene.Favorite.Title" = "Els teus Favorits";
|
||||
"Scene.Follower.Footer" = "Els seguidors d'altres servidors no son mostrats.";
|
||||
"Scene.Following.Footer" = "Els seguits d'altres servidors no son mostrats.";
|
||||
"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoHint" = "Toca per desplaçar-te cap a dalt i torna a toca de nou per tornar a la ubicació anterior";
|
||||
"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoLabel" = "Botó de logotip";
|
||||
"Scene.HomeTimeline.NavigationBarState.NewPosts" = "Veure noves publicacions";
|
||||
"Scene.HomeTimeline.NavigationBarState.Offline" = "Fora de línia";
|
||||
"Scene.HomeTimeline.NavigationBarState.Published" = "Publicat!";
|
||||
|
@ -283,7 +285,7 @@ carregat a Mastodon.";
|
|||
"Scene.Register.Input.Password.Require" = "La teva contrasenya com a mínim necessita:";
|
||||
"Scene.Register.Input.Username.DuplicatePrompt" = "Aquest nom d'usuari ja està en ús.";
|
||||
"Scene.Register.Input.Username.Placeholder" = "nom d'usuari";
|
||||
"Scene.Register.Title" = "Parla'ns de tu.";
|
||||
"Scene.Register.Title" = "Anem a configurar-te a %@";
|
||||
"Scene.Report.Content1" = "Hi ha alguna altre publicació que vulguis afegir a l'informe?";
|
||||
"Scene.Report.Content2" = "Hi ha alguna cosa que els moderadors hagin de saber sobre aquest informe?";
|
||||
"Scene.Report.ReportSentTitle" = "Gràcies per informar, ho investigarem.";
|
||||
|
@ -292,6 +294,37 @@ carregat a Mastodon.";
|
|||
"Scene.Report.SkipToSend" = "Envia sense comentaris";
|
||||
"Scene.Report.Step1" = "Pas 1 de 2";
|
||||
"Scene.Report.Step2" = "Pas 2 de 2";
|
||||
"Scene.Report.StepFinal.BlockUser" = "Bloca %@";
|
||||
"Scene.Report.StepFinal.DontWantToSeeThis" = "No vols veure això?";
|
||||
"Scene.Report.StepFinal.MuteUser" = "Silencia %@";
|
||||
"Scene.Report.StepFinal.TheyWillNoLongerBeAbleToFollowOrSeeYourPostsButTheyCanSeeIfTheyveBeenBlocked" = "Ja no podran seguir ni veure les teves publicacions, però poden veure si han estat bloquejats.";
|
||||
"Scene.Report.StepFinal.Unfollow" = "Deixa de seguir";
|
||||
"Scene.Report.StepFinal.UnfollowUser" = "Deixa de seguir %@";
|
||||
"Scene.Report.StepFinal.Unfollowed" = "S'ha deixat de seguir";
|
||||
"Scene.Report.StepFinal.WhenYouSeeSomethingYouDontLikeOnMastodonYouCanRemoveThePersonFromYourExperience." = "Quan veus alguna cosa que no t'agrada a Mastodon, pots eliminar la persona de la vostra experiència.";
|
||||
"Scene.Report.StepFinal.YouWontSeeTheirPostsOrReblogsInYourHomeFeedTheyWontKnowTheyVeBeenMuted" = "No veuràs les seves publicacions o impulsos a la teva línia de temps personal. No sabran que han estat silenciats.";
|
||||
"Scene.Report.StepFour.IsThereAnythingElseWeShouldKnow" = "Hi ha res més que hauríem de saber?";
|
||||
"Scene.Report.StepFour.Step4Of4" = "Pas 4 de 4";
|
||||
"Scene.Report.StepOne.IDontLikeIt" = "No m'agrada";
|
||||
"Scene.Report.StepOne.ItIsNotSomethingYouWantToSee" = "No és una cosa que vulguis veure";
|
||||
"Scene.Report.StepOne.ItViolatesServerRules" = "Infringeix les normes del servidor";
|
||||
"Scene.Report.StepOne.ItsSomethingElse" = "És una altra cosa";
|
||||
"Scene.Report.StepOne.ItsSpam" = "És contingut brossa";
|
||||
"Scene.Report.StepOne.MaliciousLinksFakeEngagementOrRepetetiveReplies" = "Enllaços maliciosos, compromís falç o respostes repetitives";
|
||||
"Scene.Report.StepOne.SelectTheBestMatch" = "Selecciona la millor coincidència";
|
||||
"Scene.Report.StepOne.Step1Of4" = "Pas 1 de 4";
|
||||
"Scene.Report.StepOne.TheIssueDoesNotFitIntoOtherCategories" = "El problema no encaixa en altres categories";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisAccount" = "Quin és el problema amb aquest compte?";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisPost" = "Quin és el problema amb aquesta publicació?";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisUsername" = "Quin és el problema amb %@?";
|
||||
"Scene.Report.StepOne.YouAreAwareThatItBreaksSpecificRules" = "Ets conscient que incompleix normes específiques";
|
||||
"Scene.Report.StepThree.AreThereAnyPostsThatBackUpThisReport" = "Hi ha alguna publicació que recolzi aquest informe?";
|
||||
"Scene.Report.StepThree.SelectAllThatApply" = "Selecciona tot el que correspongui";
|
||||
"Scene.Report.StepThree.Step3Of4" = "Pas 3 de 4";
|
||||
"Scene.Report.StepTwo.IJustDon’tLikeIt" = "Simplement no m'agrada";
|
||||
"Scene.Report.StepTwo.SelectAllThatApply" = "Selecciona tot el que correspongui";
|
||||
"Scene.Report.StepTwo.Step2Of4" = "Pas 2 de 4";
|
||||
"Scene.Report.StepTwo.WhichRulesAreBeingViolated" = "Quines normes s'estan infringint?";
|
||||
"Scene.Report.TextPlaceholder" = "Escriu o enganxa comentaris addicionals";
|
||||
"Scene.Report.Title" = "Informa sobre %@";
|
||||
"Scene.Report.TitleReport" = "Informe";
|
||||
|
@ -328,10 +361,11 @@ carregat a Mastodon.";
|
|||
"Scene.ServerPicker.Button.Category.Tech" = "tecnologia";
|
||||
"Scene.ServerPicker.Button.SeeLess" = "Veure Menys";
|
||||
"Scene.ServerPicker.Button.SeeMore" = "Veure Més";
|
||||
"Scene.ServerPicker.EmptyState.BadNetwork" = "S'ha produït un error en carregar les dades. Comprova la teva connexió a Internet.";
|
||||
"Scene.ServerPicker.EmptyState.BadNetwork" = "Alguna cosa no ha anat bé en carregar les dades. Comprova la teva connexió a Internet.";
|
||||
"Scene.ServerPicker.EmptyState.FindingServers" = "Cercant els servidors disponibles...";
|
||||
"Scene.ServerPicker.EmptyState.NoResults" = "No hi ha resultats";
|
||||
"Scene.ServerPicker.Input.Placeholder" = "Troba un servidor o uneix-te al teu...";
|
||||
"Scene.ServerPicker.Input.Placeholder" = "Cerca servidors";
|
||||
"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Cerca comunitats o introdueix l'URL";
|
||||
"Scene.ServerPicker.Label.Category" = "CATEGORIA";
|
||||
"Scene.ServerPicker.Label.Language" = "LLENGUATGE";
|
||||
"Scene.ServerPicker.Label.Users" = "USUARIS";
|
||||
|
@ -341,7 +375,7 @@ carregat a Mastodon.";
|
|||
"Scene.ServerRules.Button.Confirm" = "Hi estic d'acord";
|
||||
"Scene.ServerRules.PrivacyPolicy" = "política de privadesa";
|
||||
"Scene.ServerRules.Prompt" = "Al continuar, estàs subjecte als termes de servei i a la política de privacitat de %@.";
|
||||
"Scene.ServerRules.Subtitle" = "Aquestes regles estan establertes per els administradors de %@.";
|
||||
"Scene.ServerRules.Subtitle" = "Aquestes regles estan establertes i aplicades per els moderadors de %@.";
|
||||
"Scene.ServerRules.TermsOfService" = "termes del servei";
|
||||
"Scene.ServerRules.Title" = "Algunes regles bàsiques.";
|
||||
"Scene.Settings.Footer.MastodonDescription" = "Mastodon és un programari de codi obert. Pots informar de problemes a GitHub a %@ (%@)";
|
||||
|
@ -380,7 +414,7 @@ carregat a Mastodon.";
|
|||
"Scene.Settings.Section.SpicyZone.Title" = "La Zona Picant";
|
||||
"Scene.Settings.Title" = "Configuració";
|
||||
"Scene.SuggestionAccount.FollowExplain" = "Quan segueixes algú, veuràs les seves publicacions a Inici.";
|
||||
"Scene.SuggestionAccount.Title" = "Cerca Persones per Seguir";
|
||||
"Scene.SuggestionAccount.Title" = "Cerca Persones a Seguir";
|
||||
"Scene.Thread.BackTitle" = "Publicació";
|
||||
"Scene.Thread.Title" = "Publicació de %@";
|
||||
"Scene.Welcome.GetStarted" = "Comença";
|
||||
|
|
|
@ -209,6 +209,8 @@
|
|||
"Scene.Favorite.Title" = "بەدڵبووەکانت";
|
||||
"Scene.Follower.Footer" = "شوێنکەوتووەکانی لە ڕاژەکارەکانی ترەوە نیشان نادرێت.";
|
||||
"Scene.Following.Footer" = "شوێنکەوتنەکانی بۆ هەژماری ڕاژەکارەکانی تر نیشان نادرێت.";
|
||||
"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoHint" = "Tap to scroll to top and tap again to previous location";
|
||||
"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoLabel" = "Logo Button";
|
||||
"Scene.HomeTimeline.NavigationBarState.NewPosts" = "پۆستە نوێکان ببینە";
|
||||
"Scene.HomeTimeline.NavigationBarState.Offline" = "دەرهێڵ";
|
||||
"Scene.HomeTimeline.NavigationBarState.Published" = "بڵاوکرایەوە!";
|
||||
|
@ -291,6 +293,37 @@
|
|||
"Scene.Report.SkipToSend" = "بەبێ لێدوان بینێرە";
|
||||
"Scene.Report.Step1" = "هەنگاوی 1 لە 2";
|
||||
"Scene.Report.Step2" = "هەنگاوی 2 لە 2";
|
||||
"Scene.Report.StepFinal.BlockUser" = "Block %@";
|
||||
"Scene.Report.StepFinal.DontWantToSeeThis" = "Don’t want to see this?";
|
||||
"Scene.Report.StepFinal.MuteUser" = "Mute %@";
|
||||
"Scene.Report.StepFinal.TheyWillNoLongerBeAbleToFollowOrSeeYourPostsButTheyCanSeeIfTheyveBeenBlocked" = "They will no longer be able to follow or see your posts, but they can see if they’ve been blocked.";
|
||||
"Scene.Report.StepFinal.Unfollow" = "Unfollow";
|
||||
"Scene.Report.StepFinal.UnfollowUser" = "Unfollow %@";
|
||||
"Scene.Report.StepFinal.Unfollowed" = "Unfollowed";
|
||||
"Scene.Report.StepFinal.WhenYouSeeSomethingYouDontLikeOnMastodonYouCanRemoveThePersonFromYourExperience." = "When you see something you don’t like on Mastodon, you can remove the person from your experience.";
|
||||
"Scene.Report.StepFinal.YouWontSeeTheirPostsOrReblogsInYourHomeFeedTheyWontKnowTheyVeBeenMuted" = "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.";
|
||||
"Scene.Report.StepFour.IsThereAnythingElseWeShouldKnow" = "Is there anything else we should know?";
|
||||
"Scene.Report.StepFour.Step4Of4" = "Step 4 of 4";
|
||||
"Scene.Report.StepOne.IDontLikeIt" = "I don’t like it";
|
||||
"Scene.Report.StepOne.ItIsNotSomethingYouWantToSee" = "It is not something you want to see";
|
||||
"Scene.Report.StepOne.ItViolatesServerRules" = "It violates server rules";
|
||||
"Scene.Report.StepOne.ItsSomethingElse" = "It’s something else";
|
||||
"Scene.Report.StepOne.ItsSpam" = "It’s spam";
|
||||
"Scene.Report.StepOne.MaliciousLinksFakeEngagementOrRepetetiveReplies" = "Malicious links, fake engagement, or repetetive replies";
|
||||
"Scene.Report.StepOne.SelectTheBestMatch" = "Select the best match";
|
||||
"Scene.Report.StepOne.Step1Of4" = "Step 1 of 4";
|
||||
"Scene.Report.StepOne.TheIssueDoesNotFitIntoOtherCategories" = "The issue does not fit into other categories";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisAccount" = "What's wrong with this account?";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisPost" = "What's wrong with this post?";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisUsername" = "What's wrong with %@?";
|
||||
"Scene.Report.StepOne.YouAreAwareThatItBreaksSpecificRules" = "You are aware that it breaks specific rules";
|
||||
"Scene.Report.StepThree.AreThereAnyPostsThatBackUpThisReport" = "Are there any posts that back up this report?";
|
||||
"Scene.Report.StepThree.SelectAllThatApply" = "Select all that apply";
|
||||
"Scene.Report.StepThree.Step3Of4" = "Step 3 of 4";
|
||||
"Scene.Report.StepTwo.IJustDon’tLikeIt" = "I just don’t like it";
|
||||
"Scene.Report.StepTwo.SelectAllThatApply" = "Select all that apply";
|
||||
"Scene.Report.StepTwo.Step2Of4" = "Step 2 of 4";
|
||||
"Scene.Report.StepTwo.WhichRulesAreBeingViolated" = "Which rules are being violated?";
|
||||
"Scene.Report.TextPlaceholder" = "ڕوونکردنەوەی زۆرتر بدە";
|
||||
"Scene.Report.Title" = "سکاڵا لە %@ بکە";
|
||||
"Scene.Report.TitleReport" = "سکاڵای لێ بکە";
|
||||
|
@ -331,6 +364,7 @@
|
|||
"Scene.ServerPicker.EmptyState.FindingServers" = "ڕاژەکار دەدۆزرێتەوە...";
|
||||
"Scene.ServerPicker.EmptyState.NoResults" = "ئەنجام نییە";
|
||||
"Scene.ServerPicker.Input.Placeholder" = "بگەڕێ";
|
||||
"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL";
|
||||
"Scene.ServerPicker.Label.Category" = "بەش";
|
||||
"Scene.ServerPicker.Label.Language" = "زمان";
|
||||
"Scene.ServerPicker.Label.Users" = "بەکارهێنەر";
|
||||
|
|
|
@ -108,7 +108,7 @@ Bitte überprüfe deine Internetverbindung.";
|
|||
"Common.Controls.Status.MediaContentWarning" = "Tippe irgendwo zum Anzeigen";
|
||||
"Common.Controls.Status.Poll.Closed" = "Beendet";
|
||||
"Common.Controls.Status.Poll.Vote" = "Abstimmen";
|
||||
"Common.Controls.Status.SensitiveContent" = "Sensitive Content";
|
||||
"Common.Controls.Status.SensitiveContent" = "NSFW-Inhalt";
|
||||
"Common.Controls.Status.ShowPost" = "Beitrag anzeigen";
|
||||
"Common.Controls.Status.ShowUserProfile" = "Benutzerprofil anzeigen";
|
||||
"Common.Controls.Status.Tag.Email" = "E-Mail";
|
||||
|
@ -202,7 +202,7 @@ kann nicht auf Mastodon hochgeladen werden.";
|
|||
"Scene.ConfirmEmail.Subtitle" = "Wir haben gerade eine E-Mail an %@ gesendet,
|
||||
tippe darin auf den Link, um Dein Konto zu bestätigen.";
|
||||
"Scene.ConfirmEmail.Title" = "Noch eine letzte Sache.";
|
||||
"Scene.Discovery.Intro" = "These are the posts gaining traction in your corner of Mastodon.";
|
||||
"Scene.Discovery.Intro" = "Dies sind die Beiträge, die in deiner Umgebung auf Mastodon beliebter werden.";
|
||||
"Scene.Discovery.Tabs.Community" = "Community";
|
||||
"Scene.Discovery.Tabs.ForYou" = "Für dich";
|
||||
"Scene.Discovery.Tabs.Hashtags" = "Hashtags";
|
||||
|
@ -211,6 +211,8 @@ tippe darin auf den Link, um Dein Konto zu bestätigen.";
|
|||
"Scene.Favorite.Title" = "Deine Favoriten";
|
||||
"Scene.Follower.Footer" = "Follower von anderen Servern werden nicht angezeigt.";
|
||||
"Scene.Following.Footer" = "Wem das Konto folgt wird von anderen Servern werden nicht angezeigt.";
|
||||
"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoHint" = "Tap to scroll to top and tap again to previous location";
|
||||
"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoLabel" = "Logo Button";
|
||||
"Scene.HomeTimeline.NavigationBarState.NewPosts" = "Neue Beiträge anzeigen";
|
||||
"Scene.HomeTimeline.NavigationBarState.Offline" = "Offline";
|
||||
"Scene.HomeTimeline.NavigationBarState.Published" = "Veröffentlicht!";
|
||||
|
@ -293,6 +295,37 @@ tippe darin auf den Link, um Dein Konto zu bestätigen.";
|
|||
"Scene.Report.SkipToSend" = "Ohne Kommentar abschicken";
|
||||
"Scene.Report.Step1" = "Schritt 1 von 2";
|
||||
"Scene.Report.Step2" = "Schritt 2 von 2";
|
||||
"Scene.Report.StepFinal.BlockUser" = "Block %@";
|
||||
"Scene.Report.StepFinal.DontWantToSeeThis" = "Don’t want to see this?";
|
||||
"Scene.Report.StepFinal.MuteUser" = "Mute %@";
|
||||
"Scene.Report.StepFinal.TheyWillNoLongerBeAbleToFollowOrSeeYourPostsButTheyCanSeeIfTheyveBeenBlocked" = "They will no longer be able to follow or see your posts, but they can see if they’ve been blocked.";
|
||||
"Scene.Report.StepFinal.Unfollow" = "Unfollow";
|
||||
"Scene.Report.StepFinal.UnfollowUser" = "Unfollow %@";
|
||||
"Scene.Report.StepFinal.Unfollowed" = "Unfollowed";
|
||||
"Scene.Report.StepFinal.WhenYouSeeSomethingYouDontLikeOnMastodonYouCanRemoveThePersonFromYourExperience." = "When you see something you don’t like on Mastodon, you can remove the person from your experience.";
|
||||
"Scene.Report.StepFinal.YouWontSeeTheirPostsOrReblogsInYourHomeFeedTheyWontKnowTheyVeBeenMuted" = "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.";
|
||||
"Scene.Report.StepFour.IsThereAnythingElseWeShouldKnow" = "Is there anything else we should know?";
|
||||
"Scene.Report.StepFour.Step4Of4" = "Step 4 of 4";
|
||||
"Scene.Report.StepOne.IDontLikeIt" = "I don’t like it";
|
||||
"Scene.Report.StepOne.ItIsNotSomethingYouWantToSee" = "It is not something you want to see";
|
||||
"Scene.Report.StepOne.ItViolatesServerRules" = "It violates server rules";
|
||||
"Scene.Report.StepOne.ItsSomethingElse" = "It’s something else";
|
||||
"Scene.Report.StepOne.ItsSpam" = "It’s spam";
|
||||
"Scene.Report.StepOne.MaliciousLinksFakeEngagementOrRepetetiveReplies" = "Malicious links, fake engagement, or repetetive replies";
|
||||
"Scene.Report.StepOne.SelectTheBestMatch" = "Select the best match";
|
||||
"Scene.Report.StepOne.Step1Of4" = "Step 1 of 4";
|
||||
"Scene.Report.StepOne.TheIssueDoesNotFitIntoOtherCategories" = "The issue does not fit into other categories";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisAccount" = "What's wrong with this account?";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisPost" = "What's wrong with this post?";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisUsername" = "What's wrong with %@?";
|
||||
"Scene.Report.StepOne.YouAreAwareThatItBreaksSpecificRules" = "You are aware that it breaks specific rules";
|
||||
"Scene.Report.StepThree.AreThereAnyPostsThatBackUpThisReport" = "Are there any posts that back up this report?";
|
||||
"Scene.Report.StepThree.SelectAllThatApply" = "Select all that apply";
|
||||
"Scene.Report.StepThree.Step3Of4" = "Step 3 of 4";
|
||||
"Scene.Report.StepTwo.IJustDon’tLikeIt" = "I just don’t like it";
|
||||
"Scene.Report.StepTwo.SelectAllThatApply" = "Select all that apply";
|
||||
"Scene.Report.StepTwo.Step2Of4" = "Step 2 of 4";
|
||||
"Scene.Report.StepTwo.WhichRulesAreBeingViolated" = "Which rules are being violated?";
|
||||
"Scene.Report.TextPlaceholder" = "Zusätzliche Kommentare eingeben oder einfügen";
|
||||
"Scene.Report.Title" = "%@ melden";
|
||||
"Scene.Report.TitleReport" = "Melden";
|
||||
|
@ -333,6 +366,7 @@ tippe darin auf den Link, um Dein Konto zu bestätigen.";
|
|||
"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.Input.SearchServersOrEnterUrl" = "Search communities or enter URL";
|
||||
"Scene.ServerPicker.Label.Category" = "KATEGORIE";
|
||||
"Scene.ServerPicker.Label.Language" = "SPRACHE";
|
||||
"Scene.ServerPicker.Label.Users" = "BENUTZER";
|
||||
|
@ -389,5 +423,5 @@ beliebigen Server.";
|
|||
"Scene.Welcome.LogIn" = "Anmelden";
|
||||
"Scene.Welcome.Slogan" = "Soziale Netzwerke wieder in deinen Händen.";
|
||||
"Scene.Wizard.AccessibilityHint" = "Doppeltippen, um diesen Assistenten zu schließen";
|
||||
"Scene.Wizard.MultipleAccountSwitchIntroDescription" = "Wechsel zwischen mehreren Konten durch drücken der Profil-Schaltfläche.";
|
||||
"Scene.Wizard.MultipleAccountSwitchIntroDescription" = "Wechsel zwischen mehreren Konten durch Drücken der Profil-Schaltfläche.";
|
||||
"Scene.Wizard.NewInMastodon" = "Neu in Mastodon";
|
|
@ -210,6 +210,8 @@ uploaded to Mastodon.";
|
|||
"Scene.Favorite.Title" = "Your Favorites";
|
||||
"Scene.Follower.Footer" = "Followers from other servers are not displayed.";
|
||||
"Scene.Following.Footer" = "Follows from other servers are not displayed.";
|
||||
"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoHint" = "Tap to scroll to top and tap again to previous location";
|
||||
"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoLabel" = "Logo Button";
|
||||
"Scene.HomeTimeline.NavigationBarState.NewPosts" = "See new posts";
|
||||
"Scene.HomeTimeline.NavigationBarState.Offline" = "Offline";
|
||||
"Scene.HomeTimeline.NavigationBarState.Published" = "Published!";
|
||||
|
@ -292,6 +294,37 @@ uploaded to Mastodon.";
|
|||
"Scene.Report.SkipToSend" = "Send without comment";
|
||||
"Scene.Report.Step1" = "Step 1 of 2";
|
||||
"Scene.Report.Step2" = "Step 2 of 2";
|
||||
"Scene.Report.StepFinal.BlockUser" = "Block %@";
|
||||
"Scene.Report.StepFinal.DontWantToSeeThis" = "Don’t want to see this?";
|
||||
"Scene.Report.StepFinal.MuteUser" = "Mute %@";
|
||||
"Scene.Report.StepFinal.TheyWillNoLongerBeAbleToFollowOrSeeYourPostsButTheyCanSeeIfTheyveBeenBlocked" = "They will no longer be able to follow or see your posts, but they can see if they’ve been blocked.";
|
||||
"Scene.Report.StepFinal.Unfollow" = "Unfollow";
|
||||
"Scene.Report.StepFinal.UnfollowUser" = "Unfollow %@";
|
||||
"Scene.Report.StepFinal.Unfollowed" = "Unfollowed";
|
||||
"Scene.Report.StepFinal.WhenYouSeeSomethingYouDontLikeOnMastodonYouCanRemoveThePersonFromYourExperience." = "When you see something you don’t like on Mastodon, you can remove the person from your experience.";
|
||||
"Scene.Report.StepFinal.YouWontSeeTheirPostsOrReblogsInYourHomeFeedTheyWontKnowTheyVeBeenMuted" = "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.";
|
||||
"Scene.Report.StepFour.IsThereAnythingElseWeShouldKnow" = "Is there anything else we should know?";
|
||||
"Scene.Report.StepFour.Step4Of4" = "Step 4 of 4";
|
||||
"Scene.Report.StepOne.IDontLikeIt" = "I don’t like it";
|
||||
"Scene.Report.StepOne.ItIsNotSomethingYouWantToSee" = "It is not something you want to see";
|
||||
"Scene.Report.StepOne.ItViolatesServerRules" = "It violates server rules";
|
||||
"Scene.Report.StepOne.ItsSomethingElse" = "It’s something else";
|
||||
"Scene.Report.StepOne.ItsSpam" = "It’s spam";
|
||||
"Scene.Report.StepOne.MaliciousLinksFakeEngagementOrRepetetiveReplies" = "Malicious links, fake engagement, or repetetive replies";
|
||||
"Scene.Report.StepOne.SelectTheBestMatch" = "Select the best match";
|
||||
"Scene.Report.StepOne.Step1Of4" = "Step 1 of 4";
|
||||
"Scene.Report.StepOne.TheIssueDoesNotFitIntoOtherCategories" = "The issue does not fit into other categories";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisAccount" = "What's wrong with this account?";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisPost" = "What's wrong with this post?";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisUsername" = "What's wrong with %@?";
|
||||
"Scene.Report.StepOne.YouAreAwareThatItBreaksSpecificRules" = "You are aware that it breaks specific rules";
|
||||
"Scene.Report.StepThree.AreThereAnyPostsThatBackUpThisReport" = "Are there any posts that back up this report?";
|
||||
"Scene.Report.StepThree.SelectAllThatApply" = "Select all that apply";
|
||||
"Scene.Report.StepThree.Step3Of4" = "Step 3 of 4";
|
||||
"Scene.Report.StepTwo.IJustDon’tLikeIt" = "I just don’t like it";
|
||||
"Scene.Report.StepTwo.SelectAllThatApply" = "Select all that apply";
|
||||
"Scene.Report.StepTwo.Step2Of4" = "Step 2 of 4";
|
||||
"Scene.Report.StepTwo.WhichRulesAreBeingViolated" = "Which rules are being violated?";
|
||||
"Scene.Report.TextPlaceholder" = "Type or paste additional comments";
|
||||
"Scene.Report.Title" = "Report %@";
|
||||
"Scene.Report.TitleReport" = "Report";
|
||||
|
@ -332,6 +365,7 @@ uploaded to Mastodon.";
|
|||
"Scene.ServerPicker.EmptyState.FindingServers" = "Finding available servers...";
|
||||
"Scene.ServerPicker.EmptyState.NoResults" = "No results";
|
||||
"Scene.ServerPicker.Input.Placeholder" = "Search servers";
|
||||
"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL";
|
||||
"Scene.ServerPicker.Label.Category" = "CATEGORY";
|
||||
"Scene.ServerPicker.Label.Language" = "LANGUAGE";
|
||||
"Scene.ServerPicker.Label.Users" = "USERS";
|
||||
|
|
|
@ -203,7 +203,7 @@ y no se puede subir a Mastodon.";
|
|||
pulsá en el enlace para confirmar tu cuenta.";
|
||||
"Scene.ConfirmEmail.Title" = "Una última cosa.";
|
||||
"Scene.Discovery.Intro" = "Estos son los mensajes que están ganando tracción en tu rincón de Mastodon.";
|
||||
"Scene.Discovery.Tabs.Community" = "Community";
|
||||
"Scene.Discovery.Tabs.Community" = "Comunidad";
|
||||
"Scene.Discovery.Tabs.ForYou" = "Para vos";
|
||||
"Scene.Discovery.Tabs.Hashtags" = "Etiquetas";
|
||||
"Scene.Discovery.Tabs.News" = "Novedades";
|
||||
|
@ -211,6 +211,8 @@ pulsá en el enlace para confirmar tu cuenta.";
|
|||
"Scene.Favorite.Title" = "Tus favoritos";
|
||||
"Scene.Follower.Footer" = "No se muestran los seguidores de otros servidores.";
|
||||
"Scene.Following.Footer" = "No se muestran las cuentas de otros servidores que seguís.";
|
||||
"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoHint" = "Tap to scroll to top and tap again to previous location";
|
||||
"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoLabel" = "Logo Button";
|
||||
"Scene.HomeTimeline.NavigationBarState.NewPosts" = "Ver nuevos mensajes";
|
||||
"Scene.HomeTimeline.NavigationBarState.Offline" = "Desconectado";
|
||||
"Scene.HomeTimeline.NavigationBarState.Published" = "¡Enviado!";
|
||||
|
@ -293,6 +295,37 @@ pulsá en el enlace para confirmar tu cuenta.";
|
|||
"Scene.Report.SkipToSend" = "Enviar sin comentarios";
|
||||
"Scene.Report.Step1" = "Paso 1 de 2";
|
||||
"Scene.Report.Step2" = "Paso 2 de 2";
|
||||
"Scene.Report.StepFinal.BlockUser" = "Block %@";
|
||||
"Scene.Report.StepFinal.DontWantToSeeThis" = "Don’t want to see this?";
|
||||
"Scene.Report.StepFinal.MuteUser" = "Mute %@";
|
||||
"Scene.Report.StepFinal.TheyWillNoLongerBeAbleToFollowOrSeeYourPostsButTheyCanSeeIfTheyveBeenBlocked" = "They will no longer be able to follow or see your posts, but they can see if they’ve been blocked.";
|
||||
"Scene.Report.StepFinal.Unfollow" = "Unfollow";
|
||||
"Scene.Report.StepFinal.UnfollowUser" = "Unfollow %@";
|
||||
"Scene.Report.StepFinal.Unfollowed" = "Unfollowed";
|
||||
"Scene.Report.StepFinal.WhenYouSeeSomethingYouDontLikeOnMastodonYouCanRemoveThePersonFromYourExperience." = "When you see something you don’t like on Mastodon, you can remove the person from your experience.";
|
||||
"Scene.Report.StepFinal.YouWontSeeTheirPostsOrReblogsInYourHomeFeedTheyWontKnowTheyVeBeenMuted" = "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.";
|
||||
"Scene.Report.StepFour.IsThereAnythingElseWeShouldKnow" = "Is there anything else we should know?";
|
||||
"Scene.Report.StepFour.Step4Of4" = "Step 4 of 4";
|
||||
"Scene.Report.StepOne.IDontLikeIt" = "I don’t like it";
|
||||
"Scene.Report.StepOne.ItIsNotSomethingYouWantToSee" = "It is not something you want to see";
|
||||
"Scene.Report.StepOne.ItViolatesServerRules" = "It violates server rules";
|
||||
"Scene.Report.StepOne.ItsSomethingElse" = "It’s something else";
|
||||
"Scene.Report.StepOne.ItsSpam" = "It’s spam";
|
||||
"Scene.Report.StepOne.MaliciousLinksFakeEngagementOrRepetetiveReplies" = "Malicious links, fake engagement, or repetetive replies";
|
||||
"Scene.Report.StepOne.SelectTheBestMatch" = "Select the best match";
|
||||
"Scene.Report.StepOne.Step1Of4" = "Step 1 of 4";
|
||||
"Scene.Report.StepOne.TheIssueDoesNotFitIntoOtherCategories" = "The issue does not fit into other categories";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisAccount" = "What's wrong with this account?";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisPost" = "What's wrong with this post?";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisUsername" = "What's wrong with %@?";
|
||||
"Scene.Report.StepOne.YouAreAwareThatItBreaksSpecificRules" = "You are aware that it breaks specific rules";
|
||||
"Scene.Report.StepThree.AreThereAnyPostsThatBackUpThisReport" = "Are there any posts that back up this report?";
|
||||
"Scene.Report.StepThree.SelectAllThatApply" = "Select all that apply";
|
||||
"Scene.Report.StepThree.Step3Of4" = "Step 3 of 4";
|
||||
"Scene.Report.StepTwo.IJustDon’tLikeIt" = "I just don’t like it";
|
||||
"Scene.Report.StepTwo.SelectAllThatApply" = "Select all that apply";
|
||||
"Scene.Report.StepTwo.Step2Of4" = "Step 2 of 4";
|
||||
"Scene.Report.StepTwo.WhichRulesAreBeingViolated" = "Which rules are being violated?";
|
||||
"Scene.Report.TextPlaceholder" = "Escribí o pegá comentarios adicionales";
|
||||
"Scene.Report.Title" = "Denunciar a %@";
|
||||
"Scene.Report.TitleReport" = "Denunciar";
|
||||
|
@ -333,6 +366,7 @@ pulsá en el enlace para confirmar tu cuenta.";
|
|||
"Scene.ServerPicker.EmptyState.FindingServers" = "Buscando servidores disponibles…";
|
||||
"Scene.ServerPicker.EmptyState.NoResults" = "No hay resultados";
|
||||
"Scene.ServerPicker.Input.Placeholder" = "Encontrá un servidor o unite al tuyo…";
|
||||
"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL";
|
||||
"Scene.ServerPicker.Label.Category" = "CATEGORÍA";
|
||||
"Scene.ServerPicker.Label.Language" = "IDIOMA";
|
||||
"Scene.ServerPicker.Label.Users" = "CUENTAS";
|
||||
|
|
|
@ -211,6 +211,8 @@ pulsa en el enlace para confirmar tu cuenta.";
|
|||
"Scene.Favorite.Title" = "Tus Favoritos";
|
||||
"Scene.Follower.Footer" = "No se muestran los seguidores de otros servidores.";
|
||||
"Scene.Following.Footer" = "No se muestran los seguidos de otros servidores.";
|
||||
"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoHint" = "Tap to scroll to top and tap again to previous location";
|
||||
"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoLabel" = "Logo Button";
|
||||
"Scene.HomeTimeline.NavigationBarState.NewPosts" = "Ver nuevas publicaciones";
|
||||
"Scene.HomeTimeline.NavigationBarState.Offline" = "Sin Conexión";
|
||||
"Scene.HomeTimeline.NavigationBarState.Published" = "¡Publicado!";
|
||||
|
@ -293,6 +295,37 @@ pulsa en el enlace para confirmar tu cuenta.";
|
|||
"Scene.Report.SkipToSend" = "Enviar sin comentarios";
|
||||
"Scene.Report.Step1" = "Paso 1 de 2";
|
||||
"Scene.Report.Step2" = "Paso 2 de 2";
|
||||
"Scene.Report.StepFinal.BlockUser" = "Block %@";
|
||||
"Scene.Report.StepFinal.DontWantToSeeThis" = "Don’t want to see this?";
|
||||
"Scene.Report.StepFinal.MuteUser" = "Mute %@";
|
||||
"Scene.Report.StepFinal.TheyWillNoLongerBeAbleToFollowOrSeeYourPostsButTheyCanSeeIfTheyveBeenBlocked" = "They will no longer be able to follow or see your posts, but they can see if they’ve been blocked.";
|
||||
"Scene.Report.StepFinal.Unfollow" = "Unfollow";
|
||||
"Scene.Report.StepFinal.UnfollowUser" = "Unfollow %@";
|
||||
"Scene.Report.StepFinal.Unfollowed" = "Unfollowed";
|
||||
"Scene.Report.StepFinal.WhenYouSeeSomethingYouDontLikeOnMastodonYouCanRemoveThePersonFromYourExperience." = "When you see something you don’t like on Mastodon, you can remove the person from your experience.";
|
||||
"Scene.Report.StepFinal.YouWontSeeTheirPostsOrReblogsInYourHomeFeedTheyWontKnowTheyVeBeenMuted" = "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.";
|
||||
"Scene.Report.StepFour.IsThereAnythingElseWeShouldKnow" = "Is there anything else we should know?";
|
||||
"Scene.Report.StepFour.Step4Of4" = "Step 4 of 4";
|
||||
"Scene.Report.StepOne.IDontLikeIt" = "I don’t like it";
|
||||
"Scene.Report.StepOne.ItIsNotSomethingYouWantToSee" = "It is not something you want to see";
|
||||
"Scene.Report.StepOne.ItViolatesServerRules" = "It violates server rules";
|
||||
"Scene.Report.StepOne.ItsSomethingElse" = "It’s something else";
|
||||
"Scene.Report.StepOne.ItsSpam" = "It’s spam";
|
||||
"Scene.Report.StepOne.MaliciousLinksFakeEngagementOrRepetetiveReplies" = "Malicious links, fake engagement, or repetetive replies";
|
||||
"Scene.Report.StepOne.SelectTheBestMatch" = "Select the best match";
|
||||
"Scene.Report.StepOne.Step1Of4" = "Step 1 of 4";
|
||||
"Scene.Report.StepOne.TheIssueDoesNotFitIntoOtherCategories" = "The issue does not fit into other categories";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisAccount" = "What's wrong with this account?";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisPost" = "What's wrong with this post?";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisUsername" = "What's wrong with %@?";
|
||||
"Scene.Report.StepOne.YouAreAwareThatItBreaksSpecificRules" = "You are aware that it breaks specific rules";
|
||||
"Scene.Report.StepThree.AreThereAnyPostsThatBackUpThisReport" = "Are there any posts that back up this report?";
|
||||
"Scene.Report.StepThree.SelectAllThatApply" = "Select all that apply";
|
||||
"Scene.Report.StepThree.Step3Of4" = "Step 3 of 4";
|
||||
"Scene.Report.StepTwo.IJustDon’tLikeIt" = "I just don’t like it";
|
||||
"Scene.Report.StepTwo.SelectAllThatApply" = "Select all that apply";
|
||||
"Scene.Report.StepTwo.Step2Of4" = "Step 2 of 4";
|
||||
"Scene.Report.StepTwo.WhichRulesAreBeingViolated" = "Which rules are being violated?";
|
||||
"Scene.Report.TextPlaceholder" = "Escribe o pega comentarios adicionales";
|
||||
"Scene.Report.Title" = "Reportar %@";
|
||||
"Scene.Report.TitleReport" = "Reportar";
|
||||
|
@ -333,6 +366,7 @@ pulsa en el enlace para confirmar tu cuenta.";
|
|||
"Scene.ServerPicker.EmptyState.FindingServers" = "Encontrando servidores disponibles...";
|
||||
"Scene.ServerPicker.EmptyState.NoResults" = "Sin resultados";
|
||||
"Scene.ServerPicker.Input.Placeholder" = "Encuentra un servidor o únete al tuyo propio...";
|
||||
"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL";
|
||||
"Scene.ServerPicker.Label.Category" = "CATEGORÍA";
|
||||
"Scene.ServerPicker.Label.Language" = "IDIOMA";
|
||||
"Scene.ServerPicker.Label.Users" = "USUARIOS";
|
||||
|
|
|
@ -211,6 +211,8 @@ sakatu kontua berresteko esteka.";
|
|||
"Scene.Favorite.Title" = "Zure gogokoak";
|
||||
"Scene.Follower.Footer" = "Beste zerbitzarietako jarraitzaileak ez dira bistaratzen.";
|
||||
"Scene.Following.Footer" = "Beste zerbitzarietan jarraitutakoak ez dira bistaratzen.";
|
||||
"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoHint" = "Tap to scroll to top and tap again to previous location";
|
||||
"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoLabel" = "Logo Button";
|
||||
"Scene.HomeTimeline.NavigationBarState.NewPosts" = "Ikusi bidal. berriak";
|
||||
"Scene.HomeTimeline.NavigationBarState.Offline" = "Konexio gabe";
|
||||
"Scene.HomeTimeline.NavigationBarState.Published" = "Argitaratua!";
|
||||
|
@ -293,6 +295,37 @@ sakatu kontua berresteko esteka.";
|
|||
"Scene.Report.SkipToSend" = "Bidali iruzkinik gabe";
|
||||
"Scene.Report.Step1" = "1. urratsa 2tik";
|
||||
"Scene.Report.Step2" = "2. urratsa 2tik";
|
||||
"Scene.Report.StepFinal.BlockUser" = "Block %@";
|
||||
"Scene.Report.StepFinal.DontWantToSeeThis" = "Don’t want to see this?";
|
||||
"Scene.Report.StepFinal.MuteUser" = "Mute %@";
|
||||
"Scene.Report.StepFinal.TheyWillNoLongerBeAbleToFollowOrSeeYourPostsButTheyCanSeeIfTheyveBeenBlocked" = "They will no longer be able to follow or see your posts, but they can see if they’ve been blocked.";
|
||||
"Scene.Report.StepFinal.Unfollow" = "Unfollow";
|
||||
"Scene.Report.StepFinal.UnfollowUser" = "Unfollow %@";
|
||||
"Scene.Report.StepFinal.Unfollowed" = "Unfollowed";
|
||||
"Scene.Report.StepFinal.WhenYouSeeSomethingYouDontLikeOnMastodonYouCanRemoveThePersonFromYourExperience." = "When you see something you don’t like on Mastodon, you can remove the person from your experience.";
|
||||
"Scene.Report.StepFinal.YouWontSeeTheirPostsOrReblogsInYourHomeFeedTheyWontKnowTheyVeBeenMuted" = "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.";
|
||||
"Scene.Report.StepFour.IsThereAnythingElseWeShouldKnow" = "Is there anything else we should know?";
|
||||
"Scene.Report.StepFour.Step4Of4" = "Step 4 of 4";
|
||||
"Scene.Report.StepOne.IDontLikeIt" = "I don’t like it";
|
||||
"Scene.Report.StepOne.ItIsNotSomethingYouWantToSee" = "It is not something you want to see";
|
||||
"Scene.Report.StepOne.ItViolatesServerRules" = "It violates server rules";
|
||||
"Scene.Report.StepOne.ItsSomethingElse" = "It’s something else";
|
||||
"Scene.Report.StepOne.ItsSpam" = "It’s spam";
|
||||
"Scene.Report.StepOne.MaliciousLinksFakeEngagementOrRepetetiveReplies" = "Malicious links, fake engagement, or repetetive replies";
|
||||
"Scene.Report.StepOne.SelectTheBestMatch" = "Select the best match";
|
||||
"Scene.Report.StepOne.Step1Of4" = "Step 1 of 4";
|
||||
"Scene.Report.StepOne.TheIssueDoesNotFitIntoOtherCategories" = "The issue does not fit into other categories";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisAccount" = "What's wrong with this account?";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisPost" = "What's wrong with this post?";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisUsername" = "What's wrong with %@?";
|
||||
"Scene.Report.StepOne.YouAreAwareThatItBreaksSpecificRules" = "You are aware that it breaks specific rules";
|
||||
"Scene.Report.StepThree.AreThereAnyPostsThatBackUpThisReport" = "Are there any posts that back up this report?";
|
||||
"Scene.Report.StepThree.SelectAllThatApply" = "Select all that apply";
|
||||
"Scene.Report.StepThree.Step3Of4" = "Step 3 of 4";
|
||||
"Scene.Report.StepTwo.IJustDon’tLikeIt" = "I just don’t like it";
|
||||
"Scene.Report.StepTwo.SelectAllThatApply" = "Select all that apply";
|
||||
"Scene.Report.StepTwo.Step2Of4" = "Step 2 of 4";
|
||||
"Scene.Report.StepTwo.WhichRulesAreBeingViolated" = "Which rules are being violated?";
|
||||
"Scene.Report.TextPlaceholder" = "Idatzi edo itsatsi iruzkin gehigarriak";
|
||||
"Scene.Report.Title" = "Salatu %@";
|
||||
"Scene.Report.TitleReport" = "Salatu";
|
||||
|
@ -333,6 +366,7 @@ sakatu kontua berresteko esteka.";
|
|||
"Scene.ServerPicker.EmptyState.FindingServers" = "Erabilgarri dauden zerbitzariak bilatzen...";
|
||||
"Scene.ServerPicker.EmptyState.NoResults" = "Emaitzarik ez";
|
||||
"Scene.ServerPicker.Input.Placeholder" = "Bilatu zerbitzari bat edo sortu zurea...";
|
||||
"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL";
|
||||
"Scene.ServerPicker.Label.Category" = "KATEGORIA";
|
||||
"Scene.ServerPicker.Label.Language" = "HIZKUNTZA";
|
||||
"Scene.ServerPicker.Label.Users" = "ERABILTZAILEAK";
|
||||
|
|
|
@ -211,6 +211,8 @@ tapotez le lien pour confirmer votre compte.";
|
|||
"Scene.Favorite.Title" = "Vos favoris";
|
||||
"Scene.Follower.Footer" = "Les abonné·e·s issus des autres serveurs ne sont pas affiché·e·s.";
|
||||
"Scene.Following.Footer" = "Les abonnés issus des autres serveurs ne sont pas affichés.";
|
||||
"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoHint" = "Tap to scroll to top and tap again to previous location";
|
||||
"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoLabel" = "Logo Button";
|
||||
"Scene.HomeTimeline.NavigationBarState.NewPosts" = "Voir les nouvelles publications";
|
||||
"Scene.HomeTimeline.NavigationBarState.Offline" = "Hors ligne";
|
||||
"Scene.HomeTimeline.NavigationBarState.Published" = "Publié!";
|
||||
|
@ -293,6 +295,37 @@ tapotez le lien pour confirmer votre compte.";
|
|||
"Scene.Report.SkipToSend" = "Envoyer sans commentaire";
|
||||
"Scene.Report.Step1" = "Étape 1 de 2";
|
||||
"Scene.Report.Step2" = "Étape 2 de 2";
|
||||
"Scene.Report.StepFinal.BlockUser" = "Block %@";
|
||||
"Scene.Report.StepFinal.DontWantToSeeThis" = "Don’t want to see this?";
|
||||
"Scene.Report.StepFinal.MuteUser" = "Mute %@";
|
||||
"Scene.Report.StepFinal.TheyWillNoLongerBeAbleToFollowOrSeeYourPostsButTheyCanSeeIfTheyveBeenBlocked" = "They will no longer be able to follow or see your posts, but they can see if they’ve been blocked.";
|
||||
"Scene.Report.StepFinal.Unfollow" = "Unfollow";
|
||||
"Scene.Report.StepFinal.UnfollowUser" = "Unfollow %@";
|
||||
"Scene.Report.StepFinal.Unfollowed" = "Unfollowed";
|
||||
"Scene.Report.StepFinal.WhenYouSeeSomethingYouDontLikeOnMastodonYouCanRemoveThePersonFromYourExperience." = "When you see something you don’t like on Mastodon, you can remove the person from your experience.";
|
||||
"Scene.Report.StepFinal.YouWontSeeTheirPostsOrReblogsInYourHomeFeedTheyWontKnowTheyVeBeenMuted" = "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.";
|
||||
"Scene.Report.StepFour.IsThereAnythingElseWeShouldKnow" = "Is there anything else we should know?";
|
||||
"Scene.Report.StepFour.Step4Of4" = "Step 4 of 4";
|
||||
"Scene.Report.StepOne.IDontLikeIt" = "I don’t like it";
|
||||
"Scene.Report.StepOne.ItIsNotSomethingYouWantToSee" = "It is not something you want to see";
|
||||
"Scene.Report.StepOne.ItViolatesServerRules" = "It violates server rules";
|
||||
"Scene.Report.StepOne.ItsSomethingElse" = "It’s something else";
|
||||
"Scene.Report.StepOne.ItsSpam" = "It’s spam";
|
||||
"Scene.Report.StepOne.MaliciousLinksFakeEngagementOrRepetetiveReplies" = "Malicious links, fake engagement, or repetetive replies";
|
||||
"Scene.Report.StepOne.SelectTheBestMatch" = "Select the best match";
|
||||
"Scene.Report.StepOne.Step1Of4" = "Step 1 of 4";
|
||||
"Scene.Report.StepOne.TheIssueDoesNotFitIntoOtherCategories" = "The issue does not fit into other categories";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisAccount" = "What's wrong with this account?";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisPost" = "What's wrong with this post?";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisUsername" = "What's wrong with %@?";
|
||||
"Scene.Report.StepOne.YouAreAwareThatItBreaksSpecificRules" = "You are aware that it breaks specific rules";
|
||||
"Scene.Report.StepThree.AreThereAnyPostsThatBackUpThisReport" = "Are there any posts that back up this report?";
|
||||
"Scene.Report.StepThree.SelectAllThatApply" = "Select all that apply";
|
||||
"Scene.Report.StepThree.Step3Of4" = "Step 3 of 4";
|
||||
"Scene.Report.StepTwo.IJustDon’tLikeIt" = "I just don’t like it";
|
||||
"Scene.Report.StepTwo.SelectAllThatApply" = "Select all that apply";
|
||||
"Scene.Report.StepTwo.Step2Of4" = "Step 2 of 4";
|
||||
"Scene.Report.StepTwo.WhichRulesAreBeingViolated" = "Which rules are being violated?";
|
||||
"Scene.Report.TextPlaceholder" = "Tapez ou collez des informations supplémentaires";
|
||||
"Scene.Report.Title" = "Signaler %@";
|
||||
"Scene.Report.TitleReport" = "Signalement";
|
||||
|
@ -333,6 +366,7 @@ tapotez le lien pour confirmer votre compte.";
|
|||
"Scene.ServerPicker.EmptyState.FindingServers" = "Recherche des serveurs disponibles...";
|
||||
"Scene.ServerPicker.EmptyState.NoResults" = "Aucun résultat";
|
||||
"Scene.ServerPicker.Input.Placeholder" = "Trouvez un serveur ou rejoignez le vôtre...";
|
||||
"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL";
|
||||
"Scene.ServerPicker.Label.Category" = "CATÉGORIE";
|
||||
"Scene.ServerPicker.Label.Language" = "LANGUE";
|
||||
"Scene.ServerPicker.Label.Users" = "UTILISATEUR·RICE·S";
|
||||
|
|
|
@ -203,7 +203,7 @@ a luchdadh suas gu Mastodon.";
|
|||
thoir gnogag air a’ chunntas a dhearbhadh a’ chunntais agad.";
|
||||
"Scene.ConfirmEmail.Title" = "Aon rud eile.";
|
||||
"Scene.Discovery.Intro" = "Seo na postaichean fèillmhor ’nad cheàrnaidh de Mhastodon.";
|
||||
"Scene.Discovery.Tabs.Community" = "Community";
|
||||
"Scene.Discovery.Tabs.Community" = "Coimhearsnachd";
|
||||
"Scene.Discovery.Tabs.ForYou" = "Dhut-sa";
|
||||
"Scene.Discovery.Tabs.Hashtags" = "Tagaichean hais";
|
||||
"Scene.Discovery.Tabs.News" = "Naidheachdan";
|
||||
|
@ -211,6 +211,8 @@ thoir gnogag air a’ chunntas a dhearbhadh a’ chunntais agad.";
|
|||
"Scene.Favorite.Title" = "Na h-annsachdan agad";
|
||||
"Scene.Follower.Footer" = "Cha dèid luchd-leantainn o fhrithealaichean eile a shealltainn.";
|
||||
"Scene.Following.Footer" = "Cha dèid cò air a leanas tu air frithealaichean eile a shealltainn.";
|
||||
"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoHint" = "Tap to scroll to top and tap again to previous location";
|
||||
"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoLabel" = "Logo Button";
|
||||
"Scene.HomeTimeline.NavigationBarState.NewPosts" = "Seall na postaichean ùra";
|
||||
"Scene.HomeTimeline.NavigationBarState.Offline" = "Far loidhne";
|
||||
"Scene.HomeTimeline.NavigationBarState.Published" = "Chaidh fhoillseachadh!";
|
||||
|
@ -293,6 +295,37 @@ thoir gnogag air a’ chunntas a dhearbhadh a’ chunntais agad.";
|
|||
"Scene.Report.SkipToSend" = "Cuir gun bheachd ris";
|
||||
"Scene.Report.Step1" = "Ceum 1 à 2";
|
||||
"Scene.Report.Step2" = "Ceum 2 à 2";
|
||||
"Scene.Report.StepFinal.BlockUser" = "Block %@";
|
||||
"Scene.Report.StepFinal.DontWantToSeeThis" = "Don’t want to see this?";
|
||||
"Scene.Report.StepFinal.MuteUser" = "Mute %@";
|
||||
"Scene.Report.StepFinal.TheyWillNoLongerBeAbleToFollowOrSeeYourPostsButTheyCanSeeIfTheyveBeenBlocked" = "They will no longer be able to follow or see your posts, but they can see if they’ve been blocked.";
|
||||
"Scene.Report.StepFinal.Unfollow" = "Unfollow";
|
||||
"Scene.Report.StepFinal.UnfollowUser" = "Unfollow %@";
|
||||
"Scene.Report.StepFinal.Unfollowed" = "Unfollowed";
|
||||
"Scene.Report.StepFinal.WhenYouSeeSomethingYouDontLikeOnMastodonYouCanRemoveThePersonFromYourExperience." = "When you see something you don’t like on Mastodon, you can remove the person from your experience.";
|
||||
"Scene.Report.StepFinal.YouWontSeeTheirPostsOrReblogsInYourHomeFeedTheyWontKnowTheyVeBeenMuted" = "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.";
|
||||
"Scene.Report.StepFour.IsThereAnythingElseWeShouldKnow" = "Is there anything else we should know?";
|
||||
"Scene.Report.StepFour.Step4Of4" = "Step 4 of 4";
|
||||
"Scene.Report.StepOne.IDontLikeIt" = "I don’t like it";
|
||||
"Scene.Report.StepOne.ItIsNotSomethingYouWantToSee" = "It is not something you want to see";
|
||||
"Scene.Report.StepOne.ItViolatesServerRules" = "It violates server rules";
|
||||
"Scene.Report.StepOne.ItsSomethingElse" = "It’s something else";
|
||||
"Scene.Report.StepOne.ItsSpam" = "It’s spam";
|
||||
"Scene.Report.StepOne.MaliciousLinksFakeEngagementOrRepetetiveReplies" = "Malicious links, fake engagement, or repetetive replies";
|
||||
"Scene.Report.StepOne.SelectTheBestMatch" = "Select the best match";
|
||||
"Scene.Report.StepOne.Step1Of4" = "Step 1 of 4";
|
||||
"Scene.Report.StepOne.TheIssueDoesNotFitIntoOtherCategories" = "The issue does not fit into other categories";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisAccount" = "What's wrong with this account?";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisPost" = "What's wrong with this post?";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisUsername" = "What's wrong with %@?";
|
||||
"Scene.Report.StepOne.YouAreAwareThatItBreaksSpecificRules" = "You are aware that it breaks specific rules";
|
||||
"Scene.Report.StepThree.AreThereAnyPostsThatBackUpThisReport" = "Are there any posts that back up this report?";
|
||||
"Scene.Report.StepThree.SelectAllThatApply" = "Select all that apply";
|
||||
"Scene.Report.StepThree.Step3Of4" = "Step 3 of 4";
|
||||
"Scene.Report.StepTwo.IJustDon’tLikeIt" = "I just don’t like it";
|
||||
"Scene.Report.StepTwo.SelectAllThatApply" = "Select all that apply";
|
||||
"Scene.Report.StepTwo.Step2Of4" = "Step 2 of 4";
|
||||
"Scene.Report.StepTwo.WhichRulesAreBeingViolated" = "Which rules are being violated?";
|
||||
"Scene.Report.TextPlaceholder" = "Sgrìobh no cuir ann beachdan a bharrachd";
|
||||
"Scene.Report.Title" = "Dèan gearan mu %@";
|
||||
"Scene.Report.TitleReport" = "Dèan gearan";
|
||||
|
@ -333,6 +366,7 @@ thoir gnogag air a’ chunntas a dhearbhadh a’ chunntais agad.";
|
|||
"Scene.ServerPicker.EmptyState.FindingServers" = "A’ lorg nam frithealaichean ri am faighinn…";
|
||||
"Scene.ServerPicker.EmptyState.NoResults" = "Gun toradh";
|
||||
"Scene.ServerPicker.Input.Placeholder" = "Lorg frithealaiche no gabh pàirt san fhear agad fhèin…";
|
||||
"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL";
|
||||
"Scene.ServerPicker.Label.Category" = "ROINN-SEÒRSA";
|
||||
"Scene.ServerPicker.Label.Language" = "CÀNAN";
|
||||
"Scene.ServerPicker.Label.Users" = "CLEACHDAICHEAN";
|
||||
|
|
|
@ -129,26 +129,26 @@ Comproba a conexión a internet.";
|
|||
"Common.Controls.Tabs.Profile" = "Perfil";
|
||||
"Common.Controls.Tabs.Search" = "Busca";
|
||||
"Common.Controls.Timeline.Filtered" = "Filtrado";
|
||||
"Common.Controls.Timeline.Header.BlockedWarning" = "You can’t view this user’s profile
|
||||
until they unblock you.";
|
||||
"Common.Controls.Timeline.Header.BlockedWarning" = "Non podes ver o perfil desta usuaria
|
||||
ata que te desbloquee.";
|
||||
"Common.Controls.Timeline.Header.BlockingWarning" = "Non podes ver o perfil da usuaria
|
||||
ata que a desbloquees.
|
||||
Así ven outras o teu perfil.";
|
||||
"Common.Controls.Timeline.Header.NoStatusFound" = "Non se atopa a publicación";
|
||||
"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" = "You can’t view %@’s profile
|
||||
until you unblock them.
|
||||
Your profile looks like this to them.";
|
||||
"Common.Controls.Timeline.Header.UserSuspendedWarning" = "%@’s account has been suspended.";
|
||||
"Common.Controls.Timeline.Header.SuspendedWarning" = "Esta usuaria foi suspendida.";
|
||||
"Common.Controls.Timeline.Header.UserBlockedWarning" = "Non podes ver o perfil de %@
|
||||
ata que te desbloquee.";
|
||||
"Common.Controls.Timeline.Header.UserBlockingWarning" = "Non podes ver o perfil de %@
|
||||
ata que o desbloquees.
|
||||
Así se ve o teu perfil.";
|
||||
"Common.Controls.Timeline.Header.UserSuspendedWarning" = "A conta de %@ foi suspendida.";
|
||||
"Common.Controls.Timeline.Loader.LoadMissingPosts" = "Cargar publicacións que faltan";
|
||||
"Common.Controls.Timeline.Loader.LoadingMissingPosts" = "Cargando as publicacións que faltan...";
|
||||
"Common.Controls.Timeline.Loader.ShowMoreReplies" = "Mostrar máis respostas";
|
||||
"Common.Controls.Timeline.Timestamp.Now" = "Agora";
|
||||
"Scene.AccountList.AddAccount" = "Add Account";
|
||||
"Scene.AccountList.DismissAccountSwitcher" = "Dismiss Account Switcher";
|
||||
"Scene.AccountList.TabBarHint" = "Current selected profile: %@. Double tap then hold to show account switcher";
|
||||
"Scene.AccountList.AddAccount" = "Engadir conta";
|
||||
"Scene.AccountList.DismissAccountSwitcher" = "Desbotar intercambiador de contas";
|
||||
"Scene.AccountList.TabBarHint" = "Perfil seleccionado: %@. Dobre toque e manter para mostrar o intercambiador de contas";
|
||||
"Scene.Compose.Accessibility.AppendAttachment" = "Engadir anexo";
|
||||
"Scene.Compose.Accessibility.AppendPoll" = "Engadir enquisa";
|
||||
"Scene.Compose.Accessibility.CustomEmojiPicker" = "Selector emoji personalizado";
|
||||
|
@ -156,15 +156,15 @@ Your profile looks like this to them.";
|
|||
"Scene.Compose.Accessibility.EnableContentWarning" = "Marcar con Aviso sobre o contido";
|
||||
"Scene.Compose.Accessibility.PostVisibilityMenu" = "Visibilidade da publicación";
|
||||
"Scene.Compose.Accessibility.RemovePoll" = "Eliminar enquisa";
|
||||
"Scene.Compose.Attachment.AttachmentBroken" = "This %@ is broken and can’t be
|
||||
uploaded to Mastodon.";
|
||||
"Scene.Compose.Attachment.DescriptionPhoto" = "Describe the photo for the visually-impaired...";
|
||||
"Scene.Compose.Attachment.DescriptionVideo" = "Describe the video for the visually-impaired...";
|
||||
"Scene.Compose.Attachment.Photo" = "photo";
|
||||
"Scene.Compose.Attachment.Video" = "video";
|
||||
"Scene.Compose.Attachment.AttachmentBroken" = "Este %@ está estragado e non pode
|
||||
ser subido a Mastodon.";
|
||||
"Scene.Compose.Attachment.DescriptionPhoto" = "Describe a foto para persoas con problemas visuais...";
|
||||
"Scene.Compose.Attachment.DescriptionVideo" = "Describe o vídeo para persoas con problemas visuais...";
|
||||
"Scene.Compose.Attachment.Photo" = "foto";
|
||||
"Scene.Compose.Attachment.Video" = "vídeo";
|
||||
"Scene.Compose.AutoComplete.SpaceToAdd" = "Barra de espazo engade";
|
||||
"Scene.Compose.ComposeAction" = "Publish";
|
||||
"Scene.Compose.ContentInputPlaceholder" = "Type or paste what’s on your mind";
|
||||
"Scene.Compose.ComposeAction" = "Publicar";
|
||||
"Scene.Compose.ContentInputPlaceholder" = "Escribe o que che apeteza";
|
||||
"Scene.Compose.ContentWarning.Placeholder" = "Escribe o teu aviso aquí...";
|
||||
"Scene.Compose.Keyboard.AppendAttachmentEntry" = "Engadir anexo - %@";
|
||||
"Scene.Compose.Keyboard.DiscardPost" = "Descartar publicación";
|
||||
|
@ -172,59 +172,61 @@ uploaded to Mastodon.";
|
|||
"Scene.Compose.Keyboard.SelectVisibilityEntry" = "Elexir visibilidade - %@";
|
||||
"Scene.Compose.Keyboard.ToggleContentWarning" = "Marcar con Aviso sobre o contido";
|
||||
"Scene.Compose.Keyboard.TogglePoll" = "Activar enquisa";
|
||||
"Scene.Compose.MediaSelection.Browse" = "Browse";
|
||||
"Scene.Compose.MediaSelection.Camera" = "Take Photo";
|
||||
"Scene.Compose.MediaSelection.PhotoLibrary" = "Photo Library";
|
||||
"Scene.Compose.Poll.DurationTime" = "Duration: %@";
|
||||
"Scene.Compose.MediaSelection.Browse" = "Explorar";
|
||||
"Scene.Compose.MediaSelection.Camera" = "Facer foto";
|
||||
"Scene.Compose.MediaSelection.PhotoLibrary" = "Biblioteca de fotos";
|
||||
"Scene.Compose.Poll.DurationTime" = "Duración: %@";
|
||||
"Scene.Compose.Poll.OneDay" = "1 Día";
|
||||
"Scene.Compose.Poll.OneHour" = "1 Hour";
|
||||
"Scene.Compose.Poll.OneHour" = "1 Hora";
|
||||
"Scene.Compose.Poll.OptionNumber" = "Opción %ld";
|
||||
"Scene.Compose.Poll.SevenDays" = "7 Días";
|
||||
"Scene.Compose.Poll.SixHours" = "6 Hours";
|
||||
"Scene.Compose.Poll.ThirtyMinutes" = "30 minutes";
|
||||
"Scene.Compose.Poll.SixHours" = "6 Horas";
|
||||
"Scene.Compose.Poll.ThirtyMinutes" = "30 minutos";
|
||||
"Scene.Compose.Poll.ThreeDays" = "3 Días";
|
||||
"Scene.Compose.ReplyingToUser" = "replying to %@";
|
||||
"Scene.Compose.Title.NewPost" = "New Post";
|
||||
"Scene.Compose.Title.NewReply" = "New Reply";
|
||||
"Scene.Compose.ReplyingToUser" = "en resposta a %@";
|
||||
"Scene.Compose.Title.NewPost" = "Nova publicación";
|
||||
"Scene.Compose.Title.NewReply" = "Nova resposta";
|
||||
"Scene.Compose.Visibility.Direct" = "Só para persoas mencionadas";
|
||||
"Scene.Compose.Visibility.Private" = "Só para seguidoras";
|
||||
"Scene.Compose.Visibility.Public" = "Público";
|
||||
"Scene.Compose.Visibility.Unlisted" = "Non listado";
|
||||
"Scene.ConfirmEmail.Button.OpenEmailApp" = "Open Email App";
|
||||
"Scene.ConfirmEmail.Button.Resend" = "Resend";
|
||||
"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.OpenEmailApp.Mail" = "Mail";
|
||||
"Scene.ConfirmEmail.OpenEmailApp.OpenEmailClient" = "Open Email Client";
|
||||
"Scene.ConfirmEmail.OpenEmailApp.Title" = "Check your inbox.";
|
||||
"Scene.ConfirmEmail.Subtitle" = "Tap the link we emailed to you to verify your account.";
|
||||
"Scene.ConfirmEmail.Title" = "One last thing.";
|
||||
"Scene.Discovery.Intro" = "These are the posts gaining traction in your corner of Mastodon.";
|
||||
"Scene.ConfirmEmail.Button.OpenEmailApp" = "Abrir app de email";
|
||||
"Scene.ConfirmEmail.Button.Resend" = "Reenviar";
|
||||
"Scene.ConfirmEmail.DontReceiveEmail.Description" = "Comproba que o enderezo de email é correcto e que non vaia directo ao cartafol de spam.";
|
||||
"Scene.ConfirmEmail.DontReceiveEmail.ResendEmail" = "Volver enviar o correo";
|
||||
"Scene.ConfirmEmail.DontReceiveEmail.Title" = "Revisa o teu correo";
|
||||
"Scene.ConfirmEmail.OpenEmailApp.Description" = "Enviámosche un email. Se non aparece, mira no cartafol do lixo.";
|
||||
"Scene.ConfirmEmail.OpenEmailApp.Mail" = "Correo";
|
||||
"Scene.ConfirmEmail.OpenEmailApp.OpenEmailClient" = "Abrir cliente de email";
|
||||
"Scene.ConfirmEmail.OpenEmailApp.Title" = "Mira na caixa de correo.";
|
||||
"Scene.ConfirmEmail.Subtitle" = "Preme na ligazón que che enviamos ao email para verificar a conta.";
|
||||
"Scene.ConfirmEmail.Title" = "O último detalle.";
|
||||
"Scene.Discovery.Intro" = "Estas son as publicacións en voga no teu recuncho de Mastodon.";
|
||||
"Scene.Discovery.Tabs.Community" = "Comunidade";
|
||||
"Scene.Discovery.Tabs.ForYou" = "For You";
|
||||
"Scene.Discovery.Tabs.ForYou" = "Para ti";
|
||||
"Scene.Discovery.Tabs.Hashtags" = "Cancelos";
|
||||
"Scene.Discovery.Tabs.News" = "Novas";
|
||||
"Scene.Discovery.Tabs.Posts" = "Publicacións";
|
||||
"Scene.Favorite.Title" = "Your Favorites";
|
||||
"Scene.Favorite.Title" = "Publicacións Favoritas";
|
||||
"Scene.Follower.Footer" = "Non se mostran seguidoras desde outros servidores.";
|
||||
"Scene.Following.Footer" = "Non se mostran os seguimentos desde outros servidores.";
|
||||
"Scene.HomeTimeline.NavigationBarState.NewPosts" = "See new posts";
|
||||
"Scene.HomeTimeline.NavigationBarState.Offline" = "Offline";
|
||||
"Scene.HomeTimeline.NavigationBarState.Published" = "Published!";
|
||||
"Scene.HomeTimeline.NavigationBarState.Publishing" = "Publishing post...";
|
||||
"Scene.HomeTimeline.Title" = "Home";
|
||||
"Scene.Notification.Keyobard.ShowEverything" = "Show Everything";
|
||||
"Scene.Notification.Keyobard.ShowMentions" = "Show Mentions";
|
||||
"Scene.Notification.NotificationDescription.FavoritedYourPost" = "favorited your post";
|
||||
"Scene.Notification.NotificationDescription.FollowedYou" = "followed you";
|
||||
"Scene.Notification.NotificationDescription.MentionedYou" = "mentioned you";
|
||||
"Scene.Notification.NotificationDescription.PollHasEnded" = "poll has ended";
|
||||
"Scene.Notification.NotificationDescription.RebloggedYourPost" = "reblogged your post";
|
||||
"Scene.Notification.NotificationDescription.RequestToFollowYou" = "request to follow you";
|
||||
"Scene.Notification.Title.Everything" = "Everything";
|
||||
"Scene.Notification.Title.Mentions" = "Mentions";
|
||||
"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoHint" = "Tap to scroll to top and tap again to previous location";
|
||||
"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoLabel" = "Logo Button";
|
||||
"Scene.HomeTimeline.NavigationBarState.NewPosts" = "Novas publicacións";
|
||||
"Scene.HomeTimeline.NavigationBarState.Offline" = "Sen conexión";
|
||||
"Scene.HomeTimeline.NavigationBarState.Published" = "Publicado!";
|
||||
"Scene.HomeTimeline.NavigationBarState.Publishing" = "Publicando...";
|
||||
"Scene.HomeTimeline.Title" = "Inicio";
|
||||
"Scene.Notification.Keyobard.ShowEverything" = "Mostrar Todo";
|
||||
"Scene.Notification.Keyobard.ShowMentions" = "Mostrar mencións";
|
||||
"Scene.Notification.NotificationDescription.FavoritedYourPost" = "marcou a túa publicación como favorita";
|
||||
"Scene.Notification.NotificationDescription.FollowedYou" = "séguete";
|
||||
"Scene.Notification.NotificationDescription.MentionedYou" = "mencionoute";
|
||||
"Scene.Notification.NotificationDescription.PollHasEnded" = "a enquisa rematou";
|
||||
"Scene.Notification.NotificationDescription.RebloggedYourPost" = "compartiu a túa publicación";
|
||||
"Scene.Notification.NotificationDescription.RequestToFollowYou" = "solicitou seguirte";
|
||||
"Scene.Notification.Title.Everything" = "Todo";
|
||||
"Scene.Notification.Title.Mentions" = "Mencións";
|
||||
"Scene.Preview.Keyboard.ClosePreview" = "Pechar vista previa";
|
||||
"Scene.Preview.Keyboard.ShowNext" = "Mostrar Seguinte";
|
||||
"Scene.Preview.Keyboard.ShowPrevious" = "Mostar Anterior";
|
||||
|
@ -267,10 +269,10 @@ uploaded to Mastodon.";
|
|||
"Scene.Register.Error.Reason.TooLong" = "%@ é demasiado longo";
|
||||
"Scene.Register.Error.Reason.TooShort" = "%@ é demasiado curto";
|
||||
"Scene.Register.Error.Reason.Unreachable" = "%@ semella que non existe";
|
||||
"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.EmailInvalid" = "Este non é un enderezo válido de email";
|
||||
"Scene.Register.Error.Special.PasswordTooShort" = "O contrasinal é demasiado curto (debe ter 8 caracteres como mínimo)";
|
||||
"Scene.Register.Error.Special.UsernameInvalid" = "O nome de usuaria só pode ter caracteres alfanuméricos e trazos baixos";
|
||||
"Scene.Register.Error.Special.UsernameTooLong" = "Username is too long (can’t be longer than 30 characters)";
|
||||
"Scene.Register.Error.Special.UsernameTooLong" = "O nome de usuaria é demasiado longo (maior de 30 caracteres)";
|
||||
"Scene.Register.Input.Avatar.Delete" = "Eliminar";
|
||||
"Scene.Register.Input.DisplayName.Placeholder" = "nome público";
|
||||
"Scene.Register.Input.Email.Placeholder" = "email";
|
||||
|
@ -292,6 +294,37 @@ uploaded to Mastodon.";
|
|||
"Scene.Report.SkipToSend" = "Enviar sen comentarios";
|
||||
"Scene.Report.Step1" = "Paso 1 de 2";
|
||||
"Scene.Report.Step2" = "Paso 2 de 2";
|
||||
"Scene.Report.StepFinal.BlockUser" = "Block %@";
|
||||
"Scene.Report.StepFinal.DontWantToSeeThis" = "Don’t want to see this?";
|
||||
"Scene.Report.StepFinal.MuteUser" = "Mute %@";
|
||||
"Scene.Report.StepFinal.TheyWillNoLongerBeAbleToFollowOrSeeYourPostsButTheyCanSeeIfTheyveBeenBlocked" = "They will no longer be able to follow or see your posts, but they can see if they’ve been blocked.";
|
||||
"Scene.Report.StepFinal.Unfollow" = "Unfollow";
|
||||
"Scene.Report.StepFinal.UnfollowUser" = "Unfollow %@";
|
||||
"Scene.Report.StepFinal.Unfollowed" = "Unfollowed";
|
||||
"Scene.Report.StepFinal.WhenYouSeeSomethingYouDontLikeOnMastodonYouCanRemoveThePersonFromYourExperience." = "When you see something you don’t like on Mastodon, you can remove the person from your experience.";
|
||||
"Scene.Report.StepFinal.YouWontSeeTheirPostsOrReblogsInYourHomeFeedTheyWontKnowTheyVeBeenMuted" = "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.";
|
||||
"Scene.Report.StepFour.IsThereAnythingElseWeShouldKnow" = "Is there anything else we should know?";
|
||||
"Scene.Report.StepFour.Step4Of4" = "Step 4 of 4";
|
||||
"Scene.Report.StepOne.IDontLikeIt" = "I don’t like it";
|
||||
"Scene.Report.StepOne.ItIsNotSomethingYouWantToSee" = "It is not something you want to see";
|
||||
"Scene.Report.StepOne.ItViolatesServerRules" = "It violates server rules";
|
||||
"Scene.Report.StepOne.ItsSomethingElse" = "It’s something else";
|
||||
"Scene.Report.StepOne.ItsSpam" = "It’s spam";
|
||||
"Scene.Report.StepOne.MaliciousLinksFakeEngagementOrRepetetiveReplies" = "Malicious links, fake engagement, or repetetive replies";
|
||||
"Scene.Report.StepOne.SelectTheBestMatch" = "Select the best match";
|
||||
"Scene.Report.StepOne.Step1Of4" = "Step 1 of 4";
|
||||
"Scene.Report.StepOne.TheIssueDoesNotFitIntoOtherCategories" = "The issue does not fit into other categories";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisAccount" = "What's wrong with this account?";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisPost" = "What's wrong with this post?";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisUsername" = "What's wrong with %@?";
|
||||
"Scene.Report.StepOne.YouAreAwareThatItBreaksSpecificRules" = "You are aware that it breaks specific rules";
|
||||
"Scene.Report.StepThree.AreThereAnyPostsThatBackUpThisReport" = "Are there any posts that back up this report?";
|
||||
"Scene.Report.StepThree.SelectAllThatApply" = "Select all that apply";
|
||||
"Scene.Report.StepThree.Step3Of4" = "Step 3 of 4";
|
||||
"Scene.Report.StepTwo.IJustDon’tLikeIt" = "I just don’t like it";
|
||||
"Scene.Report.StepTwo.SelectAllThatApply" = "Select all that apply";
|
||||
"Scene.Report.StepTwo.Step2Of4" = "Step 2 of 4";
|
||||
"Scene.Report.StepTwo.WhichRulesAreBeingViolated" = "Which rules are being violated?";
|
||||
"Scene.Report.TextPlaceholder" = "Escribe ou pega comentarios adicionais";
|
||||
"Scene.Report.Title" = "Denunciar a %@";
|
||||
"Scene.Report.TitleReport" = "Denunciar";
|
||||
|
@ -332,61 +365,62 @@ uploaded to Mastodon.";
|
|||
"Scene.ServerPicker.EmptyState.FindingServers" = "Buscando servidores dispoñibles...";
|
||||
"Scene.ServerPicker.EmptyState.NoResults" = "Sen resultados";
|
||||
"Scene.ServerPicker.Input.Placeholder" = "Buscar comunidades";
|
||||
"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL";
|
||||
"Scene.ServerPicker.Label.Category" = "CATEGORÍA";
|
||||
"Scene.ServerPicker.Label.Language" = "IDIOMA";
|
||||
"Scene.ServerPicker.Label.Users" = "USUARIAS";
|
||||
"Scene.ServerPicker.Subtitle" = "Elixe unha comunidade en función dos teus intereses, rexión ou unha de propósito xeral.";
|
||||
"Scene.ServerPicker.SubtitleExtend" = "Elixe unha comunidade en función dos teus intereses, rexión ou unha de propósito xeral. Cada comunidade está xestionada por unha organización totalmente independente ou unha única persoa.";
|
||||
"Scene.ServerPicker.Title" = "Mastodon fórmano as persoas das diferentes comunidades.";
|
||||
"Scene.ServerRules.Button.Confirm" = "I Agree";
|
||||
"Scene.ServerRules.PrivacyPolicy" = "privacy policy";
|
||||
"Scene.ServerRules.Prompt" = "By continuing, you’re subject to the terms of service and privacy policy for %@.";
|
||||
"Scene.ServerRules.Subtitle" = "These are set and enforced by the %@ moderators.";
|
||||
"Scene.ServerRules.TermsOfService" = "terms of service";
|
||||
"Scene.ServerRules.Title" = "Some ground rules.";
|
||||
"Scene.Settings.Footer.MastodonDescription" = "Mastodon is open source software. You can report issues on GitHub at %@ (%@)";
|
||||
"Scene.Settings.Keyboard.CloseSettingsWindow" = "Close Settings Window";
|
||||
"Scene.Settings.Section.Appearance.Automatic" = "Automatic";
|
||||
"Scene.Settings.Section.Appearance.Dark" = "Always Dark";
|
||||
"Scene.Settings.Section.Appearance.Light" = "Always Light";
|
||||
"Scene.Settings.Section.Appearance.Title" = "Appearance";
|
||||
"Scene.Settings.Section.BoringZone.AccountSettings" = "Account Settings";
|
||||
"Scene.Settings.Section.BoringZone.Privacy" = "Privacy Policy";
|
||||
"Scene.Settings.Section.BoringZone.Terms" = "Terms of Service";
|
||||
"Scene.Settings.Section.BoringZone.Title" = "The Boring Zone";
|
||||
"Scene.Settings.Section.LookAndFeel.Light" = "Light";
|
||||
"Scene.Settings.Section.LookAndFeel.ReallyDark" = "Really Dark";
|
||||
"Scene.Settings.Section.LookAndFeel.SortaDark" = "Sorta Dark";
|
||||
"Scene.Settings.Section.LookAndFeel.Title" = "Look and Feel";
|
||||
"Scene.Settings.Section.LookAndFeel.UseSystem" = "Use System";
|
||||
"Scene.Settings.Section.Notifications.Boosts" = "Reblogs my post";
|
||||
"Scene.Settings.Section.Notifications.Favorites" = "Favorites my post";
|
||||
"Scene.Settings.Section.Notifications.Follows" = "Follows me";
|
||||
"Scene.Settings.Section.Notifications.Mentions" = "Mentions me";
|
||||
"Scene.Settings.Section.Notifications.Title" = "Notifications";
|
||||
"Scene.Settings.Section.Notifications.Trigger.Anyone" = "anyone";
|
||||
"Scene.Settings.Section.Notifications.Trigger.Follow" = "anyone I follow";
|
||||
"Scene.Settings.Section.Notifications.Trigger.Follower" = "a follower";
|
||||
"Scene.Settings.Section.Notifications.Trigger.Noone" = "no one";
|
||||
"Scene.Settings.Section.Notifications.Trigger.Title" = "Notify me when";
|
||||
"Scene.Settings.Section.Preference.DisableAvatarAnimation" = "Disable animated avatars";
|
||||
"Scene.Settings.Section.Preference.DisableEmojiAnimation" = "Disable animated emojis";
|
||||
"Scene.Settings.Section.Preference.OpenLinksInMastodon" = "Open links in Mastodon";
|
||||
"Scene.Settings.Section.Preference.Title" = "Preferences";
|
||||
"Scene.Settings.Section.Preference.TrueBlackDarkMode" = "True black dark mode";
|
||||
"Scene.Settings.Section.Preference.UsingDefaultBrowser" = "Use default browser to open links";
|
||||
"Scene.Settings.Section.SpicyZone.Clear" = "Clear Media Cache";
|
||||
"Scene.Settings.Section.SpicyZone.Signout" = "Sign Out";
|
||||
"Scene.Settings.Section.SpicyZone.Title" = "The Spicy Zone";
|
||||
"Scene.Settings.Title" = "Settings";
|
||||
"Scene.SuggestionAccount.FollowExplain" = "When you follow someone, you’ll see their posts in your home feed.";
|
||||
"Scene.SuggestionAccount.Title" = "Find People to Follow";
|
||||
"Scene.Thread.BackTitle" = "Post";
|
||||
"Scene.Thread.Title" = "Post from %@";
|
||||
"Scene.ServerRules.Button.Confirm" = "Acepto";
|
||||
"Scene.ServerRules.PrivacyPolicy" = "polícica de privacidade";
|
||||
"Scene.ServerRules.Prompt" = "Ao continuar, acatas os termos do servizo e a política de privacidade para %@.";
|
||||
"Scene.ServerRules.Subtitle" = "Son establecidas e aplicadas pola moderación de %@.";
|
||||
"Scene.ServerRules.TermsOfService" = "termos do servizo";
|
||||
"Scene.ServerRules.Title" = "Algunhas regras básicas.";
|
||||
"Scene.Settings.Footer.MastodonDescription" = "Mastodon é software de código aberto. Podes informar de fallos en GitHub en %@ (%@)";
|
||||
"Scene.Settings.Keyboard.CloseSettingsWindow" = "Pechar ventá de axustes";
|
||||
"Scene.Settings.Section.Appearance.Automatic" = "Automático";
|
||||
"Scene.Settings.Section.Appearance.Dark" = "Sempre escuro";
|
||||
"Scene.Settings.Section.Appearance.Light" = "Sempre claro";
|
||||
"Scene.Settings.Section.Appearance.Title" = "Aparencia";
|
||||
"Scene.Settings.Section.BoringZone.AccountSettings" = "Axustes da conta";
|
||||
"Scene.Settings.Section.BoringZone.Privacy" = "Política de Privacidade";
|
||||
"Scene.Settings.Section.BoringZone.Terms" = "Termos do Servizo";
|
||||
"Scene.Settings.Section.BoringZone.Title" = "A zona aburrida";
|
||||
"Scene.Settings.Section.LookAndFeel.Light" = "Claro";
|
||||
"Scene.Settings.Section.LookAndFeel.ReallyDark" = "Realmente escuro";
|
||||
"Scene.Settings.Section.LookAndFeel.SortaDark" = "Algo escuro";
|
||||
"Scene.Settings.Section.LookAndFeel.Title" = "Aparencia";
|
||||
"Scene.Settings.Section.LookAndFeel.UseSystem" = "Seguir o sistema";
|
||||
"Scene.Settings.Section.Notifications.Boosts" = "Promove a miña publicación";
|
||||
"Scene.Settings.Section.Notifications.Favorites" = "Favorece a miña publicación";
|
||||
"Scene.Settings.Section.Notifications.Follows" = "Me segue";
|
||||
"Scene.Settings.Section.Notifications.Mentions" = "Me menciona";
|
||||
"Scene.Settings.Section.Notifications.Title" = "Notificacións";
|
||||
"Scene.Settings.Section.Notifications.Trigger.Anyone" = "calquera";
|
||||
"Scene.Settings.Section.Notifications.Trigger.Follow" = "alguén a quen sigo";
|
||||
"Scene.Settings.Section.Notifications.Trigger.Follower" = "unha seguidora";
|
||||
"Scene.Settings.Section.Notifications.Trigger.Noone" = "ninguén";
|
||||
"Scene.Settings.Section.Notifications.Trigger.Title" = "Avisarme cando";
|
||||
"Scene.Settings.Section.Preference.DisableAvatarAnimation" = "Desactivar avatares animados";
|
||||
"Scene.Settings.Section.Preference.DisableEmojiAnimation" = "Desactivar emojis animados";
|
||||
"Scene.Settings.Section.Preference.OpenLinksInMastodon" = "Abrir ligazóns en Mastodon";
|
||||
"Scene.Settings.Section.Preference.Title" = "Preferencias";
|
||||
"Scene.Settings.Section.Preference.TrueBlackDarkMode" = "Modo negro verdadeiro";
|
||||
"Scene.Settings.Section.Preference.UsingDefaultBrowser" = "Usar navegador por defecto para as ligazóns";
|
||||
"Scene.Settings.Section.SpicyZone.Clear" = "Limpar caché multimedia";
|
||||
"Scene.Settings.Section.SpicyZone.Signout" = "Pechar sesión";
|
||||
"Scene.Settings.Section.SpicyZone.Title" = "A zona picante";
|
||||
"Scene.Settings.Title" = "Axustes";
|
||||
"Scene.SuggestionAccount.FollowExplain" = "Cando sigas a alguén verás as súas publicacións na cronoloxía de inicio.";
|
||||
"Scene.SuggestionAccount.Title" = "Atopar persoas para seguir";
|
||||
"Scene.Thread.BackTitle" = "Publicación";
|
||||
"Scene.Thread.Title" = "Publicación de %@";
|
||||
"Scene.Welcome.GetStarted" = "Comezar";
|
||||
"Scene.Welcome.LogIn" = "Acceder";
|
||||
"Scene.Welcome.Slogan" = "Social networking
|
||||
back in your hands.";
|
||||
"Scene.Wizard.AccessibilityHint" = "Double tap to dismiss this wizard";
|
||||
"Scene.Wizard.MultipleAccountSwitchIntroDescription" = "Switch between multiple accounts by holding the profile button.";
|
||||
"Scene.Wizard.NewInMastodon" = "New in Mastodon";
|
||||
"Scene.Welcome.Slogan" = "Comunicación social
|
||||
de volta ás túas mans.";
|
||||
"Scene.Wizard.AccessibilityHint" = "Dobre toque para desbotar este asistente";
|
||||
"Scene.Wizard.MultipleAccountSwitchIntroDescription" = "Cambia dunha conta a outra mantendo preso o botón do perfil.";
|
||||
"Scene.Wizard.NewInMastodon" = "Novidade en Mastodon";
|
|
@ -13,15 +13,15 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 unread notification</string>
|
||||
<string>1 notificación non lida</string>
|
||||
<key>other</key>
|
||||
<string>%ld unread notification</string>
|
||||
<string>%ld notificacións non lidas</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>a11y.plural.count.input_limit_exceeds</key>
|
||||
<dict>
|
||||
<key>NSStringLocalizedFormatKey</key>
|
||||
<string>Input limit exceeds %#@character_count@</string>
|
||||
<string>O límite supera %#@character_count@</string>
|
||||
<key>character_count</key>
|
||||
<dict>
|
||||
<key>NSStringFormatSpecTypeKey</key>
|
||||
|
@ -29,15 +29,15 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 character</string>
|
||||
<string>1 caracter</string>
|
||||
<key>other</key>
|
||||
<string>%ld characters</string>
|
||||
<string>%ld caracteres</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>a11y.plural.count.input_limit_remains</key>
|
||||
<dict>
|
||||
<key>NSStringLocalizedFormatKey</key>
|
||||
<string>Input limit remains %#@character_count@</string>
|
||||
<string>O límite de entrada mantense en %#@character_count@</string>
|
||||
<key>character_count</key>
|
||||
<dict>
|
||||
<key>NSStringFormatSpecTypeKey</key>
|
||||
|
@ -45,9 +45,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 character</string>
|
||||
<string>1 caracter</string>
|
||||
<key>other</key>
|
||||
<string>%ld characters</string>
|
||||
<string>%ld caracteres</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>plural.count.metric_formatted.post</key>
|
||||
|
@ -61,9 +61,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>post</string>
|
||||
<string>publicación</string>
|
||||
<key>other</key>
|
||||
<string>posts</string>
|
||||
<string>publicacións</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>plural.count.post</key>
|
||||
|
@ -77,9 +77,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 post</string>
|
||||
<string>1 publicación</string>
|
||||
<key>other</key>
|
||||
<string>%ld posts</string>
|
||||
<string>%ld publicacións</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>plural.count.favorite</key>
|
||||
|
@ -93,9 +93,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 favorite</string>
|
||||
<string>1 favorito</string>
|
||||
<key>other</key>
|
||||
<string>%ld favorites</string>
|
||||
<string>%ld favoritos</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>plural.count.reblog</key>
|
||||
|
@ -109,9 +109,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 reblog</string>
|
||||
<string>1 promoción</string>
|
||||
<key>other</key>
|
||||
<string>%ld reblogs</string>
|
||||
<string>%ld promocións</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>plural.count.reply</key>
|
||||
|
@ -125,9 +125,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 reply</string>
|
||||
<string>1 resposta</string>
|
||||
<key>other</key>
|
||||
<string>%ld replies</string>
|
||||
<string>%ld respostas</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>plural.count.vote</key>
|
||||
|
@ -141,9 +141,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 vote</string>
|
||||
<string>1 voto</string>
|
||||
<key>other</key>
|
||||
<string>%ld votes</string>
|
||||
<string>%ld votos</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>plural.count.voter</key>
|
||||
|
@ -157,9 +157,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 voter</string>
|
||||
<string>1 votante</string>
|
||||
<key>other</key>
|
||||
<string>%ld voters</string>
|
||||
<string>%ld votantes</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>plural.people_talking</key>
|
||||
|
@ -173,9 +173,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 people talking</string>
|
||||
<string>1 persoa comentando</string>
|
||||
<key>other</key>
|
||||
<string>%ld people talking</string>
|
||||
<string>%ld persoas comentando</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>plural.count.following</key>
|
||||
|
@ -189,9 +189,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 following</string>
|
||||
<string>1 seguimento</string>
|
||||
<key>other</key>
|
||||
<string>%ld following</string>
|
||||
<string>%ld seguimentos</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>plural.count.follower</key>
|
||||
|
@ -205,9 +205,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 follower</string>
|
||||
<string>1 seguidora</string>
|
||||
<key>other</key>
|
||||
<string>%ld followers</string>
|
||||
<string>%ld seguidoras</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.year.left</key>
|
||||
|
@ -221,9 +221,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 year left</string>
|
||||
<string>Queda 1 ano</string>
|
||||
<key>other</key>
|
||||
<string>%ld years left</string>
|
||||
<string>Quedan %ld anos</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.month.left</key>
|
||||
|
@ -237,9 +237,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 months left</string>
|
||||
<string>Queda 1 mes</string>
|
||||
<key>other</key>
|
||||
<string>%ld months left</string>
|
||||
<string>Quedan %ld meses</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.day.left</key>
|
||||
|
@ -253,9 +253,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 day left</string>
|
||||
<string>Queda 1 día</string>
|
||||
<key>other</key>
|
||||
<string>%ld days left</string>
|
||||
<string>Quedan %ld días</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.hour.left</key>
|
||||
|
@ -269,9 +269,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 hour left</string>
|
||||
<string>Queda 1 hora</string>
|
||||
<key>other</key>
|
||||
<string>%ld hours left</string>
|
||||
<string>Quedan %ld horas</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.minute.left</key>
|
||||
|
@ -285,9 +285,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 minute left</string>
|
||||
<string>Queda 1 minuto</string>
|
||||
<key>other</key>
|
||||
<string>%ld minutes left</string>
|
||||
<string>Quedan %ld minutos</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.second.left</key>
|
||||
|
@ -301,9 +301,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1 second left</string>
|
||||
<string>Queda 1 segundo</string>
|
||||
<key>other</key>
|
||||
<string>%ld seconds left</string>
|
||||
<string>Quedan %ld segundos</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.year.ago.abbr</key>
|
||||
|
@ -317,9 +317,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1y ago</string>
|
||||
<string>hai 1 ano</string>
|
||||
<key>other</key>
|
||||
<string>%ldy ago</string>
|
||||
<string>hai %ld anos</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.month.ago.abbr</key>
|
||||
|
@ -333,9 +333,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1M ago</string>
|
||||
<string>hai 1 mes</string>
|
||||
<key>other</key>
|
||||
<string>%ldM ago</string>
|
||||
<string>hai %ld meses</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.day.ago.abbr</key>
|
||||
|
@ -349,9 +349,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1d ago</string>
|
||||
<string>hai 1 día</string>
|
||||
<key>other</key>
|
||||
<string>%ldd ago</string>
|
||||
<string>hai %ld días</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.hour.ago.abbr</key>
|
||||
|
@ -365,9 +365,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1h ago</string>
|
||||
<string>fai 1 hora</string>
|
||||
<key>other</key>
|
||||
<string>%ldh ago</string>
|
||||
<string>fai %ld horas</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.minute.ago.abbr</key>
|
||||
|
@ -381,9 +381,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1m ago</string>
|
||||
<string>fai 1 minuto</string>
|
||||
<key>other</key>
|
||||
<string>%ldm ago</string>
|
||||
<string>fai %ld minutos</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>date.second.ago.abbr</key>
|
||||
|
@ -397,9 +397,9 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>one</key>
|
||||
<string>1s ago</string>
|
||||
<string>fai 1 seg.</string>
|
||||
<key>other</key>
|
||||
<string>%lds ago</string>
|
||||
<string>fai %ld seg.</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
|
|
|
@ -210,6 +210,8 @@ caricato su Mastodon.";
|
|||
"Scene.Favorite.Title" = "I tuoi preferiti";
|
||||
"Scene.Follower.Footer" = "I seguaci da altri server non vengono visualizzati.";
|
||||
"Scene.Following.Footer" = "I follow da altri server non vengono visualizzati.";
|
||||
"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoHint" = "Tocca per scorrere verso l'alto e tocca di nuovo verso la posizione precedente";
|
||||
"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoLabel" = "Pulsante Logo";
|
||||
"Scene.HomeTimeline.NavigationBarState.NewPosts" = "Vedi nuovi post";
|
||||
"Scene.HomeTimeline.NavigationBarState.Offline" = "Non in linea";
|
||||
"Scene.HomeTimeline.NavigationBarState.Published" = "Pubblicato!";
|
||||
|
@ -292,6 +294,37 @@ caricato su Mastodon.";
|
|||
"Scene.Report.SkipToSend" = "Invia senza commento";
|
||||
"Scene.Report.Step1" = "Fase 1 di 2";
|
||||
"Scene.Report.Step2" = "Fase 2 di 2";
|
||||
"Scene.Report.StepFinal.BlockUser" = "Blocca %@";
|
||||
"Scene.Report.StepFinal.DontWantToSeeThis" = "Non vuoi vedere questo?";
|
||||
"Scene.Report.StepFinal.MuteUser" = "Silenzia %@";
|
||||
"Scene.Report.StepFinal.TheyWillNoLongerBeAbleToFollowOrSeeYourPostsButTheyCanSeeIfTheyveBeenBlocked" = "Non saranno più in grado di seguire o vedere i tuoi post, ma possono vedere se sono stati bloccati.";
|
||||
"Scene.Report.StepFinal.Unfollow" = "Smetti di seguire";
|
||||
"Scene.Report.StepFinal.UnfollowUser" = "Smetti di seguire %@";
|
||||
"Scene.Report.StepFinal.Unfollowed" = "Non seguito";
|
||||
"Scene.Report.StepFinal.WhenYouSeeSomethingYouDontLikeOnMastodonYouCanRemoveThePersonFromYourExperience." = "Quando vedi qualcosa che non ti piace su Mastodon, puoi rimuovere la persona dalla tua esperienza.";
|
||||
"Scene.Report.StepFinal.YouWontSeeTheirPostsOrReblogsInYourHomeFeedTheyWontKnowTheyVeBeenMuted" = "Non vedrai i loro post o le condivisioni nel tuo feed. Non sapranno di essere stati silenziati.";
|
||||
"Scene.Report.StepFour.IsThereAnythingElseWeShouldKnow" = "C'è altro che dovremmo sapere?";
|
||||
"Scene.Report.StepFour.Step4Of4" = "Fase 4 di 4";
|
||||
"Scene.Report.StepOne.IDontLikeIt" = "Non mi piace";
|
||||
"Scene.Report.StepOne.ItIsNotSomethingYouWantToSee" = "È qualcosa che non vuoi vedere";
|
||||
"Scene.Report.StepOne.ItViolatesServerRules" = "Viola le regole del server";
|
||||
"Scene.Report.StepOne.ItsSomethingElse" = "È qualcos'altro";
|
||||
"Scene.Report.StepOne.ItsSpam" = "È spam";
|
||||
"Scene.Report.StepOne.MaliciousLinksFakeEngagementOrRepetetiveReplies" = "Collegamenti malevoli, false interazioni o risposte ripetitive";
|
||||
"Scene.Report.StepOne.SelectTheBestMatch" = "Scegli la migliore corrispondenza";
|
||||
"Scene.Report.StepOne.Step1Of4" = "Fase 1 di 4";
|
||||
"Scene.Report.StepOne.TheIssueDoesNotFitIntoOtherCategories" = "Il problema non rientra in altre categorie";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisAccount" = "Cosa c'è che non va con questo account?";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisPost" = "Cosa c'è che non va con questo post?";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisUsername" = "Cosa c'è che non va con %@?";
|
||||
"Scene.Report.StepOne.YouAreAwareThatItBreaksSpecificRules" = "Sei consapevole che violi regole specifiche";
|
||||
"Scene.Report.StepThree.AreThereAnyPostsThatBackUpThisReport" = "Ci sono post a sostegno di questa segnalazione?";
|
||||
"Scene.Report.StepThree.SelectAllThatApply" = "Seleziona tutte le risposte pertinenti";
|
||||
"Scene.Report.StepThree.Step3Of4" = "Fase 3 di 4";
|
||||
"Scene.Report.StepTwo.IJustDon’tLikeIt" = "Non mi piace";
|
||||
"Scene.Report.StepTwo.SelectAllThatApply" = "Seleziona tutte le risposte pertinenti";
|
||||
"Scene.Report.StepTwo.Step2Of4" = "Fase 2 di 4";
|
||||
"Scene.Report.StepTwo.WhichRulesAreBeingViolated" = "Quali regole vengono violate?";
|
||||
"Scene.Report.TextPlaceholder" = "Digita o incolla commenti aggiuntivi";
|
||||
"Scene.Report.Title" = "Segnala %@";
|
||||
"Scene.Report.TitleReport" = "Segnala";
|
||||
|
@ -332,6 +365,7 @@ caricato su Mastodon.";
|
|||
"Scene.ServerPicker.EmptyState.FindingServers" = "Ricerca server disponibili...";
|
||||
"Scene.ServerPicker.EmptyState.NoResults" = "Nessun risultato";
|
||||
"Scene.ServerPicker.Input.Placeholder" = "Cerca comunità";
|
||||
"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Cerca comunità o inserisci l'URL";
|
||||
"Scene.ServerPicker.Label.Category" = "CATEGORIA";
|
||||
"Scene.ServerPicker.Label.Language" = "LINGUA";
|
||||
"Scene.ServerPicker.Label.Users" = "UTENTI";
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
"Common.Alerts.CleanCache.Title" = "キャッシュを消去";
|
||||
"Common.Alerts.Common.PleaseTryAgain" = "もう一度お試しください。";
|
||||
"Common.Alerts.Common.PleaseTryAgainLater" = "後でもう一度お試しください。";
|
||||
"Common.Alerts.DeletePost.Message" = "本当に削除しますか?";
|
||||
"Common.Alerts.DeletePost.Title" = "この投稿を消去しますか?";
|
||||
"Common.Alerts.DeletePost.Message" = "本当にこの投稿を削除しますか?";
|
||||
"Common.Alerts.DeletePost.Title" = "投稿を削除";
|
||||
"Common.Alerts.DiscardPostContent.Message" = "この操作は取り消しできません。下書きは失われます。";
|
||||
"Common.Alerts.DiscardPostContent.Title" = "投稿を破棄しますか?";
|
||||
"Common.Alerts.EditProfileFailure.Message" = "プロフィールを編集できません。もう一度お試しください。";
|
||||
|
@ -32,13 +32,13 @@
|
|||
"Common.Controls.Actions.Confirm" = "確認";
|
||||
"Common.Controls.Actions.Continue" = "続ける";
|
||||
"Common.Controls.Actions.CopyPhoto" = "写真をコピー";
|
||||
"Common.Controls.Actions.Delete" = "消去";
|
||||
"Common.Controls.Actions.Delete" = "削除";
|
||||
"Common.Controls.Actions.Discard" = "破棄";
|
||||
"Common.Controls.Actions.Done" = "完了";
|
||||
"Common.Controls.Actions.Edit" = "編集";
|
||||
"Common.Controls.Actions.FindPeople" = "フォローする人を見つける";
|
||||
"Common.Controls.Actions.ManuallySearch" = "手動で検索する";
|
||||
"Common.Controls.Actions.Next" = "次";
|
||||
"Common.Controls.Actions.Next" = "次へ";
|
||||
"Common.Controls.Actions.Ok" = "OK";
|
||||
"Common.Controls.Actions.Open" = "開く";
|
||||
"Common.Controls.Actions.OpenInBrowser" = "ブラウザで開く";
|
||||
|
@ -98,8 +98,8 @@
|
|||
"Common.Controls.Status.Actions.Menu" = "メニュー";
|
||||
"Common.Controls.Status.Actions.Reblog" = "ブースト";
|
||||
"Common.Controls.Status.Actions.Reply" = "返信";
|
||||
"Common.Controls.Status.Actions.ShowGif" = "Show GIF";
|
||||
"Common.Controls.Status.Actions.ShowImage" = "Show image";
|
||||
"Common.Controls.Status.Actions.ShowGif" = "GIFを表示";
|
||||
"Common.Controls.Status.Actions.ShowImage" = "画像を表示";
|
||||
"Common.Controls.Status.Actions.ShowVideoPlayer" = "Show video player";
|
||||
"Common.Controls.Status.Actions.TapThenHoldToShowMenu" = "Tap then hold to show menu";
|
||||
"Common.Controls.Status.Actions.Unfavorite" = "お気に入り登録を取り消す";
|
||||
|
@ -117,7 +117,7 @@
|
|||
"Common.Controls.Status.Tag.Link" = "リンク";
|
||||
"Common.Controls.Status.Tag.Mention" = "メンション";
|
||||
"Common.Controls.Status.Tag.Url" = "URL";
|
||||
"Common.Controls.Status.TapToReveal" = "Tap to reveal";
|
||||
"Common.Controls.Status.TapToReveal" = "タップして表示";
|
||||
"Common.Controls.Status.UserReblogged" = "%@がブースト";
|
||||
"Common.Controls.Status.UserRepliedTo" = "%@に返信";
|
||||
"Common.Controls.Status.Visibility.Direct" = "この投稿はメンションされたユーザーに限り見ることができます。";
|
||||
|
@ -196,15 +196,17 @@
|
|||
"Scene.ConfirmEmail.OpenEmailApp.Title" = "メールを確認";
|
||||
"Scene.ConfirmEmail.Subtitle" = "先程 %@ にメールを送信しました。リンクをタップしてアカウントを確認してください。";
|
||||
"Scene.ConfirmEmail.Title" = "さいごにもうひとつ。";
|
||||
"Scene.Discovery.Intro" = "These are the posts gaining traction in your corner of Mastodon.";
|
||||
"Scene.Discovery.Tabs.Community" = "Community";
|
||||
"Scene.Discovery.Tabs.ForYou" = "For You";
|
||||
"Scene.Discovery.Intro" = "あなたのMastodonサーバーで注目を集めている投稿がここに表示されます。";
|
||||
"Scene.Discovery.Tabs.Community" = "コミュニティ";
|
||||
"Scene.Discovery.Tabs.ForYou" = "おすすめ";
|
||||
"Scene.Discovery.Tabs.Hashtags" = "ハッシュタグ";
|
||||
"Scene.Discovery.Tabs.News" = "ニュース";
|
||||
"Scene.Discovery.Tabs.Posts" = "投稿";
|
||||
"Scene.Favorite.Title" = "お気に入り";
|
||||
"Scene.Follower.Footer" = "他のサーバーからのフォロワーは表示されません。";
|
||||
"Scene.Following.Footer" = "他のサーバーにいるフォローは表示されません。";
|
||||
"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoHint" = "Tap to scroll to top and tap again to previous location";
|
||||
"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoLabel" = "Logo Button";
|
||||
"Scene.HomeTimeline.NavigationBarState.NewPosts" = "新しい投稿を見る";
|
||||
"Scene.HomeTimeline.NavigationBarState.Offline" = "オフライン";
|
||||
"Scene.HomeTimeline.NavigationBarState.Published" = "投稿しました!";
|
||||
|
@ -212,12 +214,12 @@
|
|||
"Scene.HomeTimeline.Title" = "ホーム";
|
||||
"Scene.Notification.Keyobard.ShowEverything" = "すべて見る";
|
||||
"Scene.Notification.Keyobard.ShowMentions" = "メンションを見る";
|
||||
"Scene.Notification.NotificationDescription.FavoritedYourPost" = "favorited your post";
|
||||
"Scene.Notification.NotificationDescription.FollowedYou" = "followed you";
|
||||
"Scene.Notification.NotificationDescription.MentionedYou" = "mentioned you";
|
||||
"Scene.Notification.NotificationDescription.PollHasEnded" = "poll has ended";
|
||||
"Scene.Notification.NotificationDescription.RebloggedYourPost" = "reblogged your post";
|
||||
"Scene.Notification.NotificationDescription.RequestToFollowYou" = "request to follow you";
|
||||
"Scene.Notification.NotificationDescription.FavoritedYourPost" = "さんがあなたの投稿をお気に入りに登録しました";
|
||||
"Scene.Notification.NotificationDescription.FollowedYou" = "さんにフォローされました";
|
||||
"Scene.Notification.NotificationDescription.MentionedYou" = "さんがあなたに返信しました";
|
||||
"Scene.Notification.NotificationDescription.PollHasEnded" = "アンケートが終了しました";
|
||||
"Scene.Notification.NotificationDescription.RebloggedYourPost" = "さんがあなたの投稿をブーストしました";
|
||||
"Scene.Notification.NotificationDescription.RequestToFollowYou" = "さんがあなたにフォローリクエストしました";
|
||||
"Scene.Notification.Title.Everything" = "すべて";
|
||||
"Scene.Notification.Title.Mentions" = "メンション";
|
||||
"Scene.Preview.Keyboard.ClosePreview" = "プレビューを閉じる";
|
||||
|
@ -266,7 +268,7 @@
|
|||
"Scene.Register.Error.Special.PasswordTooShort" = "パスワードが短すぎます(8文字以上)";
|
||||
"Scene.Register.Error.Special.UsernameInvalid" = "ユーザーネームには、英数字とアンダースコアのみを使用してください。";
|
||||
"Scene.Register.Error.Special.UsernameTooLong" = "ユーザー名が長すぎます(30文字以内)";
|
||||
"Scene.Register.Input.Avatar.Delete" = "消去";
|
||||
"Scene.Register.Input.Avatar.Delete" = "削除";
|
||||
"Scene.Register.Input.DisplayName.Placeholder" = "表示名";
|
||||
"Scene.Register.Input.Email.Placeholder" = "メール";
|
||||
"Scene.Register.Input.Invite.RegistrationUserInviteRequest" = "なぜ参加したいと思ったのですか?";
|
||||
|
@ -287,6 +289,37 @@
|
|||
"Scene.Report.SkipToSend" = "コメントなしで送信";
|
||||
"Scene.Report.Step1" = "ステップ 1/2";
|
||||
"Scene.Report.Step2" = "ステップ 2/2";
|
||||
"Scene.Report.StepFinal.BlockUser" = "Block %@";
|
||||
"Scene.Report.StepFinal.DontWantToSeeThis" = "Don’t want to see this?";
|
||||
"Scene.Report.StepFinal.MuteUser" = "Mute %@";
|
||||
"Scene.Report.StepFinal.TheyWillNoLongerBeAbleToFollowOrSeeYourPostsButTheyCanSeeIfTheyveBeenBlocked" = "They will no longer be able to follow or see your posts, but they can see if they’ve been blocked.";
|
||||
"Scene.Report.StepFinal.Unfollow" = "Unfollow";
|
||||
"Scene.Report.StepFinal.UnfollowUser" = "Unfollow %@";
|
||||
"Scene.Report.StepFinal.Unfollowed" = "Unfollowed";
|
||||
"Scene.Report.StepFinal.WhenYouSeeSomethingYouDontLikeOnMastodonYouCanRemoveThePersonFromYourExperience." = "When you see something you don’t like on Mastodon, you can remove the person from your experience.";
|
||||
"Scene.Report.StepFinal.YouWontSeeTheirPostsOrReblogsInYourHomeFeedTheyWontKnowTheyVeBeenMuted" = "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.";
|
||||
"Scene.Report.StepFour.IsThereAnythingElseWeShouldKnow" = "Is there anything else we should know?";
|
||||
"Scene.Report.StepFour.Step4Of4" = "Step 4 of 4";
|
||||
"Scene.Report.StepOne.IDontLikeIt" = "I don’t like it";
|
||||
"Scene.Report.StepOne.ItIsNotSomethingYouWantToSee" = "It is not something you want to see";
|
||||
"Scene.Report.StepOne.ItViolatesServerRules" = "It violates server rules";
|
||||
"Scene.Report.StepOne.ItsSomethingElse" = "It’s something else";
|
||||
"Scene.Report.StepOne.ItsSpam" = "It’s spam";
|
||||
"Scene.Report.StepOne.MaliciousLinksFakeEngagementOrRepetetiveReplies" = "Malicious links, fake engagement, or repetetive replies";
|
||||
"Scene.Report.StepOne.SelectTheBestMatch" = "Select the best match";
|
||||
"Scene.Report.StepOne.Step1Of4" = "Step 1 of 4";
|
||||
"Scene.Report.StepOne.TheIssueDoesNotFitIntoOtherCategories" = "The issue does not fit into other categories";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisAccount" = "What's wrong with this account?";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisPost" = "What's wrong with this post?";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisUsername" = "What's wrong with %@?";
|
||||
"Scene.Report.StepOne.YouAreAwareThatItBreaksSpecificRules" = "You are aware that it breaks specific rules";
|
||||
"Scene.Report.StepThree.AreThereAnyPostsThatBackUpThisReport" = "Are there any posts that back up this report?";
|
||||
"Scene.Report.StepThree.SelectAllThatApply" = "Select all that apply";
|
||||
"Scene.Report.StepThree.Step3Of4" = "Step 3 of 4";
|
||||
"Scene.Report.StepTwo.IJustDon’tLikeIt" = "I just don’t like it";
|
||||
"Scene.Report.StepTwo.SelectAllThatApply" = "Select all that apply";
|
||||
"Scene.Report.StepTwo.Step2Of4" = "Step 2 of 4";
|
||||
"Scene.Report.StepTwo.WhichRulesAreBeingViolated" = "Which rules are being violated?";
|
||||
"Scene.Report.TextPlaceholder" = "追加コメントを入力";
|
||||
"Scene.Report.Title" = "%@を通報";
|
||||
"Scene.Report.TitleReport" = "報告する";
|
||||
|
@ -327,6 +360,7 @@
|
|||
"Scene.ServerPicker.EmptyState.FindingServers" = "利用可能なサーバーの検索...";
|
||||
"Scene.ServerPicker.EmptyState.NoResults" = "なし";
|
||||
"Scene.ServerPicker.Input.Placeholder" = "サーバーを探す";
|
||||
"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL";
|
||||
"Scene.ServerPicker.Label.Category" = "カテゴリー";
|
||||
"Scene.ServerPicker.Label.Language" = "言語";
|
||||
"Scene.ServerPicker.Label.Users" = "ユーザー";
|
||||
|
@ -349,11 +383,11 @@
|
|||
"Scene.Settings.Section.BoringZone.Privacy" = "プライバシーポリシー";
|
||||
"Scene.Settings.Section.BoringZone.Terms" = "利用規約";
|
||||
"Scene.Settings.Section.BoringZone.Title" = "アプリについて";
|
||||
"Scene.Settings.Section.LookAndFeel.Light" = "Light";
|
||||
"Scene.Settings.Section.LookAndFeel.ReallyDark" = "Really Dark";
|
||||
"Scene.Settings.Section.LookAndFeel.SortaDark" = "Sorta Dark";
|
||||
"Scene.Settings.Section.LookAndFeel.Title" = "Look and Feel";
|
||||
"Scene.Settings.Section.LookAndFeel.UseSystem" = "Use System";
|
||||
"Scene.Settings.Section.LookAndFeel.Light" = "ライト";
|
||||
"Scene.Settings.Section.LookAndFeel.ReallyDark" = "ブラック";
|
||||
"Scene.Settings.Section.LookAndFeel.SortaDark" = "ダーク";
|
||||
"Scene.Settings.Section.LookAndFeel.Title" = "テーマ";
|
||||
"Scene.Settings.Section.LookAndFeel.UseSystem" = "端末の設定を使う";
|
||||
"Scene.Settings.Section.Notifications.Boosts" = "ブースト";
|
||||
"Scene.Settings.Section.Notifications.Favorites" = "お気に入り登録";
|
||||
"Scene.Settings.Section.Notifications.Follows" = "フォロー";
|
||||
|
@ -366,7 +400,7 @@
|
|||
"Scene.Settings.Section.Notifications.Trigger.Title" = "通知を受け取る";
|
||||
"Scene.Settings.Section.Preference.DisableAvatarAnimation" = "アバターのアニメーションを無効化する";
|
||||
"Scene.Settings.Section.Preference.DisableEmojiAnimation" = "絵文字のアニメーションを無効化する";
|
||||
"Scene.Settings.Section.Preference.OpenLinksInMastodon" = "Open links in Mastodon";
|
||||
"Scene.Settings.Section.Preference.OpenLinksInMastodon" = "Mastodonでリンクを開く";
|
||||
"Scene.Settings.Section.Preference.Title" = "環境設定";
|
||||
"Scene.Settings.Section.Preference.TrueBlackDarkMode" = "真っ黒なダークテーマを使用する";
|
||||
"Scene.Settings.Section.Preference.UsingDefaultBrowser" = "既定のブラウザでリンクを開く";
|
||||
|
@ -378,7 +412,7 @@
|
|||
"Scene.SuggestionAccount.Title" = "フォローする人を探す";
|
||||
"Scene.Thread.BackTitle" = "投稿";
|
||||
"Scene.Thread.Title" = "%@の投稿";
|
||||
"Scene.Welcome.GetStarted" = "Get Started";
|
||||
"Scene.Welcome.GetStarted" = "はじめる";
|
||||
"Scene.Welcome.LogIn" = "ログイン";
|
||||
"Scene.Welcome.Slogan" = "ソーシャルネットワーキングを、あなたの手の中に.";
|
||||
"Scene.Wizard.AccessibilityHint" = "チュートリアルを閉じるには、ダブルタップしてください";
|
||||
|
|
|
@ -153,7 +153,7 @@
|
|||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>ld</string>
|
||||
<key>other</key>
|
||||
<string>%ld people talking</string>
|
||||
<string>%ld人が投稿</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>plural.count.following</key>
|
||||
|
|
|
@ -210,6 +210,8 @@ Ad d-yettwasali ɣef Mastodon.";
|
|||
"Scene.Favorite.Title" = "Ismenyifen-ik·im";
|
||||
"Scene.Follower.Footer" = "Ineḍfaren seg yiqeddacen-nniḍen ur d-ttwaskanen ara.";
|
||||
"Scene.Following.Footer" = "Ineḍfaren seg yiqeddacen-nniḍen ur d-ttwaskanen ara.";
|
||||
"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoHint" = "Tap to scroll to top and tap again to previous location";
|
||||
"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoLabel" = "Logo Button";
|
||||
"Scene.HomeTimeline.NavigationBarState.NewPosts" = "Tissufaɣ timaynutin";
|
||||
"Scene.HomeTimeline.NavigationBarState.Offline" = "Beṛṛa n tuqqna";
|
||||
"Scene.HomeTimeline.NavigationBarState.Published" = "Yettwasuffeɣ!";
|
||||
|
@ -292,6 +294,37 @@ Ad d-yettwasali ɣef Mastodon.";
|
|||
"Scene.Report.SkipToSend" = "Azen s war awennit";
|
||||
"Scene.Report.Step1" = "Aḥric 1 seg 2";
|
||||
"Scene.Report.Step2" = "Aḥric 2 seg 2";
|
||||
"Scene.Report.StepFinal.BlockUser" = "Block %@";
|
||||
"Scene.Report.StepFinal.DontWantToSeeThis" = "Don’t want to see this?";
|
||||
"Scene.Report.StepFinal.MuteUser" = "Mute %@";
|
||||
"Scene.Report.StepFinal.TheyWillNoLongerBeAbleToFollowOrSeeYourPostsButTheyCanSeeIfTheyveBeenBlocked" = "They will no longer be able to follow or see your posts, but they can see if they’ve been blocked.";
|
||||
"Scene.Report.StepFinal.Unfollow" = "Unfollow";
|
||||
"Scene.Report.StepFinal.UnfollowUser" = "Unfollow %@";
|
||||
"Scene.Report.StepFinal.Unfollowed" = "Unfollowed";
|
||||
"Scene.Report.StepFinal.WhenYouSeeSomethingYouDontLikeOnMastodonYouCanRemoveThePersonFromYourExperience." = "When you see something you don’t like on Mastodon, you can remove the person from your experience.";
|
||||
"Scene.Report.StepFinal.YouWontSeeTheirPostsOrReblogsInYourHomeFeedTheyWontKnowTheyVeBeenMuted" = "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.";
|
||||
"Scene.Report.StepFour.IsThereAnythingElseWeShouldKnow" = "Is there anything else we should know?";
|
||||
"Scene.Report.StepFour.Step4Of4" = "Step 4 of 4";
|
||||
"Scene.Report.StepOne.IDontLikeIt" = "I don’t like it";
|
||||
"Scene.Report.StepOne.ItIsNotSomethingYouWantToSee" = "It is not something you want to see";
|
||||
"Scene.Report.StepOne.ItViolatesServerRules" = "It violates server rules";
|
||||
"Scene.Report.StepOne.ItsSomethingElse" = "It’s something else";
|
||||
"Scene.Report.StepOne.ItsSpam" = "It’s spam";
|
||||
"Scene.Report.StepOne.MaliciousLinksFakeEngagementOrRepetetiveReplies" = "Malicious links, fake engagement, or repetetive replies";
|
||||
"Scene.Report.StepOne.SelectTheBestMatch" = "Select the best match";
|
||||
"Scene.Report.StepOne.Step1Of4" = "Step 1 of 4";
|
||||
"Scene.Report.StepOne.TheIssueDoesNotFitIntoOtherCategories" = "The issue does not fit into other categories";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisAccount" = "What's wrong with this account?";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisPost" = "What's wrong with this post?";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisUsername" = "What's wrong with %@?";
|
||||
"Scene.Report.StepOne.YouAreAwareThatItBreaksSpecificRules" = "You are aware that it breaks specific rules";
|
||||
"Scene.Report.StepThree.AreThereAnyPostsThatBackUpThisReport" = "Are there any posts that back up this report?";
|
||||
"Scene.Report.StepThree.SelectAllThatApply" = "Select all that apply";
|
||||
"Scene.Report.StepThree.Step3Of4" = "Step 3 of 4";
|
||||
"Scene.Report.StepTwo.IJustDon’tLikeIt" = "I just don’t like it";
|
||||
"Scene.Report.StepTwo.SelectAllThatApply" = "Select all that apply";
|
||||
"Scene.Report.StepTwo.Step2Of4" = "Step 2 of 4";
|
||||
"Scene.Report.StepTwo.WhichRulesAreBeingViolated" = "Which rules are being violated?";
|
||||
"Scene.Report.TextPlaceholder" = "Aru neɣ senteḍ iwenniten-nniḍen";
|
||||
"Scene.Report.Title" = "Aneqqis %@";
|
||||
"Scene.Report.TitleReport" = "Aneqqis";
|
||||
|
@ -332,6 +365,7 @@ Ad d-yettwasali ɣef Mastodon.";
|
|||
"Scene.ServerPicker.EmptyState.FindingServers" = "Tifin n yiqeddacen yellan...";
|
||||
"Scene.ServerPicker.EmptyState.NoResults" = "Ulac igemmaḍ";
|
||||
"Scene.ServerPicker.Input.Placeholder" = "Nadi timɣiwnin";
|
||||
"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL";
|
||||
"Scene.ServerPicker.Label.Category" = "TAGGAYT";
|
||||
"Scene.ServerPicker.Label.Language" = "TUTLAYT";
|
||||
"Scene.ServerPicker.Label.Users" = "ISEQDACEN";
|
||||
|
|
|
@ -211,6 +211,8 @@ girêdanê bitikne da ku ajimêra xwe bidî piştrastkirin.";
|
|||
"Scene.Favorite.Title" = "Bijarteyên te";
|
||||
"Scene.Follower.Footer" = "Şopîner ji rajekerên din nayê dîtin.";
|
||||
"Scene.Following.Footer" = "Şopandin ji rajekerên din nayê dîtin.";
|
||||
"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoHint" = "Tap to scroll to top and tap again to previous location";
|
||||
"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoLabel" = "Logo Button";
|
||||
"Scene.HomeTimeline.NavigationBarState.NewPosts" = "Şandiyên nû bibîne";
|
||||
"Scene.HomeTimeline.NavigationBarState.Offline" = "Derhêl";
|
||||
"Scene.HomeTimeline.NavigationBarState.Published" = "Hate weşandin!";
|
||||
|
@ -293,6 +295,37 @@ girêdanê bitikne da ku ajimêra xwe bidî piştrastkirin.";
|
|||
"Scene.Report.SkipToSend" = "Bêyî şirove bişîne";
|
||||
"Scene.Report.Step1" = "Gav 1 ji 2";
|
||||
"Scene.Report.Step2" = "Gav 2 ji 2";
|
||||
"Scene.Report.StepFinal.BlockUser" = "Block %@";
|
||||
"Scene.Report.StepFinal.DontWantToSeeThis" = "Don’t want to see this?";
|
||||
"Scene.Report.StepFinal.MuteUser" = "Mute %@";
|
||||
"Scene.Report.StepFinal.TheyWillNoLongerBeAbleToFollowOrSeeYourPostsButTheyCanSeeIfTheyveBeenBlocked" = "They will no longer be able to follow or see your posts, but they can see if they’ve been blocked.";
|
||||
"Scene.Report.StepFinal.Unfollow" = "Unfollow";
|
||||
"Scene.Report.StepFinal.UnfollowUser" = "Unfollow %@";
|
||||
"Scene.Report.StepFinal.Unfollowed" = "Unfollowed";
|
||||
"Scene.Report.StepFinal.WhenYouSeeSomethingYouDontLikeOnMastodonYouCanRemoveThePersonFromYourExperience." = "When you see something you don’t like on Mastodon, you can remove the person from your experience.";
|
||||
"Scene.Report.StepFinal.YouWontSeeTheirPostsOrReblogsInYourHomeFeedTheyWontKnowTheyVeBeenMuted" = "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.";
|
||||
"Scene.Report.StepFour.IsThereAnythingElseWeShouldKnow" = "Is there anything else we should know?";
|
||||
"Scene.Report.StepFour.Step4Of4" = "Step 4 of 4";
|
||||
"Scene.Report.StepOne.IDontLikeIt" = "I don’t like it";
|
||||
"Scene.Report.StepOne.ItIsNotSomethingYouWantToSee" = "It is not something you want to see";
|
||||
"Scene.Report.StepOne.ItViolatesServerRules" = "It violates server rules";
|
||||
"Scene.Report.StepOne.ItsSomethingElse" = "It’s something else";
|
||||
"Scene.Report.StepOne.ItsSpam" = "It’s spam";
|
||||
"Scene.Report.StepOne.MaliciousLinksFakeEngagementOrRepetetiveReplies" = "Malicious links, fake engagement, or repetetive replies";
|
||||
"Scene.Report.StepOne.SelectTheBestMatch" = "Select the best match";
|
||||
"Scene.Report.StepOne.Step1Of4" = "Step 1 of 4";
|
||||
"Scene.Report.StepOne.TheIssueDoesNotFitIntoOtherCategories" = "The issue does not fit into other categories";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisAccount" = "What's wrong with this account?";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisPost" = "What's wrong with this post?";
|
||||
"Scene.Report.StepOne.WhatsWrongWithThisUsername" = "What's wrong with %@?";
|
||||
"Scene.Report.StepOne.YouAreAwareThatItBreaksSpecificRules" = "You are aware that it breaks specific rules";
|
||||
"Scene.Report.StepThree.AreThereAnyPostsThatBackUpThisReport" = "Are there any posts that back up this report?";
|
||||
"Scene.Report.StepThree.SelectAllThatApply" = "Select all that apply";
|
||||
"Scene.Report.StepThree.Step3Of4" = "Step 3 of 4";
|
||||
"Scene.Report.StepTwo.IJustDon’tLikeIt" = "I just don’t like it";
|
||||
"Scene.Report.StepTwo.SelectAllThatApply" = "Select all that apply";
|
||||
"Scene.Report.StepTwo.Step2Of4" = "Step 2 of 4";
|
||||
"Scene.Report.StepTwo.WhichRulesAreBeingViolated" = "Which rules are being violated?";
|
||||
"Scene.Report.TextPlaceholder" = "Şiroveyên daxwazkirê binivîsine an jî pê ve bike";
|
||||
"Scene.Report.Title" = "%@ ragihîne";
|
||||
"Scene.Report.TitleReport" = "Ragihandin";
|
||||
|
@ -332,14 +365,14 @@ girêdanê bitikne da ku ajimêra xwe bidî piştrastkirin.";
|
|||
"Scene.ServerPicker.EmptyState.BadNetwork" = "Di dema barkirina daneyan da çewtî derket. Girêdana xwe ya înternetê kontrol bike.";
|
||||
"Scene.ServerPicker.EmptyState.FindingServers" = "Peydakirina rajekarên berdest...";
|
||||
"Scene.ServerPicker.EmptyState.NoResults" = "Encam tune";
|
||||
"Scene.ServerPicker.Input.Placeholder" = "Rajekarekî bibîne an jî beşdarî ya xwe bibe...";
|
||||
"Scene.ServerPicker.Input.Placeholder" = "Li rajekaran bigere";
|
||||
"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL";
|
||||
"Scene.ServerPicker.Label.Category" = "BEŞ";
|
||||
"Scene.ServerPicker.Label.Language" = "ZIMAN";
|
||||
"Scene.ServerPicker.Label.Users" = "BIKARHÊNER";
|
||||
"Scene.ServerPicker.Subtitle" = "Li gorî berjewendî, herêm, an jî armancek gelemperî civakekê hilbijêre.";
|
||||
"Scene.ServerPicker.SubtitleExtend" = "Li gorî berjewendî, herêm, an jî armancek gelemperî civakekê hilbijêre. Her civakek ji hêla rêxistinek an kesek bi tevahî serbixwe ve tê xebitandin.";
|
||||
"Scene.ServerPicker.Title" = "Rajekarekê hilbijêre,
|
||||
Her kîjan rajekar be.";
|
||||
"Scene.ServerPicker.Title" = "Mastodon ji bikarhênerên di civakên cuda de pêk tê.";
|
||||
"Scene.ServerRules.Button.Confirm" = "Ez dipejirînim";
|
||||
"Scene.ServerRules.PrivacyPolicy" = "polîtikaya nihêniyê";
|
||||
"Scene.ServerRules.Prompt" = "Bi domandinê, tu ji bo %@ di bin mercên bikaranînê û polîtîkaya nepenîtiyê dipejirînî.";
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue