From c758d103bdb0cb0ac2945722c0666d309cd19a75 Mon Sep 17 00:00:00 2001 From: Xiaofeng An Date: Tue, 5 Feb 2019 13:47:27 -0500 Subject: fix #308 - show login hint above timeline when user is not logged in --- src/i18n/en.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/i18n') diff --git a/src/i18n/en.json b/src/i18n/en.json index f80d8ba2..51c3026b 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -28,7 +28,8 @@ "password": "Password", "placeholder": "e.g. lain", "register": "Register", - "username": "Username" + "username": "Username", + "hint": "Log in to join discussion" }, "nav": { "about": "About", -- cgit v1.2.3-70-g09d2 From 37c7d850f1f93b5aaeeba3d4770c40dcd648a540 Mon Sep 17 00:00:00 2001 From: tarteka Date: Tue, 5 Feb 2019 22:20:45 +0000 Subject: Update es.json --- src/i18n/es.json | 307 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 294 insertions(+), 13 deletions(-) (limited to 'src/i18n') diff --git a/src/i18n/es.json b/src/i18n/es.json index 3391c6af..7eaef1e7 100644 --- a/src/i18n/es.json +++ b/src/i18n/es.json @@ -2,16 +2,28 @@ "chat": { "title": "Chat" }, + "features_panel": { + "chat": "Chat", + "gopher": "Gopher", + "media_proxy": "Media proxy", + "scope_options": "Opciones del alcance de la visibilidad", + "text_limit": "Límite de carácteres", + "title": "Características", + "who_to_follow": "A quién seguir" + }, "finder": { "error_fetching_user": "Error al buscar usuario", "find_user": "Encontrar usuario" }, "general": { "apply": "Aplicar", - "submit": "Enviar" + "submit": "Enviar", + "more": "Más", + "generic_error": "Ha ocurrido un error" }, "login": { "login": "Identificación", + "description": "Identificación con OAuth", "logout": "Salir", "password": "Contraseña", "placeholder": "p.ej. lain", @@ -19,82 +31,351 @@ "username": "Usuario" }, "nav": { + "about": "Sobre", + "back": "Volver", "chat": "Chat Local", + "friend_requests": "Solicitudes de amistad", "mentions": "Menciones", + "dms": "Mensajes Directo", "public_tl": "Línea Temporal Pública", "timeline": "Línea Temporal", - "twkn": "Toda La Red Conocida" + "twkn": "Toda La Red Conocida", + "user_search": "Búsqueda de Usuarios", + "who_to_follow": "A quién seguir", + "preferences": "Preferencias" }, "notifications": { + "broken_favorite": "Estado desconocido, buscándolo...", + "favorited_you": "le gusta tu estado", "followed_you": "empezó a seguirte", + "load_older": "Cargar notificaciones antiguas", "notifications": "Notificaciones", - "read": "¡Leído!" + "read": "¡Leído!", + "repeated_you": "repite tu estado", + "no_more_notifications": "No hay más notificaciones" }, "post_status": { + "new_status": "Post new status", + "account_not_locked_warning": "Tu cuenta no está {0}. Cualquiera puede seguirte y leer las entradas para Solo-Seguidores.", + "account_not_locked_warning_link": "bloqueada", + "attachments_sensitive": "Contenido sensible", + "content_type": { + "plain_text": "Texto Plano" + }, + "content_warning": "Tema (opcional)", "default": "Acabo de aterrizar en L.A.", - "posting": "Publicando" + "direct_warning": "Esta entrada solo será visible para los usuarios mencionados.", + "posting": "Publicando", + "scope": { + "direct": "Directo - Solo para los usuarios mencionados.", + "private": "Solo-Seguidores - Solo tus seguidores leeran la entrada", + "public": "Público - Entradas visibles en las Líneas Temporales Públicas", + "unlisted": "Sin Listar - Entradas no visibles en las Líneas Temporales Públicas" + } }, "registration": { "bio": "Biografía", "email": "Correo electrónico", "fullname": "Nombre a mostrar", "password_confirm": "Confirmación de contraseña", - "registration": "Registro" + "registration": "Registro", + "token": "Token de invitación", + "captcha": "CAPTCHA", + "new_captcha": "Click en la imagen para obtener un nuevo captca", + "validations": { + "username_required": "no puede estar vacío", + "fullname_required": "no puede estar vacío", + "email_required": "no puede estar vacío", + "password_required": "no puede estar vacío", + "password_confirmation_required": "no puede estar vacío", + "password_confirmation_match": "la contraseña no coincide" + } }, "settings": { + "attachmentRadius": "Adjuntos", "attachments": "Adjuntos", "autoload": "Activar carga automática al llegar al final de la página", "avatar": "Avatar", - "background": "Segundo plano", + "avatarAltRadius": "Avatares (Notificaciones)", + "avatarRadius": "Avatares", + "background": "Fondo", "bio": "Biografía", + "btnRadius": "Botones", + "cBlue": "Azul (Responder, seguir)", + "cGreen": "Verde (Retweet)", + "cOrange": "Naranja (Favorito)", + "cRed": "Rojo (Cancelar)", + "change_password": "Cambiar contraseña", + "change_password_error": "Hubo un problema cambiando la contraseña.", + "changed_password": "Contraseña cambiada correctamente!", + "collapse_subject": "Colapsar entradas con tema", + "composing": "Redactando", + "confirm_new_password": "Confirmar la nueva contraseña", "current_avatar": "Tu avatar actual", - "current_profile_banner": "Cabecera actual", + "current_password": "Contraseña actual", + "current_profile_banner": "Tu cabecera actual", + "data_import_export_tab": "Importar / Exportar Datos", + "default_vis": "Alcance de visibilidad por defecto", + "delete_account": "Eliminar la cuenta", + "delete_account_description": "Eliminar para siempre la cuenta y todos los mensajes.", + "delete_account_error": "Hubo un error al eliminar tu cuenta. Si el fallo persiste, ponte en contacto con el administrador de tu instancia.", + "delete_account_instructions": "Escribe tu contraseña para confirmar la eliminación de tu cuenta.", + "avatar_size_instruction": "El tamaño mínimo recomendado para el avatar es de 150X150 píxeles.", + "export_theme": "Exportar tema", "filtering": "Filtros", "filtering_explanation": "Todos los estados que contengan estas palabras serán silenciados, una por línea", + "follow_export": "Exportar personas que tú sigues", + "follow_export_button": "Exporta tus seguidores a un archivo csv", + "follow_export_processing": "Procesando, en breve se te preguntará para guardar el archivo", "follow_import": "Importar personas que tú sigues", "follow_import_error": "Error al importal el archivo", "follows_imported": "¡Importado! Procesarlos llevará tiempo.", "foreground": "Primer plano", + "general": "General", "hide_attachments_in_convo": "Ocultar adjuntos en las conversaciones", "hide_attachments_in_tl": "Ocultar adjuntos en la línea temporal", + "hide_isp": "Ocultar el panel específico de la instancia", + "preload_images": "Precargar las imágenes", + "use_one_click_nsfw": "Abrir los adjuntos NSFW con un solo click.", + "hide_post_stats": "Ocultar las estadísticas de las entradas (p.ej. el número de favoritos)", + "hide_user_stats": "Ocultar las estadísticas del usuario (p.ej. el número de seguidores)", "import_followers_from_a_csv_file": "Importar personas que tú sigues apartir de un archivo csv", - "links": "Links", + "import_theme": "Importar tema", + "inputRadius": "Campos de entrada", + "checkboxRadius": "Casillas de verificación", + "instance_default": "(por defecto: {value})", + "instance_default_simple": "(por defecto)", + "interface": "Interfaz", + "interfaceLanguage": "Idioma", + "invalid_theme_imported": "El archivo importado no es un tema válido de Pleroma. No se han realizado cambios.", + "limited_availability": "No disponible en tu navegador", + "links": "Enlaces", + "lock_account_description": "Restringir el acceso a tu cuenta solo a seguidores admitidos", + "loop_video": "Vídeos en bucle", + "loop_video_silent_only": "Bucle solo en vídeos sin sonido (p.ej. \"gifs\" de Mastodon)", + "play_videos_in_modal": "Reproducir los vídeos directamente en el visor de medios", + "use_contain_fit": "No recortar los adjuntos en miniaturas", "name": "Nombre", "name_bio": "Nombre y Biografía", + "new_password": "Nueva contraseña", + "notification_visibility": "Tipos de notificaciones a mostrar", + "notification_visibility_follows": "Nuevos seguidores", + "notification_visibility_likes": "Me gustan (Likes)", + "notification_visibility_mentions": "Menciones", + "notification_visibility_repeats": "Repeticiones (Repeats)", + "no_rich_text_description": "Eliminar el formato de texto enriquecido de todas las entradas", + "hide_network_description": "No mostrar a quién sigo, ni quién me sigue", "nsfw_clickthrough": "Activar el clic para ocultar los adjuntos NSFW", + "panelRadius": "Paneles", + "pause_on_unfocused": "Parar la transmisión cuando no estés en foco.", "presets": "Por defecto", "profile_background": "Fondo del Perfil", - "profile_banner": "Cabecera del perfil", - "reply_link_preview": "Activar la previsualización del enlace de responder al pasar el ratón por encima", + "profile_banner": "Cabecera del Perfil", + "profile_tab": "Perfil", + "radii_help": "Estable el redondeo de las esquinas del interfaz (en píxeles)", + "replies_in_timeline": "Réplicas en la línea temporal", + "reply_link_preview": "Activar la previsualización del enlace de responder al pasar el ratón por encim", + "reply_visibility_all": "Mostrar todas las réplicas", + "reply_visibility_following": "Solo mostrar réplicas para mí o usuarios a los que sigo", + "reply_visibility_self": "Solo mostrar réplicas para mí", + "saving_err": "Error al guardar los ajustes", + "saving_ok": "Ajustes guardados", + "security_tab": "Seguridad", + "scope_copy": "Copiar la visibilidad cuando contestamos (En los mensajes directos (MDs) siempre se copia)", "set_new_avatar": "Cambiar avatar", "set_new_profile_background": "Cambiar fondo del perfil", - "set_new_profile_banner": "Cambiar cabecera", + "set_new_profile_banner": "Cambiar cabecera del perfil", "settings": "Ajustes", + "subject_input_always_show": "Mostrar siempre el campo del tema", + "subject_line_behavior": "Copiar el tema en las contestaciones", + "subject_line_email": "Tipo email: \"re: tema\"", + "subject_line_mastodon": "Tipo mastodon: copiar como es", + "subject_line_noop": "No copiar", + "stop_gifs": "Iniciar GIFs al pasar el ratón", "streaming": "Habilite la transmisión automática de nuevas publicaciones cuando se desplaza hacia la parte superior", "text": "Texto", "theme": "Tema", "theme_help": "Use códigos de color hexadecimales (#rrggbb) para personalizar su tema de colores.", - "user_settings": "Ajustes de Usuario" + "theme_help_v2_1": "También puede invalidar los colores y la opacidad de ciertos componentes si activa la casilla de verificación, use el botón \"Borrar todo\" para deshacer los cambios.", + "theme_help_v2_2": "Los iconos debajo de algunas entradas son indicadores de contraste de fondo/texto, desplace el ratón para obtener información detallada. Tenga en cuenta que cuando se utilizan indicadores de contraste de transparencia se muestra el peor caso posible.", + "tooltipRadius": "Información/alertas", + "user_settings": "Ajustes de Usuario", + "values": { + "false": "no", + "true": "sí" + }, + "notifications": "Notificaciones", + "enable_web_push_notifications": "Habilitar las notificiaciones en el navegador", + "style": { + "switcher": { + "keep_color": "Mantener colores", + "keep_shadows": "Mantener sombras", + "keep_opacity": "Mantener opacidad", + "keep_roundness": "Mantener redondeces", + "keep_fonts": "Mantener fuentes", + "save_load_hint": "Las opciones \"Mantener\" conservan las opciones configuradas actualmente al seleccionar o cargar temas, también almacena dichas opciones al exportar un tema. Cuando se desactiven todas las casillas de verificación, el tema de exportación lo guardará todo.", + "reset": "Reiniciar", + "clear_all": "Limpiar todo", + "clear_opacity": "Limpiar opacidad" + }, + "common": { + "color": "Color", + "opacity": "Opacidad", + "contrast": { + "hint": "El ratio de contraste es {ratio}. {level} {context}", + "level": { + "aa": "Cumple con la pauta de nivel AA (mínimo)", + "aaa": "Cumple con la pauta de nivel AAA (recomendado)", + "bad": "No cumple con las pautas de accesibilidad" + }, + "context": { + "18pt": "para textos grandes (+18pt)", + "text": "para textos" + } + } + }, + "common_colors": { + "_tab_label": "Común", + "main": "Colores comunes", + "foreground_hint": "Vea la pestaña \"Avanzado\" para un control más detallado", + "rgbo": "Iconos, acentos, insignias" + }, + "advanced_colors": { + "_tab_label": "Avanzado", + "alert": "Fondo de Alertas", + "alert_error": "Error", + "badge": "Fondo de Insignias", + "badge_notification": "Notificaciones", + "panel_header": "Cabecera del panel", + "top_bar": "Barra superior", + "borders": "Bordes", + "buttons": "Botones", + "inputs": "Campos de entrada", + "faint_text": "Texto desvanecido" + }, + "radii": { + "_tab_label": "Redondez" + }, + "shadows": { + "_tab_label": "Sombra e iluminación", + "component": "Componente", + "override": "Sobreescribir", + "shadow_id": "Sombra #{value}", + "blur": "Difuminar", + "spread": "Cantidad", + "inset": "Insertada", + "hint": "Para las sombras, también puede usar --variable como un valor de color para usar las variables CSS3. Tenga en cuenta que establecer la opacidad no funcionará en este caso.", + "filter_hint": { + "always_drop_shadow": "Advertencia, esta sombra siempre usa {0} cuando el navegador lo soporta.", + "drop_shadow_syntax": "{0} no soporta el parámetro {1} y la palabra clave {2}.", + "avatar_inset": "Tenga en cuenta que la combinación de sombras insertadas como no-insertadas en los avatares, puede dar resultados inesperados con los avatares transparentes.", + "spread_zero": "Sombras con una cantidad > 0 aparecerá como si estuviera puesto a cero", + "inset_classic": "Las sombras insertadas estarán usando {0}" + }, + "components": { + "panel": "Panel", + "panelHeader": "Cabecera del panel", + "topBar": "Barra superior", + "avatar": "Avatar del usuario (en la vista del perfil)", + "avatarStatus": "Avatar del usuario (en la vista de la entrada)", + "popup": "Ventanas y textos emergentes (popups & tooltips)", + "button": "Botones", + "buttonHover": "Botón (encima)", + "buttonPressed": "Botón (presionado)", + "buttonPressedHover": "Botón (presionado+encima)", + "input": "Campo de entrada" + } + }, + "fonts": { + "_tab_label": "Fuentes", + "help": "Seleccione la fuente para utilizar para los elementos de la interfaz de usuario. Para \"personalizado\", debe ingresar el nombre exacto de la fuente tal como aparece en el sistema.", + "components": { + "interface": "Interfaz", + "input": "Campos de entrada", + "post": "Texto de publicaciones", + "postCode": "Texto monoespaciado en publicación (texto enriquecido)" + }, + "family": "Nombre de la fuente", + "size": "Tamaño (en px)", + "weight": "Peso (negrita)", + "custom": "Personalizado" + }, + "preview": { + "header": "Vista previa", + "content": "Contenido", + "error": "Ejemplo de error", + "button": "Botón", + "text": "Un montón de {0} y {1}", + "mono": "contenido", + "input": "Acaba de aterrizar en L.A.", + "faint_link": "manual útil", + "fine_print": "¡Lea nuestro {0} para aprender nada útil!", + "header_faint": "Esto está bien", + "checkbox": "He revisado los términos y condiciones", + "link": "un bonito enlace" + } + } }, "timeline": { + "collapse": "Colapsar", "conversation": "Conversación", "error_fetching": "Error al cargar las actualizaciones", "load_older": "Cargar actualizaciones anteriores", + "no_retweet_hint": "La publicación está marcada como solo para seguidores o directa y no se puede repetir", + "repeated": "repetida", "show_new": "Mostrar lo nuevo", - "up_to_date": "Actualizado" + "up_to_date": "Actualizado", + "no_more_statuses": "No hay más estados" }, "user_card": { + "approve": "Aprovar", "block": "Bloquear", "blocked": "¡Bloqueado!", + "deny": "Denegar", + "favorites": "Favoritos", "follow": "Seguir", + "follow_sent": "¡Solicitud enviada!", + "follow_progress": "Solicitando…", + "follow_again": "¿Enviar solicitud de nuevo?", + "follow_unfollow": "Dejar de seguir", "followees": "Siguiendo", "followers": "Seguidores", "following": "¡Siguiendo!", "follows_you": "¡Te sigue!", + "its_you": "¡Eres tú!", + "media": "Media", "mute": "Silenciar", "muted": "Silenciado", "per_day": "por día", "remote_follow": "Seguir", "statuses": "Estados" + }, + "user_profile": { + "timeline_title": "Linea temporal del usuario" + }, + "who_to_follow": { + "more": "Más", + "who_to_follow": "A quién seguir" + }, + "tool_tip": { + "media_upload": "Subir Medios", + "repeat": "Repetir", + "reply": "Contestar", + "favorite": "Favorito", + "user_settings": "Ajustes de usuario" + }, + "upload":{ + "error": { + "base": "Subida fallida.", + "file_too_big": "Archivo demasiado grande [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]", + "default": "Inténtalo más tarde" + }, + "file_size_units": { + "B": "B", + "KiB": "KiB", + "MiB": "MiB", + "GiB": "GiB", + "TiB": "TiB" + } } } -- cgit v1.2.3-70-g09d2 From 18594569bd0fe77507ee700ddcc1cc2589f925dd Mon Sep 17 00:00:00 2001 From: Maxim Filippov Date: Wed, 30 Jan 2019 01:11:40 +0300 Subject: Split hide_network into hide_followers & hide_followings --- src/components/user_settings/user_settings.js | 9 ++++++--- src/components/user_settings/user_settings.vue | 8 ++++++-- src/i18n/de.json | 3 ++- src/i18n/en.json | 3 ++- src/i18n/ja.json | 3 ++- src/i18n/ko.json | 3 ++- src/i18n/ru.json | 3 ++- src/services/api/api.service.js | 2 +- src/services/entity_normalizer/entity_normalizer.service.js | 3 ++- 9 files changed, 25 insertions(+), 12 deletions(-) (limited to 'src/i18n') diff --git a/src/components/user_settings/user_settings.js b/src/components/user_settings/user_settings.js index df757dfb..64f18373 100644 --- a/src/components/user_settings/user_settings.js +++ b/src/components/user_settings/user_settings.js @@ -12,7 +12,8 @@ const UserSettings = { newLocked: this.$store.state.users.currentUser.locked, newNoRichText: this.$store.state.users.currentUser.no_rich_text, newDefaultScope: this.$store.state.users.currentUser.default_scope, - newHideNetwork: this.$store.state.users.currentUser.hide_network, + hideFollowings: this.$store.state.users.currentUser.hide_followings, + hideFollowers: this.$store.state.users.currentUser.hide_followers, followList: null, followImportError: false, followsImported: false, @@ -68,7 +69,8 @@ const UserSettings = { /* eslint-disable camelcase */ const default_scope = this.newDefaultScope const no_rich_text = this.newNoRichText - const hide_network = this.newHideNetwork + const hide_followings = this.hideFollowings + const hide_followers = this.hideFollowers /* eslint-enable camelcase */ this.$store.state.api.backendInteractor .updateProfile({ @@ -80,7 +82,8 @@ const UserSettings = { /* eslint-disable camelcase */ default_scope, no_rich_text, - hide_network + hide_followings, + hide_followers /* eslint-enable camelcase */ }}).then((user) => { if (!user.error) { diff --git a/src/components/user_settings/user_settings.vue b/src/components/user_settings/user_settings.vue index d0743ef0..af8a1208 100644 --- a/src/components/user_settings/user_settings.vue +++ b/src/components/user_settings/user_settings.vue @@ -30,8 +30,12 @@

- - + + +

+

+ +

diff --git a/src/i18n/de.json b/src/i18n/de.json index c87371e6..82860e9e 100644 --- a/src/i18n/de.json +++ b/src/i18n/de.json @@ -155,7 +155,8 @@ "notification_visibility_mentions": "Erwähnungen", "notification_visibility_repeats": "Wiederholungen", "no_rich_text_description": "Rich-Text Formatierungen von allen Beiträgen entfernen", - "hide_network_description": "Zeige nicht, wem ich folge und wer mir folgt", + "hide_followings_description": "Zeige nicht, wem ich folge", + "hide_followers_description": "Zeige nicht, wer mir folgt", "nsfw_clickthrough": "Aktiviere ausblendbares Overlay für Anhänge, die als NSFW markiert sind", "panelRadius": "Panel", "pause_on_unfocused": "Streaming pausieren, wenn das Tab nicht fokussiert ist", diff --git a/src/i18n/en.json b/src/i18n/en.json index f80d8ba2..dc10fa7f 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -164,7 +164,8 @@ "notification_visibility_mentions": "Mentions", "notification_visibility_repeats": "Repeats", "no_rich_text_description": "Strip rich text formatting from all posts", - "hide_network_description": "Don't show who I'm following and who's following me", + "hide_followings_description": "Don't show who I'm following", + "hide_followers_description": "Don't show who's following me", "nsfw_clickthrough": "Enable clickthrough NSFW attachment hiding", "panelRadius": "Panels", "pause_on_unfocused": "Pause streaming when tab is not focused", diff --git a/src/i18n/ja.json b/src/i18n/ja.json index 161856f0..37e96f6c 100644 --- a/src/i18n/ja.json +++ b/src/i18n/ja.json @@ -157,7 +157,8 @@ "notification_visibility_mentions": "メンション", "notification_visibility_repeats": "リピート", "no_rich_text_description": "リッチテキストをつかわない", - "hide_network_description": "わたしがフォローしているひとと、わたしをフォローしているひとを、みせない", + "hide_followings_description": "フォローしている人を表示しない", + "hide_followers_description": "フォローしている人を表示しない", "nsfw_clickthrough": "NSFWなファイルをかくす", "panelRadius": "パネル", "pause_on_unfocused": "タブにフォーカスがないときストリーミングをとめる", diff --git a/src/i18n/ko.json b/src/i18n/ko.json index 4b69df07..9f40be51 100644 --- a/src/i18n/ko.json +++ b/src/i18n/ko.json @@ -156,7 +156,8 @@ "notification_visibility_mentions": "멘션", "notification_visibility_repeats": "반복", "no_rich_text_description": "모든 게시물의 서식을 지우기", - "hide_network_description": "내 팔로우와 팔로워를 숨기기", + "hide_followings_description": "내가 팔로우하는 사람을 표시하지 않음", + "hide_followers_description": "나를 따르는 사람을 보여주지 마라.", "nsfw_clickthrough": "NSFW 이미지 \"클릭해서 보이기\"를 활성화", "panelRadius": "패널", "pause_on_unfocused": "탭이 활성 상태가 아닐 때 스트리밍 멈추기", diff --git a/src/i18n/ru.json b/src/i18n/ru.json index 0887bb59..bf1e319f 100644 --- a/src/i18n/ru.json +++ b/src/i18n/ru.json @@ -127,7 +127,8 @@ "notification_visibility_mentions": "Упоминания", "notification_visibility_repeats": "Повторы", "no_rich_text_description": "Убрать форматирование из всех постов", - "hide_network_description": "Не показывать кого я читаю и кто меня читает", + "hide_followings_description": "Не показывать кого я читаю", + "hide_followers_description": "Не показывать кто читает меня", "nsfw_clickthrough": "Включить скрытие NSFW вложений", "panelRadius": "Панели", "pause_on_unfocused": "Приостановить загрузку когда вкладка не в фокусе", diff --git a/src/services/api/api.service.js b/src/services/api/api.service.js index 992a6d26..1d4790a0 100644 --- a/src/services/api/api.service.js +++ b/src/services/api/api.service.js @@ -130,7 +130,7 @@ const updateBanner = ({credentials, params}) => { // description const updateProfile = ({credentials, params}) => { // Always include these fields, because they might be empty or false - const fields = ['description', 'locked', 'no_rich_text', 'hide_network'] + const fields = ['description', 'locked', 'no_rich_text', 'hide_followings', 'hide_followers'] let url = PROFILE_UPDATE_URL const form = new FormData() diff --git a/src/services/entity_normalizer/entity_normalizer.service.js b/src/services/entity_normalizer/entity_normalizer.service.js index ec839673..af774675 100644 --- a/src/services/entity_normalizer/entity_normalizer.service.js +++ b/src/services/entity_normalizer/entity_normalizer.service.js @@ -100,7 +100,8 @@ export const parseUser = (data) => { output.rights = data.rights output.no_rich_text = data.no_rich_text output.default_scope = data.default_scope - output.hide_network = data.hide_network + output.hide_followings = data.hide_followings + output.hide_followers = data.hide_followers output.background_image = data.background_image // on mastoapi this info is contained in a "relationship" output.following = data.following -- cgit v1.2.3-70-g09d2 From 0c5c8898509e195654f4a42be77c59dbf6713c34 Mon Sep 17 00:00:00 2001 From: Maxim Filippov Date: Wed, 6 Feb 2019 14:21:13 +0300 Subject: Rename "hide_following" to "hide_follows" --- src/components/user_settings/user_settings.js | 6 +++--- src/components/user_settings/user_settings.vue | 4 ++-- src/i18n/de.json | 2 +- src/i18n/en.json | 2 +- src/i18n/ja.json | 2 +- src/i18n/ko.json | 2 +- src/i18n/ru.json | 2 +- src/services/api/api.service.js | 2 +- src/services/entity_normalizer/entity_normalizer.service.js | 2 +- 9 files changed, 12 insertions(+), 12 deletions(-) (limited to 'src/i18n') diff --git a/src/components/user_settings/user_settings.js b/src/components/user_settings/user_settings.js index 64f18373..ef9398f6 100644 --- a/src/components/user_settings/user_settings.js +++ b/src/components/user_settings/user_settings.js @@ -12,7 +12,7 @@ const UserSettings = { newLocked: this.$store.state.users.currentUser.locked, newNoRichText: this.$store.state.users.currentUser.no_rich_text, newDefaultScope: this.$store.state.users.currentUser.default_scope, - hideFollowings: this.$store.state.users.currentUser.hide_followings, + hideFollows: this.$store.state.users.currentUser.hide_follows, hideFollowers: this.$store.state.users.currentUser.hide_followers, followList: null, followImportError: false, @@ -69,7 +69,7 @@ const UserSettings = { /* eslint-disable camelcase */ const default_scope = this.newDefaultScope const no_rich_text = this.newNoRichText - const hide_followings = this.hideFollowings + const hide_follows = this.hideFollows const hide_followers = this.hideFollowers /* eslint-enable camelcase */ this.$store.state.api.backendInteractor @@ -82,7 +82,7 @@ const UserSettings = { /* eslint-disable camelcase */ default_scope, no_rich_text, - hide_followings, + hide_follows, hide_followers /* eslint-enable camelcase */ }}).then((user) => { diff --git a/src/components/user_settings/user_settings.vue b/src/components/user_settings/user_settings.vue index af8a1208..19b7bdbd 100644 --- a/src/components/user_settings/user_settings.vue +++ b/src/components/user_settings/user_settings.vue @@ -30,8 +30,8 @@

- - + +

diff --git a/src/i18n/de.json b/src/i18n/de.json index 82860e9e..59449e33 100644 --- a/src/i18n/de.json +++ b/src/i18n/de.json @@ -155,7 +155,7 @@ "notification_visibility_mentions": "Erwähnungen", "notification_visibility_repeats": "Wiederholungen", "no_rich_text_description": "Rich-Text Formatierungen von allen Beiträgen entfernen", - "hide_followings_description": "Zeige nicht, wem ich folge", + "hide_follows_description": "Zeige nicht, wem ich folge", "hide_followers_description": "Zeige nicht, wer mir folgt", "nsfw_clickthrough": "Aktiviere ausblendbares Overlay für Anhänge, die als NSFW markiert sind", "panelRadius": "Panel", diff --git a/src/i18n/en.json b/src/i18n/en.json index dc10fa7f..ac7cc2a7 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -164,7 +164,7 @@ "notification_visibility_mentions": "Mentions", "notification_visibility_repeats": "Repeats", "no_rich_text_description": "Strip rich text formatting from all posts", - "hide_followings_description": "Don't show who I'm following", + "hide_follows_description": "Don't show who I'm following", "hide_followers_description": "Don't show who's following me", "nsfw_clickthrough": "Enable clickthrough NSFW attachment hiding", "panelRadius": "Panels", diff --git a/src/i18n/ja.json b/src/i18n/ja.json index 37e96f6c..afce03a4 100644 --- a/src/i18n/ja.json +++ b/src/i18n/ja.json @@ -157,7 +157,7 @@ "notification_visibility_mentions": "メンション", "notification_visibility_repeats": "リピート", "no_rich_text_description": "リッチテキストをつかわない", - "hide_followings_description": "フォローしている人を表示しない", + "hide_follows_description": "フォローしている人を表示しない", "hide_followers_description": "フォローしている人を表示しない", "nsfw_clickthrough": "NSFWなファイルをかくす", "panelRadius": "パネル", diff --git a/src/i18n/ko.json b/src/i18n/ko.json index 9f40be51..f9e4dfa3 100644 --- a/src/i18n/ko.json +++ b/src/i18n/ko.json @@ -156,7 +156,7 @@ "notification_visibility_mentions": "멘션", "notification_visibility_repeats": "반복", "no_rich_text_description": "모든 게시물의 서식을 지우기", - "hide_followings_description": "내가 팔로우하는 사람을 표시하지 않음", + "hide_follows_description": "내가 팔로우하는 사람을 표시하지 않음", "hide_followers_description": "나를 따르는 사람을 보여주지 마라.", "nsfw_clickthrough": "NSFW 이미지 \"클릭해서 보이기\"를 활성화", "panelRadius": "패널", diff --git a/src/i18n/ru.json b/src/i18n/ru.json index bf1e319f..e86eaff9 100644 --- a/src/i18n/ru.json +++ b/src/i18n/ru.json @@ -127,7 +127,7 @@ "notification_visibility_mentions": "Упоминания", "notification_visibility_repeats": "Повторы", "no_rich_text_description": "Убрать форматирование из всех постов", - "hide_followings_description": "Не показывать кого я читаю", + "hide_follows_description": "Не показывать кого я читаю", "hide_followers_description": "Не показывать кто читает меня", "nsfw_clickthrough": "Включить скрытие NSFW вложений", "panelRadius": "Панели", diff --git a/src/services/api/api.service.js b/src/services/api/api.service.js index 1d4790a0..d4d52ab1 100644 --- a/src/services/api/api.service.js +++ b/src/services/api/api.service.js @@ -130,7 +130,7 @@ const updateBanner = ({credentials, params}) => { // description const updateProfile = ({credentials, params}) => { // Always include these fields, because they might be empty or false - const fields = ['description', 'locked', 'no_rich_text', 'hide_followings', 'hide_followers'] + const fields = ['description', 'locked', 'no_rich_text', 'hide_follows', 'hide_followers'] let url = PROFILE_UPDATE_URL const form = new FormData() diff --git a/src/services/entity_normalizer/entity_normalizer.service.js b/src/services/entity_normalizer/entity_normalizer.service.js index af774675..bba6b363 100644 --- a/src/services/entity_normalizer/entity_normalizer.service.js +++ b/src/services/entity_normalizer/entity_normalizer.service.js @@ -100,7 +100,7 @@ export const parseUser = (data) => { output.rights = data.rights output.no_rich_text = data.no_rich_text output.default_scope = data.default_scope - output.hide_followings = data.hide_followings + output.hide_follows = data.hide_follows output.hide_followers = data.hide_followers output.background_image = data.background_image // on mastoapi this info is contained in a "relationship" -- cgit v1.2.3-70-g09d2 From 648f635429da929e7090b103b9c8d354a1d3860a Mon Sep 17 00:00:00 2001 From: eugenijm Date: Mon, 4 Feb 2019 17:03:35 +0300 Subject: Allow to configure visibility for admin and moderator badges --- src/components/user_card_content/user_card_content.js | 15 +++++++++++++++ src/components/user_card_content/user_card_content.vue | 4 ++-- src/components/user_settings/user_settings.js | 7 ++++++- src/components/user_settings/user_settings.vue | 5 +++++ src/i18n/en.json | 2 ++ src/i18n/ru.json | 2 ++ src/services/api/api.service.js | 2 +- .../entity_normalizer/entity_normalizer.service.js | 4 ++-- 8 files changed, 35 insertions(+), 6 deletions(-) (limited to 'src/i18n') diff --git a/src/components/user_card_content/user_card_content.js b/src/components/user_card_content/user_card_content.js index 6f6d04a7..427cb32d 100644 --- a/src/components/user_card_content/user_card_content.js +++ b/src/components/user_card_content/user_card_content.js @@ -79,6 +79,21 @@ export default { set (color) { this.$store.dispatch('setHighlight', { user: this.user.screen_name, color }) } + }, + visibleRole () { + const user = this.user + + if (!(user.role === 'admin' || user.role === 'moderator')) { + return undefined + } + + if (this.isOtherUser) { + return user.role + } + + if (user.show_role) { + return user.role + } } }, components: { diff --git a/src/components/user_card_content/user_card_content.vue b/src/components/user_card_content/user_card_content.vue index 3c0e160c..0b4d0d21 100644 --- a/src/components/user_card_content/user_card_content.vue +++ b/src/components/user_card_content/user_card_content.vue @@ -20,8 +20,7 @@ @{{user.screen_name}} - Admin - Moderator + {{visibleRole}} {{dailyAvg}} {{ $t('user_card.per_day') }} @@ -254,6 +253,7 @@ .staff { border: 1px solid $admin-border-color; color: $admin-color; + text-transform: capitalize; background-color: $admin-background-color; line-height: 12px; border-radius: 3px; diff --git a/src/components/user_settings/user_settings.js b/src/components/user_settings/user_settings.js index ef9398f6..4f991370 100644 --- a/src/components/user_settings/user_settings.js +++ b/src/components/user_settings/user_settings.js @@ -14,6 +14,8 @@ const UserSettings = { newDefaultScope: this.$store.state.users.currentUser.default_scope, hideFollows: this.$store.state.users.currentUser.hide_follows, hideFollowers: this.$store.state.users.currentUser.hide_followers, + showRole: this.$store.state.users.currentUser.show_role, + role: this.$store.state.users.currentUser.role, followList: null, followImportError: false, followsImported: false, @@ -71,6 +73,8 @@ const UserSettings = { const no_rich_text = this.newNoRichText const hide_follows = this.hideFollows const hide_followers = this.hideFollowers + const show_role = this.showRole + /* eslint-enable camelcase */ this.$store.state.api.backendInteractor .updateProfile({ @@ -83,7 +87,8 @@ const UserSettings = { default_scope, no_rich_text, hide_follows, - hide_followers + hide_followers, + show_role /* eslint-enable camelcase */ }}).then((user) => { if (!user.error) { diff --git a/src/components/user_settings/user_settings.vue b/src/components/user_settings/user_settings.vue index 19b7bdbd..ea5b3de5 100644 --- a/src/components/user_settings/user_settings.vue +++ b/src/components/user_settings/user_settings.vue @@ -37,6 +37,11 @@

+

+ + + +

diff --git a/src/i18n/en.json b/src/i18n/en.json index ac7cc2a7..30bbe214 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -166,6 +166,8 @@ "no_rich_text_description": "Strip rich text formatting from all posts", "hide_follows_description": "Don't show who I'm following", "hide_followers_description": "Don't show who's following me", + "show_admin_badge": "Show Admin badge on my user card", + "show_moderator_badge": "Show Moderator badge on my user card", "nsfw_clickthrough": "Enable clickthrough NSFW attachment hiding", "panelRadius": "Panels", "pause_on_unfocused": "Pause streaming when tab is not focused", diff --git a/src/i18n/ru.json b/src/i18n/ru.json index e86eaff9..b5686a5c 100644 --- a/src/i18n/ru.json +++ b/src/i18n/ru.json @@ -129,6 +129,8 @@ "no_rich_text_description": "Убрать форматирование из всех постов", "hide_follows_description": "Не показывать кого я читаю", "hide_followers_description": "Не показывать кто читает меня", + "show_admin_badge": "Показывать значок администратора на моей карточке пользователя", + "show_moderator_badge": "Показывать значок модератора на моей карточке пользователя", "nsfw_clickthrough": "Включить скрытие NSFW вложений", "panelRadius": "Панели", "pause_on_unfocused": "Приостановить загрузку когда вкладка не в фокусе", diff --git a/src/services/api/api.service.js b/src/services/api/api.service.js index d4d52ab1..f2365b7e 100644 --- a/src/services/api/api.service.js +++ b/src/services/api/api.service.js @@ -130,7 +130,7 @@ const updateBanner = ({credentials, params}) => { // description const updateProfile = ({credentials, params}) => { // Always include these fields, because they might be empty or false - const fields = ['description', 'locked', 'no_rich_text', 'hide_follows', 'hide_followers'] + const fields = ['description', 'locked', 'no_rich_text', 'hide_follows', 'hide_followers', 'show_role'] let url = PROFILE_UPDATE_URL const form = new FormData() diff --git a/src/services/entity_normalizer/entity_normalizer.service.js b/src/services/entity_normalizer/entity_normalizer.service.js index bbf20b64..828c48f9 100644 --- a/src/services/entity_normalizer/entity_normalizer.service.js +++ b/src/services/entity_normalizer/entity_normalizer.service.js @@ -90,8 +90,8 @@ export const parseUser = (data) => { output.statusnet_blocking = data.statusnet_blocking output.is_local = data.is_local - output.is_admin = data.is_admin - output.is_moderator = data.is_moderator + output.role = data.role + output.show_role = data.show_role output.follows_you = data.follows_you -- cgit v1.2.3-70-g09d2 From d00b74b607f5bf77a7c695262d9690c2f5d31023 Mon Sep 17 00:00:00 2001 From: eugenijm Date: Mon, 4 Feb 2019 18:05:56 +0300 Subject: Refactor visibleRole for better readability Improve translation --- src/components/user_card_content/user_card_content.js | 15 +++------------ src/i18n/ru.json | 4 ++-- 2 files changed, 5 insertions(+), 14 deletions(-) (limited to 'src/i18n') diff --git a/src/components/user_card_content/user_card_content.js b/src/components/user_card_content/user_card_content.js index 427cb32d..1888f8c6 100644 --- a/src/components/user_card_content/user_card_content.js +++ b/src/components/user_card_content/user_card_content.js @@ -81,19 +81,10 @@ export default { } }, visibleRole () { - const user = this.user + const validRole = (this.user.role === 'admin' || this.user.role === 'moderator') + const showRole = this.isOtherUser || this.user.show_role - if (!(user.role === 'admin' || user.role === 'moderator')) { - return undefined - } - - if (this.isOtherUser) { - return user.role - } - - if (user.show_role) { - return user.role - } + return validRole && showRole && this.user.role } }, components: { diff --git a/src/i18n/ru.json b/src/i18n/ru.json index b5686a5c..4b0bd4b4 100644 --- a/src/i18n/ru.json +++ b/src/i18n/ru.json @@ -129,8 +129,8 @@ "no_rich_text_description": "Убрать форматирование из всех постов", "hide_follows_description": "Не показывать кого я читаю", "hide_followers_description": "Не показывать кто читает меня", - "show_admin_badge": "Показывать значок администратора на моей карточке пользователя", - "show_moderator_badge": "Показывать значок модератора на моей карточке пользователя", + "show_admin_badge": "Показывать значок администратора в моем профиле", + "show_moderator_badge": "Показывать значок модератора в моем профиле", "nsfw_clickthrough": "Включить скрытие NSFW вложений", "panelRadius": "Панели", "pause_on_unfocused": "Приостановить загрузку когда вкладка не в фокусе", -- cgit v1.2.3-70-g09d2 From a57f8bdd68ae52b4e5725fe0358dc8c7567c81ac Mon Sep 17 00:00:00 2001 From: jasper Date: Wed, 6 Feb 2019 10:18:13 -0800 Subject: Add option to hide filtered statuses --- src/boot/after_store.js | 1 + src/components/settings/settings.js | 8 ++++++++ src/components/settings/settings.vue | 14 ++++++++++---- src/components/status/status.js | 5 +++++ src/components/status/status.vue | 2 +- src/i18n/en.json | 1 + src/modules/instance.js | 1 + 7 files changed, 27 insertions(+), 5 deletions(-) (limited to 'src/i18n') diff --git a/src/boot/after_store.js b/src/boot/after_store.js index 5693dcc6..c4126e4c 100644 --- a/src/boot/after_store.js +++ b/src/boot/after_store.js @@ -59,6 +59,7 @@ const afterStoreSetup = ({ store, i18n }) => { copyInstanceOption('background') copyInstanceOption('hidePostStats') copyInstanceOption('hideUserStats') + copyInstanceOption('hideFilteredStatuses') copyInstanceOption('logo') store.dispatch('setInstanceOption', { diff --git a/src/components/settings/settings.js b/src/components/settings/settings.js index 8d138485..257eb691 100644 --- a/src/components/settings/settings.js +++ b/src/components/settings/settings.js @@ -27,6 +27,11 @@ const settings = { : user.hideUserStats, hideUserStatsDefault: this.$t('settings.values.' + instance.hideUserStats), + hideFilteredStatusesLocal: typeof user.hideFilteredStatuses === 'undefined' + ? instance.hideFilteredStatuses + : user.hideFilteredStatuses, + hideFilteredStatusesDefault: this.$t('settings.values.' + instance.hideFilteredStatuses), + notificationVisibilityLocal: user.notificationVisibility, replyVisibilityLocal: user.replyVisibility, loopVideoLocal: user.loopVideo, @@ -96,6 +101,9 @@ const settings = { hideUserStatsLocal (value) { this.$store.dispatch('setOption', { name: 'hideUserStats', value }) }, + hideFilteredStatusesLocal (value) { + this.$store.dispatch('setOption', { name: 'hideFilteredStatuses', value }) + }, hideNsfwLocal (value) { this.$store.dispatch('setOption', { name: 'hideNsfw', value }) }, diff --git a/src/components/settings/settings.vue b/src/components/settings/settings.vue index 9953780f..2fa2c89c 100644 --- a/src/components/settings/settings.vue +++ b/src/components/settings/settings.vue @@ -205,7 +205,6 @@ -
{{$t('settings.replies_in_timeline')}} @@ -232,11 +231,18 @@
-

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

- +
+

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

+ +
+
+ + +
- diff --git a/src/components/status/status.js b/src/components/status/status.js index 65ddcb9f..3403fd12 100644 --- a/src/components/status/status.js +++ b/src/components/status/status.js @@ -110,6 +110,11 @@ const Status = { return hits }, muted () { return !this.unmuted && (this.status.user.muted || this.muteWordHits.length > 0) }, + hideFilteredStatuses () { + return typeof this.$store.state.config.hideFilteredStatuses === 'undefined' + ? this.$store.state.instance.hideFilteredStatuses + : this.$store.state.config.hideFilteredStatuses + }, isFocused () { // retweet or root of an expanded conversation if (this.focused) { diff --git a/src/components/status/status.vue b/src/components/status/status.vue index 9986107f..5e7fa6c5 100644 --- a/src/components/status/status.vue +++ b/src/components/status/status.vue @@ -1,5 +1,5 @@