DEV: Scope topic voting tables to avoid confusion with post voting (#196)

Renaming discourse_voting to topic_voting since there are two forms of voting in Discourse - posts and topics.

This PR also moves a OnceOff into a post migration. The post migration will be executed, but should ideally be a no-op. This allows us to not have to maintain the OnceOff as it had to be modified before with a previous migration. I considered removing this file altogether, but I don't think there is anything negative from just converting it into a migration, and it might be useful in the unlikely scenario that a forum from the past has never ran the OnceOff before.
This commit is contained in:
Natalie Tay 2024-07-17 20:26:40 +08:00 committed by GitHub
parent fdb1f98a96
commit 3d3037729c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
76 changed files with 608 additions and 519 deletions

View File

@ -1,3 +1,4 @@
< 3.3.0.beta5-dev: fdb1f98a963adac049ffe9cd4fc506d77dd38cca
< 3.3.0.beta1-dev: ba41633e0abe0535fd358a0809e0b4e0c79be128
< 3.2.0.beta2-dev: ca2449f243ba3de5182fead8c66c2346cd25ed2c
3.1.999: 6449fc15658d972e20086a3f1fae3dbac9cd9eeb

View File

@ -86,7 +86,7 @@ module DiscourseTopicVoting
protected
def who_voted(topic)
return nil unless SiteSetting.voting_show_who_voted
return nil unless SiteSetting.topic_voting_show_who_voted
ActiveModel::ArraySerializer.new(
topic.who_voted,

View File

@ -1,94 +0,0 @@
# frozen_string_literal: true
module Jobs
class VotingEnsureConsistency < ::Jobs::Onceoff
def execute_onceoff(args)
# archive votes to closed or archived or deleted topics
DB.exec(<<~SQL)
UPDATE discourse_voting_votes
SET archive=true
FROM topics
WHERE topics.id = discourse_voting_votes.topic_id
AND discourse_voting_votes.archive IS NOT TRUE
AND (topics.closed OR topics.archived OR topics.deleted_at IS NOT NULL)
SQL
# un-archive votes to open topics
DB.exec(<<~SQL)
UPDATE discourse_voting_votes
SET archive=false
FROM topics
WHERE topics.id = discourse_voting_votes.topic_id
AND discourse_voting_votes.archive IS TRUE
AND NOT topics.closed
AND NOT topics.archived
AND topics.deleted_at IS NULL
SQL
# delete duplicate votes
DB.exec(<<~SQL)
DELETE FROM discourse_voting_votes dvv1
USING discourse_voting_votes dvv2
WHERE dvv1.id < dvv2.id AND
dvv1.user_id = dvv2.user_id AND
dvv1.topic_id = dvv2.topic_id AND
dvv1.archive = dvv2.archive
SQL
# delete votes associated with no user
DB.exec(<<~SQL)
DELETE FROM discourse_voting_votes
WHERE user_id NOT IN (SELECT id FROM users)
SQL
# delete votes associated with no topics
DB.exec(<<~SQL)
DELETE FROM discourse_voting_votes
WHERE discourse_voting_votes.topic_id IS NULL
SQL
# delete duplicate vote counts for topics
DB.exec(<<~SQL)
DELETE FROM discourse_voting_topic_vote_count dvtvc
USING discourse_voting_topic_vote_count dvtvc2
WHERE dvtvc.id < dvtvc2.id AND
dvtvc.topic_id = dvtvc2.topic_id AND
dvtvc.votes_count = dvtvc2.votes_count
SQL
# insert missing vote counts for topics
# ensures we have "something" for every topic with votes
DB.exec(<<~SQL)
WITH missing_ids AS (
SELECT DISTINCT t.id FROM topics t
JOIN discourse_voting_votes dvv ON t.id = dvv.topic_id
LEFT JOIN discourse_voting_topic_vote_count dvtvc ON t.id = dvtvc.topic_id
WHERE dvtvc.topic_id IS NULL
)
INSERT INTO discourse_voting_topic_vote_count (votes_count, topic_id, created_at, updated_at)
SELECT '0', id, now(), now() FROM missing_ids
SQL
# remove all superflous vote count custom fields
DB.exec(<<~SQL)
DELETE FROM discourse_voting_topic_vote_count
WHERE topic_id IN (
SELECT t1.id FROM topics t1
LEFT JOIN discourse_voting_votes dvv
ON dvv.topic_id = t1.id
WHERE dvv.id IS NULL
)
SQL
# correct topics vote counts
DB.exec(<<~SQL)
UPDATE discourse_voting_topic_vote_count dvtvc
SET votes_count = (
SELECT COUNT(*) FROM discourse_voting_votes dvv
WHERE dvtvc.topic_id = dvv.topic_id
GROUP BY dvv.topic_id
)
SQL
end
end
end

View File

@ -2,7 +2,7 @@
module DiscourseTopicVoting
class CategorySetting < ActiveRecord::Base
self.table_name = "discourse_voting_category_settings"
self.table_name = "topic_voting_category_settings"
belongs_to :category, inverse_of: :discourse_topic_voting_category_setting
@ -12,24 +12,24 @@ module DiscourseTopicVoting
def unarchive_votes
DB.exec(<<~SQL, { category_id: self.category_id })
UPDATE discourse_voting_votes
UPDATE topic_voting_votes
SET archive=false
FROM topics
WHERE topics.category_id = :category_id
AND topics.deleted_at is NULL
AND NOT topics.closed
AND NOT topics.archived
AND discourse_voting_votes.topic_id = topics.id
AND topic_voting_votes.topic_id = topics.id
SQL
end
def archive_votes
DB.exec(<<~SQL, { category_id: self.category_id })
UPDATE discourse_voting_votes
UPDATE topic_voting_votes
SET archive=true
FROM topics
WHERE topics.category_id = :category_id
AND discourse_voting_votes.topic_id = topics.id
AND topic_voting_votes.topic_id = topics.id
SQL
end
@ -41,7 +41,7 @@ end
# == Schema Information
#
# Table name: discourse_voting_category_settings
# Table name: topic_voting_category_settings
#
# id :bigint not null, primary key
# category_id :integer
@ -50,5 +50,5 @@ end
#
# Indexes
#
# index_discourse_voting_category_settings_on_category_id (category_id) UNIQUE
# index_topic_voting_category_settings_on_category_id (category_id) UNIQUE
#

View File

@ -2,7 +2,7 @@
module DiscourseTopicVoting
class TopicVoteCount < ActiveRecord::Base
self.table_name = "discourse_voting_topic_vote_count"
self.table_name = "topic_voting_topic_vote_count"
belongs_to :topic
end
@ -10,7 +10,7 @@ end
# == Schema Information
#
# Table name: discourse_voting_topic_vote_count
# Table name: topic_voting_topic_vote_count
#
# id :bigint not null, primary key
# topic_id :integer
@ -20,5 +20,5 @@ end
#
# Indexes
#
# index_discourse_voting_topic_vote_count_on_topic_id (topic_id) UNIQUE
# index_topic_voting_topic_vote_count_on_topic_id (topic_id) UNIQUE
#

View File

@ -2,7 +2,7 @@
module DiscourseTopicVoting
class Vote < ActiveRecord::Base
self.table_name = "discourse_voting_votes"
self.table_name = "topic_voting_votes"
belongs_to :user
belongs_to :topic
@ -11,7 +11,7 @@ end
# == Schema Information
#
# Table name: discourse_voting_votes
# Table name: topic_voting_votes
#
# id :bigint not null, primary key
# topic_id :integer
@ -22,5 +22,5 @@ end
#
# Indexes
#
# index_discourse_voting_votes_on_user_id_and_topic_id (user_id,topic_id) UNIQUE
# index_topic_voting_votes_on_user_id_and_topic_id (user_id,topic_id) UNIQUE
#

View File

@ -8,7 +8,7 @@ export default {
initialize() {
withPluginApi("0.8.32", (api) => {
const siteSettings = api.container.lookup("service:site-settings");
if (siteSettings.voting_enabled) {
if (siteSettings.topic_voting_enabled) {
const pageSearchController = api.container.lookup(
"controller:full-page-search"
);
@ -61,7 +61,7 @@ export default {
withPluginApi("0.11.7", (api) => {
const siteSettings = api.container.lookup("service:site-settings");
if (siteSettings.voting_enabled) {
if (siteSettings.topic_voting_enabled) {
api.addSearchSuggestion("order:votes");
}
});

View File

@ -1,4 +1,4 @@
{{#if siteSettings.voting_show_votes_on_profile}}
{{#if siteSettings.topic_voting_show_votes_on_profile}}
<LinkTo @route="userActivity.votes">
{{d-icon "heart"}}
{{i18n "topic_voting.vote_title_plural"}}

View File

@ -9,7 +9,7 @@ export default createWidget("vote-box", {
buildKey: () => "vote-box",
buildClasses() {
if (this.siteSettings.voting_show_who_voted) {
if (this.siteSettings.topic_voting_show_who_voted) {
return "show-pointer";
}
},

View File

@ -21,7 +21,7 @@ export default createWidget("vote-button", {
}
}
}
if (this.siteSettings.voting_show_who_voted) {
if (this.siteSettings.topic_voting_show_who_voted) {
buttonClass += " show-pointer";
}
return buttonClass;

View File

@ -22,7 +22,7 @@ export default createWidget("vote-count", {
let voteCount = h("div.vote-count", attrs.vote_count.toString());
let whoVoted = null;
if (
this.siteSettings.voting_show_who_voted &&
this.siteSettings.topic_voting_show_who_voted &&
this.state.whoVotedUsers &&
this.state.whoVotedUsers.length > 0
) {
@ -47,7 +47,10 @@ export default createWidget("vote-count", {
return;
}
if (this.siteSettings.voting_show_who_voted && this.attrs.vote_count > 0) {
if (
this.siteSettings.topic_voting_show_who_voted &&
this.attrs.vote_count > 0
) {
if (this.state.whoVotedUsers === null) {
return this.getWhoVoted();
} else {

View File

@ -6,15 +6,15 @@
ar:
site_settings:
voting_enabled: 'السماح للأعضاء بالتصويت على الموضوعات؟'
voting_tl0_vote_limit: 'ما عدد الأصوات النشطة المسموح بها للمستخدمين من مستوى الثقة 0؟'
voting_tl1_vote_limit: 'ما عدد الأصوات النشطة المسموح بها للمستخدمين من مستوى الثقة 1؟'
voting_tl2_vote_limit: 'ما عدد الأصوات النشطة المسموح بها للمستخدمين من مستوى الثقة 2؟'
voting_tl3_vote_limit: 'ما عدد الأصوات النشطة المسموح بها للمستخدمين من مستوى الثقة 3؟'
voting_tl4_vote_limit: 'ما عدد الأصوات النشطة المسموح بها للمستخدمين من مستوى الثقة 4؟'
voting_show_who_voted: 'هل تريد السماح للأعضاء برؤية من صوَّتوا؟'
voting_show_votes_on_profile: 'هل تريد السماح للأعضاء برؤية أصواتهم في موجز النشاط؟'
voting_alert_votes_left: 'تنبيه المستخدم عندما يتبقى هذا العدد من الأصوات'
topic_voting_enabled: 'السماح للأعضاء بالتصويت على الموضوعات؟'
topic_voting_tl0_vote_limit: 'ما عدد الأصوات النشطة المسموح بها للمستخدمين من مستوى الثقة 0؟'
topic_voting_tl1_vote_limit: 'ما عدد الأصوات النشطة المسموح بها للمستخدمين من مستوى الثقة 1؟'
topic_voting_tl2_vote_limit: 'ما عدد الأصوات النشطة المسموح بها للمستخدمين من مستوى الثقة 2؟'
topic_voting_tl3_vote_limit: 'ما عدد الأصوات النشطة المسموح بها للمستخدمين من مستوى الثقة 3؟'
topic_voting_tl4_vote_limit: 'ما عدد الأصوات النشطة المسموح بها للمستخدمين من مستوى الثقة 4؟'
topic_voting_show_who_voted: 'هل تريد السماح للأعضاء برؤية من صوَّتوا؟'
topic_voting_show_votes_on_profile: 'هل تريد السماح للأعضاء برؤية أصواتهم في موجز النشاط؟'
topic_voting_alert_votes_left: 'تنبيه المستخدم عندما يتبقى هذا العدد من الأصوات'
topic_voting:
votes_moved:
zero: "تم نقل %{count} صوت."

View File

@ -6,15 +6,15 @@
bg:
site_settings:
voting_enabled: 'Да се разреши ли на потребителите да гласуват по теми?'
voting_tl0_vote_limit: 'Колко активни гласа са позволени на потребителите на TL0?'
voting_tl1_vote_limit: 'Колко активни гласа са позволени на потребителите на TL1?'
voting_tl2_vote_limit: 'Колко активни гласа са позволени на потребителите на TL2?'
voting_tl3_vote_limit: 'Колко активни гласа са позволени на потребителите на TL3?'
voting_tl4_vote_limit: 'Колко активни гласа са позволени на потребителите на TL4?'
voting_show_who_voted: 'Позволяване ли на потребителите да видят кой е гласувал?'
voting_show_votes_on_profile: 'Позволяване на потребителите да виждат своите гласове в потока на активността си?'
voting_alert_votes_left: 'Уведомете потребителя, когато останат толкова гласове'
topic_voting_enabled: 'Да се разреши ли на потребителите да гласуват по теми?'
topic_voting_tl0_vote_limit: 'Колко активни гласа са позволени на потребителите на TL0?'
topic_voting_tl1_vote_limit: 'Колко активни гласа са позволени на потребителите на TL1?'
topic_voting_tl2_vote_limit: 'Колко активни гласа са позволени на потребителите на TL2?'
topic_voting_tl3_vote_limit: 'Колко активни гласа са позволени на потребителите на TL3?'
topic_voting_tl4_vote_limit: 'Колко активни гласа са позволени на потребителите на TL4?'
topic_voting_show_who_voted: 'Позволяване ли на потребителите да видят кой е гласувал?'
topic_voting_show_votes_on_profile: 'Позволяване на потребителите да виждат своите гласове в потока на активността си?'
topic_voting_alert_votes_left: 'Уведомете потребителя, когато останат толкова гласове'
topic_voting:
votes_moved:
one: "Един глас беше преместен."

View File

@ -6,15 +6,15 @@
bs_BA:
site_settings:
voting_enabled: 'Dozvoli korisnicima da glasaju u temama?'
voting_tl0_vote_limit: 'Koliko aktivnih glasova je dozvoljeno korisnicima sa nivoom povjerenja 0?'
voting_tl1_vote_limit: 'Koliko aktivnih glasova je dozvoljeno korisnicima sa nivoom povjerenja 1?'
voting_tl2_vote_limit: 'Koliko aktivnih glasova je dozvoljeno korisnicima sa nivoom povjerenja 2?'
voting_tl3_vote_limit: 'Koliko aktivnih glasova je dozvoljeno korisnicima sa nivoom povjerenja 3?'
voting_tl4_vote_limit: 'Koliko aktivnih glasova je dozvoljeno korisnicima sa nivoom povjerenja 4?'
voting_show_who_voted: 'Dozvoli korisnicima da vide ko je glasao?'
voting_show_votes_on_profile: 'Dozvoli korisnicima da vide svoje glasove u svojem pregledu aktivnosti?'
voting_alert_votes_left: 'Upozorite korisnike kada do naksimalnog broja glasova ostano još'
topic_voting_enabled: 'Dozvoli korisnicima da glasaju u temama?'
topic_voting_tl0_vote_limit: 'Koliko aktivnih glasova je dozvoljeno korisnicima sa nivoom povjerenja 0?'
topic_voting_tl1_vote_limit: 'Koliko aktivnih glasova je dozvoljeno korisnicima sa nivoom povjerenja 1?'
topic_voting_tl2_vote_limit: 'Koliko aktivnih glasova je dozvoljeno korisnicima sa nivoom povjerenja 2?'
topic_voting_tl3_vote_limit: 'Koliko aktivnih glasova je dozvoljeno korisnicima sa nivoom povjerenja 3?'
topic_voting_tl4_vote_limit: 'Koliko aktivnih glasova je dozvoljeno korisnicima sa nivoom povjerenja 4?'
topic_voting_show_who_voted: 'Dozvoli korisnicima da vide ko je glasao?'
topic_voting_show_votes_on_profile: 'Dozvoli korisnicima da vide svoje glasove u svojem pregledu aktivnosti?'
topic_voting_alert_votes_left: 'Upozorite korisnike kada do naksimalnog broja glasova ostano još'
topic_voting:
votes_moved:
one: "Glas je maknut."

View File

@ -6,15 +6,15 @@
ca:
site_settings:
voting_enabled: 'Voleu permetre als usuaris votar sobre temes?'
voting_tl0_vote_limit: 'Quants vots actius són permesos als usuaris del nivell de confiança 0?'
voting_tl1_vote_limit: 'Quants vots actius són permesos als usuaris del nivell de confiança 1?'
voting_tl2_vote_limit: 'Quants vots actius són permesos als usuaris del nivell de confiança 2?'
voting_tl3_vote_limit: 'Quants vots actius són permesos als usuaris del nivell de confiança 3?'
voting_tl4_vote_limit: 'Quants vots actius són permesos als usuaris del nivell de confiança 4?'
voting_show_who_voted: 'Voleu permetre que els usuaris vegin qui ha votat?'
voting_show_votes_on_profile: 'Voleu permetre als usuaris veure els seus vots en el seu canal d''activitat?'
voting_alert_votes_left: 'Alerta l''usuari quan quedi aquesta quantitat de vots'
topic_voting_enabled: 'Voleu permetre als usuaris votar sobre temes?'
topic_voting_tl0_vote_limit: 'Quants vots actius són permesos als usuaris del nivell de confiança 0?'
topic_voting_tl1_vote_limit: 'Quants vots actius són permesos als usuaris del nivell de confiança 1?'
topic_voting_tl2_vote_limit: 'Quants vots actius són permesos als usuaris del nivell de confiança 2?'
topic_voting_tl3_vote_limit: 'Quants vots actius són permesos als usuaris del nivell de confiança 3?'
topic_voting_tl4_vote_limit: 'Quants vots actius són permesos als usuaris del nivell de confiança 4?'
topic_voting_show_who_voted: 'Voleu permetre que els usuaris vegin qui ha votat?'
topic_voting_show_votes_on_profile: 'Voleu permetre als usuaris veure els seus vots en el seu canal d''activitat?'
topic_voting_alert_votes_left: 'Alerta l''usuari quan quedi aquesta quantitat de vots'
topic_voting:
votes_moved:
one: "S'ha mogut un vot"

View File

@ -6,15 +6,15 @@
cs:
site_settings:
voting_enabled: 'Povolit uživatelům hlasovat o tématech?'
voting_tl0_vote_limit: 'Kolik aktivních hlasů povolit TL0 uživatelům?'
voting_tl1_vote_limit: 'Kolik aktivních hlasů povolit TL1 uživatelům?'
voting_tl2_vote_limit: 'Kolik aktivních hlasů povolit TL2 uživatelům?'
voting_tl3_vote_limit: 'Kolik aktivních hlasů povolit TL3 uživatelům?'
voting_tl4_vote_limit: 'Kolik aktivních hlasů povolit TL4 uživatelům?'
voting_show_who_voted: 'Povolit uživatelům zobrazit, kdo hlasoval?'
voting_show_votes_on_profile: 'Povolit uživatelům zobrazit jejich hlasování ve přehledu aktivit?'
voting_alert_votes_left: 'Upozornit uživatele, když mu zbývá tolik hlasů'
topic_voting_enabled: 'Povolit uživatelům hlasovat o tématech?'
topic_voting_tl0_vote_limit: 'Kolik aktivních hlasů povolit TL0 uživatelům?'
topic_voting_tl1_vote_limit: 'Kolik aktivních hlasů povolit TL1 uživatelům?'
topic_voting_tl2_vote_limit: 'Kolik aktivních hlasů povolit TL2 uživatelům?'
topic_voting_tl3_vote_limit: 'Kolik aktivních hlasů povolit TL3 uživatelům?'
topic_voting_tl4_vote_limit: 'Kolik aktivních hlasů povolit TL4 uživatelům?'
topic_voting_show_who_voted: 'Povolit uživatelům zobrazit, kdo hlasoval?'
topic_voting_show_votes_on_profile: 'Povolit uživatelům zobrazit jejich hlasování ve přehledu aktivit?'
topic_voting_alert_votes_left: 'Upozornit uživatele, když mu zbývá tolik hlasů'
topic_voting:
votes_moved:
one: "Hlas byl přesunut."

View File

@ -6,15 +6,15 @@
da:
site_settings:
voting_enabled: 'Tillad brugere at stemme på emner?'
voting_tl0_vote_limit: 'Hvor mange aktive stemmer er TL0-brugere tilladt?'
voting_tl1_vote_limit: 'Hvor mange aktive stemmer er TL1-brugere tilladt?'
voting_tl2_vote_limit: 'Hvor mange aktive stemmer er TL2-brugere tilladt?'
voting_tl3_vote_limit: 'Hvor mange aktive stemmer er TL3-brugere tilladt?'
voting_tl4_vote_limit: 'Hvor mange aktive stemmer er TL4-brugere tilladt?'
voting_show_who_voted: 'Tillad brugere at se, hvem der har stemt?'
voting_show_votes_on_profile: 'Tillad brugere at se deres stemmer i deres aktivitetsfeed?'
voting_alert_votes_left: 'Advar bruger når så mange stemmer er tilbage'
topic_voting_enabled: 'Tillad brugere at stemme på emner?'
topic_voting_tl0_vote_limit: 'Hvor mange aktive stemmer er TL0-brugere tilladt?'
topic_voting_tl1_vote_limit: 'Hvor mange aktive stemmer er TL1-brugere tilladt?'
topic_voting_tl2_vote_limit: 'Hvor mange aktive stemmer er TL2-brugere tilladt?'
topic_voting_tl3_vote_limit: 'Hvor mange aktive stemmer er TL3-brugere tilladt?'
topic_voting_tl4_vote_limit: 'Hvor mange aktive stemmer er TL4-brugere tilladt?'
topic_voting_show_who_voted: 'Tillad brugere at se, hvem der har stemt?'
topic_voting_show_votes_on_profile: 'Tillad brugere at se deres stemmer i deres aktivitetsfeed?'
topic_voting_alert_votes_left: 'Advar bruger når så mange stemmer er tilbage'
topic_voting:
votes_moved:
one: "En stemme er blevet flyttet."

View File

@ -6,15 +6,15 @@
de:
site_settings:
voting_enabled: 'Benutzern erlauben, für Themen zu stimmen?'
voting_tl0_vote_limit: 'Wie viele aktive Stimmen sind für VS0-Benutzer erlaubt?'
voting_tl1_vote_limit: 'Wie viele aktive Stimmen sind für VS1-Benutzer erlaubt?'
voting_tl2_vote_limit: 'Wie viele aktive Stimmen sind für VS2-Benutzer erlaubt?'
voting_tl3_vote_limit: 'Wie viele aktive Stimmen sind für VS3-Benutzer erlaubt?'
voting_tl4_vote_limit: 'Wie viele aktive Stimmen sind für VS4-Benutzer erlaubt?'
voting_show_who_voted: 'Benutzern erlauben, zu sehen, wer abgestimmt hat?'
voting_show_votes_on_profile: 'Benutzern erlauben, ihre Stimmen in ihrem Aktivitätsfeed zu sehen?'
voting_alert_votes_left: 'Benutzer benachrichtigen, wenn so viele Stimmen übrig sind'
topic_voting_enabled: 'Benutzern erlauben, für Themen zu stimmen?'
topic_voting_tl0_vote_limit: 'Wie viele aktive Stimmen sind für VS0-Benutzer erlaubt?'
topic_voting_tl1_vote_limit: 'Wie viele aktive Stimmen sind für VS1-Benutzer erlaubt?'
topic_voting_tl2_vote_limit: 'Wie viele aktive Stimmen sind für VS2-Benutzer erlaubt?'
topic_voting_tl3_vote_limit: 'Wie viele aktive Stimmen sind für VS3-Benutzer erlaubt?'
topic_voting_tl4_vote_limit: 'Wie viele aktive Stimmen sind für VS4-Benutzer erlaubt?'
topic_voting_show_who_voted: 'Benutzern erlauben, zu sehen, wer abgestimmt hat?'
topic_voting_show_votes_on_profile: 'Benutzern erlauben, ihre Stimmen in ihrem Aktivitätsfeed zu sehen?'
topic_voting_alert_votes_left: 'Benutzer benachrichtigen, wenn so viele Stimmen übrig sind'
topic_voting:
votes_moved:
one: "Eine Stimme wurde verschoben."

View File

@ -6,10 +6,10 @@
el:
site_settings:
voting_enabled: 'Να επιτρέπεται σε χρήστες να ψηφίζουν σε νήματα;'
voting_tl0_vote_limit: 'Πόσες ενεργές ψήφοι επιτρέπονται σε χρήστες ΕΕ0;'
voting_tl1_vote_limit: 'Πόσες ενεργές ψήφοι επιτρέπονται σε χρήστες ΕΕ1;'
voting_tl2_vote_limit: 'Πόσες ενεργές ψήφοι επιτρέπονται σε χρήστες ΕΕ2;'
voting_tl3_vote_limit: 'Πόσες ενεργές ψήφοι επιτρέπονται σε χρήστες ΕΕ3;'
voting_tl4_vote_limit: 'Πόσες ενεργές ψήφοι επιτρέπονται σε χρήστες ΕΕ4;'
voting_show_who_voted: 'Να επιτρέπεται σε χρήστες να βλέπουν ποιός ψήφισε;'
topic_voting_enabled: 'Να επιτρέπεται σε χρήστες να ψηφίζουν σε νήματα;'
topic_voting_tl0_vote_limit: 'Πόσες ενεργές ψήφοι επιτρέπονται σε χρήστες ΕΕ0;'
topic_voting_tl1_vote_limit: 'Πόσες ενεργές ψήφοι επιτρέπονται σε χρήστες ΕΕ1;'
topic_voting_tl2_vote_limit: 'Πόσες ενεργές ψήφοι επιτρέπονται σε χρήστες ΕΕ2;'
topic_voting_tl3_vote_limit: 'Πόσες ενεργές ψήφοι επιτρέπονται σε χρήστες ΕΕ3;'
topic_voting_tl4_vote_limit: 'Πόσες ενεργές ψήφοι επιτρέπονται σε χρήστες ΕΕ4;'
topic_voting_show_who_voted: 'Να επιτρέπεται σε χρήστες να βλέπουν ποιός ψήφισε;'

View File

@ -1,14 +1,14 @@
en:
site_settings:
voting_enabled: 'Allow users to vote on topics?'
voting_tl0_vote_limit: 'How many active votes are TL0 users allowed?'
voting_tl1_vote_limit: 'How many active votes are TL1 users allowed?'
voting_tl2_vote_limit: 'How many active votes are TL2 users allowed?'
voting_tl3_vote_limit: 'How many active votes are TL3 users allowed?'
voting_tl4_vote_limit: 'How many active votes are TL4 users allowed?'
voting_show_who_voted: 'Allow users to see who voted?'
voting_show_votes_on_profile: 'Allow users to see their votes in their activity feed?'
voting_alert_votes_left: 'Alert user when this many votes are left'
topic_voting_enabled: 'Allow users to vote on topics?'
topic_voting_tl0_vote_limit: 'How many active votes are TL0 users allowed?'
topic_voting_tl1_vote_limit: 'How many active votes are TL1 users allowed?'
topic_voting_tl2_vote_limit: 'How many active votes are TL2 users allowed?'
topic_voting_tl3_vote_limit: 'How many active votes are TL3 users allowed?'
topic_voting_tl4_vote_limit: 'How many active votes are TL4 users allowed?'
topic_voting_show_who_voted: 'Allow users to see who voted?'
topic_voting_show_votes_on_profile: 'Allow users to see their votes in their activity feed?'
topic_voting_alert_votes_left: 'Alert user when this many votes are left'
topic_voting:
votes_moved:
one: "A vote has been moved."

View File

@ -6,12 +6,12 @@
en_GB:
site_settings:
voting_enabled: 'Allow users to vote on topics?'
voting_tl0_vote_limit: 'How many active votes are TL0 users allowed?'
voting_tl1_vote_limit: 'How many active votes are TL1 users allowed?'
voting_tl2_vote_limit: 'How many active votes are TL2 users allowed?'
voting_tl3_vote_limit: 'How many active votes are TL3 users allowed?'
voting_tl4_vote_limit: 'How many active votes are TL4 users allowed?'
voting_show_who_voted: 'Allow users to see who voted?'
voting_show_votes_on_profile: 'Allow users to see their votes in their activity feed?'
voting_alert_votes_left: 'Alert user when this many votes are left'
topic_voting_enabled: 'Allow users to vote on topics?'
topic_voting_tl0_vote_limit: 'How many active votes are TL0 users allowed?'
topic_voting_tl1_vote_limit: 'How many active votes are TL1 users allowed?'
topic_voting_tl2_vote_limit: 'How many active votes are TL2 users allowed?'
topic_voting_tl3_vote_limit: 'How many active votes are TL3 users allowed?'
topic_voting_tl4_vote_limit: 'How many active votes are TL4 users allowed?'
topic_voting_show_who_voted: 'Allow users to see who voted?'
topic_voting_show_votes_on_profile: 'Allow users to see their votes in their activity feed?'
topic_voting_alert_votes_left: 'Alert user when this many votes are left'

View File

@ -6,15 +6,15 @@
es:
site_settings:
voting_enabled: '¿Permitir a los usuarios votar sobre temas?'
voting_tl0_vote_limit: '¿Cuántos votos activos tienen permitidos los usuarios de NC0?'
voting_tl1_vote_limit: '¿Cuántos votos activos tienen permitidos los usuarios de NC1?'
voting_tl2_vote_limit: '¿Cuántos votos activos tienen permitidos los usuarios de NC2?'
voting_tl3_vote_limit: '¿Cuántos votos activos tienen permitidos los usuarios de NC3?'
voting_tl4_vote_limit: '¿Cuántos votos activos tienen permitidos los usuarios de NC4?'
voting_show_who_voted: '¿Permitir a los usuarios ver quién votó?'
voting_show_votes_on_profile: '¿Permitir a los usuarios ver sus votos en su feed de actividad?'
voting_alert_votes_left: 'Alertar al usuario cuando queda esta cantidad de votos'
topic_voting_enabled: '¿Permitir a los usuarios votar sobre temas?'
topic_voting_tl0_vote_limit: '¿Cuántos votos activos tienen permitidos los usuarios de NC0?'
topic_voting_tl1_vote_limit: '¿Cuántos votos activos tienen permitidos los usuarios de NC1?'
topic_voting_tl2_vote_limit: '¿Cuántos votos activos tienen permitidos los usuarios de NC2?'
topic_voting_tl3_vote_limit: '¿Cuántos votos activos tienen permitidos los usuarios de NC3?'
topic_voting_tl4_vote_limit: '¿Cuántos votos activos tienen permitidos los usuarios de NC4?'
topic_voting_show_who_voted: '¿Permitir a los usuarios ver quién votó?'
topic_voting_show_votes_on_profile: '¿Permitir a los usuarios ver sus votos en su feed de actividad?'
topic_voting_alert_votes_left: 'Alertar al usuario cuando queda esta cantidad de votos'
topic_voting:
votes_moved:
one: "Se ha movido un voto."

View File

@ -6,7 +6,7 @@
et:
site_settings:
voting_enabled: 'Lubada kasutajatel teemasid hinnata?'
voting_show_who_voted: 'Kas lubada kasutajatel näha, kes hindas?'
voting_show_votes_on_profile: 'Kas lubada kasutajatel näha oma hinnanguid tegevusvoos?'
voting_alert_votes_left: 'Teavita kasutajate, kui palju hinnangu andmisi tal veel järgi on'
topic_voting_enabled: 'Lubada kasutajatel teemasid hinnata?'
topic_voting_show_who_voted: 'Kas lubada kasutajatel näha, kes hindas?'
topic_voting_show_votes_on_profile: 'Kas lubada kasutajatel näha oma hinnanguid tegevusvoos?'
topic_voting_alert_votes_left: 'Teavita kasutajate, kui palju hinnangu andmisi tal veel järgi on'

View File

@ -6,4 +6,4 @@
fa_IR:
site_settings:
voting_enabled: 'به کاربران اجازه رأی در نظرسنجی موضوعات داده شود؟'
topic_voting_enabled: 'به کاربران اجازه رأی در نظرسنجی موضوعات داده شود؟'

View File

@ -6,15 +6,15 @@
fi:
site_settings:
voting_enabled: 'Sallitaanko käyttäjien antaa ääniä ketjuille?'
voting_tl0_vote_limit: 'Kuinka monta aktiivista ääntä lt0-käyttäjällä voi olla?'
voting_tl1_vote_limit: 'Kuinka monta aktiivista ääntä lt1-käyttäjällä voi olla?'
voting_tl2_vote_limit: 'Kuinka monta aktiivista ääntä lt2-käyttäjällä voi olla?'
voting_tl3_vote_limit: 'Kuinka monta aktiivista ääntä lt3-käyttäjällä voi olla?'
voting_tl4_vote_limit: 'Kuinka monta aktiivista ääntä lt4-käyttäjällä voi olla?'
voting_show_who_voted: 'Sallitaanko käyttäjien nähdä, ketkä ovat äänestäneet?'
voting_show_votes_on_profile: 'Sallitaanko käyttäjien nähdä äänensä toimintasyötteessä?'
voting_alert_votes_left: 'Ilmoita käyttäjälle, kun näin monta ääntä on jäljellä'
topic_voting_enabled: 'Sallitaanko käyttäjien antaa ääniä ketjuille?'
topic_voting_tl0_vote_limit: 'Kuinka monta aktiivista ääntä lt0-käyttäjällä voi olla?'
topic_voting_tl1_vote_limit: 'Kuinka monta aktiivista ääntä lt1-käyttäjällä voi olla?'
topic_voting_tl2_vote_limit: 'Kuinka monta aktiivista ääntä lt2-käyttäjällä voi olla?'
topic_voting_tl3_vote_limit: 'Kuinka monta aktiivista ääntä lt3-käyttäjällä voi olla?'
topic_voting_tl4_vote_limit: 'Kuinka monta aktiivista ääntä lt4-käyttäjällä voi olla?'
topic_voting_show_who_voted: 'Sallitaanko käyttäjien nähdä, ketkä ovat äänestäneet?'
topic_voting_show_votes_on_profile: 'Sallitaanko käyttäjien nähdä äänensä toimintasyötteessä?'
topic_voting_alert_votes_left: 'Ilmoita käyttäjälle, kun näin monta ääntä on jäljellä'
topic_voting:
votes_moved:
one: "Ääni siirrettiin."

View File

@ -6,15 +6,15 @@
fr:
site_settings:
voting_enabled: 'Autoriser les utilisateurs à voter pour les sujets ?'
voting_tl0_vote_limit: 'À combien de votes les utilisateurs de niveau de confiance 0 ont-ils droit ?'
voting_tl1_vote_limit: 'À combien de votes les utilisateurs de niveau de confiance 1 ont-ils droit ?'
voting_tl2_vote_limit: 'À combien de votes les utilisateurs de niveau de confiance 2 ont-ils droit ?'
voting_tl3_vote_limit: 'À combien de votes les utilisateurs de niveau de confiance 3 ont-ils droit ?'
voting_tl4_vote_limit: 'À combien de votes les utilisateurs de niveau de confiance 4 ont-ils droit ?'
voting_show_who_voted: 'Permettre aux utilisateurs de voir qui a voté ?'
voting_show_votes_on_profile: 'Permettre aux utilisateurs de voir leurs votes dans leur flux d''activité ?'
voting_alert_votes_left: 'Avertir les utilisateurs quand il leur reste ce nombre de votes ?'
topic_voting_enabled: 'Autoriser les utilisateurs à voter pour les sujets ?'
topic_voting_tl0_vote_limit: 'À combien de votes les utilisateurs de niveau de confiance 0 ont-ils droit ?'
topic_voting_tl1_vote_limit: 'À combien de votes les utilisateurs de niveau de confiance 1 ont-ils droit ?'
topic_voting_tl2_vote_limit: 'À combien de votes les utilisateurs de niveau de confiance 2 ont-ils droit ?'
topic_voting_tl3_vote_limit: 'À combien de votes les utilisateurs de niveau de confiance 3 ont-ils droit ?'
topic_voting_tl4_vote_limit: 'À combien de votes les utilisateurs de niveau de confiance 4 ont-ils droit ?'
topic_voting_show_who_voted: 'Permettre aux utilisateurs de voir qui a voté ?'
topic_voting_show_votes_on_profile: 'Permettre aux utilisateurs de voir leurs votes dans leur flux d''activité ?'
topic_voting_alert_votes_left: 'Avertir les utilisateurs quand il leur reste ce nombre de votes ?'
topic_voting:
votes_moved:
one: "Un vote a été déplacé."

View File

@ -6,15 +6,15 @@
he:
site_settings:
voting_enabled: 'לאפשר למשתמשים להצביע על נושאים?'
voting_tl0_vote_limit: 'כמה הצבעות פעילות מותר למשתמשי רמת אמון 0 לבצע?'
voting_tl1_vote_limit: 'כמה הצבעות פעילות מותר למשתמשי רמת אמון 1 לבצע?'
voting_tl2_vote_limit: 'כמה הצבעות פעילות מותר למשתמשי רמת אמון 2 לבצע?'
voting_tl3_vote_limit: 'כמה הצבעות פעילות מותר למשתמשי רמת אמון 3 לבצע?'
voting_tl4_vote_limit: 'כמה הצבעות פעילות מותר למשתמשי רמת אמון 4 לבצע?'
voting_show_who_voted: 'לאפשר למשתמשים לראות מי הצביע?'
voting_show_votes_on_profile: 'לאפשר למשתמשים לראות את ההצבעות שלהם בהזנת הפעילות?'
voting_alert_votes_left: 'להודיע למשתמש כאשר נותרו לו מספר מסוים של הצבעות'
topic_voting_enabled: 'לאפשר למשתמשים להצביע על נושאים?'
topic_voting_tl0_vote_limit: 'כמה הצבעות פעילות מותר למשתמשי רמת אמון 0 לבצע?'
topic_voting_tl1_vote_limit: 'כמה הצבעות פעילות מותר למשתמשי רמת אמון 1 לבצע?'
topic_voting_tl2_vote_limit: 'כמה הצבעות פעילות מותר למשתמשי רמת אמון 2 לבצע?'
topic_voting_tl3_vote_limit: 'כמה הצבעות פעילות מותר למשתמשי רמת אמון 3 לבצע?'
topic_voting_tl4_vote_limit: 'כמה הצבעות פעילות מותר למשתמשי רמת אמון 4 לבצע?'
topic_voting_show_who_voted: 'לאפשר למשתמשים לראות מי הצביע?'
topic_voting_show_votes_on_profile: 'לאפשר למשתמשים לראות את ההצבעות שלהם בהזנת הפעילות?'
topic_voting_alert_votes_left: 'להודיע למשתמש כאשר נותרו לו מספר מסוים של הצבעות'
topic_voting:
votes_moved:
one: "הצבעה הועברה."

View File

@ -6,12 +6,12 @@
hr:
site_settings:
voting_enabled: 'Dopusti korisnicima da glasaju na temama?'
voting_tl0_vote_limit: 'Koliko aktivnih glasova je dopušteno TL0 korisnicima?'
voting_tl1_vote_limit: 'Koliko aktivnih glasova je dopušteno TL1 korisnicima?'
voting_tl2_vote_limit: 'Koliko aktivnih glasova je dopušteno TL2 korisnicima?'
voting_tl3_vote_limit: 'Koliko aktivnih glasova je dopušteno TL3 korisnicima?'
voting_tl4_vote_limit: 'Koliko aktivnih glasova je dopušteno TL4 korisnicima?'
voting_show_who_voted: 'Dopusti korisnicima da vide tko je glasao?'
voting_show_votes_on_profile: 'Dopusti korisnicima da vide svoje glasove u njihovim listama aktivnosti?'
voting_alert_votes_left: 'Obavijesti korisnika kada je preostalo ovoliko glasova'
topic_voting_enabled: 'Dopusti korisnicima da glasaju na temama?'
topic_voting_tl0_vote_limit: 'Koliko aktivnih glasova je dopušteno TL0 korisnicima?'
topic_voting_tl1_vote_limit: 'Koliko aktivnih glasova je dopušteno TL1 korisnicima?'
topic_voting_tl2_vote_limit: 'Koliko aktivnih glasova je dopušteno TL2 korisnicima?'
topic_voting_tl3_vote_limit: 'Koliko aktivnih glasova je dopušteno TL3 korisnicima?'
topic_voting_tl4_vote_limit: 'Koliko aktivnih glasova je dopušteno TL4 korisnicima?'
topic_voting_show_who_voted: 'Dopusti korisnicima da vide tko je glasao?'
topic_voting_show_votes_on_profile: 'Dopusti korisnicima da vide svoje glasove u njihovim listama aktivnosti?'
topic_voting_alert_votes_left: 'Obavijesti korisnika kada je preostalo ovoliko glasova'

View File

@ -6,12 +6,12 @@
hu:
site_settings:
voting_enabled: 'Lehetővé teszi a felhasználók számára, hogy szavazzanak témákról?'
voting_tl0_vote_limit: 'Hány aktív szavazat megengedett a TL0 felhasználók számára?'
voting_tl1_vote_limit: 'Hány aktív szavazat megengedett a TL1 felhasználók számára?'
voting_tl2_vote_limit: 'Hány aktív szavazat megengedett a TL2 felhasználók számára?'
voting_tl3_vote_limit: 'Hány aktív szavazat megengedett a TL3 felhasználók számára?'
voting_tl4_vote_limit: 'Hány aktív szavazat megengedett a TL4 felhasználók számára?'
voting_show_who_voted: 'Lehetővé teszi a felhasználók számára, hogy láthassák ki szavazott?'
voting_show_votes_on_profile: 'Lehetővé teszi a felhasználók számára, hogy szavazatukat a tevékenységi hírcsatornaikban láthassák?'
voting_alert_votes_left: 'Figyelmezteti a felhasználót amikor ennyi szavazata maradt'
topic_voting_enabled: 'Lehetővé teszi a felhasználók számára, hogy szavazzanak témákról?'
topic_voting_tl0_vote_limit: 'Hány aktív szavazat megengedett a TL0 felhasználók számára?'
topic_voting_tl1_vote_limit: 'Hány aktív szavazat megengedett a TL1 felhasználók számára?'
topic_voting_tl2_vote_limit: 'Hány aktív szavazat megengedett a TL2 felhasználók számára?'
topic_voting_tl3_vote_limit: 'Hány aktív szavazat megengedett a TL3 felhasználók számára?'
topic_voting_tl4_vote_limit: 'Hány aktív szavazat megengedett a TL4 felhasználók számára?'
topic_voting_show_who_voted: 'Lehetővé teszi a felhasználók számára, hogy láthassák ki szavazott?'
topic_voting_show_votes_on_profile: 'Lehetővé teszi a felhasználók számára, hogy szavazatukat a tevékenységi hírcsatornaikban láthassák?'
topic_voting_alert_votes_left: 'Figyelmezteti a felhasználót amikor ennyi szavazata maradt'

View File

@ -6,12 +6,12 @@
hy:
site_settings:
voting_enabled: 'Թույլատրե՞լ օգտատերերին քվեարկել թեմաներում:'
voting_tl0_vote_limit: 'Քանի՞ ակտիվ քվե է թույլատրվում ՎՄ-0 ունեցող օգտատերերին:'
voting_tl1_vote_limit: 'Քանի՞ ակտիվ քվե է թույլատրվում ՎՄ-1 ունեցող օգտատերերին:'
voting_tl2_vote_limit: 'Քանի՞ ակտիվ քվե է թույլատրվում ՎՄ-2 ունեցող օգտատերերին:'
voting_tl3_vote_limit: 'Քանի՞ ակտիվ քվե է թույլատրվում ՎՄ-3 ունեցող օգտատերերին:'
voting_tl4_vote_limit: 'Քանի՞ ակտիվ քվե է թույլատրվում ՎՄ-4 ունեցող օգտատերերին:'
voting_show_who_voted: 'Թույլատրել օգտատերերին տեսնել, թե ով է քվեարկել:'
voting_show_votes_on_profile: 'Թույլատրե՞լ օգտատերերին տեսնել իրեց քվեները ակտիվության լրահոսում:'
voting_alert_votes_left: 'Զգուշացնել օգտատիրոջը, երբ մնացել է այսքան հատ քվե'
topic_voting_enabled: 'Թույլատրե՞լ օգտատերերին քվեարկել թեմաներում:'
topic_voting_tl0_vote_limit: 'Քանի՞ ակտիվ քվե է թույլատրվում ՎՄ-0 ունեցող օգտատերերին:'
topic_voting_tl1_vote_limit: 'Քանի՞ ակտիվ քվե է թույլատրվում ՎՄ-1 ունեցող օգտատերերին:'
topic_voting_tl2_vote_limit: 'Քանի՞ ակտիվ քվե է թույլատրվում ՎՄ-2 ունեցող օգտատերերին:'
topic_voting_tl3_vote_limit: 'Քանի՞ ակտիվ քվե է թույլատրվում ՎՄ-3 ունեցող օգտատերերին:'
topic_voting_tl4_vote_limit: 'Քանի՞ ակտիվ քվե է թույլատրվում ՎՄ-4 ունեցող օգտատերերին:'
topic_voting_show_who_voted: 'Թույլատրել օգտատերերին տեսնել, թե ով է քվեարկել:'
topic_voting_show_votes_on_profile: 'Թույլատրե՞լ օգտատերերին տեսնել իրեց քվեները ակտիվության լրահոսում:'
topic_voting_alert_votes_left: 'Զգուշացնել օգտատիրոջը, երբ մնացել է այսքան հատ քվե'

View File

@ -6,15 +6,15 @@
it:
site_settings:
voting_enabled: 'Consentire agli utenti di votare sugli argomenti?'
voting_tl0_vote_limit: 'Quanti voti attivi sono consentiti agli utenti con livello di affidabilità 0?'
voting_tl1_vote_limit: 'Quanti voti attivi sono consentiti agli utenti con livello di affidabilità 1?'
voting_tl2_vote_limit: 'Quanti voti attivi sono consentiti agli utenti con livello di affidabilità 2?'
voting_tl3_vote_limit: 'Quanti voti attivi sono consentiti agli utenti con livello di affidabilità 3?'
voting_tl4_vote_limit: 'Quanti voti attivi sono consentiti agli utenti con livello di affidabilità 4?'
voting_show_who_voted: 'Consentire agli utenti di vedere chi ha votato?'
voting_show_votes_on_profile: 'Consentire agli utenti di vedere i propri voti nei feed delle attività?'
voting_alert_votes_left: 'Avverti l''utente quando gli rimane questo numero di voti'
topic_voting_enabled: 'Consentire agli utenti di votare sugli argomenti?'
topic_voting_tl0_vote_limit: 'Quanti voti attivi sono consentiti agli utenti con livello di affidabilità 0?'
topic_voting_tl1_vote_limit: 'Quanti voti attivi sono consentiti agli utenti con livello di affidabilità 1?'
topic_voting_tl2_vote_limit: 'Quanti voti attivi sono consentiti agli utenti con livello di affidabilità 2?'
topic_voting_tl3_vote_limit: 'Quanti voti attivi sono consentiti agli utenti con livello di affidabilità 3?'
topic_voting_tl4_vote_limit: 'Quanti voti attivi sono consentiti agli utenti con livello di affidabilità 4?'
topic_voting_show_who_voted: 'Consentire agli utenti di vedere chi ha votato?'
topic_voting_show_votes_on_profile: 'Consentire agli utenti di vedere i propri voti nei feed delle attività?'
topic_voting_alert_votes_left: 'Avverti l''utente quando gli rimane questo numero di voti'
topic_voting:
votes_moved:
one: "Un voto è stato spostato."

View File

@ -6,15 +6,15 @@
ja:
site_settings:
voting_enabled: 'ユーザーがトピックに投票することを許可しますか?'
voting_tl0_vote_limit: 'いくつのアクティブ票数を TL0 ユーザーに許可しますか?'
voting_tl1_vote_limit: 'いくつのアクティブ票数を TL1 ユーザーに許可しますか?'
voting_tl2_vote_limit: 'いくつのアクティブ票数を TL2 ユーザーに許可しますか?'
voting_tl3_vote_limit: 'いくつのアクティブ票数を TL3 ユーザーに許可しますか?'
voting_tl4_vote_limit: 'いくつのアクティブ票数を TL4 ユーザーに許可しますか?'
voting_show_who_voted: 'ユーザーが投票者を閲覧することを許可しますか?'
voting_show_votes_on_profile: 'ユーザーがアクティビティフィードで投票を閲覧することを許可しますか?'
voting_alert_votes_left: '残りの票数がこの票数になったらユーザーに通知する'
topic_voting_enabled: 'ユーザーがトピックに投票することを許可しますか?'
topic_voting_tl0_vote_limit: 'いくつのアクティブ票数を TL0 ユーザーに許可しますか?'
topic_voting_tl1_vote_limit: 'いくつのアクティブ票数を TL1 ユーザーに許可しますか?'
topic_voting_tl2_vote_limit: 'いくつのアクティブ票数を TL2 ユーザーに許可しますか?'
topic_voting_tl3_vote_limit: 'いくつのアクティブ票数を TL3 ユーザーに許可しますか?'
topic_voting_tl4_vote_limit: 'いくつのアクティブ票数を TL4 ユーザーに許可しますか?'
topic_voting_show_who_voted: 'ユーザーが投票者を閲覧することを許可しますか?'
topic_voting_show_votes_on_profile: 'ユーザーがアクティビティフィードで投票を閲覧することを許可しますか?'
topic_voting_alert_votes_left: '残りの票数がこの票数になったらユーザーに通知する'
topic_voting:
votes_moved:
other: "%{count} 票が移動されました。"

View File

@ -6,12 +6,12 @@
ko:
site_settings:
voting_enabled: '사용자가 글에 투표하도록 허용 하시겠습니까?'
voting_tl0_vote_limit: 'TL0 사용자는 얼마나 많은 투표를 할 수 있습니까?'
voting_tl1_vote_limit: 'TL1 사용자는 얼마나 많은 투표를 할 수 있습니까?'
voting_tl2_vote_limit: 'TL2 사용자는 얼마나 많은 투표를 할 수 있습니까?'
voting_tl3_vote_limit: 'TL3 사용자는 얼마나 많은 투표를 할 수 있습니까?'
voting_tl4_vote_limit: 'TL4 사용자는 얼마나 많은 투표를 할 수 있습니까?'
voting_show_who_voted: '사용자가 누가 투표를 했는지 볼 수 있도록 하시겠습니까?'
voting_show_votes_on_profile: '사용자가 활동 피드에서 자신의 투표를 볼 수 있습니까?'
voting_alert_votes_left: '이 많은 투표가 남아있을 때 사용자에게 경고'
topic_voting_enabled: '사용자가 글에 투표하도록 허용 하시겠습니까?'
topic_voting_tl0_vote_limit: 'TL0 사용자는 얼마나 많은 투표를 할 수 있습니까?'
topic_voting_tl1_vote_limit: 'TL1 사용자는 얼마나 많은 투표를 할 수 있습니까?'
topic_voting_tl2_vote_limit: 'TL2 사용자는 얼마나 많은 투표를 할 수 있습니까?'
topic_voting_tl3_vote_limit: 'TL3 사용자는 얼마나 많은 투표를 할 수 있습니까?'
topic_voting_tl4_vote_limit: 'TL4 사용자는 얼마나 많은 투표를 할 수 있습니까?'
topic_voting_show_who_voted: '사용자가 누가 투표를 했는지 볼 수 있도록 하시겠습니까?'
topic_voting_show_votes_on_profile: '사용자가 활동 피드에서 자신의 투표를 볼 수 있습니까?'
topic_voting_alert_votes_left: '이 많은 투표가 남아있을 때 사용자에게 경고'

View File

@ -6,5 +6,5 @@
lt:
site_settings:
voting_enabled: 'Leisti nariams balsuoti temoje?'
voting_show_who_voted: 'Leisti nariams matyti balsavusius?'
topic_voting_enabled: 'Leisti nariams balsuoti temoje?'
topic_voting_show_who_voted: 'Leisti nariams matyti balsavusius?'

View File

@ -6,6 +6,6 @@
lv:
site_settings:
voting_enabled: 'Atļaut lietotājiem balsot šajā tēmā?'
voting_show_who_voted: 'Atļaut lietotājiem redzēt kurš balsojis?'
voting_show_votes_on_profile: 'Atļaut lietotājiem redzēt viņu balsojumus viņu aktivitātēs?'
topic_voting_enabled: 'Atļaut lietotājiem balsot šajā tēmā?'
topic_voting_show_who_voted: 'Atļaut lietotājiem redzēt kurš balsojis?'
topic_voting_show_votes_on_profile: 'Atļaut lietotājiem redzēt viņu balsojumus viņu aktivitātēs?'

View File

@ -6,12 +6,12 @@
nb_NO:
site_settings:
voting_enabled: 'Tillat brukere å stemme på emner?'
voting_tl0_vote_limit: 'Hvor mange aktive stemmer er tillatt for brukere med TL0?'
voting_tl1_vote_limit: 'Hvor mange aktive stemmer er tillatt for brukere med TL1?'
voting_tl2_vote_limit: 'Hvor mange aktive stemmer er tillatt for brukere med TL2?'
voting_tl3_vote_limit: 'Hvor mange aktive stemmer er tillatt for brukere med TL3?'
voting_tl4_vote_limit: 'Hvor mange aktive stemmer er tillatt for brukere med TL4?'
voting_show_who_voted: 'Tillat brukere å se hvem som stemte?'
voting_show_votes_on_profile: 'Tillat brukere å se stemmene sine i aktivitetslisten?'
voting_alert_votes_left: 'Varsle bruker når dette antallet stemmer er igjen'
topic_voting_enabled: 'Tillat brukere å stemme på emner?'
topic_voting_tl0_vote_limit: 'Hvor mange aktive stemmer er tillatt for brukere med TL0?'
topic_voting_tl1_vote_limit: 'Hvor mange aktive stemmer er tillatt for brukere med TL1?'
topic_voting_tl2_vote_limit: 'Hvor mange aktive stemmer er tillatt for brukere med TL2?'
topic_voting_tl3_vote_limit: 'Hvor mange aktive stemmer er tillatt for brukere med TL3?'
topic_voting_tl4_vote_limit: 'Hvor mange aktive stemmer er tillatt for brukere med TL4?'
topic_voting_show_who_voted: 'Tillat brukere å se hvem som stemte?'
topic_voting_show_votes_on_profile: 'Tillat brukere å se stemmene sine i aktivitetslisten?'
topic_voting_alert_votes_left: 'Varsle bruker når dette antallet stemmer er igjen'

View File

@ -6,15 +6,15 @@
nl:
site_settings:
voting_enabled: 'Toestaan dat gebruikers op topics kunnen stemmen?'
voting_tl0_vote_limit: 'Hoeveel actieve stemmen mogen TL0-gebruikers hebben?'
voting_tl1_vote_limit: 'Hoeveel actieve stemmen mogen TL1-gebruikers hebben?'
voting_tl2_vote_limit: 'Hoeveel actieve stemmen mogen TL2-gebruikers hebben?'
voting_tl3_vote_limit: 'Hoeveel actieve stemmen mogen TL3-gebruikers hebben?'
voting_tl4_vote_limit: 'Hoeveel actieve stemmen mogen TL4-gebruikers hebben?'
voting_show_who_voted: 'Toestaan dat gebruikers kunnen zien wie er heeft gestemd?'
voting_show_votes_on_profile: 'Toestaan dat gebruikers hun stemmen zien in hun activiteitfeed?'
voting_alert_votes_left: 'Gebruiker waarschuwen als zoveel stemmen resteren'
topic_voting_enabled: 'Toestaan dat gebruikers op topics kunnen stemmen?'
topic_voting_tl0_vote_limit: 'Hoeveel actieve stemmen mogen TL0-gebruikers hebben?'
topic_voting_tl1_vote_limit: 'Hoeveel actieve stemmen mogen TL1-gebruikers hebben?'
topic_voting_tl2_vote_limit: 'Hoeveel actieve stemmen mogen TL2-gebruikers hebben?'
topic_voting_tl3_vote_limit: 'Hoeveel actieve stemmen mogen TL3-gebruikers hebben?'
topic_voting_tl4_vote_limit: 'Hoeveel actieve stemmen mogen TL4-gebruikers hebben?'
topic_voting_show_who_voted: 'Toestaan dat gebruikers kunnen zien wie er heeft gestemd?'
topic_voting_show_votes_on_profile: 'Toestaan dat gebruikers hun stemmen zien in hun activiteitfeed?'
topic_voting_alert_votes_left: 'Gebruiker waarschuwen als zoveel stemmen resteren'
topic_voting:
votes_moved:
one: "Een stem is verplaatst."

View File

@ -6,15 +6,15 @@
pl_PL:
site_settings:
voting_enabled: 'Pozwolić użytkownikom głosować na tematy?'
voting_tl0_vote_limit: 'Ile głosów mogą oddać użytkownicy TL0?'
voting_tl1_vote_limit: 'Ile głosów mogą oddać użytkownicy TL1?'
voting_tl2_vote_limit: 'Ile głosów mogą oddać użytkownicy TL2?'
voting_tl3_vote_limit: 'Ile głosów mogą oddać użytkownicy TL3?'
voting_tl4_vote_limit: 'Ile głosów mogą oddać użytkownicy TL4?'
voting_show_who_voted: 'Czy użytkownicy mają widzieć, kto głosował?'
voting_show_votes_on_profile: 'Czy głosy mają być widoczne w aktywności w proflu użytkownika?'
voting_alert_votes_left: 'Ostrzeż użytkownika, jesli pozostało mu tyle głosów'
topic_voting_enabled: 'Pozwolić użytkownikom głosować na tematy?'
topic_voting_tl0_vote_limit: 'Ile głosów mogą oddać użytkownicy TL0?'
topic_voting_tl1_vote_limit: 'Ile głosów mogą oddać użytkownicy TL1?'
topic_voting_tl2_vote_limit: 'Ile głosów mogą oddać użytkownicy TL2?'
topic_voting_tl3_vote_limit: 'Ile głosów mogą oddać użytkownicy TL3?'
topic_voting_tl4_vote_limit: 'Ile głosów mogą oddać użytkownicy TL4?'
topic_voting_show_who_voted: 'Czy użytkownicy mają widzieć, kto głosował?'
topic_voting_show_votes_on_profile: 'Czy głosy mają być widoczne w aktywności w proflu użytkownika?'
topic_voting_alert_votes_left: 'Ostrzeż użytkownika, jesli pozostało mu tyle głosów'
topic_voting:
votes_moved:
one: "Głos został przeniesiony."

View File

@ -6,15 +6,15 @@
pt:
site_settings:
voting_enabled: 'Permitir que os utilizadores votem em tópicos?'
voting_tl0_vote_limit: 'Quantos votos activos são permitidos aos utilizadores TL0?'
voting_tl1_vote_limit: 'Quantos votos activos são permitidos aos utilizadores TL1?'
voting_tl2_vote_limit: 'Quantos votos activos são permitidos aos utilizadores TL2?'
voting_tl3_vote_limit: 'Quantos votos activos são permitidos aos utilizadores TL3?'
voting_tl4_vote_limit: 'Quantos votos activos são permitidos aos utilizadores TL4?'
voting_show_who_voted: 'Permitir aos utilizadores ver quem votou?'
voting_show_votes_on_profile: 'Permitir aos utilizadores ver os seus votos na lista de actividade?'
voting_alert_votes_left: 'Alertar o utilizador quando faltarem estes votos'
topic_voting_enabled: 'Permitir que os utilizadores votem em tópicos?'
topic_voting_tl0_vote_limit: 'Quantos votos activos são permitidos aos utilizadores TL0?'
topic_voting_tl1_vote_limit: 'Quantos votos activos são permitidos aos utilizadores TL1?'
topic_voting_tl2_vote_limit: 'Quantos votos activos são permitidos aos utilizadores TL2?'
topic_voting_tl3_vote_limit: 'Quantos votos activos são permitidos aos utilizadores TL3?'
topic_voting_tl4_vote_limit: 'Quantos votos activos são permitidos aos utilizadores TL4?'
topic_voting_show_who_voted: 'Permitir aos utilizadores ver quem votou?'
topic_voting_show_votes_on_profile: 'Permitir aos utilizadores ver os seus votos na lista de actividade?'
topic_voting_alert_votes_left: 'Alertar o utilizador quando faltarem estes votos'
topic_voting:
votes_moved:
one: "Foi movido um voto."

View File

@ -6,15 +6,15 @@
pt_BR:
site_settings:
voting_enabled: 'Permitir que usuários(as) votem nos tópicos?'
voting_tl0_vote_limit: 'Quantos votos ativos de usuários(as) NC0 são permitidos?'
voting_tl1_vote_limit: 'Quantos votos ativos de usuários(as) NC1 são permitidos?'
voting_tl2_vote_limit: 'Quantos votos ativos de usuários(as) NC2 são permitidos?'
voting_tl3_vote_limit: 'Quantos votos ativos de usuários(as) NC3 são permitidos?'
voting_tl4_vote_limit: 'Quantos votos ativos de usuários(as) NC4 são permitidos?'
voting_show_who_voted: 'Permitir que usuários(as) vejam quem votou?'
voting_show_votes_on_profile: 'Permitir que usuários(as) vejam seus votos nos seus feeds de atividade?'
voting_alert_votes_left: 'Alertar usuário(a) quando houver esta quantidade de votos restantes'
topic_voting_enabled: 'Permitir que usuários(as) votem nos tópicos?'
topic_voting_tl0_vote_limit: 'Quantos votos ativos de usuários(as) NC0 são permitidos?'
topic_voting_tl1_vote_limit: 'Quantos votos ativos de usuários(as) NC1 são permitidos?'
topic_voting_tl2_vote_limit: 'Quantos votos ativos de usuários(as) NC2 são permitidos?'
topic_voting_tl3_vote_limit: 'Quantos votos ativos de usuários(as) NC3 são permitidos?'
topic_voting_tl4_vote_limit: 'Quantos votos ativos de usuários(as) NC4 são permitidos?'
topic_voting_show_who_voted: 'Permitir que usuários(as) vejam quem votou?'
topic_voting_show_votes_on_profile: 'Permitir que usuários(as) vejam seus votos nos seus feeds de atividade?'
topic_voting_alert_votes_left: 'Alertar usuário(a) quando houver esta quantidade de votos restantes'
topic_voting:
votes_moved:
one: "Um voto foi movido."

View File

@ -6,15 +6,15 @@
ro:
site_settings:
voting_enabled: 'Permiți utilizatorilor să voteze subiecte?'
voting_tl0_vote_limit: 'Câte voturi active permiți pentru utilizatorii cu TL0 ?'
voting_tl1_vote_limit: 'Câte voturi active permiți pentru utilizatorii cu TL1 ?'
voting_tl2_vote_limit: 'Câte voturi active permiți pentru utilizatorii cu TL2 ?'
voting_tl3_vote_limit: 'Câte voturi active permiți pentru utilizatorii cu TL3 ?'
voting_tl4_vote_limit: 'Câte voturi active permiți pentru utilizatorii cu TL4 ?'
voting_show_who_voted: 'Permiți utilizatorilor să vadă cine a votat?'
voting_show_votes_on_profile: 'Permiți utilizatorilor să vadă voturile în fluxurile lor de activități?'
voting_alert_votes_left: 'Avertizează utilizatorii când mai rămân doar atâtea voturi'
topic_voting_enabled: 'Permiți utilizatorilor să voteze subiecte?'
topic_voting_tl0_vote_limit: 'Câte voturi active permiți pentru utilizatorii cu TL0 ?'
topic_voting_tl1_vote_limit: 'Câte voturi active permiți pentru utilizatorii cu TL1 ?'
topic_voting_tl2_vote_limit: 'Câte voturi active permiți pentru utilizatorii cu TL2 ?'
topic_voting_tl3_vote_limit: 'Câte voturi active permiți pentru utilizatorii cu TL3 ?'
topic_voting_tl4_vote_limit: 'Câte voturi active permiți pentru utilizatorii cu TL4 ?'
topic_voting_show_who_voted: 'Permiți utilizatorilor să vadă cine a votat?'
topic_voting_show_votes_on_profile: 'Permiți utilizatorilor să vadă voturile în fluxurile lor de activități?'
topic_voting_alert_votes_left: 'Avertizează utilizatorii când mai rămân doar atâtea voturi'
topic_voting:
votes_moved:
one: "Un vot a fost mutat."

View File

@ -6,15 +6,15 @@
ru:
site_settings:
voting_enabled: 'Разрешить пользователям голосовать по темам?'
voting_tl0_vote_limit: 'Сколько активных голосов разрешено пользователям с TL0?'
voting_tl1_vote_limit: 'Сколько активных голосов разрешено пользователям с TL1?'
voting_tl2_vote_limit: 'Сколько активных голосов разрешено пользователям с TL2?'
voting_tl3_vote_limit: 'Сколько активных голосов разрешено пользователям с TL3?'
voting_tl4_vote_limit: 'Сколько активных голосов разрешено пользователям с TL4?'
voting_show_who_voted: 'Разрешить пользователям видеть проголосовавших?'
voting_show_votes_on_profile: 'Разрешить пользователям видеть свои голоса в ленте активности?'
voting_alert_votes_left: 'Предупреждать пользователя, когда осталось мало голосов'
topic_voting_enabled: 'Разрешить пользователям голосовать по темам?'
topic_voting_tl0_vote_limit: 'Сколько активных голосов разрешено пользователям с TL0?'
topic_voting_tl1_vote_limit: 'Сколько активных голосов разрешено пользователям с TL1?'
topic_voting_tl2_vote_limit: 'Сколько активных голосов разрешено пользователям с TL2?'
topic_voting_tl3_vote_limit: 'Сколько активных голосов разрешено пользователям с TL3?'
topic_voting_tl4_vote_limit: 'Сколько активных голосов разрешено пользователям с TL4?'
topic_voting_show_who_voted: 'Разрешить пользователям видеть проголосовавших?'
topic_voting_show_votes_on_profile: 'Разрешить пользователям видеть свои голоса в ленте активности?'
topic_voting_alert_votes_left: 'Предупреждать пользователя, когда осталось мало голосов'
topic_voting:
votes_moved:
one: "%{count} голос был перемещен."

View File

@ -6,10 +6,10 @@
sk:
site_settings:
voting_enabled: 'Povoliť používateľom hlasovať o témach?'
voting_tl0_vote_limit: 'Koľko aktívnych hlasovaní povoliť pre TL0 používateľov? '
voting_tl1_vote_limit: 'Koľko aktívnych hlasovaní povoliť pre TL1 používateľov? '
voting_tl2_vote_limit: 'Koľko aktívnych hlasovaní povoliť pre TL2 používateľov? '
voting_tl3_vote_limit: 'Koľko aktívnych hlasovaní povoliť pre TL3 používateľov? '
voting_tl4_vote_limit: 'Koľko aktívnych hlasovaní povoliť pre TL4 používateľov? '
voting_show_who_voted: 'Povoliť používateľom vidieť kto hlasoval?'
topic_voting_enabled: 'Povoliť používateľom hlasovať o témach?'
topic_voting_tl0_vote_limit: 'Koľko aktívnych hlasovaní povoliť pre TL0 používateľov? '
topic_voting_tl1_vote_limit: 'Koľko aktívnych hlasovaní povoliť pre TL1 používateľov? '
topic_voting_tl2_vote_limit: 'Koľko aktívnych hlasovaní povoliť pre TL2 používateľov? '
topic_voting_tl3_vote_limit: 'Koľko aktívnych hlasovaní povoliť pre TL3 používateľov? '
topic_voting_tl4_vote_limit: 'Koľko aktívnych hlasovaní povoliť pre TL4 používateľov? '
topic_voting_show_who_voted: 'Povoliť používateľom vidieť kto hlasoval?'

View File

@ -6,15 +6,15 @@
sv:
site_settings:
voting_enabled: 'Vill du tillåta användaromröstning på ämnen?'
voting_tl0_vote_limit: 'Hur många röster är tillgängliga för FN0-användare?'
voting_tl1_vote_limit: 'Hur många röster är tillgängliga för FN1-användare?'
voting_tl2_vote_limit: 'Hur många röster är tillgängliga för FN2-användare?'
voting_tl3_vote_limit: 'Hur många röster är tillgängliga för FN3-användare?'
voting_tl4_vote_limit: 'Hur många röster är tillgängliga för FN4-användare?'
voting_show_who_voted: 'Ska användare tillåtas se vem som har röstat?'
voting_show_votes_on_profile: 'Ska användare tillåtas se sina röstningar i aktivitetsflödet?'
voting_alert_votes_left: 'Uppmärksamma användaren när antalet röster kvar är'
topic_voting_enabled: 'Vill du tillåta användaromröstning på ämnen?'
topic_voting_tl0_vote_limit: 'Hur många röster är tillgängliga för FN0-användare?'
topic_voting_tl1_vote_limit: 'Hur många röster är tillgängliga för FN1-användare?'
topic_voting_tl2_vote_limit: 'Hur många röster är tillgängliga för FN2-användare?'
topic_voting_tl3_vote_limit: 'Hur många röster är tillgängliga för FN3-användare?'
topic_voting_tl4_vote_limit: 'Hur många röster är tillgängliga för FN4-användare?'
topic_voting_show_who_voted: 'Ska användare tillåtas se vem som har röstat?'
topic_voting_show_votes_on_profile: 'Ska användare tillåtas se sina röstningar i aktivitetsflödet?'
topic_voting_alert_votes_left: 'Uppmärksamma användaren när antalet röster kvar är'
topic_voting:
votes_moved:
one: "En röst har flyttats."

View File

@ -6,12 +6,12 @@
sw:
site_settings:
voting_enabled: 'Ruhusu watumiaji wapige kura kwenye mada?'
voting_tl0_vote_limit: 'Watumiaji wa TL0 wanaruhusiwa kura ngapi?'
voting_tl1_vote_limit: 'Watumiaji wenye kiwango cha kwanza cha uaminifu TL1 wanaruhusiwa kupiga kura ngapi?'
voting_tl2_vote_limit: 'Ni kura ngapi watumiaji wa TL2 wanaruhusiwa kuwapiga?'
voting_tl3_vote_limit: 'Watumiaji wa TL3 wanaruhusiwa kuwa na kura ngapi hewani?'
voting_tl4_vote_limit: 'Ni kura ngapi watumiaji wa TL4 wanaruhusiwa kupiga?'
voting_show_who_voted: 'Je unaruhusu watumiaji waone aliyepiga kura?'
voting_show_votes_on_profile: 'waruhusu watumiaji waone kura zao kwenye orodha ya shughuli zao kwenye mtandao'
voting_alert_votes_left: 'Mjulishe mtumiaji wakati kura kadhaa zikiondoka'
topic_voting_enabled: 'Ruhusu watumiaji wapige kura kwenye mada?'
topic_voting_tl0_vote_limit: 'Watumiaji wa TL0 wanaruhusiwa kura ngapi?'
topic_voting_tl1_vote_limit: 'Watumiaji wenye kiwango cha kwanza cha uaminifu TL1 wanaruhusiwa kupiga kura ngapi?'
topic_voting_tl2_vote_limit: 'Ni kura ngapi watumiaji wa TL2 wanaruhusiwa kuwapiga?'
topic_voting_tl3_vote_limit: 'Watumiaji wa TL3 wanaruhusiwa kuwa na kura ngapi hewani?'
topic_voting_tl4_vote_limit: 'Ni kura ngapi watumiaji wa TL4 wanaruhusiwa kupiga?'
topic_voting_show_who_voted: 'Je unaruhusu watumiaji waone aliyepiga kura?'
topic_voting_show_votes_on_profile: 'waruhusu watumiaji waone kura zao kwenye orodha ya shughuli zao kwenye mtandao'
topic_voting_alert_votes_left: 'Mjulishe mtumiaji wakati kura kadhaa zikiondoka'

View File

@ -6,15 +6,15 @@
tr_TR:
site_settings:
voting_enabled: 'Kullanıcıların konularda oy kullanmasına izin verilsin mi?'
voting_tl0_vote_limit: 'GS0 kullanıcılara kaç aktif oy izni veriliyor?'
voting_tl1_vote_limit: 'GS1 kullanıcılara kaç aktif oy izni veriliyor?'
voting_tl2_vote_limit: 'GS2 kullanıcılara kaç aktif oy izni veriliyor?'
voting_tl3_vote_limit: 'GS3 kullanıcılara kaç aktif oy izni veriliyor?'
voting_tl4_vote_limit: 'GS4 kullanıcılara kaç aktif oy izni veriliyor?'
voting_show_who_voted: 'Kullanıcıların kimin oy verdiğini görmesine izin verilsin mi?'
voting_show_votes_on_profile: 'Kullanıcıların oylarını aktivite akışlarında görmelerine izin verilsin mi?'
voting_alert_votes_left: 'Şu kadar oy kaldığında kullanıcıyı uyar:'
topic_voting_enabled: 'Kullanıcıların konularda oy kullanmasına izin verilsin mi?'
topic_voting_tl0_vote_limit: 'GS0 kullanıcılara kaç aktif oy izni veriliyor?'
topic_voting_tl1_vote_limit: 'GS1 kullanıcılara kaç aktif oy izni veriliyor?'
topic_voting_tl2_vote_limit: 'GS2 kullanıcılara kaç aktif oy izni veriliyor?'
topic_voting_tl3_vote_limit: 'GS3 kullanıcılara kaç aktif oy izni veriliyor?'
topic_voting_tl4_vote_limit: 'GS4 kullanıcılara kaç aktif oy izni veriliyor?'
topic_voting_show_who_voted: 'Kullanıcıların kimin oy verdiğini görmesine izin verilsin mi?'
topic_voting_show_votes_on_profile: 'Kullanıcıların oylarını aktivite akışlarında görmelerine izin verilsin mi?'
topic_voting_alert_votes_left: 'Şu kadar oy kaldığında kullanıcıyı uyar:'
topic_voting:
votes_moved:
one: "Bir oy taşındı."

View File

@ -6,15 +6,15 @@
uk:
site_settings:
voting_enabled: 'Дозволити користувачам голосувати за темами?'
voting_tl0_vote_limit: 'Скільки активних голосів дозволено користувачам TL0?'
voting_tl1_vote_limit: 'Скільки активних голосів дозволено користувачам TL1?'
voting_tl2_vote_limit: 'Скільки активних голосів дозволено користувачам TL2?'
voting_tl3_vote_limit: 'Скільки активних голосів дозволено користувачам TL3?'
voting_tl4_vote_limit: 'Скільки активних голосів дозволено користувачам TL4?'
voting_show_who_voted: 'Дозволити користувачам бачити, хто проголосував?'
voting_show_votes_on_profile: 'Дозволити користувачам бачити свої голоси у стрічці активності?'
voting_alert_votes_left: 'Попередити користувача, коли залишилося стільки голосів'
topic_voting_enabled: 'Дозволити користувачам голосувати за темами?'
topic_voting_tl0_vote_limit: 'Скільки активних голосів дозволено користувачам TL0?'
topic_voting_tl1_vote_limit: 'Скільки активних голосів дозволено користувачам TL1?'
topic_voting_tl2_vote_limit: 'Скільки активних голосів дозволено користувачам TL2?'
topic_voting_tl3_vote_limit: 'Скільки активних голосів дозволено користувачам TL3?'
topic_voting_tl4_vote_limit: 'Скільки активних голосів дозволено користувачам TL4?'
topic_voting_show_who_voted: 'Дозволити користувачам бачити, хто проголосував?'
topic_voting_show_votes_on_profile: 'Дозволити користувачам бачити свої голоси у стрічці активності?'
topic_voting_alert_votes_left: 'Попередити користувача, коли залишилося стільки голосів'
topic_voting:
votes_moved:
one: "Голосування переміщено."

View File

@ -6,12 +6,12 @@
ur:
site_settings:
voting_enabled: 'صارفین کو ٹاپکس پر ووٹ کرنے کی اجازت دیں؟'
voting_tl0_vote_limit: 'TL0 صارفین کو کتنے فعال ووٹوں کی اجازت ہے؟'
voting_tl1_vote_limit: 'TL1 صارفین کو کتنے فعال ووٹوں کی اجازت ہے؟'
voting_tl2_vote_limit: 'TL2 صارفین کو کتنے فعال ووٹوں کی اجازت ہے؟'
voting_tl3_vote_limit: 'TL3 صارفین کو کتنے فعال ووٹوں کی اجازت ہے؟'
voting_tl4_vote_limit: 'TL4 صارفین کو کتنے فعال ووٹوں کی اجازت ہے؟'
voting_show_who_voted: 'صارفین کو، کس نے ووٹ کیا ہے، دیکھنے کی اجازت دیں؟'
voting_show_votes_on_profile: 'صارفین کو اُن کی سرگرمی فیڈ میں اُن کے ووٹ دیکھنے کی اجازت دیں؟'
voting_alert_votes_left: 'صارف کو انتباہ کردیں جب اتنے ووٹ باقی رہ جائیں'
topic_voting_enabled: 'صارفین کو ٹاپکس پر ووٹ کرنے کی اجازت دیں؟'
topic_voting_tl0_vote_limit: 'TL0 صارفین کو کتنے فعال ووٹوں کی اجازت ہے؟'
topic_voting_tl1_vote_limit: 'TL1 صارفین کو کتنے فعال ووٹوں کی اجازت ہے؟'
topic_voting_tl2_vote_limit: 'TL2 صارفین کو کتنے فعال ووٹوں کی اجازت ہے؟'
topic_voting_tl3_vote_limit: 'TL3 صارفین کو کتنے فعال ووٹوں کی اجازت ہے؟'
topic_voting_tl4_vote_limit: 'TL4 صارفین کو کتنے فعال ووٹوں کی اجازت ہے؟'
topic_voting_show_who_voted: 'صارفین کو، کس نے ووٹ کیا ہے، دیکھنے کی اجازت دیں؟'
topic_voting_show_votes_on_profile: 'صارفین کو اُن کی سرگرمی فیڈ میں اُن کے ووٹ دیکھنے کی اجازت دیں؟'
topic_voting_alert_votes_left: 'صارف کو انتباہ کردیں جب اتنے ووٹ باقی رہ جائیں'

View File

@ -6,15 +6,15 @@
vi:
site_settings:
voting_enabled: 'Cho phép người dùng bình chọn chủ đề?<br>'
voting_tl0_vote_limit: 'Người dùng TL0 được phép sử dụng bao nhiêu phiếu bình chọn?'
voting_tl1_vote_limit: 'Người dùng TL1 được phép sử dụng bao nhiêu phiếu bình chọn?'
voting_tl2_vote_limit: 'Người dùng TL2 được phép sử dụng bao nhiêu phiếu bình chọn?'
voting_tl3_vote_limit: 'Người dùng TL3 được phép sử dụng bao nhiêu phiếu bình chọn?'
voting_tl4_vote_limit: 'Người dùng TL4 được phép sử dụng bao nhiêu phiếu bình chọn?'
voting_show_who_voted: 'Cho phép người dùng xem ai đã bình chọn?'
voting_show_votes_on_profile: 'Cho phép người dùng xem phiếu bình chọn của họ trong luồng hoạt động của họ?'
voting_alert_votes_left: 'Thông báo cho người dùng khi số phiếu bình chọn còn lại'
topic_voting_enabled: 'Cho phép người dùng bình chọn chủ đề?<br>'
topic_voting_tl0_vote_limit: 'Người dùng TL0 được phép sử dụng bao nhiêu phiếu bình chọn?'
topic_voting_tl1_vote_limit: 'Người dùng TL1 được phép sử dụng bao nhiêu phiếu bình chọn?'
topic_voting_tl2_vote_limit: 'Người dùng TL2 được phép sử dụng bao nhiêu phiếu bình chọn?'
topic_voting_tl3_vote_limit: 'Người dùng TL3 được phép sử dụng bao nhiêu phiếu bình chọn?'
topic_voting_tl4_vote_limit: 'Người dùng TL4 được phép sử dụng bao nhiêu phiếu bình chọn?'
topic_voting_show_who_voted: 'Cho phép người dùng xem ai đã bình chọn?'
topic_voting_show_votes_on_profile: 'Cho phép người dùng xem phiếu bình chọn của họ trong luồng hoạt động của họ?'
topic_voting_alert_votes_left: 'Thông báo cho người dùng khi số phiếu bình chọn còn lại'
topic_voting:
votes_moved:
other: "%{count} phiếu bình chọn đã được chuyển."

View File

@ -6,15 +6,15 @@
zh_CN:
site_settings:
voting_enabled: '允许用户为话题投票?'
voting_tl0_vote_limit: '信任级别为 0 的用户有多少次投票机会?'
voting_tl1_vote_limit: '信任级别为 1 的用户有多少次投票机会?'
voting_tl2_vote_limit: '信任级别为 2 的用户有多少次投票机会?'
voting_tl3_vote_limit: '信任级别为 3 的用户有多少次投票机会?'
voting_tl4_vote_limit: '信任级别为 4 的用户有多少次投票机会?'
voting_show_who_voted: '允许用户查看投票者?'
voting_show_votes_on_profile: '允许用户在活动源中查看其投票?'
voting_alert_votes_left: '当投票机会还有此数值时通知用户'
topic_voting_enabled: '允许用户为话题投票?'
topic_voting_tl0_vote_limit: '信任级别为 0 的用户有多少次投票机会?'
topic_voting_tl1_vote_limit: '信任级别为 1 的用户有多少次投票机会?'
topic_voting_tl2_vote_limit: '信任级别为 2 的用户有多少次投票机会?'
topic_voting_tl3_vote_limit: '信任级别为 3 的用户有多少次投票机会?'
topic_voting_tl4_vote_limit: '信任级别为 4 的用户有多少次投票机会?'
topic_voting_show_who_voted: '允许用户查看投票者?'
topic_voting_show_votes_on_profile: '允许用户在活动源中查看其投票?'
topic_voting_alert_votes_left: '当投票机会还有此数值时通知用户'
topic_voting:
votes_moved:
other: "%{count} 个投票已被移动。"

View File

@ -6,15 +6,15 @@
zh_TW:
site_settings:
voting_enabled: '允許使用者對話題投票?'
voting_tl0_vote_limit: '允許TL0 使用者有多少票可用?'
voting_tl1_vote_limit: '允許TL1 使用者有多少票可用?'
voting_tl2_vote_limit: '允許TL2 使用者有多少票可用?'
voting_tl3_vote_limit: '允許TL3 使用者有多少票可用?'
voting_tl4_vote_limit: '允許TL4 使用者有多少票可用?'
voting_show_who_voted: '允許使用者可看見有誰投票?'
voting_show_votes_on_profile: '是否允許使用者可在活動摘要中看見他們的投票?'
voting_alert_votes_left: '當剩餘這些票數時提醒使用者'
topic_voting_enabled: '允許使用者對話題投票?'
topic_voting_tl0_vote_limit: '允許TL0 使用者有多少票可用?'
topic_voting_tl1_vote_limit: '允許TL1 使用者有多少票可用?'
topic_voting_tl2_vote_limit: '允許TL2 使用者有多少票可用?'
topic_voting_tl3_vote_limit: '允許TL3 使用者有多少票可用?'
topic_voting_tl4_vote_limit: '允許TL4 使用者有多少票可用?'
topic_voting_show_who_voted: '允許使用者可看見有誰投票?'
topic_voting_show_votes_on_profile: '是否允許使用者可在活動摘要中看見他們的投票?'
topic_voting_alert_votes_left: '當剩餘這些票數時提醒使用者'
topic_voting:
votes_moved:
other: "%{count} 投票已被搬移。"

View File

@ -1,22 +1,22 @@
plugins:
voting_alert_votes_left:
topic_voting_alert_votes_left:
default: 10
voting_enabled:
topic_voting_enabled:
default: true
client: true
voting_show_who_voted:
topic_voting_show_who_voted:
default: true
client: true
voting_show_votes_on_profile:
topic_voting_show_votes_on_profile:
default: true
client: true
voting_tl0_vote_limit:
topic_voting_tl0_vote_limit:
default: 2
voting_tl1_vote_limit:
topic_voting_tl1_vote_limit:
default: 4
voting_tl2_vote_limit:
topic_voting_tl2_vote_limit:
default: 6
voting_tl3_vote_limit:
topic_voting_tl3_vote_limit:
default: 8
voting_tl4_vote_limit:
topic_voting_tl4_vote_limit:
default: 10

View File

@ -0,0 +1,73 @@
# frozen_string_literal: true
require "migration/table_dropper"
class RenameVotingTables < ActiveRecord::Migration[7.0]
def up
unless table_exists?(:topic_voting_topic_vote_count)
Migration::TableDropper.read_only_table(:discourse_voting_topic_vote_count)
execute <<~SQL
CREATE TABLE topic_voting_topic_vote_count
(LIKE discourse_voting_topic_vote_count INCLUDING ALL);
SQL
execute <<~SQL
INSERT INTO topic_voting_topic_vote_count
SELECT *
FROM discourse_voting_topic_vote_count
SQL
execute <<~SQL
ALTER TABLE topic_voting_topic_vote_count
ALTER COLUMN id
SET DEFAULT nextval('discourse_voting_topic_vote_count_id_seq')
SQL
add_index :topic_voting_topic_vote_count, :topic_id, unique: true
end
unless table_exists?(:topic_voting_votes)
Migration::TableDropper.read_only_table(:discourse_voting_votes)
execute <<~SQL
CREATE TABLE topic_voting_votes
(LIKE discourse_voting_votes INCLUDING ALL);
SQL
execute <<~SQL
INSERT INTO topic_voting_votes
SELECT *
FROM discourse_voting_votes
SQL
execute <<~SQL
ALTER TABLE topic_voting_votes
ALTER COLUMN id
SET DEFAULT nextval('discourse_voting_votes_id_seq')
SQL
end
unless table_exists?(:topic_voting_category_settings)
Migration::TableDropper.read_only_table(:discourse_voting_category_settings)
execute <<~SQL
CREATE TABLE topic_voting_category_settings
(LIKE discourse_voting_category_settings INCLUDING ALL);
SQL
execute <<~SQL
INSERT INTO topic_voting_category_settings
SELECT *
FROM discourse_voting_category_settings
SQL
execute <<~SQL
ALTER TABLE topic_voting_category_settings
ALTER COLUMN id
SET DEFAULT nextval('discourse_voting_category_settings_id_seq')
SQL
end
end
def down
raise ActiveRecord::IrreversibleMigration
end
end

View File

@ -0,0 +1,19 @@
# frozen_string_literal: true
class RenameTopicVotingSiteSettings < ActiveRecord::Migration[7.0]
def up
execute "UPDATE site_settings SET name = 'topic_voting_alert_votes_left' WHERE name = 'voting_alert_votes_left_flags_after'"
execute "UPDATE site_settings SET name = 'topic_voting_enabled' WHERE name = 'voting_enabled_flags_after'"
execute "UPDATE site_settings SET name = 'topic_voting_show_who_voted' WHERE name = 'voting_show_who_voted_flags_after'"
execute "UPDATE site_settings SET name = 'topic_voting_show_votes_on_profile' WHERE name = 'voting_show_votes_on_profile_flags_after'"
execute "UPDATE site_settings SET name = 'topic_voting_tl0_vote_limit' WHERE name = 'voting_tl0_vote_limit_flags_after'"
execute "UPDATE site_settings SET name = 'topic_voting_tl1_vote_limit' WHERE name = 'voting_tl1_vote_limit_flags_after'"
execute "UPDATE site_settings SET name = 'topic_voting_tl2_vote_limit' WHERE name = 'voting_tl2_vote_limit_flags_after'"
execute "UPDATE site_settings SET name = 'topic_voting_tl3_vote_limit' WHERE name = 'voting_tl3_vote_limit_flags_after'"
execute "UPDATE site_settings SET name = 'topic_voting_tl4_vote_limit' WHERE name = 'voting_tl4_vote_limit_flags_after'"
end
def down
raise ActiveRecord::IrreversibleMigration
end
end

View File

@ -0,0 +1,86 @@
# frozen_string_literal: true
class EnsureConsistency < ActiveRecord::Migration[7.0]
def up
# un-archive votes to open topics
DB.exec(<<~SQL)
UPDATE topic_voting_votes
SET archive=false
FROM topics
WHERE topics.id = topic_voting_votes.topic_id
AND topic_voting_votes.archive IS TRUE
AND NOT topics.closed
AND NOT topics.archived
AND topics.deleted_at IS NULL
SQL
# delete duplicate votes
DB.exec(<<~SQL)
DELETE FROM topic_voting_votes dvv1
USING topic_voting_votes dvv2
WHERE dvv1.id < dvv2.id AND
dvv1.user_id = dvv2.user_id AND
dvv1.topic_id = dvv2.topic_id AND
dvv1.archive = dvv2.archive
SQL
# delete votes associated with no user
DB.exec(<<~SQL)
DELETE FROM topic_voting_votes
WHERE user_id NOT IN (SELECT id FROM users)
SQL
# delete votes associated with no topics
DB.exec(<<~SQL)
DELETE FROM topic_voting_votes
WHERE topic_voting_votes.topic_id IS NULL
SQL
# delete duplicate vote counts for topics
DB.exec(<<~SQL)
DELETE FROM topic_voting_topic_vote_count dvtvc
USING topic_voting_topic_vote_count dvtvc2
WHERE dvtvc.id < dvtvc2.id AND
dvtvc.topic_id = dvtvc2.topic_id AND
dvtvc.votes_count = dvtvc2.votes_count
SQL
# insert missing vote counts for topics
# ensures we have "something" for every topic with votes
DB.exec(<<~SQL)
WITH missing_ids AS (
SELECT DISTINCT t.id FROM topics t
JOIN topic_voting_votes dvv ON t.id = dvv.topic_id
LEFT JOIN topic_voting_topic_vote_count dvtvc ON t.id = dvtvc.topic_id
WHERE dvtvc.topic_id IS NULL
)
INSERT INTO topic_voting_topic_vote_count (votes_count, topic_id, created_at, updated_at)
SELECT '0', id, now(), now() FROM missing_ids
SQL
# remove all superflous vote count custom fields
DB.exec(<<~SQL)
DELETE FROM topic_voting_topic_vote_count
WHERE topic_id IN (
SELECT t1.id FROM topics t1
LEFT JOIN topic_voting_votes dvv
ON dvv.topic_id = t1.id
WHERE dvv.id IS NULL
)
SQL
# correct topics vote counts
DB.exec(<<~SQL)
UPDATE topic_voting_topic_vote_count dvtvc
SET votes_count = (
SELECT COUNT(*) FROM topic_voting_votes dvv
WHERE dvtvc.topic_id = dvv.topic_id
GROUP BY dvv.topic_id
)
SQL
end
def down
raise ActiveRecord::IrreversibleMigration
end
end

View File

@ -11,7 +11,7 @@ module DiscourseTopicVoting
accepts_nested_attributes_for :discourse_topic_voting_category_setting, allow_destroy: true
after_save :reset_voting_cache, if: -> { SiteSetting.voting_enabled? }
after_save :reset_voting_cache, if: -> { SiteSetting.topic_voting_enabled? }
@allowed_voting_cache = DistributedCache.new("allowed_voting")
end
@ -22,7 +22,7 @@ module DiscourseTopicVoting
end
def can_vote?(category_id)
return false if !SiteSetting.voting_enabled
return false if !SiteSetting.topic_voting_enabled
(@allowed_voting_cache["allowed"] || reset_voting_cache).include?(category_id)
end

View File

@ -30,7 +30,7 @@ module DiscourseTopicVoting
protected
def ensure_discourse_topic_voting
if !SiteSetting.voting_enabled || !SiteSetting.voting_show_votes_on_profile
if !SiteSetting.topic_voting_enabled || !SiteSetting.topic_voting_show_votes_on_profile
raise Discourse::NotFound
end
end

View File

@ -15,8 +15,8 @@ module DiscourseTopicVoting
def can_vote?
@can_vote ||=
SiteSetting.voting_enabled && regular? && Category.can_vote?(category_id) && category &&
category.topic_id != id
SiteSetting.topic_voting_enabled && regular? && Category.can_vote?(category_id) &&
category && category.topic_id != id
end
def vote_count
@ -35,19 +35,19 @@ module DiscourseTopicVoting
count = self.votes.count
DB.exec(<<~SQL, topic_id: self.id, votes_count: count)
INSERT INTO discourse_voting_topic_vote_count
INSERT INTO topic_voting_topic_vote_count
(topic_id, votes_count, created_at, updated_at)
VALUES
(:topic_id, :votes_count, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP)
ON CONFLICT (topic_id) DO UPDATE SET
votes_count = :votes_count,
updated_at = CURRENT_TIMESTAMP
WHERE discourse_voting_topic_vote_count.topic_id = :topic_id
WHERE topic_voting_topic_vote_count.topic_id = :topic_id
SQL
end
def who_voted
return if !SiteSetting.voting_show_who_voted
return if !SiteSetting.topic_voting_show_who_voted
self.votes.map(&:user)
end

View File

@ -5,15 +5,15 @@ module DiscourseTopicVoting
def list_voted_by(user)
create_list(:user_topics) do |topics|
topics.joins(
"INNER JOIN discourse_voting_votes ON discourse_voting_votes.topic_id = topics.id",
).where("discourse_voting_votes.user_id = ?", user.id)
"INNER JOIN topic_voting_votes ON topic_voting_votes.topic_id = topics.id",
).where("topic_voting_votes.user_id = ?", user.id)
end
end
def list_votes
create_list(:votes, unordered: true) do |topics|
topics.joins(
"LEFT JOIN discourse_voting_topic_vote_count dvtvc ON dvtvc.topic_id = topics.id",
"LEFT JOIN topic_voting_topic_vote_count dvtvc ON dvtvc.topic_id = topics.id",
).order("COALESCE(dvtvc.votes_count,'0')::integer DESC, topics.bumped_at DESC")
end
end

View File

@ -11,7 +11,7 @@ module DiscourseTopicVoting
end
def alert_low_votes?
(vote_limit - vote_count) <= SiteSetting.voting_alert_votes_left
(vote_limit - vote_count) <= SiteSetting.topic_voting_alert_votes_left
end
def topics_with_vote
@ -27,7 +27,7 @@ module DiscourseTopicVoting
end
def vote_limit
SiteSetting.public_send("voting_tl#{self.trust_level}_vote_limit")
SiteSetting.public_send("topic_voting_tl#{self.trust_level}_vote_limit")
end
end
end

View File

@ -11,7 +11,7 @@ register_asset "stylesheets/common/topic-voting.scss"
register_asset "stylesheets/desktop/topic-voting.scss", :desktop
register_asset "stylesheets/mobile/topic-voting.scss", :mobile
enabled_site_setting :voting_enabled
enabled_site_setting :topic_voting_enabled
Discourse.top_menu_items.push(:votes)
Discourse.anonymous_top_menu_items.push(:votes)
@ -52,13 +52,13 @@ after_initialize do
if user
result =
result.select(
"topics.*, COALESCE((SELECT 1 FROM discourse_voting_votes WHERE user_id = #{user.id} AND topic_id = topics.id), 0) AS current_user_voted",
"topics.*, COALESCE((SELECT 1 FROM topic_voting_votes WHERE user_id = #{user.id} AND topic_id = topics.id), 0) AS current_user_voted",
)
if options[:state] == "my_votes"
result =
result.joins(
"INNER JOIN discourse_voting_votes ON discourse_voting_votes.topic_id = topics.id AND discourse_voting_votes.user_id = #{user.id}",
"INNER JOIN topic_voting_votes ON topic_voting_votes.topic_id = topics.id AND topic_voting_votes.user_id = #{user.id}",
)
end
end
@ -67,9 +67,9 @@ after_initialize do
sort_dir = (options[:ascending] == "true") ? "ASC" : "DESC"
result =
result.joins(
"LEFT JOIN discourse_voting_topic_vote_count ON discourse_voting_topic_vote_count.topic_id = topics.id",
"LEFT JOIN topic_voting_topic_vote_count ON topic_voting_topic_vote_count.topic_id = topics.id",
).reorder(
"COALESCE(discourse_voting_topic_vote_count.votes_count,'0')::integer #{sort_dir}, topics.bumped_at DESC",
"COALESCE(topic_voting_topic_vote_count.votes_count,'0')::integer #{sort_dir}, topics.bumped_at DESC",
)
end
@ -79,7 +79,7 @@ after_initialize do
register_category_custom_field_type("enable_topic_voting", :boolean)
add_to_serializer(:category, :custom_fields, respect_plugin_enabled: false) do
return object.custom_fields if !SiteSetting.voting_enabled
return object.custom_fields if !SiteSetting.topic_voting_enabled
object.custom_fields.merge(
enable_topic_voting:
@ -104,14 +104,14 @@ after_initialize do
register_search_advanced_filter(/^min_vote_count:(\d+)$/) do |posts, match|
posts.where(
"(SELECT votes_count FROM discourse_voting_topic_vote_count WHERE discourse_voting_topic_vote_count.topic_id = posts.topic_id) >= ?",
"(SELECT votes_count FROM topic_voting_topic_vote_count WHERE topic_voting_topic_vote_count.topic_id = posts.topic_id) >= ?",
match.to_i,
)
end
register_search_advanced_order(:votes) do |posts|
posts.reorder(
"COALESCE((SELECT dvtvc.votes_count FROM discourse_voting_topic_vote_count dvtvc WHERE dvtvc.topic_id = topics.id), 0) DESC",
"COALESCE((SELECT dvtvc.votes_count FROM topic_voting_topic_vote_count dvtvc WHERE dvtvc.topic_id = topics.id), 0) DESC",
)
end
@ -148,7 +148,7 @@ after_initialize do
end
on(:post_edited) do |post, _, revisor|
if SiteSetting.voting_enabled && revisor.topic_diff.has_key?("category_id") &&
if SiteSetting.topic_voting_enabled && revisor.topic_diff.has_key?("category_id") &&
DiscourseTopicVoting::Vote.exists?(topic_id: post.topic_id) && !post.topic.closed &&
!post.topic.archived && !post.topic.trashed?
new_category_id = post.reload.topic.category_id

View File

@ -1,10 +1,11 @@
# frozen_string_literal: true
require "rails_helper"
require Rails.root.join(
"plugins/discourse-topic-voting/db/post_migrate/20240711102255_ensure_consistency.rb",
)
describe Jobs::VotingEnsureConsistency do
subject(:job) { described_class.new }
describe EnsureConsistency do
it "ensures consistency" do
user = Fabricate(:user)
user2 = Fabricate(:user)
@ -24,7 +25,7 @@ describe Jobs::VotingEnsureConsistency do
DiscourseTopicVoting::Vote.create!(user: user, topic: two_vote_topic, archive: true)
DiscourseTopicVoting::Vote.create!(user: user2, topic: two_vote_topic)
job.execute_onceoff(nil)
EnsureConsistency.new.up
no_vote_topic.reload

View File

@ -10,8 +10,8 @@ describe DiscourseTopicVoting::TopicExtension do
let(:topic2) { Fabricate(:topic) }
before do
SiteSetting.voting_enabled = true
SiteSetting.voting_show_who_voted = true
SiteSetting.topic_voting_enabled = true
SiteSetting.topic_voting_show_who_voted = true
end
describe "#update_vote_count" do

View File

@ -13,8 +13,8 @@ describe TopicQuery do
end
before do
SiteSetting.voting_enabled = true
SiteSetting.voting_show_who_voted = true
SiteSetting.topic_voting_enabled = true
SiteSetting.topic_voting_show_who_voted = true
end
it "order topic by votes" do

View File

@ -8,7 +8,7 @@ describe CategoriesController do
fab!(:admin) { Fabricate(:user, admin: true) }
before do
SiteSetting.voting_enabled = true
SiteSetting.topic_voting_enabled = true
sign_in(admin)
end

View File

@ -6,7 +6,7 @@ describe ListController do
fab!(:user)
fab!(:topic)
# "topics/voted-by/:username"
before { SiteSetting.voting_enabled = true }
before { SiteSetting.topic_voting_enabled = true }
it "allow anons to view votes" do
DiscourseTopicVoting::Vote.create!(user: user, topic: topic)
@ -19,7 +19,7 @@ describe ListController do
it "returns a 404 when we don't show votes on profiles" do
DiscourseTopicVoting::Vote.create!(user: user, topic: topic)
SiteSetting.voting_show_votes_on_profile = false
SiteSetting.topic_voting_show_votes_on_profile = false
get "/topics/voted-by/#{user.username}.json"

View File

@ -22,7 +22,7 @@ describe SearchController do
before do
DiscourseTopicVoting::CategorySetting.create!(category: category)
SiteSetting.voting_enabled = true
SiteSetting.topic_voting_enabled = true
sign_in(user)
end

View File

@ -10,19 +10,19 @@ describe DiscourseTopicVoting::VotesController do
before do
DiscourseTopicVoting::CategorySetting.create!(category: category)
Category.reset_voting_cache
SiteSetting.voting_show_who_voted = true
SiteSetting.voting_enabled = true
SiteSetting.topic_voting_show_who_voted = true
SiteSetting.topic_voting_enabled = true
sign_in(user)
end
it "does not allow voting if voting is not enabled" do
SiteSetting.voting_enabled = false
SiteSetting.topic_voting_enabled = false
post "/voting/vote.json", params: { topic_id: topic.id }
expect(response.status).to eq(404)
end
it "can correctly show deal with voting workflow" do
SiteSetting.public_send "voting_tl#{user.trust_level}_vote_limit=", 2
SiteSetting.public_send "topic_voting_tl#{user.trust_level}_vote_limit=", 2
post "/voting/vote.json", params: { topic_id: topic.id }
expect(response.status).to eq(200)

View File

@ -6,7 +6,7 @@ describe BasicCategorySerializer do
fab!(:category)
it "does not return can_vote when voting disabled" do
SiteSetting.voting_enabled = false
SiteSetting.topic_voting_enabled = false
json = BasicCategorySerializer.new(category, root: false).as_json
@ -14,7 +14,7 @@ describe BasicCategorySerializer do
end
it "does not return can_vote when voting disabled" do
SiteSetting.voting_enabled = true
SiteSetting.topic_voting_enabled = true
DiscourseTopicVoting::CategorySetting.create!(category: category)
json = BasicCategorySerializer.new(category, root: false).as_json

View File

@ -6,7 +6,7 @@ describe CategorySerializer do
fab!(:category)
it "does not return enable_topic_voting voting disabled" do
SiteSetting.voting_enabled = false
SiteSetting.topic_voting_enabled = false
json = CategorySerializer.new(category, root: false).as_json
@ -14,7 +14,7 @@ describe CategorySerializer do
end
it "returns enable_topic_voting when voting enabled" do
SiteSetting.voting_enabled = true
SiteSetting.topic_voting_enabled = true
json = CategorySerializer.new(category, root: false).as_json

View File

@ -11,7 +11,7 @@ RSpec.describe CurrentUserSerializer do
let(:topic4) { Fabricate(:topic, category_id: category.id) }
it "does not return attributes related to voting if disabled" do
SiteSetting.voting_enabled = false
SiteSetting.topic_voting_enabled = false
json = described_class.new(user1, scope: guardian, root: false).as_json
expect(json[:votes_exceeded]).to eq(nil)
@ -21,8 +21,8 @@ RSpec.describe CurrentUserSerializer do
describe "votes_exceeded" do
it "returns false when within voting limits" do
SiteSetting.voting_enabled = true
SiteSetting.voting_tl3_vote_limit = 1
SiteSetting.topic_voting_enabled = true
SiteSetting.topic_voting_tl3_vote_limit = 1
Fabricate(:topic_voting_votes, user: user2, topic: topic1)
json = described_class.new(user1, scope: guardian, root: false).as_json
@ -31,8 +31,8 @@ RSpec.describe CurrentUserSerializer do
end
it "returns true when hit voting limits" do
SiteSetting.voting_enabled = true
SiteSetting.voting_tl3_vote_limit = 1
SiteSetting.topic_voting_enabled = true
SiteSetting.topic_voting_tl3_vote_limit = 1
Fabricate(:topic_voting_votes, user: user1, topic: topic1)
json = described_class.new(user1, scope: guardian, root: false).as_json
@ -43,7 +43,7 @@ RSpec.describe CurrentUserSerializer do
describe "votes_left" do
it "returns the number of votes the user has left" do
SiteSetting.voting_tl3_vote_limit = 3
SiteSetting.topic_voting_tl3_vote_limit = 3
json = described_class.new(user1, scope: guardian, root: false).as_json

View File

@ -10,8 +10,8 @@ describe PostSerializer do
before do
DiscourseTopicVoting::CategorySetting.create!(category: category)
Category.reset_voting_cache
SiteSetting.voting_show_who_voted = true
SiteSetting.voting_enabled = true
SiteSetting.topic_voting_show_who_voted = true
SiteSetting.topic_voting_enabled = true
end
it "serializes can_vote for first posts only" do

View File

@ -7,7 +7,7 @@ describe TopicListItemSerializer do
let(:guardian) { Guardian.new(user) }
it "excludes properties when voting disabled" do
SiteSetting.voting_enabled = false
SiteSetting.topic_voting_enabled = false
json = TopicListItemSerializer.new(topic, scope: guardian, root: false).as_json
@ -17,7 +17,7 @@ describe TopicListItemSerializer do
end
it "adds can_vote when enabled" do
SiteSetting.voting_enabled = true
SiteSetting.topic_voting_enabled = true
json = TopicListItemSerializer.new(topic, scope: guardian, root: false).as_json
expect(json[:vote_count]).to eq nil
@ -26,7 +26,7 @@ describe TopicListItemSerializer do
end
it "updates vote count to 0 when topic is votable" do
SiteSetting.voting_enabled = true
SiteSetting.topic_voting_enabled = true
DiscourseTopicVoting::CategorySetting.create!(category: category)
json = TopicListItemSerializer.new(topic, scope: guardian, root: false).as_json
@ -36,7 +36,7 @@ describe TopicListItemSerializer do
end
it "returns all the values" do
SiteSetting.voting_enabled = true
SiteSetting.topic_voting_enabled = true
DiscourseTopicVoting::CategorySetting.create!(category: category)
Fabricate(:topic_voting_votes, user: user, topic: topic)
Fabricate(:topic_voting_vote_count, topic: topic)

View File

@ -11,7 +11,7 @@ describe TopicViewSerializer do
describe "can_vote" do
it "returns nil when voting disabled" do
SiteSetting.voting_enabled = false
SiteSetting.topic_voting_enabled = false
DiscourseTopicVoting::CategorySetting.create!(category: category)
json = TopicViewSerializer.new(topic_view, scope: guardian, root: false).as_json
@ -20,7 +20,7 @@ describe TopicViewSerializer do
end
it "returns false when topic not in category" do
SiteSetting.voting_enabled = true
SiteSetting.topic_voting_enabled = true
json = TopicViewSerializer.new(topic_view, scope: guardian, root: false).as_json
@ -34,7 +34,7 @@ describe TopicViewSerializer do
end
it "returns true when voting enabled and topic in category" do
SiteSetting.voting_enabled = true
SiteSetting.topic_voting_enabled = true
DiscourseTopicVoting::CategorySetting.create!(category: category)
json = TopicViewSerializer.new(topic_view, scope: guardian, root: false).as_json

View File

@ -1,6 +1,6 @@
# frozen_string_literal: true
RSpec.describe "Voting", type: :system, js: true do
RSpec.describe "Topic voting", type: :system, js: true do
fab!(:user)
fab!(:admin) { Fabricate(:admin, trust_level: TrustLevel[4]) }
fab!(:category1) { Fabricate(:category) }
@ -16,7 +16,7 @@ RSpec.describe "Voting", type: :system, js: true do
fab!(:admin_page) { PageObjects::Pages::AdminSiteSettings.new }
before do
SiteSetting.voting_enabled = false
SiteSetting.topic_voting_enabled = false
admin.activate
user.activate
@ -29,8 +29,8 @@ RSpec.describe "Voting", type: :system, js: true do
expect(category_page).to have_no_css(category_page.votes)
# enables voting
admin_page.visit_filtered_plugin_setting("voting%20enabled").toggle_setting(
"voting_enabled",
admin_page.visit_filtered_plugin_setting("topic%20voting%20enabled").toggle_setting(
"topic_voting_enabled",
"Allow users to vote on topics?",
)

View File

@ -17,12 +17,12 @@ describe DiscourseTopicVoting do
let!(:topic1) { Fabricate(:topic, category: category2) }
before do
SiteSetting.voting_enabled = true
SiteSetting.voting_show_who_voted = true
SiteSetting.topic_voting_enabled = true
SiteSetting.topic_voting_show_who_voted = true
end
it "doesn't allow users to vote more than they are allowed" do
SiteSetting.voting_tl1_vote_limit = 1
SiteSetting.topic_voting_tl1_vote_limit = 1
user0.update!(trust_level: 1)
expect(user0.reached_voting_limit?).to eq(false)
@ -37,7 +37,7 @@ describe DiscourseTopicVoting do
before do
# ensure merging votes works regardless of voters' visibility
SiteSetting.voting_show_who_voted = false
SiteSetting.topic_voting_show_who_voted = false
Fabricate(:post, topic: topic0, user: user0)
Fabricate(:post, topic: topic0, user: user0)