Lots of bugfixes

BUGFIX: navigation bar should always activate the right tab (even when diging into a top period)
BUGFIX: /top pages titles
BUGFIX: no "edit category" button on /top page after visiting a category
BUGFIX: properly hide category columns when there is no children category (on both filter + top pages)
BUGFIX: promises not caught when scrolling down a topic list to load more of them
BUGFIX: CSS on category dropdowns
Updated `top_menu` i18n with available filters
This commit is contained in:
Régis Hanol 2014-01-17 04:38:08 +01:00
parent 4981525047
commit 129617b415
37 changed files with 178 additions and 123 deletions

View File

@ -27,7 +27,7 @@ Discourse.NavigationItemComponent = Ember.Component.extend({
active: function() { active: function() {
return this.get('content.filterMode') === this.get('filterMode') || return this.get('content.filterMode') === this.get('filterMode') ||
(this.get('filterMode') === 'top' && this.get('content.filterMode').indexOf('top') >= 0); this.get('filterMode').indexOf(this.get('content.filterMode')) === 0;
}.property('content.filterMode', 'filterMode'), }.property('content.filterMode', 'filterMode'),
name: function() { name: function() {

View File

@ -7,7 +7,7 @@
@module Discourse @module Discourse
**/ **/
Discourse.DiscoveryTopController = Discourse.ObjectController.extend({ Discourse.DiscoveryTopController = Discourse.ObjectController.extend({
category:null, category: null,
redirectedToTopPageReason: function() { redirectedToTopPageReason: function() {
// no need for a reason if the default homepage is "top" // no need for a reason if the default homepage is "top"

View File

@ -46,7 +46,7 @@ Discourse.DiscoveryTopicsController = Discourse.ObjectController.extend({
hasTopics: Em.computed.gt('topics.length', 0), hasTopics: Em.computed.gt('topics.length', 0),
showTable: Em.computed.or('hasTopics', 'topicTrackingState.hasIncoming'), showTable: Em.computed.or('hasTopics', 'topicTrackingState.hasIncoming'),
latest: Ember.computed.equal('filter', 'latest'), latest: Em.computed.equal('filter', 'latest'),
allLoaded: Em.computed.empty('more_topics_url'), allLoaded: Em.computed.empty('more_topics_url'),
updateTitle: function(){ updateTitle: function(){

View File

@ -28,13 +28,13 @@ Discourse.NavigationDefaultController = Discourse.Controller.extend({
navItems: function() { navItems: function() {
return Discourse.NavItem.buildList(); return Discourse.NavItem.buildList();
}.property() }.property()
}); });
Discourse.NavigationCategoryController = Discourse.NavigationDefaultController.extend({ Discourse.NavigationCategoryController = Discourse.NavigationDefaultController.extend({
navItems: function() { navItems: function() {
return Discourse.NavItem.buildList(this.get('category'), { noSubcategories: this.get('noSubcategories') }); return Discourse.NavItem.buildList(this.get('category'), { noSubcategories: this.get('noSubcategories') });
}.property('category', 'noSubcategories') }.property('category', 'noSubcategories')
}); });
Discourse.NavigationCategoriesController = Discourse.NavigationDefaultController.extend({}); Discourse.NavigationCategoriesController = Discourse.NavigationDefaultController.extend({});

View File

@ -88,8 +88,6 @@ Discourse.computed = {
}))); })));
}); });
return computed.property.apply(computed, args); return computed.property.apply(computed, args);
} }
}; };

View File

@ -10,15 +10,12 @@
Discourse.TopList = Discourse.Model.extend({}); Discourse.TopList = Discourse.Model.extend({});
Discourse.TopList.reopenClass({ Discourse.TopList.reopenClass({
find: function(period, category) { find: function(filter) {
return PreloadStore.getAndRemove("top_lists", function() { return PreloadStore.getAndRemove("top_lists", function() {
var url = ""; var url = Discourse.getURL("/") + (filter || "top") + ".json";
if (category) { url += category.get("url") + "/l"; } return Discourse.ajax(url);
url += "/top";
if (period) { url += "/" + period; }
return Discourse.ajax(url + ".json");
}).then(function (result) { }).then(function (result) {
var topList = Discourse.TopList.create({}); var topList = Discourse.TopList.create({ can_create_topic: result.can_create_topic });
Discourse.Site.currentProp('periods').forEach(function(period) { Discourse.Site.currentProp('periods').forEach(function(period) {
// if there is a list for that period // if there is a list for that period

View File

@ -78,7 +78,7 @@ Discourse.TopicList = Discourse.Model.extend({
}.observes('sortOrder.order', 'sortOrder.descending'), }.observes('sortOrder.order', 'sortOrder.descending'),
loadMore: function() { loadMore: function() {
if (this.get('loadingMore')) { return Ember.RSVP.reject(); } if (this.get('loadingMore')) { return Ember.RSVP.resolve(); }
var moreUrl = this.get('more_topics_url'); var moreUrl = this.get('more_topics_url');
if (moreUrl) { if (moreUrl) {
@ -105,7 +105,7 @@ Discourse.TopicList = Discourse.Model.extend({
}); });
} else { } else {
// Return a promise indicating no more results // Return a promise indicating no more results
return Ember.RSVP.reject(); return Ember.RSVP.resolve();
} }
}, },

View File

@ -21,7 +21,7 @@ Discourse.Route.buildRoutes(function() {
this.resource('discovery', { path: '/' }, function() { this.resource('discovery', { path: '/' }, function() {
router = this; router = this;
// top // top
this.route('top'); this.route('top');
this.route('topCategory', { path: '/category/:slug/l/top' }); this.route('topCategory', { path: '/category/:slug/l/top' });
@ -56,9 +56,7 @@ Discourse.Route.buildRoutes(function() {
// default filter for a category // default filter for a category
this.route('category', { path: '/category/:slug' }); this.route('category', { path: '/category/:slug' });
this.route('category', { path: '/category/:slug/more' });
this.route('categoryNone', { path: '/category/:slug/none' }); this.route('categoryNone', { path: '/category/:slug/none' });
this.route('categoryNone', { path: '/category/:slug/none/more' });
this.route('category', { path: '/category/:parentSlug/:slug' }); this.route('category', { path: '/category/:parentSlug/:slug' });
// homepage // homepage

View File

@ -6,11 +6,6 @@
**/ **/
function buildTopicRoute(filter) { function buildTopicRoute(filter) {
return Discourse.Route.extend({ return Discourse.Route.extend({
renderTemplate: function() {
this.render('navigation/default', { outlet: 'navigation-bar' });
this.render('discovery/topics', { controller: 'discoveryTopics', outlet: 'list-container' });
},
beforeModel: function() { beforeModel: function() {
this.controllerFor('navigationDefault').set('filterMode', filter); this.controllerFor('navigationDefault').set('filterMode', filter);
}, },
@ -27,10 +22,15 @@ function buildTopicRoute(filter) {
}, },
setupController: function(controller, model) { setupController: function(controller, model) {
var filterText = I18n.t('filters.' + filter + '.title', {count: 0}); var filterText = I18n.t('filters.' + filter.replace('/', '.') + '.title', {count: 0});
Discourse.set('title', I18n.t('filters.with_topics', {filter: filterText})); Discourse.set('title', I18n.t('filters.with_topics', {filter: filterText}));
this.controllerFor('discoveryTopics').set('model', model); this.controllerFor('discoveryTopics').set('model', model);
this.controllerFor('navigationDefault').set('canCreateTopic', model.get('can_create_topic')); this.controllerFor('navigationDefault').set('canCreateTopic', model.get('can_create_topic'));
},
renderTemplate: function() {
this.render('navigation/default', { outlet: 'navigation-bar' });
this.render('discovery/topics', { controller: 'discoveryTopics', outlet: 'list-container' });
} }
}); });
} }
@ -44,11 +44,6 @@ function buildTopicRoute(filter) {
**/ **/
function buildCategoryRoute(filter, params) { function buildCategoryRoute(filter, params) {
return Discourse.Route.extend({ return Discourse.Route.extend({
renderTemplate: function() {
this.render('navigation/category', { outlet: 'navigation-bar' });
this.render('discovery/topics', { controller: 'discoveryTopics', outlet: 'list-container' });
},
model: function(params) { model: function(params) {
return Discourse.Category.findBySlug(params.slug, params.parentSlug); return Discourse.Category.findBySlug(params.slug, params.parentSlug);
}, },
@ -74,10 +69,8 @@ function buildCategoryRoute(filter, params) {
} }
// If all the categories are the same, we can hide them // If all the categories are the same, we can hide them
var diffCat = list.get('topics').find(function (t) { var hideCategory = !list.get('topics').find(function (t) { return t.get('category') !== model; });
return t.get('category') !== model; list.set('hideCategory', hideCategory);
});
if (!diffCat) { list.set('hideCategory', true); }
self.set('topics', list); self.set('topics', list);
}); });
}, },
@ -85,13 +78,18 @@ function buildCategoryRoute(filter, params) {
setupController: function(controller, model) { setupController: function(controller, model) {
var topics = this.get('topics'); var topics = this.get('topics');
var filterText = I18n.t('filters.' + filter + '.title', {count: 0}); var filterText = I18n.t('filters.' + filter.replace('/', '.') + '.title', {count: 0});
Discourse.set('title', I18n.t('filters.with_category', {filter: filterText, category: model.get('name').capitalize()})); Discourse.set('title', I18n.t('filters.with_category', {filter: filterText, category: model.get('name').capitalize()}));
this.controllerFor('discoveryTopics').set('model', topics); this.controllerFor('discoveryTopics').set('model', topics);
this.controllerFor('navigationCategory').set('canCreateTopic', topics.get('can_create_topic')); this.controllerFor('navigationCategory').set('canCreateTopic', topics.get('can_create_topic'));
this.set('topics', null); this.set('topics', null);
}, },
renderTemplate: function() {
this.render('navigation/category', { outlet: 'navigation-bar' });
this.render('discovery/topics', { controller: 'discoveryTopics', outlet: 'list-container' });
},
deactivate: function() { deactivate: function() {
this._super(); this._super();
this.controllerFor('search').set('searchContext', null); this.controllerFor('search').set('searchContext', null);

View File

@ -1,40 +0,0 @@
/**
Handles the routes related to "Top"
@class DiscoveryTopRoute
@extends Discourse.Route
@namespace Discourse
@module Discourse
**/
Discourse.DiscoveryTopRoute = Discourse.Route.extend({
model: function(params) {
return Discourse.Category.findBySlug(params.slug, params.parentSlug);
},
beforeModel: function() {
this.controllerFor('navigationCategory').set('filterMode', 'top');
},
afterModel: function(model) {
var self = this;
return Discourse.TopList.find(null, model).then(function(list) {
self.set('topics', list);
});
},
renderTemplate: function() {
this.render('navigation/category', { outlet: 'navigation-bar' });
this.render('discovery/top', { outlet: 'list-container' });
},
setupController: function(controller, model) {
this.controllerFor('discoveryTop').set('model', this.get('topics'));
this.controllerFor('discoveryTop').set('category', model);
this.controllerFor('navigationCategory').set('category', model);
Discourse.set('title', I18n.t('filters.top.title'));
this.set('topics', null);
}
});
Discourse.DiscoveryTopCategoryRoute = Discourse.DiscoveryTopRoute.extend({});
Discourse.DiscoveryTopCategoryNoneRoute = Discourse.DiscoveryTopRoute.extend({});

View File

@ -0,0 +1,89 @@
/**
Handles the routes related to "Top"
@class DiscoveryTopRoute
@extends Discourse.Route
@namespace Discourse
@module Discourse
**/
Discourse.DiscoveryTopRoute = Discourse.Route.extend({
beforeModel: function() {
this.controllerFor('navigationDefault').set('filterMode', 'top');
},
model: function() {
return Discourse.TopList.find();
},
setupController: function(controller, model) {
var filterText = I18n.t('filters.top.title');
Discourse.set('title', I18n.t('filters.with_topics', {filter: filterText}));
this.controllerFor('discoveryTop').setProperties({ model: model, category: null });
this.controllerFor('navigationDefault').set('canCreateTopic', model.get('can_create_topic'));
},
renderTemplate: function() {
this.render('navigation/default', { outlet: 'navigation-bar' });
this.render('discovery/top', { outlet: 'list-container' });
}
});
/**
Handles the routes related to "Top" within a category
@class DiscoveryTopCategoryRoute
@extends Discourse.Route
@namespace Discourse
@module Discourse
**/
Discourse.DiscoveryTopCategoryRoute = Discourse.Route.extend({
model: function(params) {
return Discourse.Category.findBySlug(params.slug, params.parentSlug);
},
afterModel: function(model) {
var self = this,
noSubcategories = this.get('no_subcategories'),
filterMode = "category/" + Discourse.Category.slugFor(model) + (noSubcategories ? "/none" : "") + "/l/top";
this.controllerFor('search').set('searchContext', model);
var opts = { category: model, filterMode: filterMode};
opts.noSubcategories = noSubcategories;
opts.canEditCategory = Discourse.User.current('staff');
this.controllerFor('navigationCategory').setProperties(opts);
return Discourse.TopList.find(filterMode).then(function(list) {
// If all the categories are the same, we can hide them
var hideCategory = !_.any(Discourse.Site.currentProp('periods'), function(period){
if (list[period]) {
return list[period].get('topics').find(function(t) { return t.get('category') !== model; });
}
return false;
});
list.set('hideCategory', hideCategory);
self.set('topList', list);
});
},
setupController: function(controller, model) {
var topList = this.get('topList');
var filterText = I18n.t('filters.top.title');
Discourse.set('title', I18n.t('filters.with_category', {filter: filterText, category: model.get('name').capitalize()}));
this.controllerFor('discoveryTop').setProperties({ model: topList, category: model });
this.controllerFor('navigationCategory').set('canCreateTopic', topList.get('can_create_topic'));
this.set('topList', null);
},
renderTemplate: function() {
this.render('navigation/category', { outlet: 'navigation-bar' });
this.render('discovery/top', { controller: 'discoveryTop', outlet: 'list-container' });
},
deactivate: function() {
this._super();
this.controllerFor('search').set('searchContext', null);
}
});
Discourse.DiscoveryTopCategoryNoneRoute = Discourse.DiscoveryTopCategoryRoute.extend({no_subcategories: true});

View File

@ -5,9 +5,11 @@
{{#sortable-heading sortBy="default" sortOrder=sortOrder}} {{#sortable-heading sortBy="default" sortOrder=sortOrder}}
{{i18n topic.title}} {{i18n topic.title}}
{{/sortable-heading}} {{/sortable-heading}}
{{#sortable-heading sortBy="category" sortOrder=sortOrder}} {{#unless controller.hideCategory}}
{{i18n category_title}} {{#sortable-heading sortBy="category" sortOrder=sortOrder}}
{{/sortable-heading}} {{i18n category_title}}
{{/sortable-heading}}
{{/unless}}
{{#sortable-heading sortBy="posts" number=true sortOrder=sortOrder}} {{#sortable-heading sortBy="posts" number=true sortOrder=sortOrder}}
{{i18n posts}} {{i18n posts}}
{{/sortable-heading}} {{/sortable-heading}}
@ -38,9 +40,11 @@
{{/if}} {{/if}}
</td> </td>
{{#unless controller.hideCategory}}
<td class="category"> <td class="category">
{{categoryLink topic.category}} {{categoryLink topic.category}}
</td> </td>
{{/unless}}
<td class='num posts'><a href="{{unbound topic.lastUnreadUrl}}" class='badge-posts'>{{number topic.posts_count numberKey="posts_long"}}</a></td> <td class='num posts'><a href="{{unbound topic.lastUnreadUrl}}" class='badge-posts'>{{number topic.posts_count numberKey="posts_long"}}</a></td>

View File

@ -7,28 +7,28 @@
{{#if content.yearly}} {{#if content.yearly}}
<div class="clearfix"> <div class="clearfix">
<h2>{{i18n filters.top.this_year}}</h2> <h2>{{i18n filters.top.this_year}}</h2>
{{basic-topic-list topicList=content.yearly}} {{basic-topic-list topicList=content.yearly hideCategory=hideCategory}}
{{#if content.yearly.topics.length}}<a href="{{unbound showMoreYearlyUrl}}" class='btn pull-right'>{{i18n show_more}}</a>{{/if}} {{#if content.yearly.topics.length}}<a href="{{unbound showMoreYearlyUrl}}" class='btn pull-right'>{{i18n show_more}}</a>{{/if}}
</div> </div>
{{/if}} {{/if}}
{{#if content.monthly}} {{#if content.monthly}}
<div class="clearfix"> <div class="clearfix">
<h2>{{i18n filters.top.this_month}}</h2> <h2>{{i18n filters.top.this_month}}</h2>
{{basic-topic-list topicList=content.monthly}} {{basic-topic-list topicList=content.monthly hideCategory=hideCategory}}
{{#if content.monthly.topics.length}}<a href="{{unbound showMoreMonthlyUrl}}" class='btn pull-right'>{{i18n show_more}}</a>{{/if}} {{#if content.monthly.topics.length}}<a href="{{unbound showMoreMonthlyUrl}}" class='btn pull-right'>{{i18n show_more}}</a>{{/if}}
</div> </div>
{{/if}} {{/if}}
{{#if content.weekly}} {{#if content.weekly}}
<div class="clearfix"> <div class="clearfix">
<h2>{{i18n filters.top.this_week}}</h2> <h2>{{i18n filters.top.this_week}}</h2>
{{basic-topic-list topicList=content.weekly}} {{basic-topic-list topicList=content.weekly hideCategory=hideCategory}}
{{#if content.weekly.topics.length}}<a href="{{unbound showMoreWeeklyUrl}}" class='btn pull-right'>{{i18n show_more}}</a>{{/if}} {{#if content.weekly.topics.length}}<a href="{{unbound showMoreWeeklyUrl}}" class='btn pull-right'>{{i18n show_more}}</a>{{/if}}
</div> </div>
{{/if}} {{/if}}
{{#if content.daily}} {{#if content.daily}}
<div class="clearfix"> <div class="clearfix">
<h2>{{i18n filters.top.today}}</h2> <h2>{{i18n filters.top.today}}</h2>
{{basic-topic-list topicList=content.daily}} {{basic-topic-list topicList=content.daily hideCategory=hideCategory}}
{{#if content.daily.topics.length}}<a href="{{unbound showMoreDailyUrl}}" class='btn pull-right'>{{i18n show_more}}</a>{{/if}} {{#if content.daily.topics.length}}<a href="{{unbound showMoreDailyUrl}}" class='btn pull-right'>{{i18n show_more}}</a>{{/if}}
</div> </div>
{{/if}} {{/if}}

View File

@ -9,7 +9,7 @@
{{#sortable-heading sortBy="default" sortOrder=sortOrder}} {{#sortable-heading sortBy="default" sortOrder=sortOrder}}
{{i18n topic.title}} {{i18n topic.title}}
{{/sortable-heading}} {{/sortable-heading}}
{{#unless category}} {{#unless controller.hideCategory}}
{{#sortable-heading sortBy="category" sortOrder=sortOrder}} {{#sortable-heading sortBy="category" sortOrder=sortOrder}}
{{i18n category_title}} {{i18n category_title}}
{{/sortable-heading}} {{/sortable-heading}}
@ -59,7 +59,7 @@
{{footerMessage}} {{footerMessage}}
{{#if allLoaded}} {{#if allLoaded}}
{{#if latest}} {{#if latest}}
{{#if canCreateTopic}} {{#if can_create_topic}}
<a href='#' {{action createTopic}}>{{i18n topic.suggest_create_topic}}</a> <a href='#' {{action createTopic}}>{{i18n topic.suggest_create_topic}}</a>
{{/if}} {{/if}}
{{else}} {{else}}

View File

@ -20,7 +20,7 @@ Discourse.DiscoveryTopicsView = Discourse.View.extend(Discourse.LoadMore, {
loadMore: function() { loadMore: function() {
var self = this; var self = this;
Discourse.notifyTitle(0); Discourse.notifyTitle(0);
self.get('controller').loadMoreTopics().then(function (hasMoreResults) { this.get('controller').loadMoreTopics().then(function (hasMoreResults) {
Em.run.schedule('afterRender', function() { Em.run.schedule('afterRender', function() {
self.saveScrollPosition(); self.saveScrollPosition();
}); });

View File

@ -13,6 +13,7 @@
float: left; float: left;
margin-bottom: 15px; margin-bottom: 15px;
} }
.btn { .btn {
float: right; float: right;
margin-left: 8px; margin-left: 8px;
@ -21,23 +22,20 @@
font-weight: normal; font-weight: normal;
} }
a.badge-category {padding: 3px 12px; font-size: 16px; a.badge-category {
padding: 3px 12px;
font-size: 16px;
&.category-dropdown-button { &.category-dropdown-button {
padding: 3px 9px 2px 9px; padding: 3px 9px;
i { height: 20px; }
i {height: 20px;}
} }
} }
.badge-category { .badge-category {
font-weight: normal; font-weight: normal;
text-transform: capitalize; text-transform: capitalize;
} }
} }

View File

@ -10,7 +10,7 @@ class ListController < ApplicationController
:top_lists, TopTopic.periods.map { |p| "top_#{p}".to_sym } :top_lists, TopTopic.periods.map { |p| "top_#{p}".to_sym }
].flatten ].flatten
before_filter :set_category, only: [:category, :category_feed] before_filter :set_category, only: [:category_feed]
skip_before_filter :check_xhr skip_before_filter :check_xhr
# Create our filters # Create our filters
@ -151,19 +151,19 @@ class ListController < ApplicationController
private private
def set_category def set_category
slug = params.fetch(:category) slug_or_id = params.fetch(:category)
parent_slug = params[:parent_category] parent_slug_or_id = params[:parent_category]
parent_category_id = nil parent_category_id = nil
if parent_slug.present? if parent_slug.present?
parent_category_id = Category.where(slug: parent_slug).pluck(:id).first || parent_category_id = Category.where(slug: parent_slug_or_id).pluck(:id).first ||
Category.where(id: parent_slug.to_i).pluck(:id).first Category.where(id: parent_slug_or_id.to_i).pluck(:id).first
raise Discourse::NotFound.new if parent_category_id.blank? raise Discourse::NotFound.new if parent_category_id.blank?
end end
@category = Category.where(slug: slug, parent_category_id: parent_category_id).includes(:featured_users).first || @category = Category.where(slug: slug_or_id, parent_category_id: parent_category_id).includes(:featured_users).first ||
Category.where(id: slug.to_i, parent_category_id: parent_category_id).includes(:featured_users).first Category.where(id: slug_or_id.to_i, parent_category_id: parent_category_id).includes(:featured_users).first
end end
def build_topic_list_options def build_topic_list_options
@ -172,7 +172,7 @@ class ListController < ApplicationController
menu_item = menu_items.select { |item| item.query_should_exclude_category?(action_name, params[:format]) }.first menu_item = menu_items.select { |item| item.query_should_exclude_category?(action_name, params[:format]) }.first
# exclude_category = 1. from params / 2. parsed from top menu / 3. nil # exclude_category = 1. from params / 2. parsed from top menu / 3. nil
result = { options = {
page: params[:page], page: params[:page],
topic_ids: param_to_integer_list(:topic_ids), topic_ids: param_to_integer_list(:topic_ids),
exclude_category: (params[:exclude_category] || menu_item.try(:filter)), exclude_category: (params[:exclude_category] || menu_item.try(:filter)),
@ -181,8 +181,9 @@ class ListController < ApplicationController
sort_descending: params[:sort_descending], sort_descending: params[:sort_descending],
status: params[:status] status: params[:status]
} }
result[:no_subcategories] = true if params[:no_subcategories] == 'true' options[:no_subcategories] = true if params[:no_subcategories] == 'true'
result
options
end end
def list_target_user def list_target_user

View File

@ -607,7 +607,7 @@ class User < ActiveRecord::Base
private private
def previous_visit_at_update_required?(timestamp) def previous_visit_at_update_required?(timestamp)
seen_before? && last_seen_at < (timestamp - SiteSetting.previous_visit_timeout_hours.hours) seen_before? && (last_seen_at < (timestamp - SiteSetting.previous_visit_timeout_hours.hours))
end end
def update_previous_visit(timestamp) def update_previous_visit(timestamp)

View File

@ -1,5 +1,11 @@
class TopListSerializer < ApplicationSerializer class TopListSerializer < ApplicationSerializer
attribute :can_create_topic
def can_create_topic
scope.can_create?(Topic)
end
TopTopic.periods.each do |period| TopTopic.periods.each do |period|
attribute period attribute period

View File

@ -1118,6 +1118,14 @@ en:
top: top:
title: "Top" title: "Top"
help: "a selection of the best topics" help: "a selection of the best topics"
yearly:
title: "Top Yearly"
monthly:
title: "Top Monthly"
weekly:
title: "Top Weekly"
daily:
title: "Top Daily"
this_year: "This year" this_year: "This year"
this_month: "This month" this_month: "This month"
this_week: "This week" this_week: "This week"

View File

@ -540,7 +540,7 @@ cs:
ga_domain_name: "Doménové jméno pro Google analytics, např. mysite.com; viz http://google.com/analytics" ga_domain_name: "Doménové jméno pro Google analytics, např. mysite.com; viz http://google.com/analytics"
enable_escaped_fragments: "Povolit alternativní řešení, které pomůže starým webovým robotům indexovat váš web. VAROVÁNÍ: povolte pouze v případě, že to opravdu potřebujete." enable_escaped_fragments: "Povolit alternativní řešení, které pomůže starým webovým robotům indexovat váš web. VAROVÁNÍ: povolte pouze v případě, že to opravdu potřebujete."
enable_noscript_support: "Povolit podporu &lt;noscript&gt; tagu" enable_noscript_support: "Povolit podporu &lt;noscript&gt; tagu"
top_menu: "Určuje, které položky se zobrazí v navigaci na hlavní stránce a v jakém pořadí. Příklad: latest|hot|read|starred|unread|new|posted|categories" top_menu: "Určuje, které položky se zobrazí v navigaci na hlavní stránce a v jakém pořadí. Příklad: latest|new|unread|starred|categories|top|read|posted"
post_menu: "Určuje, které položky se zobrazí v menu u příspěvku a v jakém pořadí. Příklad: like|edit|flag|delete|share|bookmark|reply" post_menu: "Určuje, které položky se zobrazí v menu u příspěvku a v jakém pořadí. Příklad: like|edit|flag|delete|share|bookmark|reply"
share_links: "Určuje, které položky se zobrazí ve sdílecím dialogu a v jakém pořadí. Příklad: twitter|facebook|google+" share_links: "Určuje, které položky se zobrazí ve sdílecím dialogu a v jakém pořadí. Příklad: twitter|facebook|google+"
track_external_right_clicks: "Počítat kliknutí na externí odkazy pravým tlačítkem (např. otevření do nové záložky); defaultně zakázáno kvůli přepisu URL" track_external_right_clicks: "Počítat kliknutí na externí odkazy pravým tlačítkem (např. otevření do nové záložky); defaultně zakázáno kvůli přepisu URL"

View File

@ -599,7 +599,7 @@ da:
ga_domain_name: "Google analytics domænenavn, f.eks.: example.com; se http://google.com/analytics." ga_domain_name: "Google analytics domænenavn, f.eks.: example.com; se http://google.com/analytics."
enable_escaped_fragments: "Aktivér workaround som kan hjælpe ældre webcrawlers med at indeksere sitet. ADVARSEL: aktivér kun hvis du har behov for det." enable_escaped_fragments: "Aktivér workaround som kan hjælpe ældre webcrawlers med at indeksere sitet. ADVARSEL: aktivér kun hvis du har behov for det."
enable_noscript_support: "Aktivér standard webcrawler søgemaskineunderstøttelse vha. noscript-tagget" enable_noscript_support: "Aktivér standard webcrawler søgemaskineunderstøttelse vha. noscript-tagget"
top_menu: "Angiv hvilke elementer der skal vises i hjemmesidenavigationen, og i hvilken rækkefølge. Eksempel: latest|hot|read|starred|unread|new|posted|categories." top_menu: "Angiv hvilke elementer der skal vises i hjemmesidenavigationen, og i hvilken rækkefølge. Eksempel: latest|new|unread|starred|categories|top|read|posted."
post_menu: "Angiv hvilke elementer der skal vises i indlægsmenuen, og i hvilken rækkefølge. Eksempel: like|edit|flag|delete|share|bookmark|reply." post_menu: "Angiv hvilke elementer der skal vises i indlægsmenuen, og i hvilken rækkefølge. Eksempel: like|edit|flag|delete|share|bookmark|reply."
share_links: "Angiv hvilke elementer der skal vises i “del“-dialogboksen og i hvilken rækkefølge. Eksempel twitter|facebook|google+|email." share_links: "Angiv hvilke elementer der skal vises i “del“-dialogboksen og i hvilken rækkefølge. Eksempel twitter|facebook|google+|email."
track_external_right_clicks: "Spor højreklik på eksterne links (f.eks.: åbn i ny tab); deaktiveret som standard fordi den omskriver URLer" track_external_right_clicks: "Spor højreklik på eksterne links (f.eks.: åbn i ny tab); deaktiveret som standard fordi den omskriver URLer"

View File

@ -513,7 +513,7 @@ de:
ga_domain_name: "Google Analytics Domänenname, zum Beispiel: mysite.com; siehe http://google.com/analytics" ga_domain_name: "Google Analytics Domänenname, zum Beispiel: mysite.com; siehe http://google.com/analytics"
enable_escaped_fragments: "Aktiviere Umgehungslösung um älteren Suchmaschinen-Webcrawler zu helfen die Seite zu indexieren. ACHTUNG: Nur aktivieren falls wirklich nötig." enable_escaped_fragments: "Aktiviere Umgehungslösung um älteren Suchmaschinen-Webcrawler zu helfen die Seite zu indexieren. ACHTUNG: Nur aktivieren falls wirklich nötig."
enable_noscript_support: "Aktiviere standard Suchmaschinen-Webcrawler Unterstützung durch den noscript Tag" enable_noscript_support: "Aktiviere standard Suchmaschinen-Webcrawler Unterstützung durch den noscript Tag"
top_menu: "Bestimme, welche Navigationselemente in welcher Reihenfolge auftauchen. Beispiel: latest|hot|read|starred|unread|new|posted|categories" top_menu: "Bestimme, welche Navigationselemente in welcher Reihenfolge auftauchen. Beispiel: latest|new|unread|starred|categories|top|read|posted"
post_menu: "Bestimme, welche Funktionen in welcher Reihenfolge im Beitragsmenü auftauchen. Beispiel: like|edit|flag|delete|share|bookmark|reply" post_menu: "Bestimme, welche Funktionen in welcher Reihenfolge im Beitragsmenü auftauchen. Beispiel: like|edit|flag|delete|share|bookmark|reply"
share_links: "Bestimme, welche Dienste in welcher Reihenfolge im Teilen-Dialog auftauchen. Beispiel: twitter|facebook|google+|email" share_links: "Bestimme, welche Dienste in welcher Reihenfolge im Teilen-Dialog auftauchen. Beispiel: twitter|facebook|google+|email"
track_external_right_clicks: "Verfolge, welche externen Links per Rechtsklick geöffnet werden (zum Beispiel in einem neuen Browser-Tab). Standardmäßig deaktiviert, da dies URL-Rewrites erfordert." track_external_right_clicks: "Verfolge, welche externen Links per Rechtsklick geöffnet werden (zum Beispiel in einem neuen Browser-Tab). Standardmäßig deaktiviert, da dies URL-Rewrites erfordert."

View File

@ -600,7 +600,7 @@ en:
ga_domain_name: "Google analytics domain name, eg: mysite.com; see http://google.com/analytics" ga_domain_name: "Google analytics domain name, eg: mysite.com; see http://google.com/analytics"
enable_escaped_fragments: "Enable workaround solution to help older search engine webcrawlers index your site. WARNING: enable only if you have to." enable_escaped_fragments: "Enable workaround solution to help older search engine webcrawlers index your site. WARNING: enable only if you have to."
enable_noscript_support: "Enable standard webcrawler search engine support via the noscript tag" enable_noscript_support: "Enable standard webcrawler search engine support via the noscript tag"
top_menu: "Determine which items appear in the homepage navigation, and in what order. Example latest|hot|read|starred|unread|new|posted|categories" top_menu: "Determine which items appear in the homepage navigation, and in what order. Example latest|new|unread|starred|categories|top|read|posted"
post_menu: "Determine which items appear on the post menu, and in what order. Example like|edit|flag|delete|share|bookmark|reply" post_menu: "Determine which items appear on the post menu, and in what order. Example like|edit|flag|delete|share|bookmark|reply"
share_links: "Determine which items appear on the share dialog, and in what order. Example twitter|facebook|google+|email" share_links: "Determine which items appear on the share dialog, and in what order. Example twitter|facebook|google+|email"
track_external_right_clicks: "Track external links that are right clicked (eg: open in new tab) disabled by default because it rewrites URLs" track_external_right_clicks: "Track external links that are right clicked (eg: open in new tab) disabled by default because it rewrites URLs"

View File

@ -331,7 +331,7 @@ es:
post_undo_action_window_mins: "Número de segundos en los que a los usuarios se les permite revertir la acción en un post (like, flag, etc)" post_undo_action_window_mins: "Número de segundos en los que a los usuarios se les permite revertir la acción en un post (like, flag, etc)"
must_approve_users: "Los administradores deben aprovar a todos los usuarios antes de tener acceso" must_approve_users: "Los administradores deben aprovar a todos los usuarios antes de tener acceso"
ga_tracking_code: "Código de Google Analytics, ej: UA-12345678-9; visita http://google.com/analytics" ga_tracking_code: "Código de Google Analytics, ej: UA-12345678-9; visita http://google.com/analytics"
top_menu: "Determinar que items aparecen en la navegación de la home y en qué orden. Ejemplo latest|hot|read|starred|unread|new|posted|categories" top_menu: "Determinar que items aparecen en la navegación de la home y en qué orden. Ejemplo latest|new|unread|starred|categories|top|read|posted"
post_menu: "Determinar que items aparecen en el menú de post y en qué orden. Ejemplo like|edit|flag|delete|share|bookmark|reply" post_menu: "Determinar que items aparecen en el menú de post y en qué orden. Ejemplo like|edit|flag|delete|share|bookmark|reply"
track_external_right_clicks: "Track external links that are right clicked (eg: open in new tab) disabled by default because it rewrites URLs" track_external_right_clicks: "Track external links that are right clicked (eg: open in new tab) disabled by default because it rewrites URLs"
topics_per_page: "Cuantos topics son cargados por defecto en la página de lista de topics" topics_per_page: "Cuantos topics son cargados por defecto en la página de lista de topics"

View File

@ -551,7 +551,7 @@ fr:
ga_domain_name: "Domaine suivi par Google Analytics, par exemple : monsite.com, voir: http://google.com/analytics" ga_domain_name: "Domaine suivi par Google Analytics, par exemple : monsite.com, voir: http://google.com/analytics"
enable_escaped_fragments: "Activer une solution de contournement afin d'aider d'ancien moteurs de recherche d'indexer votre site. ATTENTION : à activer seulement si vous le devez." enable_escaped_fragments: "Activer une solution de contournement afin d'aider d'ancien moteurs de recherche d'indexer votre site. ATTENTION : à activer seulement si vous le devez."
enable_noscript_support: "Activer le support des moteurs de recherches standards via le tag noscript" enable_noscript_support: "Activer le support des moteurs de recherches standards via le tag noscript"
top_menu: "L'ordre des éléments dans le menu du haut. Exemple latest|hot|read|starred|unread|new|posted|categories" top_menu: "L'ordre des éléments dans le menu du haut. Exemple latest|new|unread|starred|categories|top|read|posted"
post_menu: "L'ordre des éléments dans le menu de rédaction. Exemple like|edit|flag|delete|share|bookmark|reply" post_menu: "L'ordre des éléments dans le menu de rédaction. Exemple like|edit|flag|delete|share|bookmark|reply"
share_links: "Liste ordonnée des boutons de partage. Exemple : twitter|facebook|google+|email" share_links: "Liste ordonnée des boutons de partage. Exemple : twitter|facebook|google+|email"
track_external_right_clicks: "Suivi des clics sur les liens externes (ex: ouverture dans un nouvel onglet) désactivé par défaut car nécessite une ré-écrite de toutes les urls" track_external_right_clicks: "Suivi des clics sur les liens externes (ex: ouverture dans un nouvel onglet) désactivé par défaut car nécessite une ré-écrite de toutes les urls"

View File

@ -342,7 +342,7 @@ id:
post_undo_action_window_mins: "Number of seconds users are allowed to reverse actions on a post (like, flag, etc)" post_undo_action_window_mins: "Number of seconds users are allowed to reverse actions on a post (like, flag, etc)"
must_approve_users: "Admins must approve all users before they gain access" must_approve_users: "Admins must approve all users before they gain access"
ga_tracking_code: "Google analytics tracking code code, eg: UA-12345678-9; see http://google.com/analytics" ga_tracking_code: "Google analytics tracking code code, eg: UA-12345678-9; see http://google.com/analytics"
top_menu: "Determine which items appear in the homepage navigation, and in what order. Example latest|hot|read|starred|unread|new|posted|categories" top_menu: "Determine which items appear in the homepage navigation, and in what order. Example latest|new|unread|starred|categories|top|read|posted"
post_menu: "Determine which items appear on the post menu, and in what order. Example like|edit|flag|delete|share|bookmark|reply" post_menu: "Determine which items appear on the post menu, and in what order. Example like|edit|flag|delete|share|bookmark|reply"
track_external_right_clicks: "Track external links that are right clicked (eg: open in new tab) disabled by default because it rewrites URLs" track_external_right_clicks: "Track external links that are right clicked (eg: open in new tab) disabled by default because it rewrites URLs"
topics_per_page: "How many topics are loaded by default on the topics list page" topics_per_page: "How many topics are loaded by default on the topics list page"

View File

@ -462,7 +462,7 @@ it:
must_approve_users: "Gli amministratori devono autorizzare ogni utente prima che esso abbia accesso" must_approve_users: "Gli amministratori devono autorizzare ogni utente prima che esso abbia accesso"
ga_tracking_code: "Codice Google Analytics per il tracking, es: UA-12345678-9; per informazioni http://google.com/analytics" ga_tracking_code: "Codice Google Analytics per il tracking, es: UA-12345678-9; per informazioni http://google.com/analytics"
ga_domain_name: "Nome del Dominio Google analytics, esempio: miosito.com; see http://google.com/analytics" ga_domain_name: "Nome del Dominio Google analytics, esempio: miosito.com; see http://google.com/analytics"
top_menu: "Determina quali elementi vengono mostrati nella navigazione in homepage, ed in quale ordine. Esempio latest|hot|read|starred|unread|new|posted|categories" top_menu: "Determina quali elementi vengono mostrati nella navigazione in homepage, ed in quale ordine. Esempio latest|new|unread|starred|categories|top|read|posted"
post_menu: "Determina quali elementi vengono mostrati nel menù del post, ed in quale ordine. Esempio like|edit|flag|delete|share|bookmark|reply" post_menu: "Determina quali elementi vengono mostrati nel menù del post, ed in quale ordine. Esempio like|edit|flag|delete|share|bookmark|reply"
share_links: "Determina quali elementi vengono mostrati nella dialog di condivisione e in quale ordine. Esempio twitter|facebook|google+" share_links: "Determina quali elementi vengono mostrati nella dialog di condivisione e in quale ordine. Esempio twitter|facebook|google+"
track_external_right_clicks: "Traccia i link esterni sui quali viene fatto click destro (es: apri in una nuova tab). Disabilitato di default perché viene fatto il rewrite delle URL" track_external_right_clicks: "Traccia i link esterni sui quali viene fatto click destro (es: apri in una nuova tab). Disabilitato di default perché viene fatto il rewrite delle URL"

View File

@ -533,7 +533,7 @@ ja:
ga_domain_name: "Google analytics のドメイン名。例: mysite.com; 参考 http://google.com/analytics" ga_domain_name: "Google analytics のドメイン名。例: mysite.com; 参考 http://google.com/analytics"
enable_escaped_fragments: "古いサーチエンジンクローラがあなたのサイトのインデックスを構築するのをサポートするワークアラウンドを有効にする。注意: 必要な場合のみ有効にすることを推奨。" enable_escaped_fragments: "古いサーチエンジンクローラがあなたのサイトのインデックスを構築するのをサポートするワークアラウンドを有効にする。注意: 必要な場合のみ有効にすることを推奨。"
enable_noscript_support: "noscript タグ経由でアクセスしてきた標準サーチエンジンクローラのサポートを有効にする" enable_noscript_support: "noscript タグ経由でアクセスしてきた標準サーチエンジンクローラのサポートを有効にする"
top_menu: "ホームページナビゲーションに表示する項目を指定。例 latest|hot|read|starred|unread|new|posted|categories" top_menu: "ホームページナビゲーションに表示する項目を指定。例 latest|new|unread|starred|categories|top|read|posted"
post_menu: "ポストメニューに表示する項目を指定。例 like|edit|flag|delete|share|bookmark|reply" post_menu: "ポストメニューに表示する項目を指定。例 like|edit|flag|delete|share|bookmark|reply"
share_links: "シェアダイアログに表示する項目を指定。例 twitter|facebook|google+|email" share_links: "シェアダイアログに表示する項目を指定。例 twitter|facebook|google+|email"
track_external_right_clicks: "右クリックされた外部リンクをトラックする (例: 新しいタブで開く)。URL のリライトを要するためデフォルトでは無効化されています" track_external_right_clicks: "右クリックされた外部リンクをトラックする (例: 新しいタブで開く)。URL のリライトを要するためデフォルトでは無効化されています"

View File

@ -552,7 +552,7 @@ ko:
ga_domain_name: "Google analytics domain name, eg: mysite.com; see http://google.com/analytics" ga_domain_name: "Google analytics domain name, eg: mysite.com; see http://google.com/analytics"
enable_escaped_fragments: "당신의 사이트의 오래된 정보를 검색하기 위한 웹크롤러 Workaround 솔루션을 활성. 주의: 꼭 필요할 때만 활성화" enable_escaped_fragments: "당신의 사이트의 오래된 정보를 검색하기 위한 웹크롤러 Workaround 솔루션을 활성. 주의: 꼭 필요할 때만 활성화"
enable_noscript_support: "당신의 사이트를 검색하기 위한 noscript 테그를 이용한 일반적인 웹 크롤러를 활성화" enable_noscript_support: "당신의 사이트를 검색하기 위한 noscript 테그를 이용한 일반적인 웹 크롤러를 활성화"
top_menu: "Determine which items appear in the homepage navigation, and in what order. Example latest|hot|read|starred|unread|new|posted|categories" top_menu: "Determine which items appear in the homepage navigation, and in what order. Example latest|new|unread|starred|categories|top|read|posted"
post_menu: "게시물 메뉴에 어떤 사항들이 무슨 순서로 올라올지 결정합니다. 예: 좋아요|수정|신고|삭제|공유|북마크|답글" post_menu: "게시물 메뉴에 어떤 사항들이 무슨 순서로 올라올지 결정합니다. 예: 좋아요|수정|신고|삭제|공유|북마크|답글"
share_links: "Determine which items appear on the share dialog, and in what order. Example twitter|facebook|google+" share_links: "Determine which items appear on the share dialog, and in what order. Example twitter|facebook|google+"
track_external_right_clicks: "Track external links that are right clicked (eg: open in new tab) disabled by default because it rewrites URLs" track_external_right_clicks: "Track external links that are right clicked (eg: open in new tab) disabled by default because it rewrites URLs"

View File

@ -564,7 +564,7 @@ nl:
ga_domain_name: "Google analytics domeinnaam, bijv. mijnsite.nl; zie http://google.com/analytics" ga_domain_name: "Google analytics domeinnaam, bijv. mijnsite.nl; zie http://google.com/analytics"
enable_escaped_fragments: "Schakel workaround in om oude crawlers je site te kunnen laten indexeren. WAARSCHUWING: gebruik dit alleen als je het echt nodig hebt." enable_escaped_fragments: "Schakel workaround in om oude crawlers je site te kunnen laten indexeren. WAARSCHUWING: gebruik dit alleen als je het echt nodig hebt."
enable_noscript_support: "Ondersteun &lt;noscript&gt; tag" enable_noscript_support: "Ondersteun &lt;noscript&gt; tag"
top_menu: "De volgorde en selectie van items in het hoofdmenu. Bijvoorbeeld latest|hot|read|starred|unread|new|posted|categories" top_menu: "De volgorde en selectie van items in het hoofdmenu. Bijvoorbeeld latest|new|unread|starred|categories|top|read|posted"
post_menu: "De volgorde en selectie van items in het berichtmenu. Bijvoorbeeld like|edit|flag|delete|share|bookmark|reply" post_menu: "De volgorde en selectie van items in het berichtmenu. Bijvoorbeeld like|edit|flag|delete|share|bookmark|reply"
share_links: "De volgorde en selectie van items in het deelmenu. Bijvoorbeeld twitter|facebook|google+" share_links: "De volgorde en selectie van items in het deelmenu. Bijvoorbeeld twitter|facebook|google+"
track_external_right_clicks: "Houd bij welke externe links met de rechtermuisknop worden aangeklikt (bijv: open in nieuwe tab). Dit staat standaard uit, gezien het de URLs moet herschrijven, waardoor het gebruiksgemak afneemt" track_external_right_clicks: "Houd bij welke externe links met de rechtermuisknop worden aangeklikt (bijv: open in nieuwe tab). Dit staat standaard uit, gezien het de URLs moet herschrijven, waardoor het gebruiksgemak afneemt"

View File

@ -283,7 +283,7 @@ pt:
post_undo_action_window_mins: "The window in which someone can reverse an action on a post (such as liking)" post_undo_action_window_mins: "The window in which someone can reverse an action on a post (such as liking)"
must_approve_users: "The owners of the forum must approve users before they gain access." must_approve_users: "The owners of the forum must approve users before they gain access."
ga_tracking_code: "Google analytics tracking code, see: http://google.com/analytics" ga_tracking_code: "Google analytics tracking code, see: http://google.com/analytics"
top_menu: "The order of the items in the top menu. Example latest|hot|read|starred|unread|new|posted|categories" top_menu: "The order of the items in the top menu. Example latest|new|unread|starred|categories|top|read|posted"
post_menu: "The order of the items on the post menu." post_menu: "The order of the items on the post menu."
max_length_show_reply: "Embedded replies to posts won't be shown if they directly below and are below this length." max_length_show_reply: "Embedded replies to posts won't be shown if they directly below and are below this length."
track_external_right_clicks: "Track external links that are right clicked (eg: open in new tab) disabled by default cause it has to re-write urls, hurting usability" track_external_right_clicks: "Track external links that are right clicked (eg: open in new tab) disabled by default cause it has to re-write urls, hurting usability"

View File

@ -544,7 +544,7 @@ pt_BR:
ga_domain_name: "Nome de domínio no Google Analytics, exemplo: meusite.com; see http://google.com/analytics" ga_domain_name: "Nome de domínio no Google Analytics, exemplo: meusite.com; see http://google.com/analytics"
enable_escaped_fragments: "Ativa solução alternativa que ajuda os mecanismos de busca antigos a indexarem o seu site. ALERTA: apenas ative se você realmente precisa disto." enable_escaped_fragments: "Ativa solução alternativa que ajuda os mecanismos de busca antigos a indexarem o seu site. ALERTA: apenas ative se você realmente precisa disto."
enable_noscript_support: "Ativar suporte a tag &lt;noscript&gt;" enable_noscript_support: "Ativar suporte a tag &lt;noscript&gt;"
top_menu: "A ordem dos items no menu de cima. Exemplo latest|hot|read|starred|unread|new|posted|categories" top_menu: "A ordem dos items no menu de cima. Exemplo latest|new|unread|starred|categories|top|read|posted"
post_menu: "A ordem dos items no menu da postagem." post_menu: "A ordem dos items no menu da postagem."
share_links: "Determine quais ítens aparecerem no diálogo de compartilhar, e em que ordem. Por exemplo: twitter|facebook|google+|email" share_links: "Determine quais ítens aparecerem no diálogo de compartilhar, e em que ordem. Por exemplo: twitter|facebook|google+|email"
track_external_right_clicks: "Rastrear cliques externos que são clicados com o botão direito (ex: abrir em nova aba) desativado por padrão, pois tem que reescrever urls, quebrando a usabilidade" track_external_right_clicks: "Rastrear cliques externos que são clicados com o botão direito (ex: abrir em nova aba) desativado por padrão, pois tem que reescrever urls, quebrando a usabilidade"

View File

@ -552,7 +552,7 @@ ru:
ga_domain_name: 'Доменное имя для Google analytics, например: mysite.com; смотрите http://google.com/analytics' ga_domain_name: 'Доменное имя для Google analytics, например: mysite.com; смотрите http://google.com/analytics'
enable_escaped_fragments: 'Включить поддержку escaped_fragments для устаревших поисковых роботов (типа Яндекс). Внимание: включайте только при крайней необходимости.' enable_escaped_fragments: 'Включить поддержку escaped_fragments для устаревших поисковых роботов (типа Яндекс). Внимание: включайте только при крайней необходимости.'
enable_noscript_support: 'Включить поддержку тэга noscript для поисковых роботов' enable_noscript_support: 'Включить поддержку тэга noscript для поисковых роботов'
top_menu: 'Определите, как должны располагаться элементы в навигации на главной странице. Пример: latest|hot|read|starred|unread|new|posted|categories' top_menu: 'Определите, как должны располагаться элементы в навигации на главной странице. Пример: latest|new|unread|starred|categories|top|read|posted'
post_menu: 'Определите, какие элементы должны отображаться в меню у сообщения и в какой последовательности. Пример: like|edit|flag|delete|share|bookmark|reply' post_menu: 'Определите, какие элементы должны отображаться в меню у сообщения и в какой последовательности. Пример: like|edit|flag|delete|share|bookmark|reply'
share_links: 'Определите, какие элементы должны отображаться в меню «Поделиться» и в какой последовательности. Пример: twitter|facebook|google+' share_links: 'Определите, какие элементы должны отображаться в меню «Поделиться» и в какой последовательности. Пример: twitter|facebook|google+'
track_external_right_clicks: 'Отслеживать внешние ссылки, открытые правой кнопкой мыши (например: открыть в новой вкладке), по умолчанию отключено, так как это перезаписывает пути' track_external_right_clicks: 'Отслеживать внешние ссылки, открытые правой кнопкой мыши (например: открыть в новой вкладке), по умолчанию отключено, так как это перезаписывает пути'

View File

@ -384,7 +384,7 @@ sv:
post_undo_action_window_mins: "Number of seconds users are allowed to reverse actions on a post (like, flag, etc)" post_undo_action_window_mins: "Number of seconds users are allowed to reverse actions on a post (like, flag, etc)"
must_approve_users: "Admins must approve all users before they gain access" must_approve_users: "Admins must approve all users before they gain access"
ga_tracking_code: "Google analytics tracking code code, eg: UA-12345678-9; see http://google.com/analytics" ga_tracking_code: "Google analytics tracking code code, eg: UA-12345678-9; see http://google.com/analytics"
top_menu: "Determine which items appear in the homepage navigation, and in what order. Example latest|hot|read|starred|unread|new|posted|categories" top_menu: "Determine which items appear in the homepage navigation, and in what order. Example latest|new|unread|starred|categories|top|read|posted"
post_menu: "Determine which items appear on the post menu, and in what order. Example like|edit|flag|delete|share|bookmark|reply" post_menu: "Determine which items appear on the post menu, and in what order. Example like|edit|flag|delete|share|bookmark|reply"
share_links: "Determine which items appear on the share dialog, and in what order. Example twitter|facebook|google+|email" share_links: "Determine which items appear on the share dialog, and in what order. Example twitter|facebook|google+|email"
track_external_right_clicks: "Track external links that are right clicked (eg: open in new tab) disabled by default because it rewrites URLs" track_external_right_clicks: "Track external links that are right clicked (eg: open in new tab) disabled by default because it rewrites URLs"

View File

@ -482,7 +482,7 @@ zh_CN:
must_approve_users: "用户必须获得管理员批准方能访问" must_approve_users: "用户必须获得管理员批准方能访问"
ga_tracking_code: "谷歌分析追踪代码例如UA-12345678-9。参考 http://google.com/analytics" ga_tracking_code: "谷歌分析追踪代码例如UA-12345678-9。参考 http://google.com/analytics"
ga_domain_name: "谷歌分析域名例如mysite.com参考 http://google.com/analytics" ga_domain_name: "谷歌分析域名例如mysite.com参考 http://google.com/analytics"
top_menu: "确定在主页导航条包含哪些条目以及排列顺序。例如latest|hot|read|starred|unread|new|posted|categories" top_menu: "确定在主页导航条包含哪些条目以及排列顺序。例如latest|new|unread|starred|categories|top|read|posted"
post_menu: "确定在帖子菜单条包含哪些条目以及排列顺序。例如like|edit|flag|delete|share|bookmark|reply" post_menu: "确定在帖子菜单条包含哪些条目以及排列顺序。例如like|edit|flag|delete|share|bookmark|reply"
share_links: "确定在分享对话框里显示哪些条目、以什么顺序显示。例如 twitter|facebook|google+" share_links: "确定在分享对话框里显示哪些条目、以什么顺序显示。例如 twitter|facebook|google+"
track_external_right_clicks: "追踪外部链接的右键点击例如在浏览器新标签打开缺省是禁用的因为它会重写URL" track_external_right_clicks: "追踪外部链接的右键点击例如在浏览器新标签打开缺省是禁用的因为它会重写URL"

View File

@ -203,14 +203,12 @@ Discourse::Application.routes.draw do
post "category/:category_id/move" => "categories#move", as: "category_move" post "category/:category_id/move" => "categories#move", as: "category_move"
get "category/:category.rss" => "list#category_feed", format: :rss, as: "category_feed" get "category/:category.rss" => "list#category_feed", format: :rss, as: "category_feed"
get "category/:category" => "list#category" get "category/:category" => "list#category"
get "category/:category/more" => "list#category"
get "category/:category/none" => "list#category_none" get "category/:category/none" => "list#category_none"
get "category/:category/none/more" => "list#category_none"
get "category/:parent_category/:category" => "list#category" get "category/:parent_category/:category" => "list#category"
get "category/:parent_category/:category/more" => "list#category"
get "top" => "list#top_lists" get "top" => "list#top_lists"
get "category/:category/l/top" => "list#top_lists" get "category/:category/l/top" => "list#top_lists"
get "category/:category/none/l/top" => "list#top_lists"
get "category/:parent_category/:category/l/top" => "list#top_lists" get "category/:parent_category/:category/l/top" => "list#top_lists"
TopTopic.periods.each do |period| TopTopic.periods.each do |period|