Change language opt-out to language opt-in (#7823)
* Switch filtered_languages to chosen_languages * Adjust interface * Remove unused translationsshrike
parent
31e5d7efd7
commit
7eec279c7f
|
@ -27,7 +27,7 @@ class Settings::PreferencesController < ApplicationController
|
||||||
def user_params
|
def user_params
|
||||||
params.require(:user).permit(
|
params.require(:user).permit(
|
||||||
:locale,
|
:locale,
|
||||||
filtered_languages: []
|
chosen_languages: []
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -141,7 +141,7 @@ class Account < ApplicationRecord
|
||||||
prefix: true,
|
prefix: true,
|
||||||
allow_nil: true
|
allow_nil: true
|
||||||
|
|
||||||
delegate :filtered_languages, to: :user, prefix: false, allow_nil: true
|
delegate :chosen_languages, to: :user, prefix: false, allow_nil: true
|
||||||
|
|
||||||
def local?
|
def local?
|
||||||
domain.nil?
|
domain.nil?
|
||||||
|
|
|
@ -190,8 +190,8 @@ class Status < ApplicationRecord
|
||||||
before_validation :set_local
|
before_validation :set_local
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
def not_in_filtered_languages(account)
|
def in_chosen_languages(account)
|
||||||
where(language: nil).or where.not(language: account.filtered_languages)
|
where(language: nil).or where(language: account.chosen_languages)
|
||||||
end
|
end
|
||||||
|
|
||||||
def as_home_timeline(account)
|
def as_home_timeline(account)
|
||||||
|
@ -333,7 +333,7 @@ class Status < ApplicationRecord
|
||||||
def filter_timeline_for_account(query, account, local_only)
|
def filter_timeline_for_account(query, account, local_only)
|
||||||
query = query.not_excluded_by_account(account)
|
query = query.not_excluded_by_account(account)
|
||||||
query = query.not_domain_blocked_by_account(account) unless local_only
|
query = query.not_domain_blocked_by_account(account) unless local_only
|
||||||
query = query.not_in_filtered_languages(account) if account.filtered_languages.present?
|
query = query.in_chosen_languages(account) if account.chosen_languages.present?
|
||||||
query.merge(account_silencing_filter(account))
|
query.merge(account_silencing_filter(account))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -35,6 +35,7 @@
|
||||||
# moderator :boolean default(FALSE), not null
|
# moderator :boolean default(FALSE), not null
|
||||||
# invite_id :bigint(8)
|
# invite_id :bigint(8)
|
||||||
# remember_token :string
|
# remember_token :string
|
||||||
|
# chosen_languages :string is an Array
|
||||||
#
|
#
|
||||||
|
|
||||||
class User < ApplicationRecord
|
class User < ApplicationRecord
|
||||||
|
@ -317,7 +318,9 @@ class User < ApplicationRecord
|
||||||
private
|
private
|
||||||
|
|
||||||
def sanitize_languages
|
def sanitize_languages
|
||||||
filtered_languages.reject!(&:blank?)
|
return if chosen_languages.nil?
|
||||||
|
chosen_languages.reject!(&:blank?)
|
||||||
|
self.chosen_languages = nil if chosen_languages.empty?
|
||||||
end
|
end
|
||||||
|
|
||||||
def prepare_new_user!
|
def prepare_new_user!
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
.fields-group
|
.fields-group
|
||||||
= f.input :locale, collection: I18n.available_locales, wrapper: :with_label, include_blank: false, label_method: lambda { |locale| human_locale(locale) }, selected: I18n.locale
|
= f.input :locale, collection: I18n.available_locales, wrapper: :with_label, include_blank: false, label_method: lambda { |locale| human_locale(locale) }, selected: I18n.locale
|
||||||
|
|
||||||
= f.input :filtered_languages, collection: filterable_languages, wrapper: :with_block_label, include_blank: false, label_method: lambda { |locale| human_locale(locale) }, required: false, as: :check_boxes, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li'
|
= f.input :chosen_languages, collection: filterable_languages.sort, wrapper: :with_block_label, include_blank: false, label_method: lambda { |locale| human_locale(locale) }, required: false, as: :check_boxes, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li'
|
||||||
|
|
||||||
%h4= t 'preferences.publishing'
|
%h4= t 'preferences.publishing'
|
||||||
|
|
||||||
|
|
|
@ -23,8 +23,6 @@ ar:
|
||||||
data: ملف CSV تم تصديره مِن مثيل خادوم ماستدون آخر
|
data: ملف CSV تم تصديره مِن مثيل خادوم ماستدون آخر
|
||||||
sessions:
|
sessions:
|
||||||
otp: 'قم بإدخال رمز المصادقة بخطوتين الذي قام بتوليده تطبيق جهازك أو إستخدم أحد رموز النفاذ الإحتياطية :'
|
otp: 'قم بإدخال رمز المصادقة بخطوتين الذي قام بتوليده تطبيق جهازك أو إستخدم أحد رموز النفاذ الإحتياطية :'
|
||||||
user:
|
|
||||||
filtered_languages: سوف يتم تصفية و إخفاء اللغات المختارة من خيوطك العمومية
|
|
||||||
labels:
|
labels:
|
||||||
account:
|
account:
|
||||||
fields:
|
fields:
|
||||||
|
@ -42,7 +40,6 @@ ar:
|
||||||
email: عنوان البريد الإلكتروني
|
email: عنوان البريد الإلكتروني
|
||||||
expires_in: تنتهي مدة صلاحيته بعد
|
expires_in: تنتهي مدة صلاحيته بعد
|
||||||
fields: واصفات بيانات الملف الشخصي
|
fields: واصفات بيانات الملف الشخصي
|
||||||
filtered_languages: اللغات التي تم تصفيتها
|
|
||||||
header: الرأسية
|
header: الرأسية
|
||||||
locale: اللغة
|
locale: اللغة
|
||||||
locked: تجميد الحساب
|
locked: تجميد الحساب
|
||||||
|
|
|
@ -23,8 +23,6 @@ ca:
|
||||||
data: Fitxer CSV exportat des de una altra instància de Mastodon
|
data: Fitxer CSV exportat des de una altra instància de Mastodon
|
||||||
sessions:
|
sessions:
|
||||||
otp: 'Introdueix el codi de dos factors generat per el teu telèfon o utilitza un dels teus codis de recuperació:'
|
otp: 'Introdueix el codi de dos factors generat per el teu telèfon o utilitza un dels teus codis de recuperació:'
|
||||||
user:
|
|
||||||
filtered_languages: Les llengües seleccionades s'eliminaran de les línies de temps públiques
|
|
||||||
labels:
|
labels:
|
||||||
account:
|
account:
|
||||||
fields:
|
fields:
|
||||||
|
@ -42,7 +40,6 @@ ca:
|
||||||
email: Adreça de correu electrònic
|
email: Adreça de correu electrònic
|
||||||
expires_in: Expira després
|
expires_in: Expira després
|
||||||
fields: Metadades del perfil
|
fields: Metadades del perfil
|
||||||
filtered_languages: Llengües filtrades
|
|
||||||
header: Capçalera
|
header: Capçalera
|
||||||
locale: Llengua
|
locale: Llengua
|
||||||
locked: Fes aquest compte privat
|
locked: Fes aquest compte privat
|
||||||
|
|
|
@ -22,8 +22,6 @@ co:
|
||||||
data: Un fugliale CSV da un’altr’istanza di Mastodon
|
data: Un fugliale CSV da un’altr’istanza di Mastodon
|
||||||
sessions:
|
sessions:
|
||||||
otp: 'Entrate u codice d’identificazione à dui fattori nant’à u vostru telefuninu, o unu di i vostri codici di ricuperazione:'
|
otp: 'Entrate u codice d’identificazione à dui fattori nant’à u vostru telefuninu, o unu di i vostri codici di ricuperazione:'
|
||||||
user:
|
|
||||||
filtered_languages: Ùn viderete micca e lingue selezziunate nant’à e linee pubbliche
|
|
||||||
labels:
|
labels:
|
||||||
account:
|
account:
|
||||||
fields:
|
fields:
|
||||||
|
@ -40,7 +38,6 @@ co:
|
||||||
email: Indirizzu e-mail
|
email: Indirizzu e-mail
|
||||||
expires_in: Spira dopu à
|
expires_in: Spira dopu à
|
||||||
fields: Metadata di u prufile
|
fields: Metadata di u prufile
|
||||||
filtered_languages: Lingue filtrate
|
|
||||||
header: Ritrattu di cuprendula
|
header: Ritrattu di cuprendula
|
||||||
locale: Lingua
|
locale: Lingua
|
||||||
locked: Privatizà u contu
|
locked: Privatizà u contu
|
||||||
|
|
|
@ -22,8 +22,6 @@ de:
|
||||||
data: CSV-Datei, die aus einer anderen Mastodon-Instanz exportiert wurde
|
data: CSV-Datei, die aus einer anderen Mastodon-Instanz exportiert wurde
|
||||||
sessions:
|
sessions:
|
||||||
otp: 'Gib den Zwei-Faktor-Authentisierungscode von deinem Telefon ein oder benutze einen deiner Wiederherstellungscodes:'
|
otp: 'Gib den Zwei-Faktor-Authentisierungscode von deinem Telefon ein oder benutze einen deiner Wiederherstellungscodes:'
|
||||||
user:
|
|
||||||
filtered_languages: Ausgewählte Sprachen werden aus deinen öffentlichen Zeitleisten gefiltert
|
|
||||||
labels:
|
labels:
|
||||||
account:
|
account:
|
||||||
fields:
|
fields:
|
||||||
|
@ -40,7 +38,6 @@ de:
|
||||||
email: E-Mail-Adresse
|
email: E-Mail-Adresse
|
||||||
expires_in: Gültig bis
|
expires_in: Gültig bis
|
||||||
fields: Profil-Metadaten
|
fields: Profil-Metadaten
|
||||||
filtered_languages: Gefilterte Sprachen
|
|
||||||
header: Kopfbild
|
header: Kopfbild
|
||||||
locale: Sprache
|
locale: Sprache
|
||||||
locked: Gesperrtes Profil
|
locked: Gesperrtes Profil
|
||||||
|
|
|
@ -24,7 +24,7 @@ en:
|
||||||
sessions:
|
sessions:
|
||||||
otp: 'Enter the two-factor code generated by your phone app or use one of your recovery codes:'
|
otp: 'Enter the two-factor code generated by your phone app or use one of your recovery codes:'
|
||||||
user:
|
user:
|
||||||
filtered_languages: Checked languages will be filtered from public timelines for you
|
chosen_languages: Only toots in selected languages will be displayed in public timelines. Select nothing to see toots in all languages
|
||||||
labels:
|
labels:
|
||||||
account:
|
account:
|
||||||
fields:
|
fields:
|
||||||
|
@ -34,6 +34,7 @@ en:
|
||||||
autofollow: Invite to follow your account
|
autofollow: Invite to follow your account
|
||||||
avatar: Avatar
|
avatar: Avatar
|
||||||
bot: This is a bot account
|
bot: This is a bot account
|
||||||
|
chosen_languages: Filter languages
|
||||||
confirm_new_password: Confirm new password
|
confirm_new_password: Confirm new password
|
||||||
confirm_password: Confirm password
|
confirm_password: Confirm password
|
||||||
current_password: Current password
|
current_password: Current password
|
||||||
|
@ -42,9 +43,8 @@ en:
|
||||||
email: E-mail address
|
email: E-mail address
|
||||||
expires_in: Expire after
|
expires_in: Expire after
|
||||||
fields: Profile metadata
|
fields: Profile metadata
|
||||||
filtered_languages: Filtered languages
|
|
||||||
header: Header
|
header: Header
|
||||||
locale: Language
|
locale: Interface language
|
||||||
locked: Lock account
|
locked: Lock account
|
||||||
max_uses: Max number of uses
|
max_uses: Max number of uses
|
||||||
new_password: New password
|
new_password: New password
|
||||||
|
|
|
@ -22,8 +22,6 @@ eo:
|
||||||
data: CSV-dosiero el alia nodo de Mastodon
|
data: CSV-dosiero el alia nodo de Mastodon
|
||||||
sessions:
|
sessions:
|
||||||
otp: 'Enmetu la kodon de dufaktora aŭtentigo el via telefono aŭ uzu unu el viaj realiraj kodoj:'
|
otp: 'Enmetu la kodon de dufaktora aŭtentigo el via telefono aŭ uzu unu el viaj realiraj kodoj:'
|
||||||
user:
|
|
||||||
filtered_languages: Markitaj lingvoj estos elfiltritaj de publikaj tempolinioj por vi
|
|
||||||
labels:
|
labels:
|
||||||
account:
|
account:
|
||||||
fields:
|
fields:
|
||||||
|
@ -40,7 +38,6 @@ eo:
|
||||||
email: Retadreso
|
email: Retadreso
|
||||||
expires_in: Eksvalidiĝas post
|
expires_in: Eksvalidiĝas post
|
||||||
fields: Profilaj metadatumoj
|
fields: Profilaj metadatumoj
|
||||||
filtered_languages: Filtritaj lingvoj
|
|
||||||
header: Fonbildo
|
header: Fonbildo
|
||||||
locale: Lingvo
|
locale: Lingvo
|
||||||
locked: Ŝlosi konton
|
locked: Ŝlosi konton
|
||||||
|
|
|
@ -19,8 +19,6 @@ es:
|
||||||
data: Archivo CSV exportado desde otra instancia de Mastodon
|
data: Archivo CSV exportado desde otra instancia de Mastodon
|
||||||
sessions:
|
sessions:
|
||||||
otp: Introduce el código de autenticación de dos factores de tu teléfono o usa uno de tus códigos de recuperación.
|
otp: Introduce el código de autenticación de dos factores de tu teléfono o usa uno de tus códigos de recuperación.
|
||||||
user:
|
|
||||||
filtered_languages: Los idiomas seleccionados dejarán de mostrarse para ti en las líneas de tiempo públicas
|
|
||||||
labels:
|
labels:
|
||||||
defaults:
|
defaults:
|
||||||
avatar: Avatar
|
avatar: Avatar
|
||||||
|
@ -31,7 +29,6 @@ es:
|
||||||
display_name: Nombre para mostrar
|
display_name: Nombre para mostrar
|
||||||
email: Dirección de correo electrónico
|
email: Dirección de correo electrónico
|
||||||
expires_in: Expirar tras
|
expires_in: Expirar tras
|
||||||
filtered_languages: Idiomas filtrados
|
|
||||||
header: Img. cabecera
|
header: Img. cabecera
|
||||||
locale: Idioma
|
locale: Idioma
|
||||||
locked: Hacer privada esta cuenta
|
locked: Hacer privada esta cuenta
|
||||||
|
|
|
@ -22,8 +22,6 @@ eu:
|
||||||
data: Beste Mastodon instantzia batetik esportatutako CSV fitxategia
|
data: Beste Mastodon instantzia batetik esportatutako CSV fitxategia
|
||||||
sessions:
|
sessions:
|
||||||
otp: 'Sartu zure telefonoko aplikazioak sortutako bi faktoreetako kodea, edo erabili zure berreskuratze kodeetako bat:'
|
otp: 'Sartu zure telefonoko aplikazioak sortutako bi faktoreetako kodea, edo erabili zure berreskuratze kodeetako bat:'
|
||||||
user:
|
|
||||||
filtered_languages: Ez dira aukeratutako hizkuntzak erakutsiko zure denbora-lerro publikoetan
|
|
||||||
labels:
|
labels:
|
||||||
account:
|
account:
|
||||||
fields:
|
fields:
|
||||||
|
@ -40,7 +38,6 @@ eu:
|
||||||
email: E-mail helbidea
|
email: E-mail helbidea
|
||||||
expires_in: Iraungitzea
|
expires_in: Iraungitzea
|
||||||
fields: Profilaren metadatuak
|
fields: Profilaren metadatuak
|
||||||
filtered_languages: Iragazitako hizkuntzak
|
|
||||||
header: Goiburua
|
header: Goiburua
|
||||||
locale: Hizkuntza
|
locale: Hizkuntza
|
||||||
locked: Giltzapetu kontua
|
locked: Giltzapetu kontua
|
||||||
|
|
|
@ -23,8 +23,6 @@ fa:
|
||||||
data: پروندهٔ CSV که از سرور ماستدون دیگری برونسپاری شده
|
data: پروندهٔ CSV که از سرور ماستدون دیگری برونسپاری شده
|
||||||
sessions:
|
sessions:
|
||||||
otp: 'کد تأیید دومرحلهای که اپ روی تلفن شما ساخته را وارد کنید یا یکی از کدهای بازیابی را به کار ببرید:'
|
otp: 'کد تأیید دومرحلهای که اپ روی تلفن شما ساخته را وارد کنید یا یکی از کدهای بازیابی را به کار ببرید:'
|
||||||
user:
|
|
||||||
filtered_languages: زبانهای انتخابشده از فهرست عمومی نوشتههایی که میبینید حذف میشوند
|
|
||||||
labels:
|
labels:
|
||||||
account:
|
account:
|
||||||
fields:
|
fields:
|
||||||
|
@ -42,7 +40,6 @@ fa:
|
||||||
email: نشانی ایمیل
|
email: نشانی ایمیل
|
||||||
expires_in: تاریخ انقضا
|
expires_in: تاریخ انقضا
|
||||||
fields: اطلاعات تکمیلی نمایه
|
fields: اطلاعات تکمیلی نمایه
|
||||||
filtered_languages: زبانهای فیلترشده
|
|
||||||
header: تصویر زمینه
|
header: تصویر زمینه
|
||||||
locale: زبان
|
locale: زبان
|
||||||
locked: خصوصیکردن حساب
|
locked: خصوصیکردن حساب
|
||||||
|
|
|
@ -20,8 +20,6 @@ fi:
|
||||||
data: Toisesta Mastodon-instanssista tuotu CSV-tiedosto
|
data: Toisesta Mastodon-instanssista tuotu CSV-tiedosto
|
||||||
sessions:
|
sessions:
|
||||||
otp: Syötä puhelimeen saamasi kaksivaiheisen tunnistautumisen koodi tai käytä palautuskoodia.
|
otp: Syötä puhelimeen saamasi kaksivaiheisen tunnistautumisen koodi tai käytä palautuskoodia.
|
||||||
user:
|
|
||||||
filtered_languages: Valitut kielet suodatetaan pois julkisilta aikajanoilta
|
|
||||||
labels:
|
labels:
|
||||||
account:
|
account:
|
||||||
fields:
|
fields:
|
||||||
|
@ -36,7 +34,6 @@ fi:
|
||||||
email: Sähköpostiosoite
|
email: Sähköpostiosoite
|
||||||
expires_in: Vanhenee
|
expires_in: Vanhenee
|
||||||
fields: Profiilin metadata
|
fields: Profiilin metadata
|
||||||
filtered_languages: Suodatetut kielet
|
|
||||||
header: Otsakekuva
|
header: Otsakekuva
|
||||||
locale: Kieli
|
locale: Kieli
|
||||||
locked: Lukitse tili
|
locked: Lukitse tili
|
||||||
|
|
|
@ -22,8 +22,6 @@ fr:
|
||||||
data: Un fichier CSV généré par une autre instance de Mastodon
|
data: Un fichier CSV généré par une autre instance de Mastodon
|
||||||
sessions:
|
sessions:
|
||||||
otp: 'Entrez le code d’authentification à deux facteurs généré par votre téléphone ou utilisez un de vos codes de récupération :'
|
otp: 'Entrez le code d’authentification à deux facteurs généré par votre téléphone ou utilisez un de vos codes de récupération :'
|
||||||
user:
|
|
||||||
filtered_languages: Les langues sélectionnées seront filtrées hors de vos fils publics pour vous
|
|
||||||
labels:
|
labels:
|
||||||
account:
|
account:
|
||||||
fields:
|
fields:
|
||||||
|
@ -40,7 +38,6 @@ fr:
|
||||||
email: Adresse courriel
|
email: Adresse courriel
|
||||||
expires_in: Expire après
|
expires_in: Expire après
|
||||||
fields: Métadonnées du profil
|
fields: Métadonnées du profil
|
||||||
filtered_languages: Langues filtrées
|
|
||||||
header: Image d’en-tête
|
header: Image d’en-tête
|
||||||
locale: Langue
|
locale: Langue
|
||||||
locked: Verrouiller le compte
|
locked: Verrouiller le compte
|
||||||
|
|
|
@ -22,8 +22,6 @@ gl:
|
||||||
data: Ficheiro CSV exportado desde outra instancia Mastodon
|
data: Ficheiro CSV exportado desde outra instancia Mastodon
|
||||||
sessions:
|
sessions:
|
||||||
otp: Introduza o código de doble-factor xerado no aplicativo do seu móbil ou utilice un dos seus códigos de recuperación.
|
otp: Introduza o código de doble-factor xerado no aplicativo do seu móbil ou utilice un dos seus códigos de recuperación.
|
||||||
user:
|
|
||||||
filtered_languages: Os idiomas marcados filtraranse das liñas temporais públicas para vostede
|
|
||||||
labels:
|
labels:
|
||||||
account:
|
account:
|
||||||
fields:
|
fields:
|
||||||
|
@ -40,7 +38,6 @@ gl:
|
||||||
email: enderezo correo electrónico
|
email: enderezo correo electrónico
|
||||||
expires_in: Caducidade despois de
|
expires_in: Caducidade despois de
|
||||||
fields: Metadatos do perfil
|
fields: Metadatos do perfil
|
||||||
filtered_languages: Idiomas filtrados
|
|
||||||
header: Cabeceira
|
header: Cabeceira
|
||||||
locale: Idioma
|
locale: Idioma
|
||||||
locked: Protexer conta
|
locked: Protexer conta
|
||||||
|
|
|
@ -19,8 +19,6 @@ he:
|
||||||
data: קובץ CSV שיוצא משרת מסטודון אחר
|
data: קובץ CSV שיוצא משרת מסטודון אחר
|
||||||
sessions:
|
sessions:
|
||||||
otp: נא להקליד קוד אימות דו-שלבי ממכשירך או קוד אחזור גישה.
|
otp: נא להקליד קוד אימות דו-שלבי ממכשירך או קוד אחזור גישה.
|
||||||
user:
|
|
||||||
filtered_languages: שפות שנבחרו יוסתרו מציר הזמן הציבורי בשבילך
|
|
||||||
labels:
|
labels:
|
||||||
defaults:
|
defaults:
|
||||||
avatar: תמונת פרופיל
|
avatar: תמונת פרופיל
|
||||||
|
@ -31,7 +29,6 @@ he:
|
||||||
display_name: שם להצגה
|
display_name: שם להצגה
|
||||||
email: כתובת דוא"ל
|
email: כתובת דוא"ל
|
||||||
expires_in: תפוגה לאחר
|
expires_in: תפוגה לאחר
|
||||||
filtered_languages: שפות מסוננות
|
|
||||||
header: ראשה
|
header: ראשה
|
||||||
locale: שפה
|
locale: שפה
|
||||||
locked: הפוך חשבון לפרטי
|
locked: הפוך חשבון לפרטי
|
||||||
|
|
|
@ -19,8 +19,6 @@ hu:
|
||||||
data: Egy másik Mastodon szerverről exportált CSV fájl
|
data: Egy másik Mastodon szerverről exportált CSV fájl
|
||||||
sessions:
|
sessions:
|
||||||
otp: Add meg a Második-faktor kódodat a telefonodról vagy használd az egyik tartalék bejelentkező kódodat.
|
otp: Add meg a Második-faktor kódodat a telefonodról vagy használd az egyik tartalék bejelentkező kódodat.
|
||||||
user:
|
|
||||||
filtered_languages: A kiválasztott nyelvek nem jelennek majd meg a nyilvános idővonaladon
|
|
||||||
labels:
|
labels:
|
||||||
defaults:
|
defaults:
|
||||||
avatar: Profilkép
|
avatar: Profilkép
|
||||||
|
@ -31,7 +29,6 @@ hu:
|
||||||
display_name: Megjelenített név
|
display_name: Megjelenített név
|
||||||
email: E-mail cím
|
email: E-mail cím
|
||||||
expires_in: Elévül
|
expires_in: Elévül
|
||||||
filtered_languages: Szűrt nyelvek
|
|
||||||
header: Fejléc
|
header: Fejléc
|
||||||
locale: Nyelv
|
locale: Nyelv
|
||||||
locked: Zárt felhasználói fiók
|
locked: Zárt felhasználói fiók
|
||||||
|
|
|
@ -22,8 +22,6 @@ it:
|
||||||
data: File CSV esportato da un'altra istanza di Mastodon
|
data: File CSV esportato da un'altra istanza di Mastodon
|
||||||
sessions:
|
sessions:
|
||||||
otp: 'Inserisci il codice a due fattori generato dall''app del tuo telefono o usa uno dei codici di recupero:'
|
otp: 'Inserisci il codice a due fattori generato dall''app del tuo telefono o usa uno dei codici di recupero:'
|
||||||
user:
|
|
||||||
filtered_languages: Le lingue selezionate verranno filtrate dalla tua timeline pubblica
|
|
||||||
labels:
|
labels:
|
||||||
account:
|
account:
|
||||||
fields:
|
fields:
|
||||||
|
@ -40,7 +38,6 @@ it:
|
||||||
email: Indirizzo email
|
email: Indirizzo email
|
||||||
expires_in: Scade dopo
|
expires_in: Scade dopo
|
||||||
fields: Metadati del profilo
|
fields: Metadati del profilo
|
||||||
filtered_languages: Lingue filtrate
|
|
||||||
header: Header
|
header: Header
|
||||||
locale: Lingua
|
locale: Lingua
|
||||||
locked: Blocca account
|
locked: Blocca account
|
||||||
|
|
|
@ -19,8 +19,6 @@ ja:
|
||||||
data: 他の Mastodon インスタンスからエクスポートしたCSVファイルを選択して下さい
|
data: 他の Mastodon インスタンスからエクスポートしたCSVファイルを選択して下さい
|
||||||
sessions:
|
sessions:
|
||||||
otp: '携帯電話のアプリで生成された二段階認証コードを入力するか、リカバリーコードを使用してください:'
|
otp: '携帯電話のアプリで生成された二段階認証コードを入力するか、リカバリーコードを使用してください:'
|
||||||
user:
|
|
||||||
filtered_languages: 選択した言語があなたの公開タイムラインから取り除かれます
|
|
||||||
labels:
|
labels:
|
||||||
account:
|
account:
|
||||||
fields:
|
fields:
|
||||||
|
@ -38,7 +36,6 @@ ja:
|
||||||
email: メールアドレス
|
email: メールアドレス
|
||||||
expires_in: 有効期限
|
expires_in: 有効期限
|
||||||
fields: プロフィール補足情報
|
fields: プロフィール補足情報
|
||||||
filtered_languages: 除外する言語
|
|
||||||
header: ヘッダー
|
header: ヘッダー
|
||||||
locale: 言語
|
locale: 言語
|
||||||
locked: 承認制アカウントにする
|
locked: 承認制アカウントにする
|
||||||
|
|
|
@ -23,8 +23,6 @@ ko:
|
||||||
data: 다른 마스토돈 인스턴스에서 추출된 CSV 파일
|
data: 다른 마스토돈 인스턴스에서 추출된 CSV 파일
|
||||||
sessions:
|
sessions:
|
||||||
otp: '휴대전화에서 생성 된 2단계 인증 코드를 입력하거나, 복구 코드 중 하나를 사용하세요:'
|
otp: '휴대전화에서 생성 된 2단계 인증 코드를 입력하거나, 복구 코드 중 하나를 사용하세요:'
|
||||||
user:
|
|
||||||
filtered_languages: 선택된 언어가 공개 타임라인에서 제외 될 것입니다
|
|
||||||
labels:
|
labels:
|
||||||
account:
|
account:
|
||||||
fields:
|
fields:
|
||||||
|
@ -42,7 +40,6 @@ ko:
|
||||||
email: 이메일 주소
|
email: 이메일 주소
|
||||||
expires_in: 만료시각
|
expires_in: 만료시각
|
||||||
fields: 프로필 메타데이터
|
fields: 프로필 메타데이터
|
||||||
filtered_languages: 숨긴 언어들
|
|
||||||
header: 헤더
|
header: 헤더
|
||||||
locale: 언어
|
locale: 언어
|
||||||
locked: 계정 잠금
|
locked: 계정 잠금
|
||||||
|
|
|
@ -23,8 +23,6 @@ nl:
|
||||||
data: CSV-bestand dat op een andere Mastodonserver werd geëxporteerd
|
data: CSV-bestand dat op een andere Mastodonserver werd geëxporteerd
|
||||||
sessions:
|
sessions:
|
||||||
otp: Voer de tweestaps-aanmeldcode vanaf jouw mobiele telefoon in of gebruik een van jouw herstelcodes.
|
otp: Voer de tweestaps-aanmeldcode vanaf jouw mobiele telefoon in of gebruik een van jouw herstelcodes.
|
||||||
user:
|
|
||||||
filtered_languages: Geselecteerde talen worden uit de lokale en globale tijdlijn verwijderd
|
|
||||||
labels:
|
labels:
|
||||||
account:
|
account:
|
||||||
fields:
|
fields:
|
||||||
|
@ -42,7 +40,6 @@ nl:
|
||||||
email: E-mailadres
|
email: E-mailadres
|
||||||
expires_in: Vervalt na
|
expires_in: Vervalt na
|
||||||
fields: Metadata profiel
|
fields: Metadata profiel
|
||||||
filtered_languages: Gefilterde talen
|
|
||||||
header: Omslagfoto
|
header: Omslagfoto
|
||||||
locale: Taal
|
locale: Taal
|
||||||
locked: Maak account besloten
|
locked: Maak account besloten
|
||||||
|
|
|
@ -19,8 +19,6 @@
|
||||||
data: CSV-fil eksportert fra en annen Mastodon-instans
|
data: CSV-fil eksportert fra en annen Mastodon-instans
|
||||||
sessions:
|
sessions:
|
||||||
otp: Angi tofaktorkoden fra din telefon eller bruk en av dine gjenopprettingskoder.
|
otp: Angi tofaktorkoden fra din telefon eller bruk en av dine gjenopprettingskoder.
|
||||||
user:
|
|
||||||
filtered_languages: Språk som er avhuket vil ikke vises på offentlige tidslinjer fra deg
|
|
||||||
labels:
|
labels:
|
||||||
defaults:
|
defaults:
|
||||||
avatar: Avatar
|
avatar: Avatar
|
||||||
|
@ -31,7 +29,6 @@
|
||||||
display_name: Visningsnavn
|
display_name: Visningsnavn
|
||||||
email: E-postadresse
|
email: E-postadresse
|
||||||
expires_in: Utløper etter
|
expires_in: Utløper etter
|
||||||
filtered_languages: Filtrerte språk
|
|
||||||
header: Overskrift
|
header: Overskrift
|
||||||
locale: Språk
|
locale: Språk
|
||||||
locked: Lås konto
|
locked: Lås konto
|
||||||
|
|
|
@ -23,8 +23,6 @@ oc:
|
||||||
data: Fichièr CSV exportat d’una autra instància Mastodon
|
data: Fichièr CSV exportat d’una autra instància Mastodon
|
||||||
sessions:
|
sessions:
|
||||||
otp: 'Picatz lo còdi d’autentificacion en dos temps (Two factor code) de vòstra aplicacion mobil o utilizatz un de vòstres còdis de recuperacion :'
|
otp: 'Picatz lo còdi d’autentificacion en dos temps (Two factor code) de vòstra aplicacion mobil o utilizatz un de vòstres còdis de recuperacion :'
|
||||||
user:
|
|
||||||
filtered_languages: Las lengas seleccionadas seràn levadas de vòstre flux d’actualitat
|
|
||||||
labels:
|
labels:
|
||||||
account:
|
account:
|
||||||
fields:
|
fields:
|
||||||
|
@ -42,7 +40,6 @@ oc:
|
||||||
email: Corrièl
|
email: Corrièl
|
||||||
expires_in: Expira aprèp
|
expires_in: Expira aprèp
|
||||||
fields: Metadonada del perfil
|
fields: Metadonada del perfil
|
||||||
filtered_languages: Lengas filtradas
|
|
||||||
header: Bandièra
|
header: Bandièra
|
||||||
locale: Lenga
|
locale: Lenga
|
||||||
locked: Far venir lo compte privat
|
locked: Far venir lo compte privat
|
||||||
|
|
|
@ -26,8 +26,6 @@ pl:
|
||||||
data: Plik CSV wyeksportowany z innej instancji Mastodona
|
data: Plik CSV wyeksportowany z innej instancji Mastodona
|
||||||
sessions:
|
sessions:
|
||||||
otp: 'Wprowadź kod weryfikacji dwuetapowej z telefonu lub wykorzystaj jeden z kodów zapasowych:'
|
otp: 'Wprowadź kod weryfikacji dwuetapowej z telefonu lub wykorzystaj jeden z kodów zapasowych:'
|
||||||
user:
|
|
||||||
filtered_languages: Wpisy w wybranych językach nie będą wyświetlać się na publicznych osiach czasu
|
|
||||||
labels:
|
labels:
|
||||||
account:
|
account:
|
||||||
fields:
|
fields:
|
||||||
|
@ -44,7 +42,6 @@ pl:
|
||||||
email: Adres e-mail
|
email: Adres e-mail
|
||||||
expires_in: Wygaśnie po
|
expires_in: Wygaśnie po
|
||||||
fields: Metadane profilu
|
fields: Metadane profilu
|
||||||
filtered_languages: Filtrowane języki
|
|
||||||
header: Nagłówek
|
header: Nagłówek
|
||||||
locale: Język
|
locale: Język
|
||||||
locked: Ustaw konto jako prywatne
|
locked: Ustaw konto jako prywatne
|
||||||
|
|
|
@ -22,8 +22,6 @@ pt-BR:
|
||||||
data: Arquivo CSV exportado de outra instância do Mastodon
|
data: Arquivo CSV exportado de outra instância do Mastodon
|
||||||
sessions:
|
sessions:
|
||||||
otp: 'Insira o código de autenticação gerado pelo app no seu celular ou use um dos códigos de recuperação:'
|
otp: 'Insira o código de autenticação gerado pelo app no seu celular ou use um dos códigos de recuperação:'
|
||||||
user:
|
|
||||||
filtered_languages: Selecione os idiomas que devem ser removidos de suas timelines públicas
|
|
||||||
labels:
|
labels:
|
||||||
account:
|
account:
|
||||||
fields:
|
fields:
|
||||||
|
@ -40,7 +38,6 @@ pt-BR:
|
||||||
email: Endereço de e-mail
|
email: Endereço de e-mail
|
||||||
expires_in: Expira em
|
expires_in: Expira em
|
||||||
fields: Metadados do perfil
|
fields: Metadados do perfil
|
||||||
filtered_languages: Idiomas filtrados
|
|
||||||
header: Cabeçalho
|
header: Cabeçalho
|
||||||
locale: Idioma
|
locale: Idioma
|
||||||
locked: Trancar conta
|
locked: Trancar conta
|
||||||
|
|
|
@ -19,8 +19,6 @@ pt:
|
||||||
data: Arquivo CSV exportado de outra instância do Mastodon
|
data: Arquivo CSV exportado de outra instância do Mastodon
|
||||||
sessions:
|
sessions:
|
||||||
otp: Inserir o código de autenticação de dois factores do teu telemóvel ou usa um dos códigos de recuperação.
|
otp: Inserir o código de autenticação de dois factores do teu telemóvel ou usa um dos códigos de recuperação.
|
||||||
user:
|
|
||||||
filtered_languages: Seleciona os idiomas que devem ser removidos das tuas timelines públicas
|
|
||||||
labels:
|
labels:
|
||||||
defaults:
|
defaults:
|
||||||
avatar: Imagem de Perfil
|
avatar: Imagem de Perfil
|
||||||
|
@ -31,7 +29,6 @@ pt:
|
||||||
display_name: Nome Público
|
display_name: Nome Público
|
||||||
email: Endereço de e-mail
|
email: Endereço de e-mail
|
||||||
expires_in: Expira em
|
expires_in: Expira em
|
||||||
filtered_languages: Idiomas filtrados
|
|
||||||
header: Cabeçalho
|
header: Cabeçalho
|
||||||
locale: Idioma
|
locale: Idioma
|
||||||
locked: Trancar conta
|
locked: Trancar conta
|
||||||
|
|
|
@ -26,8 +26,6 @@ ru:
|
||||||
data: Файл CSV, экспортированный с другого узла Mastodon
|
data: Файл CSV, экспортированный с другого узла Mastodon
|
||||||
sessions:
|
sessions:
|
||||||
otp: 'Введите код двухфакторной аутентификации, сгенерированный в мобильном приложении, или используйте один из Ваших кодов восстановления:'
|
otp: 'Введите код двухфакторной аутентификации, сгенерированный в мобильном приложении, или используйте один из Ваших кодов восстановления:'
|
||||||
user:
|
|
||||||
filtered_languages: Выбранные языки будут убраны из Ваших публичных лет.
|
|
||||||
labels:
|
labels:
|
||||||
account:
|
account:
|
||||||
fields:
|
fields:
|
||||||
|
@ -44,7 +42,6 @@ ru:
|
||||||
email: Адрес e-mail
|
email: Адрес e-mail
|
||||||
expires_in: Срок действия
|
expires_in: Срок действия
|
||||||
fields: Метаданные профиля
|
fields: Метаданные профиля
|
||||||
filtered_languages: Фильтруемые языки
|
|
||||||
header: Заголовок
|
header: Заголовок
|
||||||
locale: Язык
|
locale: Язык
|
||||||
locked: Сделать аккаунт закрытым
|
locked: Сделать аккаунт закрытым
|
||||||
|
|
|
@ -25,8 +25,6 @@ sk:
|
||||||
data: CSV súbor vyexportovaný z inej Mastodon inštancie
|
data: CSV súbor vyexportovaný z inej Mastodon inštancie
|
||||||
sessions:
|
sessions:
|
||||||
otp: 'Napíš sem dvoj-faktorový kód z telefónu, alebo použi jeden z tvojích obnovovacích kódov:'
|
otp: 'Napíš sem dvoj-faktorový kód z telefónu, alebo použi jeden z tvojích obnovovacích kódov:'
|
||||||
user:
|
|
||||||
filtered_languages: Zaškrtnuté jazyky budú pre teba vynechané z verejnej časovej osi
|
|
||||||
labels:
|
labels:
|
||||||
account:
|
account:
|
||||||
fields:
|
fields:
|
||||||
|
@ -44,7 +42,6 @@ sk:
|
||||||
email: Emailová adresa
|
email: Emailová adresa
|
||||||
expires_in: Expirovať po
|
expires_in: Expirovať po
|
||||||
fields: Metadáta profilu
|
fields: Metadáta profilu
|
||||||
filtered_languages: Vynechanie jazykov
|
|
||||||
header: Obrázok v hlavičke
|
header: Obrázok v hlavičke
|
||||||
locale: Jazyk
|
locale: Jazyk
|
||||||
locked: Zamknúť účet
|
locked: Zamknúť účet
|
||||||
|
|
|
@ -23,8 +23,6 @@ sr-Latn:
|
||||||
data: CSV fajl izvezen sa druge Mastodont instance
|
data: CSV fajl izvezen sa druge Mastodont instance
|
||||||
sessions:
|
sessions:
|
||||||
otp: Unesite dvofaktorski kod sa Vašeg telefona ili koristite jedan od kodova za oporavak.
|
otp: Unesite dvofaktorski kod sa Vašeg telefona ili koristite jedan od kodova za oporavak.
|
||||||
user:
|
|
||||||
filtered_languages: Označeni jezici će za Vas biti isfiltrirani sa javnih lajni
|
|
||||||
labels:
|
labels:
|
||||||
defaults:
|
defaults:
|
||||||
avatar: Avatar
|
avatar: Avatar
|
||||||
|
@ -35,7 +33,6 @@ sr-Latn:
|
||||||
display_name: Ime za prikaz
|
display_name: Ime za prikaz
|
||||||
email: Adresa e-pošte
|
email: Adresa e-pošte
|
||||||
expires_in: Ističe nakon
|
expires_in: Ističe nakon
|
||||||
filtered_languages: Filtrirani jezici
|
|
||||||
header: Zaglavlje
|
header: Zaglavlje
|
||||||
locale: Jezik
|
locale: Jezik
|
||||||
locked: Zaključaj nalog
|
locked: Zaključaj nalog
|
||||||
|
|
|
@ -23,8 +23,6 @@ sr:
|
||||||
data: CSV фајл извезен са друге Мастодонт инстанце
|
data: CSV фајл извезен са друге Мастодонт инстанце
|
||||||
sessions:
|
sessions:
|
||||||
otp: Унесите двофакторски код са Вашег телефона или користите један од кодова за опоравак.
|
otp: Унесите двофакторски код са Вашег телефона или користите један од кодова за опоравак.
|
||||||
user:
|
|
||||||
filtered_languages: Означени језици ће за Вас бити исфилтрирани са јавних лајни
|
|
||||||
labels:
|
labels:
|
||||||
defaults:
|
defaults:
|
||||||
avatar: Аватар
|
avatar: Аватар
|
||||||
|
@ -35,7 +33,6 @@ sr:
|
||||||
display_name: Име за приказ
|
display_name: Име за приказ
|
||||||
email: Адреса е-поште
|
email: Адреса е-поште
|
||||||
expires_in: Истиче након
|
expires_in: Истиче након
|
||||||
filtered_languages: Филтрирани језици
|
|
||||||
header: Заглавље
|
header: Заглавље
|
||||||
locale: Језик
|
locale: Језик
|
||||||
locked: Закључај налог
|
locked: Закључај налог
|
||||||
|
|
|
@ -22,8 +22,6 @@ sv:
|
||||||
data: CSV-fil som exporteras från en annan Mastodon-instans
|
data: CSV-fil som exporteras från en annan Mastodon-instans
|
||||||
sessions:
|
sessions:
|
||||||
otp: 'Ange tvåfaktorkoden genererad från din telefonapp eller använd någon av dina återställningskoder:'
|
otp: 'Ange tvåfaktorkoden genererad från din telefonapp eller använd någon av dina återställningskoder:'
|
||||||
user:
|
|
||||||
filtered_languages: Kontrollerade språk filtreras från offentliga tidslinjer för dig
|
|
||||||
labels:
|
labels:
|
||||||
account:
|
account:
|
||||||
fields:
|
fields:
|
||||||
|
@ -40,7 +38,6 @@ sv:
|
||||||
email: E-postadress
|
email: E-postadress
|
||||||
expires_in: Förfaller efter
|
expires_in: Förfaller efter
|
||||||
fields: Profil-metadata
|
fields: Profil-metadata
|
||||||
filtered_languages: Filtrerade språk
|
|
||||||
header: Bakgrundsbild
|
header: Bakgrundsbild
|
||||||
locale: Språk
|
locale: Språk
|
||||||
locked: Lås konto
|
locked: Lås konto
|
||||||
|
|
|
@ -19,8 +19,6 @@ zh-CN:
|
||||||
data: 请上传从其他 Mastodon 实例导出的 CSV 文件
|
data: 请上传从其他 Mastodon 实例导出的 CSV 文件
|
||||||
sessions:
|
sessions:
|
||||||
otp: 输入你手机应用上生成的双重认证码,或者任意一个恢复代码:
|
otp: 输入你手机应用上生成的双重认证码,或者任意一个恢复代码:
|
||||||
user:
|
|
||||||
filtered_languages: 被勾选语言的嘟文将不会出现在你的公共时间轴上
|
|
||||||
labels:
|
labels:
|
||||||
account:
|
account:
|
||||||
fields:
|
fields:
|
||||||
|
@ -38,7 +36,6 @@ zh-CN:
|
||||||
email: 电子邮件地址
|
email: 电子邮件地址
|
||||||
expires_in: 失效时间
|
expires_in: 失效时间
|
||||||
fields: 个人资料附加信息
|
fields: 个人资料附加信息
|
||||||
filtered_languages: 语言过滤
|
|
||||||
header: 个人资料页横幅图片
|
header: 个人资料页横幅图片
|
||||||
locale: 语言
|
locale: 语言
|
||||||
locked: 保护你的帐户(锁嘟)
|
locked: 保护你的帐户(锁嘟)
|
||||||
|
|
|
@ -22,8 +22,6 @@ zh-HK:
|
||||||
data: 自其他服務站匯出的 CSV 檔案
|
data: 自其他服務站匯出的 CSV 檔案
|
||||||
sessions:
|
sessions:
|
||||||
otp: 輸入你手機上生成的雙重認證碼,或者任意一個恢復代碼:
|
otp: 輸入你手機上生成的雙重認證碼,或者任意一個恢復代碼:
|
||||||
user:
|
|
||||||
filtered_languages: 下面被選擇的語言的文章將不會出現在你的公共時間軸上
|
|
||||||
labels:
|
labels:
|
||||||
account:
|
account:
|
||||||
fields:
|
fields:
|
||||||
|
@ -40,7 +38,6 @@ zh-HK:
|
||||||
email: 電郵地址
|
email: 電郵地址
|
||||||
expires_in: 失效時間
|
expires_in: 失效時間
|
||||||
fields: 資料
|
fields: 資料
|
||||||
filtered_languages: 封鎖下面語言的文章
|
|
||||||
header: 個人頁面頂部
|
header: 個人頁面頂部
|
||||||
locale: 語言
|
locale: 語言
|
||||||
locked: 將用戶轉為「私人」
|
locked: 將用戶轉為「私人」
|
||||||
|
|
|
@ -10,8 +10,6 @@ zh-TW:
|
||||||
note: 最多 160 個字元
|
note: 最多 160 個字元
|
||||||
imports:
|
imports:
|
||||||
data: 自其他服務站匯出的 CSV 檔案
|
data: 自其他服務站匯出的 CSV 檔案
|
||||||
user:
|
|
||||||
filtered_languages: 下面被選擇的語言的文章將不會出現在你的公共時間軸上。
|
|
||||||
labels:
|
labels:
|
||||||
defaults:
|
defaults:
|
||||||
avatar: 大頭貼
|
avatar: 大頭貼
|
||||||
|
@ -21,7 +19,6 @@ zh-TW:
|
||||||
data: 資料
|
data: 資料
|
||||||
display_name: 顯示名稱
|
display_name: 顯示名稱
|
||||||
email: 電子信箱
|
email: 電子信箱
|
||||||
filtered_languages: 封鎖下面語言的文章
|
|
||||||
header: 個人頁面頂部
|
header: 個人頁面頂部
|
||||||
locale: 語言
|
locale: 語言
|
||||||
locked: 將帳號轉為「私密」
|
locked: 將帳號轉為「私密」
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
class AddChosenLanguagesToUsers < ActiveRecord::Migration[5.2]
|
||||||
|
def change
|
||||||
|
add_column :users, :chosen_languages, :string, array: true, null: true, default: nil
|
||||||
|
end
|
||||||
|
end
|
|
@ -10,7 +10,7 @@
|
||||||
#
|
#
|
||||||
# It's strongly recommended that you check this file into your version control system.
|
# It's strongly recommended that you check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema.define(version: 2018_06_15_122121) do
|
ActiveRecord::Schema.define(version: 2018_06_16_192031) do
|
||||||
|
|
||||||
# These are extensions that must be enabled in order to support this database
|
# These are extensions that must be enabled in order to support this database
|
||||||
enable_extension "plpgsql"
|
enable_extension "plpgsql"
|
||||||
|
@ -525,6 +525,7 @@ ActiveRecord::Schema.define(version: 2018_06_15_122121) do
|
||||||
t.boolean "moderator", default: false, null: false
|
t.boolean "moderator", default: false, null: false
|
||||||
t.bigint "invite_id"
|
t.bigint "invite_id"
|
||||||
t.string "remember_token"
|
t.string "remember_token"
|
||||||
|
t.string "chosen_languages", array: true
|
||||||
t.index ["account_id"], name: "index_users_on_account_id"
|
t.index ["account_id"], name: "index_users_on_account_id"
|
||||||
t.index ["confirmation_token"], name: "index_users_on_confirmation_token", unique: true
|
t.index ["confirmation_token"], name: "index_users_on_confirmation_token", unique: true
|
||||||
t.index ["email"], name: "index_users_on_email", unique: true
|
t.index ["email"], name: "index_users_on_email", unique: true
|
||||||
|
|
|
@ -18,12 +18,12 @@ describe Settings::PreferencesController do
|
||||||
|
|
||||||
describe 'PUT #update' do
|
describe 'PUT #update' do
|
||||||
it 'updates the user record' do
|
it 'updates the user record' do
|
||||||
put :update, params: { user: { locale: 'en', filtered_languages: ['es', 'fr', ''] } }
|
put :update, params: { user: { locale: 'en', chosen_languages: ['es', 'fr', ''] } }
|
||||||
|
|
||||||
expect(response).to redirect_to(settings_preferences_path)
|
expect(response).to redirect_to(settings_preferences_path)
|
||||||
user.reload
|
user.reload
|
||||||
expect(user.locale).to eq 'en'
|
expect(user.locale).to eq 'en'
|
||||||
expect(user.filtered_languages).to eq ['es', 'fr']
|
expect(user.chosen_languages).to eq ['es', 'fr']
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'updates user settings' do
|
it 'updates user settings' do
|
||||||
|
|
|
@ -259,18 +259,18 @@ RSpec.describe Status, type: :model do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '.not_in_filtered_languages' do
|
describe '.in_chosen_languages' do
|
||||||
context 'for accounts with language filters' do
|
context 'for accounts with language filters' do
|
||||||
let(:user) { Fabricate(:user, filtered_languages: ['en']) }
|
let(:user) { Fabricate(:user, chosen_languages: ['en']) }
|
||||||
|
|
||||||
it 'does not include statuses in filtered languages' do
|
it 'does not include statuses in not in chosen languages' do
|
||||||
status = Fabricate(:status, language: 'en')
|
status = Fabricate(:status, language: 'de')
|
||||||
expect(Status.not_in_filtered_languages(user.account)).not_to include status
|
expect(Status.in_chosen_languages(user.account)).not_to include status
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'includes status with unknown language' do
|
it 'includes status with unknown language' do
|
||||||
status = Fabricate(:status, language: nil)
|
status = Fabricate(:status, language: nil)
|
||||||
expect(Status.not_in_filtered_languages(user.account)).to include status
|
expect(Status.in_chosen_languages(user.account)).to include status
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -518,7 +518,7 @@ RSpec.describe Status, type: :model do
|
||||||
|
|
||||||
context 'with language preferences' do
|
context 'with language preferences' do
|
||||||
it 'excludes statuses in languages not allowed by the account user' do
|
it 'excludes statuses in languages not allowed by the account user' do
|
||||||
user = Fabricate(:user, filtered_languages: [:fr])
|
user = Fabricate(:user, chosen_languages: [:en, :es])
|
||||||
@account.update(user: user)
|
@account.update(user: user)
|
||||||
en_status = Fabricate(:status, language: 'en')
|
en_status = Fabricate(:status, language: 'en')
|
||||||
es_status = Fabricate(:status, language: 'es')
|
es_status = Fabricate(:status, language: 'es')
|
||||||
|
@ -531,7 +531,7 @@ RSpec.describe Status, type: :model do
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'includes all languages when user does not have a setting' do
|
it 'includes all languages when user does not have a setting' do
|
||||||
user = Fabricate(:user, filtered_languages: [])
|
user = Fabricate(:user, chosen_languages: nil)
|
||||||
@account.update(user: user)
|
@account.update(user: user)
|
||||||
|
|
||||||
en_status = Fabricate(:status, language: 'en')
|
en_status = Fabricate(:status, language: 'en')
|
||||||
|
|
|
@ -41,9 +41,9 @@ RSpec.describe User, type: :model do
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'cleans out empty string from languages' do
|
it 'cleans out empty string from languages' do
|
||||||
user = Fabricate.build(:user, filtered_languages: [''])
|
user = Fabricate.build(:user, chosen_languages: [''])
|
||||||
user.valid?
|
user.valid?
|
||||||
expect(user.filtered_languages).to eq []
|
expect(user.chosen_languages).to eq nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue