Disgustingly merge pull request #598 from Retrospring/feature/norway
Add new translations in various places
This commit is contained in:
commit
b41983a2bf
|
@ -13,7 +13,7 @@ class ManifestsController < ApplicationController
|
||||||
categories: %w[social],
|
categories: %w[social],
|
||||||
lang: I18n.locale,
|
lang: I18n.locale,
|
||||||
shortcuts: [
|
shortcuts: [
|
||||||
webapp_shortcut(inbox_url, t("views.navigation.inbox"), "inbox")
|
webapp_shortcut(inbox_url, t("navigation.inbox"), "inbox")
|
||||||
],
|
],
|
||||||
icons: webapp_icons,
|
icons: webapp_icons,
|
||||||
theme_color: theme_color,
|
theme_color: theme_color,
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
%h6.text-muted.media-heading.answerbox__question-user
|
%h6.text-muted.media-heading.answerbox__question-user
|
||||||
- if a.question.author_is_anonymous
|
- if a.question.author_is_anonymous
|
||||||
%i.fa.fa-user-secret{ title: t(".anon_hint") }
|
%i.fa.fa-user-secret{ title: t(".anon_hint") }
|
||||||
= raw t(".asked", user: user_screen_name(a.question.user, context_user: a.user, author_identifier: a.question.author_is_anonymous ? a.question.author_identifier: nil), time: time_tooltip(a.question))
|
= t(".asked_html", user: user_screen_name(a.question.user, context_user: a.user, author_identifier: a.question.author_is_anonymous ? a.question.author_identifier: nil), time: time_tooltip(a.question))
|
||||||
- if !a.question.author_is_anonymous && !a.question.direct
|
- if !a.question.author_is_anonymous && !a.question.direct
|
||||||
·
|
·
|
||||||
%a{ href: question_path(a.question.user.screen_name, a.question.id) }
|
%a{ href: question_path(a.question.user.screen_name, a.question.id) }
|
||||||
|
|
|
@ -50,4 +50,4 @@
|
||||||
.col-xs-12.col-sm-10.offset-sm-1.text-center
|
.col-xs-12.col-sm-10.offset-sm-1.text-center
|
||||||
%small= t(".promote.join", app_title: APP_CONFIG["site_name"])
|
%small= t(".promote.join", app_title: APP_CONFIG["site_name"])
|
||||||
- else
|
- else
|
||||||
%p= raw t(".required", signup: link_to(t("views.sessions.new"), new_user_registration_path))
|
%p= raw t(".required", signup: link_to(t("voc.register"), new_user_registration_path))
|
||||||
|
|
|
@ -1,26 +1,16 @@
|
||||||
- provide(:title, generate_title(t('.title')))
|
- provide(:title, generate_title(t('.title')))
|
||||||
|
|
||||||
.text-center.mx-sm-5
|
.text-center.mx-sm-5
|
||||||
%h2 Notice
|
%h2= t(".heading")
|
||||||
|
|
||||||
|
= t(".notice_html", app_name: APP_CONFIG["site_name"])
|
||||||
|
|
||||||
%p
|
%p
|
||||||
= APP_CONFIG["site_name"]
|
%a.text-muted{ href: "https://canny.io/privacy" }= t(".privacy")
|
||||||
uses Canny to collect feedback or bug reports on the following pages.
|
|
||||||
|
|
||||||
%p
|
%p
|
||||||
Canny collects the username, user ID and email address for these purposes.
|
= button_to t(".consent"), feedback_consent_update_path, class: "btn btn-primary", method: :post, params: { consent: true }
|
||||||
Unless you specifically consent to this,
|
|
||||||
= APP_CONFIG["site_name"]
|
|
||||||
will not send your data to Canny, but you can't use the feedback forms either.
|
|
||||||
|
|
||||||
|
%p= t(".alternative")
|
||||||
%p
|
%p
|
||||||
%a.text-muted{ href: "https://canny.io/privacy" } Canny's Privacy Policy
|
%a.btn.btn-outline-primary{ href: "https://github.com/Retrospring/retrospring/issues" }= t(".issues")
|
||||||
|
|
||||||
%p
|
|
||||||
= button_to "Consent and proceed", feedback_consent_update_path, class: "btn btn-primary", method: :post, params: { consent: true }
|
|
||||||
|
|
||||||
%p
|
|
||||||
Alternatively, you can send us bug reports and feature requests directly on GitHub.
|
|
||||||
|
|
||||||
%p
|
|
||||||
%a.btn.btn-outline-primary{ href: "https://github.com/Retrospring/retrospring/issues" } GitHub Issues
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
%noscript
|
%noscript
|
||||||
.alert.alert-danger
|
.alert.alert-danger
|
||||||
= t 'messages.noscript'
|
= t(".noscript")
|
||||||
|
|
||||||
- flash.each do |key, value|
|
- flash.each do |key, value|
|
||||||
.alert.alert-dismissible{ class: "alert-#{bootstrap_color key}", role: :alert }
|
.alert.alert-dismissible{ class: "alert-#{bootstrap_color key}", role: :alert }
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
.jumbotron.jumbotron--particles
|
.jumbotron.jumbotron--particles
|
||||||
.jumbotron__particles#particles
|
.jumbotron__particles#particles
|
||||||
.jumbotron__content
|
.jumbotron__content
|
||||||
%h1 Feedback
|
%h1= t(".heading")
|
||||||
.container
|
.container
|
||||||
- unless params[:action] == "consent"
|
- unless params[:action] == "consent"
|
||||||
.card
|
.card
|
||||||
.list-group.list-group-horizontal-sm.text-center
|
.list-group.list-group-horizontal-sm.text-center
|
||||||
= list_group_item "Bugs", feedback_bugs_path
|
= list_group_item t(".tab.bugs"), feedback_bugs_path
|
||||||
= list_group_item "Feature Requests", feedback_features_path
|
= list_group_item t(".tab.features"), feedback_features_path
|
||||||
.card
|
.card
|
||||||
.card-body
|
.card-body
|
||||||
= yield
|
= yield
|
||||||
|
|
|
@ -3,24 +3,24 @@
|
||||||
%a.navbar-brand{ href: '/' }
|
%a.navbar-brand{ href: '/' }
|
||||||
= APP_CONFIG['site_name']
|
= APP_CONFIG['site_name']
|
||||||
%ul.nav.navbar-nav.mr-auto
|
%ul.nav.navbar-nav.mr-auto
|
||||||
= nav_entry t('views.navigation.timeline'), root_path, icon: 'home'
|
= nav_entry t("navigation.timeline"), root_path, icon: 'home'
|
||||||
= nav_entry t('views.navigation.inbox'), '/inbox', icon: 'inbox', badge: inbox_count
|
= nav_entry t("navigation.inbox"), '/inbox', icon: 'inbox', badge: inbox_count
|
||||||
- if APP_CONFIG.dig(:features, :discover, :enabled) || current_user.mod?
|
- if APP_CONFIG.dig(:features, :discover, :enabled) || current_user.mod?
|
||||||
= nav_entry t('views.navigation.discover'), discover_path, icon: 'compass'
|
= nav_entry t("navigation.discover"), discover_path, icon: 'compass'
|
||||||
%ul.nav.navbar-nav
|
%ul.nav.navbar-nav
|
||||||
- if @user.present? && @user != current_user
|
- if @user.present? && @user != current_user
|
||||||
%li.nav-item.d-none.d-sm-block{ data: { toggle: 'tooltip', placement: 'bottom' }, title: t(".list") }
|
%li.nav-item.d-none.d-sm-block{ data: { toggle: 'tooltip', placement: 'bottom' }, title: t(".list") }
|
||||||
%a.nav-link{ href: '#', data: { target: '#modal-list-memberships', toggle: :modal } }
|
%a.nav-link{ href: '#', data: { target: '#modal-list-memberships', toggle: :modal } }
|
||||||
%i.fa.fa-list.hidden-xs
|
%i.fa.fa-list.hidden-xs
|
||||||
%span.d-none.d-sm-inline.d-md-none= t(".list")
|
%span.d-none.d-sm-inline.d-md-none= t(".list")
|
||||||
= nav_entry t('views.navigation.notifications'), notifications_path, badge: notification_count, class: 'd-block d-sm-none'
|
= nav_entry t("navigation.notifications"), notifications_path, badge: notification_count, class: 'd-block d-sm-none'
|
||||||
%li.nav-item.dropdown.d-none.d-sm-block
|
%li.nav-item.dropdown.d-none.d-sm-block
|
||||||
%a.nav-link.dropdown-toggle{ href: '#', data: { toggle: :dropdown } }
|
%a.nav-link.dropdown-toggle{ href: '#', data: { toggle: :dropdown } }
|
||||||
- if notification_count.nil?
|
- if notification_count.nil?
|
||||||
%i.fa.fa-bell-o
|
%i.fa.fa-bell-o
|
||||||
- else
|
- else
|
||||||
%i.fa.fa-bell
|
%i.fa.fa-bell
|
||||||
%span.sr-only= t('views.navigation.notifications')
|
%span.sr-only= t("navigation.notifications")
|
||||||
%span.badge= notification_count
|
%span.badge= notification_count
|
||||||
= render 'navigation/dropdown/notifications', notifications: notifications, size: "desktop"
|
= render 'navigation/dropdown/notifications', notifications: notifications, size: "desktop"
|
||||||
%li.nav-item.d-none.d-sm-block{ data: { toggle: 'tooltip', placement: 'bottom' }, title: t('.ask_question') }
|
%li.nav-item.d-none.d-sm-block{ data: { toggle: 'tooltip', placement: 'bottom' }, title: t('.ask_question') }
|
||||||
|
|
|
@ -2,9 +2,9 @@
|
||||||
.container{ class: ios_web_app? ? 'ios-web-app' : '' }
|
.container{ class: ios_web_app? ? 'ios-web-app' : '' }
|
||||||
%a.navbar-brand{ href: '/' }= APP_CONFIG['site_name']
|
%a.navbar-brand{ href: '/' }= APP_CONFIG['site_name']
|
||||||
%button.navbar-toggler{ data: { target: '#j2-main-navbar-collapse', toggle: :collapse }, type: :button }
|
%button.navbar-toggler{ data: { target: '#j2-main-navbar-collapse', toggle: :collapse }, type: :button }
|
||||||
%span.sr-only Toggle navigation
|
%span.sr-only= t("navigation.toggle")
|
||||||
%span.navbar-toggler-icon
|
%span.navbar-toggler-icon
|
||||||
.collapse.navbar-collapse#j2-main-navbar-collapse
|
.collapse.navbar-collapse#j2-main-navbar-collapse
|
||||||
%ul.nav.navbar-nav.ml-auto
|
%ul.nav.navbar-nav.ml-auto
|
||||||
= nav_entry t('views.sessions.create'), new_user_session_path
|
= nav_entry t("voc.login"), new_user_session_path
|
||||||
= nav_entry t('views.sessions.new'), new_user_registration_path
|
= nav_entry t("voc.register"), new_user_registration_path
|
||||||
|
|
|
@ -4,16 +4,16 @@
|
||||||
%nav.navbar.navbar-themed.bg-primary.fixed-bottom.d-lg-none.d-block.d-print-none#rs-mobile-nav{ role: :navigation }
|
%nav.navbar.navbar-themed.bg-primary.fixed-bottom.d-lg-none.d-block.d-print-none#rs-mobile-nav{ role: :navigation }
|
||||||
.container{ class: ios_web_app? ? 'ios-web-app' : '' }
|
.container{ class: ios_web_app? ? 'ios-web-app' : '' }
|
||||||
%ul.nav.navbar-nav.navbar-icon-row
|
%ul.nav.navbar-nav.navbar-icon-row
|
||||||
= nav_entry t('views.navigation.timeline'), root_path, icon: 'home', icon_only: true
|
= nav_entry t("navigation.timeline"), root_path, icon: 'home', icon_only: true
|
||||||
= nav_entry t('views.navigation.inbox'), '/inbox',
|
= nav_entry t("navigation.inbox"), '/inbox',
|
||||||
badge: inbox_count, badge_color: 'primary', badge_pill: true,
|
badge: inbox_count, badge_color: 'primary', badge_pill: true,
|
||||||
icon: 'inbox', icon_only: true
|
icon: 'inbox', icon_only: true
|
||||||
- if APP_CONFIG.dig(:features, :discover, :enabled) || current_user.mod?
|
- if APP_CONFIG.dig(:features, :discover, :enabled) || current_user.mod?
|
||||||
= nav_entry t('views.navigation.discover'), discover_path, icon: 'compass', icon_only: true
|
= nav_entry t("navigation.discover"), discover_path, icon: 'compass', icon_only: true
|
||||||
%li.nav-item
|
%li.nav-item
|
||||||
%a.nav-link{ href: '#', data: { toggle: 'dropdown', target: '#rs-mobile-nav-notifications' }, aria: { controls: 'rs-mobile-nav-notifications', expanded: 'false' } }
|
%a.nav-link{ href: '#', data: { toggle: 'dropdown', target: '#rs-mobile-nav-notifications' }, aria: { controls: 'rs-mobile-nav-notifications', expanded: 'false' } }
|
||||||
%i.fa{ class: "fa-#{notifications_icon}" }
|
%i.fa{ class: "fa-#{notifications_icon}" }
|
||||||
%span.sr-only= t('views.navigation.notifications')
|
%span.sr-only= t("navigation.notifications")
|
||||||
%span.badge.badge-pill.badge-primary= notification_count
|
%span.badge.badge-pill.badge-primary= notification_count
|
||||||
%li.nav-item.profile--image-dropdown
|
%li.nav-item.profile--image-dropdown
|
||||||
%a.nav-link{ href: '#', data: { toggle: 'dropdown', target: '#rs-mobile-nav-profile' }, aria: { controls: 'rs-mobile-nav-profile', expanded: 'false' } }
|
%a.nav-link{ href: '#', data: { toggle: 'dropdown', target: '#rs-mobile-nav-profile' }, aria: { controls: 'rs-mobile-nav-profile', expanded: 'false' } }
|
||||||
|
|
|
@ -2,47 +2,48 @@
|
||||||
%h6.dropdown-header.d-none.d-sm-block= current_user.screen_name
|
%h6.dropdown-header.d-none.d-sm-block= current_user.screen_name
|
||||||
%a.dropdown-item{ href: user_path(current_user) }
|
%a.dropdown-item{ href: user_path(current_user) }
|
||||||
%i.fa.fa-fw.fa-user
|
%i.fa.fa-fw.fa-user
|
||||||
= t("views.navigation.show")
|
= t(".profile")
|
||||||
%a.dropdown-item{ href: edit_user_registration_path }
|
%a.dropdown-item{ href: edit_user_registration_path }
|
||||||
%i.fa.fa-fw.fa-cog
|
%i.fa.fa-fw.fa-cog
|
||||||
= t("views.navigation.settings")
|
= t(".settings")
|
||||||
.dropdown-divider
|
.dropdown-divider
|
||||||
- if current_user.has_role?(:administrator)
|
- if current_user.has_role?(:administrator)
|
||||||
%a.dropdown-item{ href: rails_admin_path }
|
%a.dropdown-item{ href: rails_admin_path }
|
||||||
%i.fa.fa-fw.fa-cogs
|
%i.fa.fa-fw.fa-cogs
|
||||||
= t("views.navigation.admin")
|
= t(".admin")
|
||||||
%a.dropdown-item{ href: sidekiq_web_path }
|
%a.dropdown-item{ href: sidekiq_web_path }
|
||||||
%i.fa.fa-fw.fa-bar-chart
|
%i.fa.fa-fw.fa-bar-chart
|
||||||
= t("views.navigation.sidekiq")
|
= t(".sidekiq")
|
||||||
%a.dropdown-item{ href: pghero_path }
|
%a.dropdown-item{ href: pghero_path }
|
||||||
%i.fa.fa-fw.fa-database
|
%i.fa.fa-fw.fa-database
|
||||||
Database Monitor
|
= t(".pghero")
|
||||||
%a.dropdown-item{ href: announcement_index_path }
|
%a.dropdown-item{ href: announcement_index_path }
|
||||||
%i.fa.fa-fw.fa-info
|
%i.fa.fa-fw.fa-info
|
||||||
Announcements
|
= t(".announcements")
|
||||||
.dropdown-divider
|
.dropdown-divider
|
||||||
- if current_user.mod?
|
- if current_user.mod?
|
||||||
- if moderation_view?
|
- if moderation_view?
|
||||||
= link_to moderation_toggle_unmask_path, method: :post, class: "dropdown-item" do
|
= link_to moderation_toggle_unmask_path, method: :post, class: "dropdown-item" do
|
||||||
%i.fa.fa-toggle-on
|
%i.fa.fa-toggle-on
|
||||||
Disable Moderation View
|
= t(".unmask.disable")
|
||||||
- else
|
- else
|
||||||
= link_to moderation_toggle_unmask_path, method: :post, class: "dropdown-item" do
|
= link_to moderation_toggle_unmask_path, method: :post, class: "dropdown-item" do
|
||||||
%i.fa.fa-toggle-off
|
%i.fa.fa-toggle-off
|
||||||
Enable Moderation View
|
= t(".unmask.enable")
|
||||||
%a.dropdown-item{ href: moderation_path }
|
%a.dropdown-item{ href: moderation_path }
|
||||||
%i.fa.fa-fw.fa-gavel
|
%i.fa.fa-fw.fa-gavel
|
||||||
= t("views.navigation.moderation")
|
= t(".moderation")
|
||||||
.dropdown-divider
|
.dropdown-divider
|
||||||
- if APP_CONFIG["canny"]
|
- if APP_CONFIG["canny"]
|
||||||
%h6.dropdown-header.d-none.d-sm-block Feedback
|
%h6.dropdown-header.d-none.d-sm-block
|
||||||
|
= t(".feedback.heading")
|
||||||
%a.dropdown-item{ href: feedback_bugs_path }
|
%a.dropdown-item{ href: feedback_bugs_path }
|
||||||
%i.fa.fa-fw.fa-bug
|
%i.fa.fa-fw.fa-bug
|
||||||
Bugs
|
= t(".feedback.bugs")
|
||||||
%a.dropdown-item{ href: feedback_features_path }
|
%a.dropdown-item{ href: feedback_features_path }
|
||||||
%i.fa.fa-fw.fa-flask
|
%i.fa.fa-fw.fa-flask
|
||||||
Feature Requests
|
= t(".feedback.features")
|
||||||
.dropdown-divider
|
.dropdown-divider
|
||||||
= button_to destroy_user_session_path, method: "delete", class: "dropdown-item" do
|
= button_to destroy_user_session_path, method: "delete", class: "dropdown-item" do
|
||||||
%i.fa.fa-fw.fa-sign-out
|
%i.fa.fa-fw.fa-sign-out
|
||||||
= t("views.sessions.destroy")
|
= t("voc.logout")
|
||||||
|
|
|
@ -34,5 +34,5 @@
|
||||||
- if hidden
|
- if hidden
|
||||||
= user_screen_name question.user, author_identifier: identifier, url: false
|
= user_screen_name question.user, author_identifier: identifier, url: false
|
||||||
- else
|
- else
|
||||||
= raw t('views.answerbox.asked', user: user_screen_name(question.user, author_identifier: identifier), time: time_tooltip(question))
|
= t("answerbox.header.asked_html", user: user_screen_name(question.user, author_identifier: identifier), time: time_tooltip(question))
|
||||||
.answerbox__question-text= question_markdown question.content
|
.answerbox__question-text= question_markdown question.content
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
- provide(:title, question_title(@question))
|
- provide(:title, question_title(@question))
|
||||||
= render 'question', question: @question, hidden: false
|
= render "question", question: @question, hidden: false
|
||||||
= render 'question', question: @question, hidden: true
|
= render "question", question: @question, hidden: true
|
||||||
.container.question-page
|
.container.question-page
|
||||||
#answers
|
#answers
|
||||||
- @answers.each do |a|
|
- @answers.each do |a|
|
||||||
= render 'answerbox', a: a, show_question: false
|
= render "answerbox", a: a, show_question: false
|
||||||
|
|
||||||
= render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @answers_last_id
|
= render "shared/cursored_pagination_dummy", more_data_available: @more_data_available, last_id: @answers_last_id
|
||||||
|
|
||||||
- if @more_data_available
|
- if @more_data_available
|
||||||
.d-flex.justify-content-center.justify-content-sm-start
|
.d-flex.justify-content-center.justify-content-sm-start
|
||||||
|
@ -15,7 +15,7 @@
|
||||||
|
|
||||||
- if user_signed_in? && !current_user.answered?(@question) && current_user != @question.user && @question.user&.privacy_allow_stranger_answers
|
- if user_signed_in? && !current_user.answered?(@question) && current_user != @question.user && @question.user&.privacy_allow_stranger_answers
|
||||||
.card#q-answer-box
|
.card#q-answer-box
|
||||||
.card-header= t('views.question.title')
|
.card-header= t(".questionbox.title")
|
||||||
.card-body
|
.card-body
|
||||||
%textarea.form-control#q-answer-text{ placeholder: t("inbox.entry.placeholder"), data: { id: @question.id } }
|
%textarea.form-control#q-answer-text{ placeholder: t("inbox.entry.placeholder"), data: { id: @question.id } }
|
||||||
%br/
|
%br/
|
||||||
|
@ -23,5 +23,5 @@
|
||||||
= t("voc.answer")
|
= t("voc.answer")
|
||||||
- current_user.services.each do |service|
|
- current_user.services.each do |service|
|
||||||
%label
|
%label
|
||||||
%input{ type: 'checkbox', name: 'share', checked: :checked, data: { q_id: @question.id, service: service.provider } }
|
%input{ type: "checkbox", name: "share", checked: :checked, data: { q_id: @question.id, service: service.provider } }
|
||||||
= t("inbox.entry.sharing.post_to", service: service.provider.capitalize)
|
= t("inbox.entry.sharing.post_to", service: service.provider.capitalize)
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
%i.fa.fa-gears
|
%i.fa.fa-gears
|
||||||
= t("voc.view_in_rails_admin")
|
= t("voc.view_in_rails_admin")
|
||||||
%h6.media-heading.text-muted.answerbox__question-user
|
%h6.media-heading.text-muted.answerbox__question-user
|
||||||
= raw t('views.answerbox.asked', user: user_screen_name(q.user), time: time_tooltip(q))
|
= t("answerbox.header.asked_html", user: user_screen_name(q.user), time: time_tooltip(q))
|
||||||
- if q.answer_count > 1
|
- if q.answer_count > 1
|
||||||
·
|
·
|
||||||
%a{ href: question_path(q.user.screen_name, q.id) }
|
%a{ href: question_path(q.user.screen_name, q.id) }
|
||||||
|
|
|
@ -10,12 +10,12 @@
|
||||||
= current_user.screen_name
|
= current_user.screen_name
|
||||||
- unless @list.nil?
|
- unless @list.nil?
|
||||||
.card
|
.card
|
||||||
.card-header= t('views.list.members')
|
.card-header= t(".list.title")
|
||||||
.card-body
|
.card-body
|
||||||
- if @list.members.empty?
|
- if @list.members.empty?
|
||||||
%p.text-muted No members yet.
|
%p.text-muted= t(".list.none")
|
||||||
- @list.members.each do |member|
|
- @list.members.each do |member|
|
||||||
%a{ href: user_path(member.user), title: member.user.screen_name, data: { toggle: :tooltip, placement: :top } }
|
%a{ href: user_path(member.user), title: member.user.screen_name, data: { toggle: :tooltip, placement: :top } }
|
||||||
%img.avatar-xs{ src: member.user.profile_picture.url(:medium) }
|
%img.avatar-xs{ src: member.user.profile_picture.url(:medium) }
|
||||||
|
|
||||||
= render 'shared/links'
|
= render "shared/links"
|
||||||
|
|
|
@ -1,24 +1,16 @@
|
||||||
.card
|
.card
|
||||||
.list-group.list-group-horizontal-sm.text-center
|
.list-group.list-group-horizontal-sm.text-center
|
||||||
= list_group_item t('views.general.timeline'), timeline_path
|
= list_group_item t(".timeline"), timeline_path
|
||||||
- if APP_CONFIG.dig(:features, :public, :enabled)
|
- if APP_CONFIG.dig(:features, :public, :enabled)
|
||||||
= list_group_item t('views.general.public'), public_timeline_path
|
= list_group_item t(".public"), public_timeline_path
|
||||||
%a.list-group-item.list-group-item-action.dropdown.dropdown-toggle{ class: list ? 'active' : '',
|
%a.list-group-item.list-group-item-action.dropdown.dropdown-toggle{ class: list ? "active" : "",
|
||||||
type: :button, data: { toggle: :dropdown }, aria: { haspopup: true, expanded: false } }
|
type: :button, data: { toggle: :dropdown }, aria: { haspopup: true, expanded: false } }
|
||||||
- if list
|
- if list
|
||||||
= list.display_name
|
= list.display_name
|
||||||
- else
|
- else
|
||||||
Lists
|
= t(".lists.title")
|
||||||
.dropdown-menu.dropdown-menu-right.dropdown-menu--lists
|
.dropdown-menu.dropdown-menu-right.dropdown-menu--lists
|
||||||
- if current_user.lists.empty?
|
- if current_user.lists.empty?
|
||||||
.p-3
|
.p-3= t(".lists.notice_html")
|
||||||
%p Looks like you don't have any lists yet.
|
|
||||||
%p
|
|
||||||
You can create lists and add users to them using the
|
|
||||||
%i.fa.fa-fw.fa-list
|
|
||||||
icon in the navigation on user profiles that are not yours.
|
|
||||||
%p.mb-0
|
|
||||||
Once you have done that, the lists will be shown here.
|
|
||||||
When you select a list you'll get a timeline view of all users within that list.
|
|
||||||
- current_user.lists.each do |list|
|
- current_user.lists.each do |list|
|
||||||
%a.dropdown-item{ href: list_timeline_path(list.name) }= list.display_name
|
%a.dropdown-item{ href: list_timeline_path(list.name) }= list.display_name
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
.card
|
.card
|
||||||
.list-group.list-group-horizontal-sm.text-center
|
.list-group.list-group-horizontal-sm.text-center
|
||||||
= list_group_item 'Answers', user_path(user), badge: user.answered_count
|
= list_group_item t(".answers"), user_path(user), badge: user.answered_count
|
||||||
= list_group_item 'Questions', show_user_questions_path(user.screen_name), badge: user.asked_count
|
= list_group_item t(".questions"), show_user_questions_path(user.screen_name), badge: user.asked_count
|
||||||
= list_group_item 'Followers', show_user_followers_path(user.screen_name), badge: user.followers.count
|
= list_group_item t(".followers"), show_user_followers_path(user.screen_name), badge: user.followers.count
|
||||||
= list_group_item 'Following', show_user_followings_path(user.screen_name), badge: user.followings.count
|
= list_group_item t(".following"), show_user_followings_path(user.screen_name), badge: user.followings.count
|
||||||
|
|
|
@ -13,28 +13,28 @@
|
||||||
- if user.banned?
|
- if user.banned?
|
||||||
%span.badge.badge-dark
|
%span.badge.badge-dark
|
||||||
%i.fa.fa-fw.fa-ban
|
%i.fa.fa-fw.fa-ban
|
||||||
= t 'views.user.title.banned'
|
= t(".badge.banned")
|
||||||
- if user.following? current_user
|
- if user.following? current_user
|
||||||
.badge.badge-light
|
.badge.badge-light
|
||||||
= t 'views.user.follows_you'
|
= t(".badge.follows_you")
|
||||||
- if user_signed_in? && current_user.has_role?(:administrator)
|
- if user_signed_in? && current_user.has_role?(:administrator)
|
||||||
- if user.has_role?(:administrator)
|
- if user.has_role?(:administrator)
|
||||||
%span.badge.badge-danger
|
%span.badge.badge-danger
|
||||||
%i.fa.fa-fw.fa-flask
|
%i.fa.fa-fw.fa-flask
|
||||||
= t 'views.user.title.admin'
|
= t(".badge.admin")
|
||||||
- if user.has_role?(:moderator)
|
- if user.has_role?(:moderator)
|
||||||
%span.badge.badge-success
|
%span.badge.badge-success
|
||||||
%i.fa.fa-fw.fa-users
|
%i.fa.fa-fw.fa-users
|
||||||
= t 'views.user.title.moderator'
|
= t(".badge.moderator")
|
||||||
- unless user.profile.description.blank?
|
- unless user.profile.description.blank?
|
||||||
.profile__biography
|
.profile__biography
|
||||||
= markdown user.profile.description
|
= markdown user.profile.description
|
||||||
- unless user.profile.website.blank?
|
- unless user.profile.website.blank?
|
||||||
.profile__website
|
.profile__website
|
||||||
%i.fa.fa-fw.fa-globe
|
%i.fa.fa-fw.fa-globe
|
||||||
%a{ href: user.profile.website, target: '_blank', rel: 'nofollow' }= user.profile.display_website
|
%a{ href: user.profile.website, target: "_blank", rel: "nofollow" }= user.profile.display_website
|
||||||
- unless user.profile.location.blank?
|
- unless user.profile.location.blank?
|
||||||
.profile__location
|
.profile__location
|
||||||
%i.fa.fa-fw.fa-location-arrow
|
%i.fa.fa-fw.fa-location-arrow
|
||||||
= user.profile.location
|
= user.profile.location
|
||||||
= render 'user/actions', user: user, type: :follower
|
= render "user/actions", user: user, type: :follower
|
||||||
|
|
|
@ -1,37 +0,0 @@
|
||||||
en:
|
|
||||||
language: 'English (US)'
|
|
||||||
messages:
|
|
||||||
noscript: "Please activate JavaScript."
|
|
||||||
views:
|
|
||||||
locale:
|
|
||||||
languages: "Languages"
|
|
||||||
general:
|
|
||||||
timeline: "Timeline"
|
|
||||||
public: "Public"
|
|
||||||
list:
|
|
||||||
title: "List"
|
|
||||||
members: "Members"
|
|
||||||
actions:
|
|
||||||
list: "Manage list memberships"
|
|
||||||
sessions:
|
|
||||||
destroy: "Logout"
|
|
||||||
create: "Sign in"
|
|
||||||
new: "Sign up"
|
|
||||||
question:
|
|
||||||
title: "This question was not in your inbox? Answer it here!"
|
|
||||||
navigation:
|
|
||||||
timeline: "Timeline"
|
|
||||||
inbox: "Inbox"
|
|
||||||
discover: "Discover"
|
|
||||||
notifications: "Notifications"
|
|
||||||
show: "View profile"
|
|
||||||
settings: "Settings"
|
|
||||||
admin: "Kontrollzentrum"
|
|
||||||
sidekiq: "Sidekiq"
|
|
||||||
moderation: "Moderation Panel"
|
|
||||||
user:
|
|
||||||
follows_you: "Follows you"
|
|
||||||
title:
|
|
||||||
admin: "Admin"
|
|
||||||
moderator: "Moderator"
|
|
||||||
banned: "Banned"
|
|
|
@ -1,4 +1,5 @@
|
||||||
en:
|
en:
|
||||||
|
language: "English (US)"
|
||||||
about:
|
about:
|
||||||
index:
|
index:
|
||||||
subtitle: "Ask questions, give answers and learn more about your friends."
|
subtitle: "Ask questions, give answers and learn more about your friends."
|
||||||
|
@ -84,7 +85,7 @@ en:
|
||||||
zero: "0 answers"
|
zero: "0 answers"
|
||||||
one: "1 answer"
|
one: "1 answer"
|
||||||
other: "%{count} answers"
|
other: "%{count} answers"
|
||||||
asked: "%{user} asked %{time} ago"
|
asked_html: "%{user} asked %{time} ago"
|
||||||
actions:
|
actions:
|
||||||
share:
|
share:
|
||||||
title: "Share"
|
title: "Share"
|
||||||
|
@ -163,6 +164,21 @@ en:
|
||||||
feedback:
|
feedback:
|
||||||
consent:
|
consent:
|
||||||
title: "Feedback"
|
title: "Feedback"
|
||||||
|
heading: "Notice"
|
||||||
|
notice_html: |
|
||||||
|
<p>
|
||||||
|
%{app_name} uses Canny to collect feedback or bug reports on the following pages.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Canny collects the username, user ID and email address for these purposes.
|
||||||
|
Unless you specifically consent to this,
|
||||||
|
%{app_name}
|
||||||
|
will not send your data to Canny, but you can't use the feedback forms either.
|
||||||
|
</p>
|
||||||
|
privacy: "Canny's Privacy Policy"
|
||||||
|
consent: "Consent and proceed"
|
||||||
|
alternative: "Alternatively, you can send us bug reports and feature requests directly on GitHub."
|
||||||
|
issues: "GitHub Issues"
|
||||||
bugs:
|
bugs:
|
||||||
title: "Bugs – Feedback"
|
title: "Bugs – Feedback"
|
||||||
features:
|
features:
|
||||||
|
@ -197,6 +213,14 @@ en:
|
||||||
share:
|
share:
|
||||||
heading: "Share"
|
heading: "Share"
|
||||||
button: "Share on %{service}"
|
button: "Share on %{service}"
|
||||||
|
layouts:
|
||||||
|
feedback:
|
||||||
|
heading: "Feedback"
|
||||||
|
tab:
|
||||||
|
bugs: "Bugs"
|
||||||
|
features: "Feature Requests"
|
||||||
|
messages:
|
||||||
|
noscript: "Please activate JavaScript."
|
||||||
link_filter:
|
link_filter:
|
||||||
index:
|
index:
|
||||||
heading: "You're leaving %{app_name}"
|
heading: "You're leaving %{app_name}"
|
||||||
|
@ -256,11 +280,31 @@ en:
|
||||||
until: "Until %{until}"
|
until: "Until %{until}"
|
||||||
expired: "Expired at %{until}"
|
expired: "Expired at %{until}"
|
||||||
navigation:
|
navigation:
|
||||||
|
toggle: "Toggle navigation"
|
||||||
|
timeline: "Timeline"
|
||||||
|
inbox: "Inbox"
|
||||||
|
discover: "Discover"
|
||||||
|
notifications: "Notifications"
|
||||||
dropdown:
|
dropdown:
|
||||||
notifications:
|
notifications:
|
||||||
none: :notifications.index.none
|
none: :notifications.index.none
|
||||||
all: "Show all notifications"
|
all: "Show all notifications"
|
||||||
new: "Show all new notifications"
|
new: "Show all new notifications"
|
||||||
|
profile:
|
||||||
|
profile: "Show profile"
|
||||||
|
settings: "Settings"
|
||||||
|
admin: "Rails Admin"
|
||||||
|
sidekiq: "Sidekiq"
|
||||||
|
pghero: "Database Monitor"
|
||||||
|
announcements: "Announcements"
|
||||||
|
unmask:
|
||||||
|
enable: "Enable Moderation View"
|
||||||
|
disable: "Disable Moderation View"
|
||||||
|
moderation: "Moderation Panel"
|
||||||
|
feedback:
|
||||||
|
heading: "Feedback"
|
||||||
|
bugs: "Bugs"
|
||||||
|
features: "Feature Requests"
|
||||||
desktop:
|
desktop:
|
||||||
ask_question: "Ask a question"
|
ask_question: "Ask a question"
|
||||||
list: :user.actions.list
|
list: :user.actions.list
|
||||||
|
@ -467,7 +511,26 @@ en:
|
||||||
source: "Source code"
|
source: "Source code"
|
||||||
terms: "Terms of Service"
|
terms: "Terms of Service"
|
||||||
privacy: "Privacy Policy"
|
privacy: "Privacy Policy"
|
||||||
|
sidebar:
|
||||||
|
list:
|
||||||
|
title: "Members"
|
||||||
|
none: "No members yet."
|
||||||
tabs:
|
tabs:
|
||||||
|
feed:
|
||||||
|
public: "Public"
|
||||||
|
timeline: "Your Timeline"
|
||||||
|
lists:
|
||||||
|
title: "Lists"
|
||||||
|
notice_html: |
|
||||||
|
<p>Looks like you don't have any lists yet.</p>
|
||||||
|
<p>
|
||||||
|
You can create lists and add users to them using the <i class="fa fa-fw fa-list"></i>
|
||||||
|
icon in the navigation on user profiles that are not yours.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Once you have done that, the lists will be shown here.
|
||||||
|
When you select a list you'll get a timeline view of all users within that list.
|
||||||
|
</p>
|
||||||
moderation:
|
moderation:
|
||||||
all: "All reports"
|
all: "All reports"
|
||||||
answers: :activerecord.models.answer.other
|
answers: :activerecord.models.answer.other
|
||||||
|
@ -482,6 +545,11 @@ en:
|
||||||
comment: "Comments"
|
comment: "Comments"
|
||||||
commentsmile: "Comment Smiles"
|
commentsmile: "Comment Smiles"
|
||||||
relationship: "Followers"
|
relationship: "Followers"
|
||||||
|
profile:
|
||||||
|
answers: :activerecord.models.answer.other
|
||||||
|
questions: :activerecord.models.question.other
|
||||||
|
followers: "Followers"
|
||||||
|
following: "Following"
|
||||||
settings:
|
settings:
|
||||||
account: "Account"
|
account: "Account"
|
||||||
profile: "Profile"
|
profile: "Profile"
|
||||||
|
@ -511,3 +579,13 @@ en:
|
||||||
ban: "Ban Control"
|
ban: "Ban Control"
|
||||||
title: "Actions"
|
title: "Actions"
|
||||||
list: "Manage list memberships"
|
list: "Manage list memberships"
|
||||||
|
profile:
|
||||||
|
badge:
|
||||||
|
admin: "Admin"
|
||||||
|
banned: "Banned"
|
||||||
|
follows_you: "Follows you"
|
||||||
|
moderator: "Moderator"
|
||||||
|
question:
|
||||||
|
show:
|
||||||
|
questionbox:
|
||||||
|
title: "If this question did not appear in your inbox, you can answer it here."
|
||||||
|
|
|
@ -10,6 +10,7 @@ en:
|
||||||
follow: "Follow"
|
follow: "Follow"
|
||||||
load: "Load more"
|
load: "Load more"
|
||||||
login: "Sign in"
|
login: "Sign in"
|
||||||
|
logout: "Sign out"
|
||||||
save: "Save changes"
|
save: "Save changes"
|
||||||
register: "Sign up"
|
register: "Sign up"
|
||||||
report: "Report"
|
report: "Report"
|
||||||
|
|
14
crowdin.yml
14
crowdin.yml
|
@ -1 +1,13 @@
|
||||||
files: []
|
files:
|
||||||
|
- source: /config/locales/activerecord.en.yml
|
||||||
|
translation: /config/locales/activerecord.%two_letters_code%.yml
|
||||||
|
- source: /config/locales/controllers.en.yml
|
||||||
|
translation: /config/locales/controllers.%two_letters_code%.yml
|
||||||
|
- source: /config/locales/errors.en.yml
|
||||||
|
translation: /config/locales/errors.%two_letters_code%.yml
|
||||||
|
- source: /config/locales/frontend.en.yml
|
||||||
|
translation: /config/locales/frontend.%two_letters_code%.yml
|
||||||
|
- source: /config/locales/views.en.yml
|
||||||
|
translation: /config/locales/views.%two_letters_code%.yml
|
||||||
|
- source: /config/locales/voc.en.yml
|
||||||
|
translation: /config/locales/voc.%two_letters_code%.yml
|
||||||
|
|
Loading…
Reference in New Issue