From fc12b63fcc41a06ee818428640f962fbea536e1f Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Tue, 21 May 2019 23:35:40 +0300 Subject: [PATCH 01/18] mastoapi login works --- .../user_settings/user_settings.vue | 1 + src/services/api/api.service.js | 6 ++--- .../entity_normalizer.service.js | 23 +++++++++++++++++-- 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/src/components/user_settings/user_settings.vue b/src/components/user_settings/user_settings.vue index 2cb8b37a..377e8295 100644 --- a/src/components/user_settings/user_settings.vue +++ b/src/components/user_settings/user_settings.vue @@ -44,6 +44,7 @@ diff --git a/src/services/api/api.service.js b/src/services/api/api.service.js index c67eccf1..115c3296 100644 --- a/src/services/api/api.service.js +++ b/src/services/api/api.service.js @@ -1,5 +1,4 @@ /* eslint-env browser */ -const LOGIN_URL = '/api/account/verify_credentials.json' const REGISTRATION_URL = '/api/account/register.json' const BG_UPDATE_URL = '/api/qvitter/update_background_image.json' const EXTERNAL_PROFILE_URL = '/api/externalprofile/show.json' @@ -17,6 +16,7 @@ const ACTIVATION_STATUS_URL = screenName => `/api/pleroma/admin/users/${screenNa const ADMIN_USERS_URL = '/api/pleroma/admin/users' const SUGGESTIONS_URL = '/api/v1/suggestions' +const MASTODON_LOGIN_URL = '/api/v1/accounts/verify_credentials' const MASTODON_USER_FAVORITES_TIMELINE_URL = '/api/v1/favourites' const MASTODON_USER_NOTIFICATIONS_URL = '/api/v1/notifications' const MASTODON_FAVORITE_URL = id => `/api/v1/statuses/${id}/favourite` @@ -497,8 +497,7 @@ const fetchPinnedStatuses = ({ id, credentials }) => { } const verifyCredentials = (user) => { - return fetch(LOGIN_URL, { - method: 'POST', + return fetch(MASTODON_LOGIN_URL, { headers: authHeaders(user) }) .then((response) => { @@ -510,6 +509,7 @@ const verifyCredentials = (user) => { } } }) + .then((data) => data.error ? data : parseUser(data)) } diff --git a/src/services/entity_normalizer/entity_normalizer.service.js b/src/services/entity_normalizer/entity_normalizer.service.js index 46ca7602..f14c483c 100644 --- a/src/services/entity_normalizer/entity_normalizer.service.js +++ b/src/services/entity_normalizer/entity_normalizer.service.js @@ -72,6 +72,27 @@ export const parseUser = (data) => { moderator: data.pleroma.is_moderator, admin: data.pleroma.is_admin } + // TODO: Clean up in UI? This is duplication from what BE does for qvitterapi + if (output.rights.admin) { + output.role = 'admin' + } else if (output.rights.moderator) { + output.role = 'moderator' + } else { + output.role = 'member' + } + } + + if (data.source) { + output.description = data.source.note + output.default_scope = data.source.privacy + if (data.source.pleroma) { + if (data.source.pleroma.show_role) { + console.log(data.source) + console.log(data.pleroma) + } + output.no_rich_text = data.source.pleroma.no_rich_text + output.show_role = data.source.pleroma.show_role + } } // TODO: handle is_local @@ -106,8 +127,6 @@ export const parseUser = (data) => { output.muted = data.muted - // QVITTER ONLY FOR NOW - // Really only applies to logged in user, really.. I THINK if (data.rights) { output.rights = { moderator: data.rights.delete_others_notice, From 3b3e4ffc5417d0c99d6c9f31beb5dc0c4287cbec Mon Sep 17 00:00:00 2001 From: j1t Date: Wed, 22 May 2019 01:46:08 +0300 Subject: [PATCH 02/18] Translate up to settings. --- src/i18n/he.json | 80 +++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 73 insertions(+), 7 deletions(-) diff --git a/src/i18n/he.json b/src/i18n/he.json index ea581e05..ee612a65 100644 --- a/src/i18n/he.json +++ b/src/i18n/he.json @@ -2,6 +2,10 @@ "chat": { "title": "צ'אט" }, + "exporter": { + "export": "ייצוא", + "processing": "מעבד, בקרוב תופיע אפשרות להוריד את הקובץ" + }, "features_panel": { "chat": "צ'אט", "gopher": "גופר", @@ -17,23 +21,53 @@ }, "general": { "apply": "החל", - "submit": "שלח" + "submit": "שלח", + "more": "עוד", + "generic_error": "קרתה שגיאה", + "optional": "לבחירה", + "show_more": "הראה עוד", + "show_less": "הראה פחות", + "cancel": "בטל" + }, + "image_cropper": { + "crop_picture": "חתוך תמונה", + "save": "שמור", + "save_without_cropping": "שמור בלי לחתוך", + "cancel": "בטל" + }, + "importer": { + "submit": "שלח", + "success": "ייובא בהצלחה.", + "error": "אירעתה שגיאה בזמן ייבוא קובץ זה." }, "login": { "login": "התחבר", + "description": "היכנס עם OAuth", "logout": "התנתק", "password": "סיסמה", "placeholder": "למשל lain", "register": "הירשם", - "username": "שם המשתמש" + "username": "שם המשתמש", + "hint": "הירשם על מנת להצטרף לדיון" + }, + "media_modal": { + "previous": "הקודם", + "next": "הבא" }, "nav": { + "about": "על-אודות", + "back": "חזור", "chat": "צ'אט מקומי", "friend_requests": "בקשות עקיבה", "mentions": "אזכורים", + "interactions": "אינטרקציות", + "dms": "הודעות ישירות", "public_tl": "ציר הזמן הציבורי", "timeline": "ציר הזמן", - "twkn": "כל הרשת הידועה" + "twkn": "כל הרשת הידועה", + "user_search": "חיפוש משתמש", + "who_to_follow": "אחרי מי לעקוב", + "preferences": "העדפות" }, "notifications": { "broken_favorite": "סטאטוס לא ידוע, מחפש...", @@ -42,19 +76,35 @@ "load_older": "טען התראות ישנות", "notifications": "התראות", "read": "קרא!", - "repeated_you": "חזר על הסטטוס שלך" + "repeated_you": "חזר על הסטטוס שלך", + "no_more_notifications": "לא עוד התראות" + }, + "interactions": { + "favs_repeats": "חזרות ומועדפים", + "follows": "עוקבים חדשים", + "load_older": "טען אינטרקציות ישנות" }, "post_status": { + "new_status": "פרסם סטאטוס חדש", "account_not_locked_warning": "המשתמש שלך אינו {0}. כל אחד יכול לעקוב אחריך ולראות את ההודעות לעוקבים-בלבד שלך.", "account_not_locked_warning_link": "נעול", "attachments_sensitive": "סמן מסמכים מצורפים כלא בטוחים לצפייה", "content_type": { - "text/plain": "טקסט פשוט" + "text/plain": "טקסט פשוט", + "text/html": "HTML", + "text/markdown": "Markdown", + "text/bbcode": "BBCode" }, "content_warning": "נושא (נתון לבחירה)", "default": "הרגע נחת ב-ל.א.", - "direct_warning": "הודעה זו תהיה זמינה רק לאנשים המוזכרים.", + "direct_warning_to_all": "הודעה זו תהיה נראית לכל המשתמשים המוזכרים.", + "direct_warning_to_first_only": "הודעה זו תהיה נראית לכל המשתמשים במוזכרים בתחילת ההודעה בלבד.", "posting": "מפרסם", + "scope_notice": { + "public": "הודעה זו תהיה נראית לכולם", + "private": "הודעה זו תהיה נראית לעוקבים שלך בלבד", + "unlisted": "הודעה זו לא תהיה נראית בציר זמן הציבורי או בכל הרשת הידועה" + }, "scope": { "direct": "ישיר - שלח לאנשים המוזכרים בלבד", "private": "עוקבים-בלבד - שלח לעוקבים בלבד", @@ -68,7 +118,23 @@ "fullname": "שם תצוגה", "password_confirm": "אישור סיסמה", "registration": "הרשמה", - "token": "טוקן הזמנה" + "token": "טוקן הזמנה", + "captcha": "אימות אנוש", + "new_captcha": "לחץ על התמונה על מנת לקבל אימות אנוש חדש", + "username_placeholder": "למשל lain", + "fullname_placeholder": "למשל Lain Iwakura", + "bio_placeholder": "למשל\nהיי, אני ליין.\nאני ילדת אנימה שגרה בפרוורי יפן. אולי אתם מכירים אותי מהWired.", + "validations": { + "username_required": "לא יכול להישאר ריק", + "fullname_required": "לא יכול להישאר ריק", + "email_required": "לא יכול להישאר ריק", + "password_required": "לא יכול להישאר ריק", + "password_confirmation_required": "לא יכול להישאר ריק", + "password_confirmation_match": "צריך להיות דומה לסיסמה" + } + }, + "selectable_list": { + "select_all": "בחר הכל" }, "settings": { "attachmentRadius": "צירופים", From 4249a2fd6f174abe1c94f6486e98b15f8dbdeac8 Mon Sep 17 00:00:00 2001 From: j1t Date: Wed, 22 May 2019 21:33:05 +0300 Subject: [PATCH 03/18] Translation to Hebrew of everything other than theme_helpers and style. --- src/i18n/he.json | 145 +++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 140 insertions(+), 5 deletions(-) diff --git a/src/i18n/he.json b/src/i18n/he.json index ee612a65..1c034960 100644 --- a/src/i18n/he.json +++ b/src/i18n/he.json @@ -137,6 +137,7 @@ "select_all": "בחר הכל" }, "settings": { + "app_name": "שם האפליקציה", "attachmentRadius": "צירופים", "attachments": "צירופים", "autoload": "החל טעינה אוטומטית בגלילה לתחתית הדף", @@ -145,6 +146,12 @@ "avatarRadius": "תמונות פרופיל", "background": "רקע", "bio": "אודות", + "block_export": "ייצוא חסימות", + "block_export_button": "ייצוא חסימות אל קובץ csv", + "block_import": "ייבוא חסימות", + "block_import_error": "שגיאה בייבוא החסימות", + "blocks_imported": "החסימות יובאו! ייקח מעט זמן לעבד אותן.", + "blocks_tab": "חסימות", "btnRadius": "כפתורים", "cBlue": "כחול (תגובה, עקיבה)", "cGreen": "ירוק (חזרה)", @@ -154,6 +161,7 @@ "change_password_error": "הייתה בעיה בשינוי סיסמתך.", "changed_password": "סיסמה שונתה בהצלחה!", "collapse_subject": "מזער הודעות עם נושאים", + "composing": "מרכיב", "confirm_new_password": "אשר סיסמה", "current_avatar": "תמונת הפרופיל הנוכחית שלך", "current_password": "סיסמה נוכחית", @@ -164,21 +172,35 @@ "delete_account_description": "מחק לצמיתות את המשתמש שלך ואת כל הודעותיך.", "delete_account_error": "הייתה בעיה במחיקת המשתמש. אם זה ממשיך, אנא עדכן את מנהל השרת שלך.", "delete_account_instructions": "הכנס את סיסמתך בקלט למטה על מנת לאשר מחיקת משתמש.", + "avatar_size_instruction": "הגודל המינימלי המומלץ לתמונות פרופיל הוא 150x150 פיקסלים.", "export_theme": "שמור ערכים", "filtering": "סינון", "filtering_explanation": "כל הסטטוסים הכוללים את המילים הללו יושתקו, אחד לשורה", "follow_export": "יצוא עקיבות", "follow_export_button": "ייצא את הנעקבים שלך לקובץ csv", - "follow_export_processing": "טוען. בקרוב תתבקש להוריד את הקובץ את הקובץ שלך", "follow_import": "יבוא עקיבות", "follow_import_error": "שגיאה בייבוא נעקבים.", "follows_imported": "נעקבים יובאו! ייקח זמן מה לעבד אותם.", "foreground": "חזית", + "general": "כללי", "hide_attachments_in_convo": "החבא צירופים בשיחות", "hide_attachments_in_tl": "החבא צירופים בציר הזמן", + "hide_muted_posts": "הסתר הודעות של משתמשים מושתקים", + "max_thumbnails": "מספר מירבי של תמונות ממוזערות להודעה", + "hide_isp": "הסתר פאנל-צד", + "preload_images": "טען תמונות מראש", + "use_one_click_nsfw": "פתח תמונות לא-בטוחות-לעבודה עם לחיצה אחת בלבד", + "hide_post_stats": "הסתר נתוני הודעה (למשל, מספר החזרות)", + "hide_user_stats": "הסתר נתוני משתמש (למשל, מספר העוקבים)", + "hide_filtered_statuses": "מסתר סטטוסים מסוננים", + "import_blocks_from_a_csv_file": "ייבא חסימות מקובץ csv", "import_followers_from_a_csv_file": "ייבא את הנעקבים שלך מקובץ csv", "import_theme": "טען ערכים", "inputRadius": "שדות קלט", + "checkboxRadius": "תיבות סימון", + "instance_default": "(default: {value})", + "instance_default_simple": "(default)", + "interface": "ממשק", "interfaceLanguage": "שפת הממשק", "invalid_theme_imported": "הקובץ הנבחר אינו תמה הנתמכת ע\"י פלרומה. שום שינויים לא נעשו לתמה שלך.", "limited_availability": "לא זמין בדפדפן שלך", @@ -186,6 +208,9 @@ "lock_account_description": "הגבל את המשתמש לעוקבים מאושרים בלבד", "loop_video": "נגן סרטונים ללא הפסקה", "loop_video_silent_only": "נגן רק סרטונים חסרי קול ללא הפסקה", + "mutes_tab": "השתקות", + "play_videos_in_modal": "נגן סרטונים ישירות בנגן המדיה", + "use_contain_fit": "אל תחתוך את הצירוף בתמונות הממוזערות", "name": "שם", "name_bio": "שם ואודות", "new_password": "סיסמה חדשה", @@ -194,6 +219,13 @@ "notification_visibility_likes": "לייקים", "notification_visibility_mentions": "אזכורים", "notification_visibility_repeats": "חזרות", + "no_rich_text_description": "הסר פורמט טקסט עשיר מכל ההודעות", + "no_blocks": "ללא חסימות", + "no_mutes": "ללא השתקות", + "hide_follows_description": "אל תראה אחרי מי אני עוקב", + "hide_followers_description": "אל תראה מי עוקב אחרי", + "show_admin_badge": "הראה סמל מנהל בפרופיל שלי", + "show_moderator_badge": "הראה סמל צוות בפרופיל שלי", "nsfw_clickthrough": "החל החבאת צירופים לא בטוחים לצפיה בעת עבודה בעזרת לחיצת עכבר", "oauth_tokens": "אסימוני OAuth", "token": "אסימון", @@ -212,18 +244,43 @@ "reply_visibility_all": "הראה את כל התגובות", "reply_visibility_following": "הראה תגובות שמופנות אליי או לעקובים שלי בלבד", "reply_visibility_self": "הראה תגובות שמופנות אליי בלבד", + "autohide_floating_post_button": "החבא אוטומטית את הכפתור הודעה חדשה (נייד)", + "saving_err": "שגיאה בשמירת הגדרות", + "saving_ok": "הגדרות נשמרו", + "search_user_to_block": "חפש משתמש לחסימה", + "search_user_to_mute": "חפש משתמש להשתקה", "security_tab": "ביטחון", + "scope_copy": "העתק תחום הודעה בתגובה להודעה (הודעות ישירות תמיד מועתקות)", + "minimal_scopes_mode": "צמצם אפשרויות בחירה לתחום הודעה", "set_new_avatar": "קבע תמונת פרופיל חדשה", "set_new_profile_background": "קבע רקע פרופיל חדש", "set_new_profile_banner": "קבע כרזת פרופיל חדשה", "settings": "הגדרות", + "subject_input_always_show": "תמיד הראה את שדה הנושא", + "subject_line_behavior": "העתק נושא בתגובה", + "subject_line_email": "כמו אימייל: \"re: נושא\"", + "subject_line_mastodon": "כמו מסטודון: העתק כפי שזה", + "subject_line_noop": "אל תעתיק", + "post_status_content_type": "שלח את סוג תוכן ההודעה", "stop_gifs": "נגן-בעת-ריחוף GIFs", "streaming": "החל זרימת הודעות אוטומטית בעת גלילה למעלה הדף", "text": "טקסט", "theme": "תמה", "theme_help": "השתמש בקודי צבע הקס (#אדום-אדום-ירוק-ירוק-כחול-כחול) על מנת להתאים אישית את תמת הצבע שלך.", "tooltipRadius": "טולטיפ \\ התראות", - "user_settings": "הגדרות משתמש" + "upload_a_photo": "העלה תמונה", + "user_settings": "הגדרות משתמש", + "values": { + "false": "לא", + "true": "כן" + }, + "notifications": "התראות", + "enable_web_push_notifications": "אפשר התראות web push", + "version": { + "title": "גרסה", + "backend_version": "גרסת קצה אחורי", + "frontend_version": "גרסת קצה קדמי" + } }, "timeline": { "collapse": "מוטט", @@ -233,29 +290,107 @@ "no_retweet_hint": "ההודעה מסומנת כ\"לעוקבים-בלבד\" ולא ניתן לחזור עליה", "repeated": "חזר", "show_new": "הראה חדש", - "up_to_date": "עדכני" + "up_to_date": "עדכני", + "no_more_statuses": "אין עוד סטטוסים", + "no_statuses": "אין סטטוסים" + }, + "status": { + "favorites": "מועדפים", + "repeats": "חזרות", + "delete": "מחק סטטוס", + "pin": "הצמד לפרופיל", + "unpin": "הסר הצמדה מהפרופיל", + "pinned": "מוצמד", + "delete_confirm": "האם באמת למחוק סטטוס זה?", + "reply_to": "הגב ל", + "replies_list": "תגובות:" }, "user_card": { "approve": "אשר", "block": "חסימה", "blocked": "חסום!", "deny": "דחה", + "favorites": "מועדפים", "follow": "עקוב", + "follow_sent": "בקשה נשלחה!", + "follow_progress": "מבקש...", + "follow_again": "שלח בקשה שוב?", + "follow_unfollow": "בטל עקיבה", "followees": "נעקבים", "followers": "עוקבים", "following": "עוקב!", "follows_you": "עוקב אחריך!", + "its_you": "זה אתה!", + "media": "מדיה", "mute": "השתק", "muted": "מושתק", "per_day": "ליום", "remote_follow": "עקיבה מרחוק", - "statuses": "סטטוסים" + "report": "דווח", + "statuses": "סטטוסים", + "unblock": "הסר חסימה", + "unblock_progress": "מסיר חסימה...", + "block_progress": "חוסם...", + "unmute": "הסר השתקה", + "unmute_progress": "מסיר השתקה...", + "mute_progress": "משתיק...", + "admin_menu": { + "moderation": "ניהול (צוות)", + "grant_admin": "הפוך למנהל", + "revoke_admin": "הסר מנהל", + "grant_moderator": "הפוך לצוות", + "revoke_moderator": "הסר צוות", + "activate_account": "הפעל משתמש", + "deactivate_account": "השבת משתמש", + "delete_account": "מחק משתמש", + "force_nsfw": "סמן את כל ההודעות בתור לא-מתאימות-לעבודה", + "strip_media": "הסר מדיה מההודעות", + "force_unlisted": "הפוך הודעות ללא רשומות", + "sandbox": "הפוך הודעות לנראות לעוקבים-בלבד", + "disable_remote_subscription": "אל תאפשר עקיבה של המשתמש מאינסטנס אחר", + "disable_any_subscription": "אל תאפשר עקיבה של המשתמש בכלל", + "quarantine": "אל תאפשר פדרציה של ההודעות של המשתמש", + "delete_user": "מחק משתמש", + "delete_user_confirmation": "בטוח? פעולה זו הינה בלתי הפיכה." + } }, "user_profile": { - "timeline_title": "ציר זמן המשתמש" + "timeline_title": "ציר זמן המשתמש", + "profile_does_not_exist": "סליחה, פרופיל זה אינו קיים.", + "profile_loading_error": "סליחה, הייתה שגיאה בטעינת הפרופיל." + }, + "user_reporting": { + "title": "מדווח על {0}", + "add_comment_description": "הדיווח ישלח לצוות האינסטנס. אפשר להסביר למה הנך מדווחים על משתמש זה למטה:", + "additional_comments": "תגובות נוספות", + "forward_description": "המשתמש משרת אחר. לשלוח לשם עותק של הדיווח?", + "forward_to": "העבר ל {0}", + "submit": "הגש", + "generic_error": "קרתה שגיאה בעת עיבוד הבקשה." }, "who_to_follow": { "more": "עוד", "who_to_follow": "אחרי מי לעקוב" + }, + "tool_tip": { + "media_upload": "העלה מדיה", + "repeat": "חזור", + "reply": "הגב", + "favorite": "מועדף", + "user_settings": "הגדרות משתמש" + }, + "upload":{ + "error": { + "base": "העלאה נכשלה.", + "file_too_big": "קובץ גדול מדי [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]", + "default": "נסה שוב אחר כך" + }, + "file_size_units": { + "B": "B", + "KiB": "KiB", + "MiB": "MiB", + "GiB": "GiB", + "TiB": "TiB" + } } } From 2af35b84044a93d19b4d6378e6f5695bde867be1 Mon Sep 17 00:00:00 2001 From: taehoon Date: Wed, 22 May 2019 23:47:20 -0400 Subject: [PATCH 04/18] do not miss statusnet_profile_url of mentions --- src/services/entity_normalizer/entity_normalizer.service.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/services/entity_normalizer/entity_normalizer.service.js b/src/services/entity_normalizer/entity_normalizer.service.js index 46ca7602..efff23d1 100644 --- a/src/services/entity_normalizer/entity_normalizer.service.js +++ b/src/services/entity_normalizer/entity_normalizer.service.js @@ -33,6 +33,7 @@ export const parseUser = (data) => { if (masto) { output.screen_name = data.acct + output.statusnet_profile_url = data.url // There's nothing else to get if (mastoShort) { @@ -56,8 +57,6 @@ export const parseUser = (data) => { output.bot = data.bot - output.statusnet_profile_url = data.url - if (data.pleroma) { const relationship = data.pleroma.relationship From 28ca504576134a8dd7b7e90488319c23f23b2300 Mon Sep 17 00:00:00 2001 From: William Pitcock Date: Sat, 25 May 2019 07:01:02 +0000 Subject: [PATCH 05/18] wire up notification settings --- src/components/user_settings/user_settings.js | 7 ++- .../user_settings/user_settings.vue | 45 +++++++++++++++++++ src/i18n/en.json | 7 +++ src/services/api/api.service.js | 19 +++++++- .../backend_interactor_service.js | 7 ++- .../entity_normalizer.service.js | 5 +++ 6 files changed, 87 insertions(+), 3 deletions(-) diff --git a/src/components/user_settings/user_settings.js b/src/components/user_settings/user_settings.js index 2418450c..ae36e5e8 100644 --- a/src/components/user_settings/user_settings.js +++ b/src/components/user_settings/user_settings.js @@ -55,7 +55,8 @@ const UserSettings = { changePasswordInputs: [ '', '', '' ], changedPassword: false, changePasswordError: false, - activeTab: 'profile' + activeTab: 'profile', + notificationSettings: this.$store.state.users.currentUser.notification_settings } }, created () { @@ -128,6 +129,10 @@ const UserSettings = { this.$store.commit('setCurrentUser', user) }) }, + updateNotificationSettings () { + this.$store.state.api.backendInteractor + .updateNotificationSettings({ settings: this.notificationSettings }) + }, changeVis (visibility) { this.newDefaultScope = visibility }, diff --git a/src/components/user_settings/user_settings.vue b/src/components/user_settings/user_settings.vue index 2cb8b37a..69f1b44f 100644 --- a/src/components/user_settings/user_settings.vue +++ b/src/components/user_settings/user_settings.vue @@ -167,6 +167,51 @@ +
+
+

{{$t('settings.notifications')}}

+
    +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +
+ +
+
+

{{$t('settings.follow_import')}}

diff --git a/src/i18n/en.json b/src/i18n/en.json index 031c93de..2840582b 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -209,6 +209,7 @@ "loop_video": "Loop videos", "loop_video_silent_only": "Loop only videos without sound (i.e. Mastodon's \"gifs\")", "mutes_tab": "Mutes", + "interactions_tab": "Interactions", "play_videos_in_modal": "Play videos directly in the media viewer", "use_contain_fit": "Don't crop the attachment in thumbnails", "name": "Name", @@ -277,6 +278,12 @@ "true": "yes" }, "notifications": "Notifications", + "notification_setting_local": "Show notifications from local users", + "notification_setting_remote": "Show notifications from remote users", + "notification_setting_follows": "Show notifications from users you follow", + "notification_setting_non_follows": "Show notifications from users you do not follow", + "notification_setting_followers": "Show notifications from users who follow you", + "notification_setting_non_followers": "Show notifications from users who do not follow you", "enable_web_push_notifications": "Enable web push notifications", "style": { "switcher": { diff --git a/src/services/api/api.service.js b/src/services/api/api.service.js index c67eccf1..d6904d30 100644 --- a/src/services/api/api.service.js +++ b/src/services/api/api.service.js @@ -16,6 +16,7 @@ const PERMISSION_GROUP_URL = (screenName, right) => `/api/pleroma/admin/users/${ const ACTIVATION_STATUS_URL = screenName => `/api/pleroma/admin/users/${screenName}/activation_status` const ADMIN_USERS_URL = '/api/pleroma/admin/users' const SUGGESTIONS_URL = '/api/v1/suggestions' +const NOTIFICATION_SETTINGS_URL = '/api/pleroma/notification_settings' const MASTODON_USER_FAVORITES_TIMELINE_URL = '/api/v1/favourites' const MASTODON_USER_NOTIFICATIONS_URL = '/api/v1/notifications' @@ -97,6 +98,21 @@ const promisedRequest = ({ method, url, payload, credentials, headers = {} }) => }) } +const updateNotificationSettings = ({credentials, settings}) => { + const form = new FormData() + + each(settings, (value, key) => { + form.append(key, value) + }) + + return fetch(NOTIFICATION_SETTINGS_URL, { + headers: authHeaders(credentials), + method: 'PUT', + body: form + }) + .then((data) => data.json()) +} + const updateAvatar = ({credentials, avatar}) => { const form = new FormData() form.append('avatar', avatar) @@ -767,7 +783,8 @@ const apiService = { markNotificationsAsSeen, fetchFavoritedByUsers, fetchRebloggedByUsers, - reportUser + reportUser, + updateNotificationSettings } export default apiService diff --git a/src/services/backend_interactor_service/backend_interactor_service.js b/src/services/backend_interactor_service/backend_interactor_service.js index 639bcabc..36152429 100644 --- a/src/services/backend_interactor_service/backend_interactor_service.js +++ b/src/services/backend_interactor_service/backend_interactor_service.js @@ -87,6 +87,10 @@ const backendInteractorService = (credentials) => { return apiService.deleteUser({screen_name, credentials}) } + const updateNotificationSettings = ({settings}) => { + return apiService.updateNotificationSettings({credentials, settings}) + } + const fetchMutes = () => apiService.fetchMutes({credentials}) const muteUser = (id) => apiService.muteUser({credentials, id}) const unmuteUser = (id) => apiService.unmuteUser({credentials, id}) @@ -171,7 +175,8 @@ const backendInteractorService = (credentials) => { favorite, unfavorite, retweet, - unretweet + unretweet, + updateNotificationSettings } return backendInteractorServiceInstance diff --git a/src/services/entity_normalizer/entity_normalizer.service.js b/src/services/entity_normalizer/entity_normalizer.service.js index efff23d1..baf58e9b 100644 --- a/src/services/entity_normalizer/entity_normalizer.service.js +++ b/src/services/entity_normalizer/entity_normalizer.service.js @@ -141,8 +141,13 @@ export const parseUser = (data) => { output.deactivated = data.pleroma.deactivated } + if (data.pleroma) { + output.notification_settings = data.pleroma.notification_settings + } + output.tags = output.tags || [] output.rights = output.rights || {} + output.notification_settings = output.notification_settings || {} return output } From ac97cd3e469f6b3051fa74d66f72cd23dc53a2fb Mon Sep 17 00:00:00 2001 From: William Pitcock Date: Sat, 25 May 2019 22:59:04 +0000 Subject: [PATCH 06/18] entity normalizer: collapse data.pleroma if blocks --- src/services/entity_normalizer/entity_normalizer.service.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/services/entity_normalizer/entity_normalizer.service.js b/src/services/entity_normalizer/entity_normalizer.service.js index baf58e9b..e27b6108 100644 --- a/src/services/entity_normalizer/entity_normalizer.service.js +++ b/src/services/entity_normalizer/entity_normalizer.service.js @@ -134,14 +134,10 @@ export const parseUser = (data) => { if (data.pleroma) { output.follow_request_count = data.pleroma.follow_request_count - } - if (data.pleroma) { output.tags = data.pleroma.tags output.deactivated = data.pleroma.deactivated - } - if (data.pleroma) { output.notification_settings = data.pleroma.notification_settings } From 855566f887cb9f705f62141b929bb9a3d089099c Mon Sep 17 00:00:00 2001 From: William Pitcock Date: Sat, 25 May 2019 23:44:36 +0000 Subject: [PATCH 07/18] notification controls: redesign entirely --- .../user_settings/user_settings.vue | 72 +++++++++---------- src/i18n/en.json | 14 ++-- 2 files changed, 39 insertions(+), 47 deletions(-) diff --git a/src/components/user_settings/user_settings.vue b/src/components/user_settings/user_settings.vue index 69f1b44f..20b10979 100644 --- a/src/components/user_settings/user_settings.vue +++ b/src/components/user_settings/user_settings.vue @@ -167,47 +167,39 @@
-
+
-

{{$t('settings.notifications')}}

-
    -
  • - - -
  • -
  • - - -
  • -
  • - - -
  • -
  • - - -
  • -
  • - - -
  • -
  • - - -
  • -
+
+ {{$t('settings.notification_setting')}} +
    +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +
+
+

{{$t('settings.notification_mutes')}}

+

{{$t('settings.notification_blocks')}}

diff --git a/src/i18n/en.json b/src/i18n/en.json index 2840582b..2b5c5468 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -209,7 +209,6 @@ "loop_video": "Loop videos", "loop_video_silent_only": "Loop only videos without sound (i.e. Mastodon's \"gifs\")", "mutes_tab": "Mutes", - "interactions_tab": "Interactions", "play_videos_in_modal": "Play videos directly in the media viewer", "use_contain_fit": "Don't crop the attachment in thumbnails", "name": "Name", @@ -278,12 +277,13 @@ "true": "yes" }, "notifications": "Notifications", - "notification_setting_local": "Show notifications from local users", - "notification_setting_remote": "Show notifications from remote users", - "notification_setting_follows": "Show notifications from users you follow", - "notification_setting_non_follows": "Show notifications from users you do not follow", - "notification_setting_followers": "Show notifications from users who follow you", - "notification_setting_non_followers": "Show notifications from users who do not follow you", + "notification_setting": "Receive notifications from:", + "notification_setting_follows": "Users you follow", + "notification_setting_non_follows": "Users you do not follow", + "notification_setting_followers": "Users who follow you", + "notification_setting_non_followers": "Users who do not follow you", + "notification_mutes": "To stop receiving notifications from a specific user, use a mute.", + "notification_blocks": "Blocking a user stops all notifications as well as unsubscribes them.", "enable_web_push_notifications": "Enable web push notifications", "style": { "switcher": { From 6c7eeb93fef28789a4d560be7feaeccc19d6ed20 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Mon, 27 May 2019 00:13:08 +0300 Subject: [PATCH 08/18] move drowdown menu to popper --- .../extra_buttons/extra_buttons.vue | 3 +- .../moderation_tools/moderation_tools.vue | 58 ------------------- src/components/popper/popper.scss | 57 ++++++++++++++++++ 3 files changed, 59 insertions(+), 59 deletions(-) diff --git a/src/components/extra_buttons/extra_buttons.vue b/src/components/extra_buttons/extra_buttons.vue index ef11138d..a761d313 100644 --- a/src/components/extra_buttons/extra_buttons.vue +++ b/src/components/extra_buttons/extra_buttons.vue @@ -13,7 +13,7 @@ }" >
- diff --git a/src/components/dialog_modal/dialog_modal.vue b/src/components/dialog_modal/dialog_modal.vue index 7621fb20..3da543de 100644 --- a/src/components/dialog_modal/dialog_modal.vue +++ b/src/components/dialog_modal/dialog_modal.vue @@ -62,6 +62,7 @@ .title { margin-bottom: 0; + text-align: center; } } @@ -80,6 +81,7 @@ background-color: var(--lightBg, $fallback--lightBg); border-top: 1px solid $fallback--bg; border-top: 1px solid var(--bg, $fallback--bg); + display: flex; justify-content: flex-end; button { diff --git a/src/components/moderation_tools/moderation_tools.vue b/src/components/moderation_tools/moderation_tools.vue index 146673a5..6a5e8cc0 100644 --- a/src/components/moderation_tools/moderation_tools.vue +++ b/src/components/moderation_tools/moderation_tools.vue @@ -65,18 +65,20 @@ {{ $t('user_card.admin_menu.moderation') }} - - {{ $t('user_card.admin_menu.delete_user') }} -

{{ $t('user_card.admin_menu.delete_user_confirmation') }}

- - - - -
+ + + +

{{ $t('user_card.admin_menu.delete_user_confirmation') }}

+ +
+
From 322c9fbfb60f42e7b6dacc228f9805d733aa43a8 Mon Sep 17 00:00:00 2001 From: Hakaba Hitoyo Date: Tue, 11 Jun 2019 12:10:47 +0000 Subject: [PATCH 17/18] i18n/Update Japanese translation --- src/i18n/ja.json | 144 +++++++++++++++++++++++++++++++++++--- src/i18n/ja_pedantic.json | 136 +++++++++++++++++++++++++++++++++-- 2 files changed, 264 insertions(+), 16 deletions(-) diff --git a/src/i18n/ja.json b/src/i18n/ja.json index b77f5531..87ab9dfd 100644 --- a/src/i18n/ja.json +++ b/src/i18n/ja.json @@ -2,6 +2,10 @@ "chat": { "title": "チャット" }, + "exporter": { + "export": "エクスポート", + "processing": "おまちください。しばらくすると、あなたのファイルをダウンロードするように、メッセージがでます。" + }, "features_panel": { "chat": "チャット", "gopher": "Gopher", @@ -19,7 +23,22 @@ "apply": "てきよう", "submit": "そうしん", "more": "つづき", - "generic_error": "エラーになりました" + "generic_error": "エラーになりました", + "optional": "かかなくてもよい", + "show_more": "つづきをみる", + "show_less": "たたむ", + "cancel": "キャンセル" + }, + "image_cropper": { + "crop_picture": "がぞうをきりぬく", + "save": "セーブ", + "save_without_cropping": "きりぬかずにセーブ", + "cancel": "キャンセル" + }, + "importer": { + "submit": "そうしん", + "success": "インポートできました。", + "error": "インポートがエラーになりました。" }, "login": { "login": "ログイン", @@ -31,12 +50,17 @@ "username": "ユーザーめい", "hint": "はなしあいにくわわるには、ログインしてください" }, + "media_modal": { + "previous": "まえ", + "next": "つぎ" + }, "nav": { "about": "これはなに?", "back": "もどる", "chat": "ローカルチャット", "friend_requests": "フォローリクエスト", "mentions": "メンション", + "interactions": "やりとり", "dms": "ダイレクトメッセージ", "public_tl": "パブリックタイムライン", "timeline": "タイムライン", @@ -55,18 +79,33 @@ "repeated_you": "あなたのステータスがリピートされました", "no_more_notifications": "つうちはありません" }, + "interactions": { + "favs_repeats": "リピートとおきにいり", + "follows": "あたらしいフォロー", + "load_older": "ふるいやりとりをみる" + }, "post_status": { "new_status": "とうこうする", "account_not_locked_warning": "あなたのアカウントは {0} ではありません。あなたをフォローすれば、だれでも、フォロワーげんていのステータスをよむことができます。", "account_not_locked_warning_link": "ロックされたアカウント", "attachments_sensitive": "ファイルをNSFWにする", "content_type": { - "text/plain": "プレーンテキスト" + "text/plain": "プレーンテキスト", + "text/html": "HTML", + "text/markdown": "Markdown", + "text/bbcode": "BBCode" }, "content_warning": "せつめい (かかなくてもよい)", "default": "はねだくうこうに、つきました。", + "direct_warning_to_all": "このとうこうは、メンションされたすべてのユーザーが、みることができます。", + "direct_warning_to_first_only": "このとうこうは、メッセージのはじめでメンションされたユーザーだけが、みることができます。", "direct_warning": "このステータスは、メンションされたユーザーだけが、よむことができます。", "posting": "とうこう", + "scope_notice": { + "public": "このとうこうは、だれでもみることができます", + "private": "このとうこうは、あなたのフォロワーだけが、みることができます", + "unlisted": "このとうこうは、パブリックタイムラインと、つながっているすべてのネットワークでは、みることができません" + }, "scope": { "direct": "ダイレクト: メンションされたユーザーのみにとどきます。", "private": "フォロワーげんてい: フォロワーのみにとどきます。", @@ -83,6 +122,9 @@ "token": "しょうたいトークン", "captcha": "CAPTCHA", "new_captcha": "もじがよめないときは、がぞうをクリックすると、あたらしいがぞうになります", + "username_placeholder": "れい: lain", + "fullname_placeholder": "れい: いわくら れいん", + "bio_placeholder": "れい:\nごきげんよう。わたしはれいん。\nわたしはアニメのおんなのこで、にほんのベッドタウンにすんでいます。ワイヤードで、わたしにあったことが、あるかもしれませんね。", "validations": { "username_required": "なにかかいてください", "fullname_required": "なにかかいてください", @@ -92,7 +134,11 @@ "password_confirmation_match": "パスワードがちがいます" } }, + "selectable_list": { + "select_all": "すべてえらぶ" + }, "settings": { + "app_name": "アプリのなまえ", "attachmentRadius": "ファイル", "attachments": "ファイル", "autoload": "したにスクロールしたとき、じどうてきによみこむ。", @@ -101,6 +147,12 @@ "avatarRadius": "アバター", "background": "バックグラウンド", "bio": "プロフィール", + "block_export": "ブロックのエクスポート", + "block_export_button": "ブロックをCSVファイルにエクスポート", + "block_import": "ブロックのインポート", + "block_import_error": "ブロックのインポートがエラーになりました", + "blocks_imported": "ブロックをインポートしました! じっさいにブロックするまでには、もうしばらくかかります。", + "blocks_tab": "ブロック", "btnRadius": "ボタン", "cBlue": "リプライとフォロー", "cGreen": "リピート", @@ -135,12 +187,15 @@ "general": "ぜんぱん", "hide_attachments_in_convo": "スレッドのファイルをかくす", "hide_attachments_in_tl": "タイムラインのファイルをかくす", + "hide_muted_posts": "ミュートしたユーザーのとうこうをかくす", + "max_thumbnails": "ひとつのとうこうにいれられるサムネイルのかず", "hide_isp": "インスタンススペシフィックパネルをかくす", "preload_images": "がぞうをさきよみする", "use_one_click_nsfw": "NSFWなファイルを1クリックでひらく", "hide_post_stats": "とうこうのとうけいをかくす (れい: おきにいりのかず)", "hide_user_stats": "ユーザーのとうけいをかくす (れい: フォロワーのかず)", "hide_filtered_statuses": "フィルターされたとうこうをかくす", + "import_blocks_from_a_csv_file": "CSVファイルからブロックをインポートする", "import_followers_from_a_csv_file": "CSVファイルからフォローをインポートする", "import_theme": "ロード", "inputRadius": "インプットフィールド", @@ -155,6 +210,7 @@ "lock_account_description": "あなたがみとめたひとだけ、あなたのアカウントをフォローできる", "loop_video": "ビデオをくりかえす", "loop_video_silent_only": "おとのないビデオだけくりかえす", + "mutes_tab": "ミュート", "play_videos_in_modal": "ビデオをメディアビューアーでみる", "use_contain_fit": "がぞうのサムネイルを、きりぬかない", "name": "なまえ", @@ -166,16 +222,18 @@ "notification_visibility_mentions": "メンション", "notification_visibility_repeats": "リピート", "no_rich_text_description": "リッチテキストをつかわない", + "no_blocks": "ブロックしていません", + "no_mutes": "ミュートしていません", "hide_follows_description": "フォローしているひとをみせない", "hide_followers_description": "フォロワーをみせない", - "show_admin_badge": "アドミンのしるしをみる", - "show_moderator_badge": "モデレーターのしるしをみる", + "show_admin_badge": "アドミンのしるしをみせる", + "show_moderator_badge": "モデレーターのしるしをみせる", "nsfw_clickthrough": "NSFWなファイルをかくす", "oauth_tokens": "OAuthトークン", "token": "トークン", - "refresh_token": "トークンを更新", - "valid_until": "まで有効", - "revoke_token": "取り消す", + "refresh_token": "トークンをリフレッシュ", + "valid_until": "おわりのとき", + "revoke_token": "とりけす", "panelRadius": "パネル", "pause_on_unfocused": "タブにフォーカスがないときストリーミングをとめる", "presets": "プリセット", @@ -188,10 +246,14 @@ "reply_visibility_all": "すべてのリプライをみる", "reply_visibility_following": "わたしにあてられたリプライと、フォローしているひとからのリプライをみる", "reply_visibility_self": "わたしにあてられたリプライをみる", + "autohide_floating_post_button": "あたらしいとうこうのボタンを、じどうてきにかくす (モバイル)", "saving_err": "せっていをセーブできませんでした", "saving_ok": "せっていをセーブしました", + "search_user_to_block": "ブロックしたいひとを、ここでけんさくできます", + "search_user_to_mute": "ミュートしたいひとを、ここでけんさくできます", "security_tab": "セキュリティ", "scope_copy": "リプライするとき、こうかいはんいをコピーする (DMのこうかいはんいは、つねにコピーされます)", + "minimal_scopes_mode": "こうかいはんいせんたくオプションを、ちいさくする", "set_new_avatar": "あたらしいアバターをせっていする", "set_new_profile_background": "あたらしいプロフィールのバックグラウンドをせっていする", "set_new_profile_banner": "あたらしいプロフィールバナーを設定する", @@ -209,6 +271,7 @@ "theme_help": "カラーテーマをカスタマイズできます", "theme_help_v2_1": "チェックボックスをONにすると、コンポーネントごとに、いろと、とうめいどを、オーバーライドできます。「すべてクリア」ボタンをおすと、すべてのオーバーライドを、やめます。", "theme_help_v2_2": "バックグラウンドとテキストのコントラストをあらわすアイコンがあります。マウスをホバーすると、くわしいせつめいがでます。とうめいないろをつかっているときは、もっともわるいばあいのコントラストがしめされます。", + "upload_a_photo": "がぞうをアップロード", "tooltipRadius": "ツールチップとアラート", "user_settings": "ユーザーせってい", "values": { @@ -216,6 +279,13 @@ "true": "はい" }, "notifications": "つうち", + "notification_setting": "つうちをうけとる:", + "notification_setting_follows": "あなたがフォローしているひとから", + "notification_setting_non_follows": "あなたがフォローしていないひとから", + "notification_setting_followers": "あなたをフォローしているひとから", + "notification_setting_non_followers": "あなたをフォローしていないひとから", + "notification_mutes": "あるユーザーからのつうちをとめるには、ミュートしてください。", + "notification_blocks": "ブロックしているユーザーからのつうちは、すべてとまります。", "enable_web_push_notifications": "ウェブプッシュつうちをゆるす", "style": { "switcher": { @@ -325,6 +395,11 @@ "checkbox": "りようきやくを、よみました", "link": "ハイパーリンク" } + }, + "version": { + "title": "バージョン", + "backend_version": "バックエンドのバージョン", + "frontend_version": "フロントエンドのバージョン" } }, "timeline": { @@ -336,7 +411,19 @@ "repeated": "リピート", "show_new": "よみこみ", "up_to_date": "さいしん", - "no_more_statuses": "これでおわりです" + "no_more_statuses": "これでおわりです", + "no_statuses": "ありません" + }, + "status": { + "favorites": "おきにいり", + "repeats": "リピート", + "delete": "ステータスをけす", + "pin": "プロフィールにピンどめする", + "unpin": "プロフィールにピンどめするのをやめる", + "pinned": "ピンどめ", + "delete_confirm": "ほんとうに、このステータスを、けしてもいいですか?", + "reply_to": "へんしん:", + "replies_list": "へんしん:" }, "user_card": { "approve": "うけいれ", @@ -359,10 +446,47 @@ "muted": "ミュートしています!", "per_day": "/日", "remote_follow": "リモートフォロー", - "statuses": "ステータス" + "report": "つうほう", + "statuses": "ステータス", + "unblock": "ブロックをやめる", + "unblock_progress": "ブロックをとりけしています...", + "block_progress": "ブロックしています...", + "unmute": "ミュートをやめる", + "unmute_progress": "ミュートをとりけしています...", + "mute_progress": "ミュートしています...", + "admin_menu": { + "moderation": "モデレーション", + "grant_admin": "アドミンにする", + "revoke_admin": "アドミンをやめさせる", + "grant_moderator": "モデレーターにする", + "revoke_moderator": "モデレーターをやめさせる", + "activate_account": "アカウントをアクティブにする", + "deactivate_account": "アカウントをアクティブでなくする", + "delete_account": "アカウントをけす", + "force_nsfw": "すべてのとうこうをNSFWにする", + "strip_media": "とうこうからメディアをなくす", + "force_unlisted": "とうこうをアンリステッドにする", + "sandbox": "とうこうをフォロワーのみにする", + "disable_remote_subscription": "ほかのインスタンスからフォローされないようにする", + "disable_any_subscription": "フォローされないようにする", + "quarantine": "ほかのインスタンスのユーザーのとうこうをとめる", + "delete_user": "ユーザーをけす", + "delete_user_confirmation": "あなたは、ほんとうに、きはたしかですか? これは、とりけすことが、できません。" + } }, "user_profile": { - "timeline_title": "ユーザータイムライン" + "timeline_title": "ユーザータイムライン", + "profile_does_not_exist": "ごめんなさい。このプロフィールは、そんざいしません。", + "profile_loading_error": "ごめんなさい。プロフィールのロードがエラーになりました。" + }, + "user_reporting": { + "title": "つうほうする: {0}", + "add_comment_description": "このつうほうは、あなたのインスタンスのモデレーターに、おくられます。このアカウントを、つうほうするりゆうを、せつめいすることができます:", + "additional_comments": "ついかのコメント", + "forward_description": "このアカウントは、ほかのインスタンスのものです。そのインスタンスにも、このつうほうのコピーを、おくりますか?", + "forward_to": "コピーをおくる: {0}", + "submit": "そうしん", + "generic_error": "あなたのリクエストをうけつけようとしましたが、エラーになってしまいました。" }, "who_to_follow": { "more": "くわしく", diff --git a/src/i18n/ja_pedantic.json b/src/i18n/ja_pedantic.json index 8417a813..9036baf5 100644 --- a/src/i18n/ja_pedantic.json +++ b/src/i18n/ja_pedantic.json @@ -2,6 +2,10 @@ "chat": { "title": "チャット" }, + "exporter": { + "export": "エクスポート", + "processing": "処理中です。処理が完了すると、ファイルをダウンロードするよう指示があります。" + }, "features_panel": { "chat": "チャット", "gopher": "Gopher", @@ -19,7 +23,22 @@ "apply": "適用", "submit": "送信", "more": "続き", - "generic_error": "エラーになりました" + "generic_error": "エラーになりました", + "optional": "省略可", + "show_more": "もっと見る", + "show_less": "たたむ", + "cancel": "キャンセル" + }, + "image_cropper": { + "crop_picture": "画像を切り抜く", + "save": "保存", + "save_without_cropping": "切り抜かずに保存", + "cancel": "キャンセル" + }, + "importer": { + "submit": "送信", + "success": "正常にインポートされました。", + "error": "このファイルをインポートするとき、エラーが発生しました。" }, "login": { "login": "ログイン", @@ -31,12 +50,17 @@ "username": "ユーザー名", "hint": "会話に加わるには、ログインしてください" }, + "media_modal": { + "previous": "前", + "next": "次" + }, "nav": { "about": "このインスタンスについて", "back": "戻る", "chat": "ローカルチャット", "friend_requests": "フォローリクエスト", "mentions": "通知", + "interactions": "インタラクション", "dms": "ダイレクトメッセージ", "public_tl": "パブリックタイムライン", "timeline": "タイムライン", @@ -55,18 +79,33 @@ "repeated_you": "あなたのステータスがリピートされました", "no_more_notifications": "通知はありません" }, + "interactions": { + "favs_repeats": "リピートとお気に入り", + "follows": "新しいフォロワー", + "load_older": "古いインタラクションを見る" + }, "post_status": { "new_status": "投稿する", "account_not_locked_warning": "あなたのアカウントは {0} ではありません。あなたをフォローすれば、誰でも、フォロワー限定のステータスを読むことができます。", "account_not_locked_warning_link": "ロックされたアカウント", "attachments_sensitive": "ファイルをNSFWにする", "content_type": { - "text/plain": "プレーンテキスト" + "text/plain": "プレーンテキスト", + "text/html": "HTML", + "text/markdown": "Markdown", + "text/bbcode": "BBCode" }, "content_warning": "説明 (省略可)", "default": "羽田空港に着きました。", + "direct_warning_to_all": "この投稿は、メンションされたすべてのユーザーが、見ることができます。", + "direct_warning_to_first_only": "この投稿は、メッセージの冒頭でメンションされたユーザーだけが、見ることができます。", "direct_warning": "このステータスは、メンションされたユーザーだけが、読むことができます。", "posting": "投稿", + "scope_notice": { + "public": "この投稿は、誰でも見ることができます", + "private": "この投稿は、あなたのフォロワーだけが、見ることができます。", + "unlisted": "この投稿は、パブリックタイムラインと、接続しているすべてのネットワークには、表示されません。" + }, "scope": { "direct": "ダイレクト: メンションされたユーザーのみに届きます。", "private": "フォロワーげんてい: フォロワーのみに届きます。", @@ -83,6 +122,9 @@ "token": "招待トークン", "captcha": "CAPTCHA", "new_captcha": "文字が読めないときは、画像をクリックすると、新しい画像になります", + "username_placeholder": "例: lain", + "fullname_placeholder": "例: 岩倉玲音", + "bio_placeholder": "例:\nこんにちは。私は玲音。\n私はアニメのキャラクターで、日本の郊外に住んでいます。私をWiredで見たことがあるかもしれません。", "validations": { "username_required": "必須", "fullname_required": "必須", @@ -92,7 +134,11 @@ "password_confirmation_match": "パスワードが違います" } }, + "selectable_list": { + "select_all": "すべて選択" + }, "settings": { + "app_name": "アプリの名称", "attachmentRadius": "ファイル", "attachments": "ファイル", "autoload": "下にスクロールしたとき、自動的に読み込む。", @@ -101,6 +147,12 @@ "avatarRadius": "アバター", "background": "バックグラウンド", "bio": "プロフィール", + "block_export": "ブロックのエクスポート", + "block_export_button": "ブロックをCSVファイルにエクスポートする", + "block_import": "ブロックのインポート", + "block_import_error": "ブロックのインポートに失敗しました", + "blocks_imported": "ブロックをインポートしました! 実際に処理されるまでに、しばらく時間がかかります。", + "blocks_tab": "ブロック", "btnRadius": "ボタン", "cBlue": "返信とフォロー", "cGreen": "リピート", @@ -128,19 +180,22 @@ "follow_export": "フォローのエクスポート", "follow_export_button": "エクスポート", "follow_export_processing": "お待ちください。まもなくファイルをダウンロードできます。", - "follow_import": "フォローインポート", + "follow_import": "フォローのインポート", "follow_import_error": "フォローのインポートがエラーになりました。", "follows_imported": "フォローがインポートされました! 少し時間がかかるかもしれません。", "foreground": "フォアグラウンド", "general": "全般", "hide_attachments_in_convo": "スレッドのファイルを隠す", "hide_attachments_in_tl": "タイムラインのファイルを隠す", + "hide_muted_posts": "ミュートしているユーザーの投稿を隠す", + "max_thumbnails": "投稿に含まれるサムネイルの最大数", "hide_isp": "インスタンス固有パネルを隠す", "preload_images": "画像を先読みする", "use_one_click_nsfw": "NSFWなファイルを1クリックで開く", "hide_post_stats": "投稿の統計を隠す (例: お気に入りの数)", "hide_user_stats": "ユーザーの統計を隠す (例: フォロワーの数)", "hide_filtered_statuses": "フィルターされた投稿を隠す", + "import_blocks_from_a_csv_file": "CSVファイルからブロックをインポートする", "import_followers_from_a_csv_file": "CSVファイルからフォローをインポートする", "import_theme": "ロード", "inputRadius": "インプットフィールド", @@ -155,6 +210,7 @@ "lock_account_description": "あなたが認めた人だけ、あなたのアカウントをフォローできる", "loop_video": "ビデオを繰り返す", "loop_video_silent_only": "音のないビデオだけ繰り返す", + "mutes_tab": "ミュート", "play_videos_in_modal": "ビデオをメディアビューアーで見る", "use_contain_fit": "画像のサムネイルを、切り抜かない", "name": "名前", @@ -166,6 +222,8 @@ "notification_visibility_mentions": "メンション", "notification_visibility_repeats": "リピート", "no_rich_text_description": "リッチテキストを使わない", + "no_blocks": "ブロックはありません", + "no_mutes": "ミュートはありません", "hide_follows_description": "フォローしている人を見せない", "hide_followers_description": "フォロワーを見せない", "show_admin_badge": "管理者のバッジを見せる", @@ -188,10 +246,14 @@ "reply_visibility_all": "すべてのリプライを見る", "reply_visibility_following": "私に宛てられたリプライと、フォローしている人からのリプライを見る", "reply_visibility_self": "私に宛てられたリプライを見る", + "autohide_floating_post_button": "新しい投稿ボタンを自動的に隠す (モバイル)", "saving_err": "設定を保存できませんでした", "saving_ok": "設定を保存しました", + "search_user_to_block": "ブロックしたいユーザーを検索", + "search_user_to_mute": "ミュートしたいユーザーを検索", "security_tab": "セキュリティ", "scope_copy": "返信するとき、公開範囲をコピーする (DMの公開範囲は、常にコピーされます)", + "minimal_scopes_mode": "公開範囲選択オプションを最小にする", "set_new_avatar": "新しいアバターを設定する", "set_new_profile_background": "新しいプロフィールのバックグラウンドを設定する", "set_new_profile_banner": "新しいプロフィールバナーを設定する", @@ -210,12 +272,20 @@ "theme_help_v2_1": "チェックボックスをONにすると、コンポーネントごとに、色と透明度をオーバーライドできます。「すべてクリア」ボタンを押すと、すべてのオーバーライドをやめます。", "theme_help_v2_2": "バックグラウンドとテキストのコントラストを表すアイコンがあります。マウスをホバーすると、詳しい説明が出ます。透明な色を使っているときは、最悪の場合のコントラストが示されます。", "tooltipRadius": "ツールチップとアラート", + "upload_a_photo": "画像をアップロード", "user_settings": "ユーザー設定", "values": { "false": "いいえ", "true": "はい" }, "notifications": "通知", + "notification_setting": "通知を受け取る:", + "notification_setting_follows": "あなたがフォローしているユーザーから", + "notification_setting_non_follows": "あなたがフォローしていないユーザーから", + "notification_setting_followers": "あなたをフォローしているユーザーから", + "notification_setting_non_followers": "あなたをフォローしていないユーザーから", + "notification_mutes": "特定のユーザーからの通知を止めるには、ミュートしてください。", + "notification_blocks": "ブロックしているユーザーからの通知は、すべて止まります。", "enable_web_push_notifications": "ウェブプッシュ通知を許可する", "style": { "switcher": { @@ -325,6 +395,11 @@ "checkbox": "利用規約を読みました", "link": "ハイパーリンク" } + }, + "version": { + "title": "バージョン", + "backend_version": "バックエンドのバージョン", + "frontend_version": "フロントエンドのバージョン" } }, "timeline": { @@ -336,7 +411,19 @@ "repeated": "リピート", "show_new": "読み込み", "up_to_date": "最新", - "no_more_statuses": "これで終わりです" + "no_more_statuses": "これで終わりです", + "no_statuses": "ステータスはありません" + }, + "status": { + "favorites": "お気に入り", + "repeats": "リピート", + "delete": "ステータスを削除", + "pin": "プロフィールにピン留め", + "unpin": "プロフィールのピン留めを外す", + "pinned": "ピン留め", + "delete_confirm": "本当にこのステータスを削除してもよろしいですか?", + "reply_to": "返信", + "replies_list": "返信:" }, "user_card": { "approve": "受け入れ", @@ -359,10 +446,47 @@ "muted": "ミュートしています!", "per_day": "/日", "remote_follow": "リモートフォロー", - "statuses": "ステータス" + "report": "通報", + "statuses": "ステータス", + "unblock": "ブロック解除", + "unblock_progress": "ブロックを解除しています...", + "block_progress": "ブロックしています...", + "unmute": "ミュート解除", + "unmute_progress": "ミュートを解除しています...", + "mute_progress": "ミュートしています...", + "admin_menu": { + "moderation": "モデレーション", + "grant_admin": "管理者権限を付与", + "revoke_admin": "管理者権限を解除", + "grant_moderator": "モデレーター権限を付与", + "revoke_moderator": "モデレーター権限を解除", + "activate_account": "アカウントをアクティブにする", + "deactivate_account": "アカウントをアクティブでなくする", + "delete_account": "アカウントを削除", + "force_nsfw": "すべての投稿をNSFWにする", + "strip_media": "投稿からメディアを除去する", + "force_unlisted": "投稿を未収載にする", + "sandbox": "投稿をフォロワーのみにする", + "disable_remote_subscription": "他のインスタンスからフォローされないようにする", + "disable_any_subscription": "フォローされないようにする", + "quarantine": "他のインスタンスからの投稿を止める", + "delete_user": "ユーザーを削除", + "delete_user_confirmation": "あなたの精神状態に何か問題はございませんか? この操作を取り消すことはできません。" + } }, "user_profile": { - "timeline_title": "ユーザータイムライン" + "timeline_title": "ユーザータイムライン", + "profile_does_not_exist": "申し訳ない。このプロフィールは存在しません。", + "profile_loading_error": "申し訳ない。プロフィールの読み込みがエラーになりました。" + }, + "user_reporting": { + "title": "通報する: {0}", + "add_comment_description": "この通報は、あなたのインスタンスのモデレーターに送られます。このアカウントを通報する理由を説明することができます:", + "additional_comments": "追加のコメント", + "forward_description": "このアカウントは他のサーバーに置かれています。この通報のコピーをリモートのサーバーに送りますか?", + "forward_to": "転送する: {0}", + "submit": "送信", + "generic_error": "あなたのリクエストを処理しようとしましたが、エラーになりました。" }, "who_to_follow": { "more": "詳細", From a7b0b07e6fc81aa30769059ada197c824dfb0efb Mon Sep 17 00:00:00 2001 From: HJ <30-hj@users.noreply.git.pleroma.social> Date: Wed, 12 Jun 2019 11:44:14 +0000 Subject: [PATCH 18/18] Apply suggestion to src/services/entity_normalizer/entity_normalizer.service.js --- src/services/entity_normalizer/entity_normalizer.service.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/services/entity_normalizer/entity_normalizer.service.js b/src/services/entity_normalizer/entity_normalizer.service.js index f14c483c..d68e5f72 100644 --- a/src/services/entity_normalizer/entity_normalizer.service.js +++ b/src/services/entity_normalizer/entity_normalizer.service.js @@ -86,10 +86,6 @@ export const parseUser = (data) => { output.description = data.source.note output.default_scope = data.source.privacy if (data.source.pleroma) { - if (data.source.pleroma.show_role) { - console.log(data.source) - console.log(data.pleroma) - } output.no_rich_text = data.source.pleroma.no_rich_text output.show_role = data.source.pleroma.show_role }