Merge branch 'tests-passed' of git://github.com/discourse/discourse into emoji_ru_localization

This commit is contained in:
Ilya Kuchaev 2014-10-10 11:49:48 -04:00
commit 30d4d6f381
47 changed files with 121 additions and 111 deletions

View File

@ -1,17 +1,9 @@
/**
The base admin route
@class AdminRoute
@extends Discourse.Route
@namespace Discourse
@module Discourse
**/
Discourse.AdminRoute = Discourse.Route.extend({
renderTemplate: function() {
this.render('admin/templates/admin');
},
activate: function() {
Discourse.set('title', I18n.t('admin_title'));
titleToken: function() {
return I18n.t('admin_title');
}
});

View File

@ -10,6 +10,7 @@ var DiscourseResolver = require('discourse/ember/resolver').default;
window.Discourse = Ember.Application.createWithMixins(Discourse.Ajax, {
rootElement: '#main',
_docTitle: null,
getURL: function(url) {
// If it's a non relative URL, return it.
@ -25,13 +26,8 @@ window.Discourse = Ember.Application.createWithMixins(Discourse.Ajax, {
Resolver: DiscourseResolver,
titleChanged: function() {
var title = "";
if (this.get('title')) {
title += "" + (this.get('title')) + " - ";
}
title += Discourse.SiteSettings.title;
_titleChanged: function() {
var title = this.get('_docTitle') || Discourse.SiteSettings.title;
// if we change this we can trigger changes on document.title
// only set if changed.
@ -44,14 +40,14 @@ window.Discourse = Ember.Application.createWithMixins(Discourse.Ajax, {
title = "(" + notifyCount + ") " + title;
}
if(title !== document.title) {
if (title !== document.title) {
// chrome bug workaround see: http://stackoverflow.com/questions/2952384/changing-the-window-title-when-focussing-the-window-doesnt-work-in-chrome
window.setTimeout(function() {
document.title = ".";
document.title = title;
}, 200);
}
}.observes('title', 'hasFocus', 'notifyCount'),
}.observes('_docTitle', 'hasFocus', 'notifyCount'),
faviconChanged: function() {
if(Discourse.User.currentProp('dynamic_favicon')) {

View File

@ -11,11 +11,21 @@ export default ObjectController.extend(Discourse.SelectedPostsCount, {
maxTitleLength: Discourse.computed.setting('max_topic_title_length'),
contextChanged: function(){
contextChanged: function() {
this.set('controllers.search.searchContext', this.get('model.searchContext'));
}.observes('topic'),
termChanged: function(){
_titleChanged: function() {
var title = this.get('title');
if (!Em.empty(title)) {
// Note normally you don't have to trigger this, but topic titles can be updated
// and are sometimes lazily loaded.
this.send('refreshTitle');
}
}.observes('title'),
termChanged: function() {
var dropdown = this.get('controllers.header.visibleDropdown');
var term = this.get('controllers.search.term');

View File

@ -6,7 +6,7 @@ Discourse.Dialect.addPreProcessor(function(text) {
if (!censorRegexp) {
var split = censored.split("|");
if (split && split.length) {
censorRegexp = new RegExp(split.map(function (t) { return "(" + t.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&') + ")"; }).join("|"), "ig");
censorRegexp = new RegExp("\\b" + split.map(function (t) { return "(" + t.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&') + ")"; }).join("|") + "\\b", "ig");
}
}
@ -14,7 +14,7 @@ Discourse.Dialect.addPreProcessor(function(text) {
var m = censorRegexp.exec(text);
while (m && m[0]) {
var replacement = new Array(m[0].length+1).join('■');
text = text.replace(m[0], replacement);
text = text.replace(new RegExp("\\b" + m[0] + "\\b", "ig"), replacement);
m = censorRegexp.exec(text);
}

View File

@ -12,16 +12,18 @@ export default {
// Out of the box, Discourse tries to track google analytics
// if it is present
if (typeof window._gaq !== 'undefined') {
pageTracker.on('change', function() {
window._gaq.push(['_trackPageview', window.location.pathname+window.location.search]);
pageTracker.on('change', function(url, title) {
window._gaq.push(["_set", "title", title]);
window._gaq.push(['_trackPageview', url]);
});
return;
}
// Also use Universal Analytics if it is present
if (typeof window.ga !== 'undefined') {
pageTracker.on('change', function() {
window.ga('send', 'pageview', window.location.pathname+window.location.search);
pageTracker.on('change', function(url, title) {
window.ga('send', 'pageview', {page: url, title: title});
});
}
}

View File

@ -1,18 +1,14 @@
/**
Called whenever the "page" changes. This allows us to set up analytics
Called whenever the "page" changes. This allows us to set up analytics
and other tracking.
To get notified when the page changes, you can install a hook like so:
```javascript
Discourse.PageTracker.current().on('change', function(url) {
console.log('the page changed to: ' + url);
Discourse.PageTracker.current().on('change', function(url, title) {
console.log('the page changed to: ' + url + ' and title ' + title);
});
```
@class PageTracker
@namespace Discourse
@module Discourse
**/
Discourse.PageTracker = Ember.Object.extend(Ember.Evented, {
start: function() {
@ -22,8 +18,8 @@ Discourse.PageTracker = Ember.Object.extend(Ember.Evented, {
self = this;
router.on('didTransition', function() {
var router = this;
self.trigger('change', router.get('url'));
this.send('refreshTitle');
self.trigger('change', this.get('url'), Discourse.get('_docTitle'));
});
this.set('started', true);
}

View File

@ -200,7 +200,7 @@ Discourse.Utilities = {
var fileSizeKB = file.size / 1024;
var maxSizeKB = Discourse.SiteSettings['max_' + type + '_size_kb'];
if (fileSizeKB > maxSizeKB) {
bootbox.alert(I18n.t('post.errors.' + type + '_too_large', { max_size_kb: maxSizeKB }));
bootbox.alert(I18n.t('post.errors.file_too_large', { max_size_kb: maxSizeKB }));
return false;
}
@ -292,7 +292,7 @@ Discourse.Utilities = {
// entity too large, usually returned from the web server
case 413:
var maxSizeKB = Discourse.SiteSettings.max_image_size_kb;
bootbox.alert(I18n.t('post.errors.image_too_large', { max_size_kb: maxSizeKB }));
bootbox.alert(I18n.t('post.errors.file_too_large', { max_size_kb: maxSizeKB }));
return;
// the error message is provided by the server

View File

@ -5,9 +5,7 @@ export default Discourse.Route.extend({
});
},
setupController: function(controller, model) {
controller.set('model', model);
Discourse.set('title', I18n.t('about.simple_title'));
titleToken: function() {
return I18n.t('about.simple_title');
}
});

View File

@ -1,6 +1,13 @@
var ApplicationRoute = Em.Route.extend({
siteTitle: Discourse.computed.setting('title'),
actions: {
_collectTitleTokens: function(tokens) {
tokens.push(this.get('siteTitle'));
Discourse.set('_docTitle', tokens.join(' - '));
},
showTopicEntrance: function(data) {
this.controllerFor('topic-entrance').send('show', data);
},

View File

@ -1,5 +1,4 @@
export default Discourse.Route.extend({
model: function() {
if (PreloadStore.get('badges')) {
return PreloadStore.getAndRemove('badges').then(function(json) {
@ -10,8 +9,7 @@ export default Discourse.Route.extend({
}
},
setupController: function(controller, model) {
controller.set('model', model);
Discourse.set('title', I18n.t('badges.title'));
titleToken: function() {
return I18n.t('badges.title');
}
});

View File

@ -1,4 +1,4 @@
export default Ember.Route.extend({
export default Discourse.Route.extend({
serialize: function(model) {
return {id: model.get('id'), slug: model.get('name').replace(/[^A-Za-z0-9_]+/g, '-').toLowerCase()};
},
@ -13,12 +13,18 @@ export default Ember.Route.extend({
}
},
titleToken: function() {
var model = this.modelFor('badges.show');
if (model) {
return model.get('displayName');
}
},
setupController: function(controller, model) {
Discourse.UserBadge.findByBadgeId(model.get('id')).then(function(userBadges) {
controller.set('userBadges', userBadges);
controller.set('userBadgesLoaded', true);
});
controller.set('model', model);
Discourse.set('title', model.get('displayName'));
}
});

View File

@ -61,13 +61,17 @@ export default function(filter, params) {
});
},
titleToken: function() {
var filterText = I18n.t('filters.' + filter.replace('/', '.') + '.title', {count: 0}),
model = this.currentModel;
return I18n.t('filters.with_category', { filter: filterText, category: model.get('name') });
},
setupController: function(controller, model) {
var topics = this.get('topics'),
periods = this.controllerFor('discovery').get('periods'),
periodId = topics.get('for_period') || (filter.indexOf('/') > 0 ? filter.split('/')[1] : ''),
filterText = I18n.t('filters.' + filter.replace('/', '.') + '.title', {count: 0});
Discourse.set('title', I18n.t('filters.with_category', { filter: filterText, category: model.get('name') }));
periodId = topics.get('for_period') || (filter.indexOf('/') > 0 ? filter.split('/')[1] : '');
this.controllerFor('navigation/category').set('canCreateTopic', topics.get('can_create_topic'));
this.controllerFor('discovery/topics').setProperties({

View File

@ -32,6 +32,13 @@ export default function(filter, extras) {
return Discourse.TopicList.list(filter, findOpts, extras);
},
titleToken: function() {
if (filter === Discourse.Utilities.defaultHomepage()) { return; }
var filterText = I18n.t('filters.' + filter.replace('/', '.') + '.title', {count: 0});
return I18n.t('filters.with_topics', {filter: filterText});
},
setupController: function(controller, model, trans) {
controller.setProperties(Em.getProperties(trans, _.keys(queryParams).map(function(v){
@ -39,14 +46,7 @@ export default function(filter, extras) {
})));
var periods = this.controllerFor('discovery').get('periods'),
periodId = model.get('for_period') || (filter.indexOf('/') > 0 ? filter.split('/')[1] : ''),
filterText = I18n.t('filters.' + filter.replace('/', '.') + '.title', {count: 0});
if (filter === Discourse.Utilities.defaultHomepage()) {
Discourse.set('title', '');
} else {
Discourse.set('title', I18n.t('filters.with_topics', {filter: filterText}));
}
periodId = model.get('for_period') || (filter.indexOf('/') > 0 ? filter.split('/')[1] : '');
this.controllerFor('discovery/topics').setProperties({
model: model,

View File

@ -21,6 +21,29 @@ Discourse.Route = Em.Route.extend({
Em.run.scheduleOnce('afterRender', Discourse.Route, 'cleanDOM');
},
actions: {
_collectTitleTokens: function(tokens) {
// If there's a title token method, call it and get the token
if (this.titleToken) {
var t = this.titleToken();
if (t && t.length) {
if (t instanceof Array) {
t.forEach(function(ti) {
tokens.push(ti);
});
} else {
tokens.push(t);
}
}
}
return true;
},
refreshTitle: function() {
this.send('_collectTitleTokens', []);
}
},
redirectIfLoginRequired: function() {
var app = this.controllerFor('application');
if (app.get('loginRequired')) {

View File

@ -1,11 +1,3 @@
/**
The route for handling the "Categories" view
@class DiscoveryCategoriesRoute
@extends Discourse.Route
@namespace Discourse
@module Discourse
**/
Discourse.DiscoveryCategoriesRoute = Discourse.Route.extend(Discourse.OpenComposer, {
renderTemplate: function() {
this.render('navigation/categories', { outlet: 'navigation-bar' });
@ -31,16 +23,18 @@ Discourse.DiscoveryCategoriesRoute = Discourse.Route.extend(Discourse.OpenCompos
});
},
titleToken: function() {
return I18n.t('filters.categories.title');
},
setupController: function(controller, model) {
controller.set('model', model);
Discourse.set('title', I18n.t('filters.categories.title'));
// Only show either the Create Category or Create Topic button
this.controllerFor('navigation/categories').set('canCreateCategory', model.get('can_create_category'));
this.controllerFor('navigation/categories').set('canCreateTopic', model.get('can_create_topic') && !model.get('can_create_category'));
this.openTopicDraft(model);
},
actions: {

View File

@ -12,7 +12,15 @@ Discourse.TopicRoute = Discourse.Route.extend({
show_deleted: { replace: true }
},
titleToken: function() {
var model = this.modelFor('topic');
if (model) {
return model.get('title');
}
},
actions: {
showTopicAdminMenu: function() {
this.controllerFor("topic-admin-menu").send("show");
},

View File

@ -1,5 +1,13 @@
export default Discourse.Route.extend({
titleToken: function() {
var model = this.modelFor('user');
var username = model.get('username');
if (username) {
return [I18n.t("user.profile"), username];
}
},
actions: {
logout: function() {
Discourse.logout();

View File

@ -17,11 +17,6 @@ export default Discourse.View.extend(AddCategoryClass, Discourse.Scrolling, {
postStream: Em.computed.alias('controller.postStream'),
_updateTitle: function() {
var title = this.get('topic.title');
if (title) return Discourse.set('title', _.unescape(title));
}.observes('topic.loaded', 'topic.title'),
_composeChanged: function() {
var composerController = Discourse.get('router.composerController');
composerController.clearState();

View File

@ -1,11 +1,4 @@
export default Ember.View.extend(Discourse.ScrollTop, {
templateName: 'user/user',
userBinding: 'controller.content',
updateTitle: function() {
var username = this.get('user.username');
if (username) {
Discourse.set('title', "" + (I18n.t("user.profile")) + " - " + username);
}
}.observes('user.loaded', 'user.username')
userBinding: 'controller.content'
});

View File

@ -5,7 +5,6 @@
.admin-contents table {
width: 100%;
table-layout: fixed;
tr {text-align: left;}
td, th {padding: 8px;}
th {border-top: 1px solid scale-color-diff();}
@ -539,6 +538,7 @@ section.details {
.admin-flags {
table-layout: fixed;
.hidden-post td.excerpt, .hidden-post td.user { opacity: 0.5; }
.deleted td.excerpt, .deleted td.user { background-color: scale-color($danger, $lightness: 70%); }

View File

@ -583,7 +583,7 @@ iframe {
padding: 0;
.badge-category {
color: $primary;
color: $header_primary;
padding: 0 0 0 3px;
margin-right: 5px;
}

View File

@ -989,8 +989,6 @@ cs:
edit: "Bohužel nastala chyba při editaci příspěvku. Prosím zkuste to znovu."
upload: "Bohužel nastala chyba při nahrávání příspěvku. Prosím zkuste to znovu."
attachment_too_large: "Soubor, který se snažíte nahrát je bohužel příliš velký (maximální velikost je {{max_size_kb}}kb). Prosím zmenšete ho zkuste to znovu."
image_too_large: "Obrázek, který se snažíte nahrát je bohužel příliš velký (maximální velikost je {{max_size_kb}}kb). Prosím zmenšete ho zkuste to znovu."
too_many_uploads: "Bohužel, najednou smíte nahrát jen jeden soubor."
upload_not_authorized: "Bohužel, soubor, který se snažíte nahrát, není povolený (povolené přípony: {{authorized_extensions}})."
image_upload_not_allowed_for_new_user: "Bohužel, noví uživatelé nemohou nahrávat obrázky."
attachment_upload_not_allowed_for_new_user: "Bohužel, noví uživatelé nemohou nahrávat přílohy."

View File

@ -918,7 +918,6 @@ da:
edit: "Beklager, der opstrod en fejl under redigeringen af dit indlæg. Prøv venligst igen."
upload: "Beklager, der opstod en fejl ved upload af filen. Prøv venligst igen."
attachment_too_large: "Beklager, filen, som du forsøger at uploade, er for store (den maksimale størrelse er {{max_size_kb}}kb)."
image_too_large: "Beklager, billedet, som du forsøger at uploade, er for stort (den maksimale størrelse er {{max_size_kb}}kb), gør det venligst mindre og prøv igen."
too_many_uploads: "Beklager, men du kan kun uploade én fil ad gangen."
upload_not_authorized: "Beklager, filen, som du forsøger at uploade, er ikke godkendt (godkendte filendelser: {{authorized_extensions}})."
image_upload_not_allowed_for_new_user: "Beklager, nye brugere kan ikke uploade billeder."

View File

@ -941,7 +941,6 @@ de:
edit: "Entschuldige, es gab einen Fehler beim Bearbeiten des Beitrags. Bitte versuche es noch einmal."
upload: "Entschuldige, es gab einen Fehler beim Hochladen der Datei. Bitte versuche es noch einmal."
attachment_too_large: "Entschuldige, die Datei, die du hochladen wolltest, ist zu groß (Maximalgröße {{max_size_kb}} KB)."
image_too_large: "Entschuldige, das Bild, das du hochladen wolltest, ist zu groß (Maximalgröße {{max_size_kb}} KB), bitte reduziere die Dateigröße und versuche es nochmal."
too_many_uploads: "Entschuldige, du darfst immer nur eine Datei hochladen."
upload_not_authorized: "Entschuldige, die Datei, die du hochladen wolltest, ist nicht erlaubt (erlaubte Endungen: {{authorized_extensions}})."
image_upload_not_allowed_for_new_user: "Entschuldige, neue Benutzer dürfen keine Bilder hochladen."

View File

@ -1074,7 +1074,7 @@ en:
edit: "Sorry, there was an error editing your post. Please try again."
upload: "Sorry, there was an error uploading that file. Please try again."
attachment_too_large: "Sorry, the file you are trying to upload is too big (maximum size is {{max_size_kb}}kb)."
image_too_large: "Sorry, the image you are trying to upload is too big (maximum size is {{max_size_kb}}kb), please resize it and try again."
file_too_large: "Sorry, the file you are trying to upload is too big (maximum size is {{max_size_kb}}kb)"
too_many_uploads: "Sorry, you can only upload one file at a time."
upload_not_authorized: "Sorry, the file you are trying to upload is not authorized (authorized extension: {{authorized_extensions}})."
image_upload_not_allowed_for_new_user: "Sorry, new users can not upload images."

View File

@ -951,7 +951,6 @@ es:
edit: "Lo sentimos, hubo un error al editar tu post. Por favor, inténtalo de nuevo."
upload: "Lo sentimos, hubo un error al subir el archivo. Por favor, inténtalo de nuevo."
attachment_too_large: "Lo siento, el archivo que estas intentando subir es demasiado grande (el tamaño máximo es {{max_size_kb}}kb)."
image_too_large: "Lo sentimos, la imagen que está intentando cargar es demasiado grande (el tamaño máximo es de {{max_size_kb}}kb), por favor, cambie el tamaño e inténtelo de nuevo."
too_many_uploads: "Lo siento solo puedes subir un archivo cada vez."
upload_not_authorized: "Lo sentimos, el archivo que intenta cargar no está autorizado (authorized extension: {{authorized_extensions}})."
image_upload_not_allowed_for_new_user: "Lo siento, usuarios nuevos no pueden subir imágenes."

View File

@ -946,7 +946,6 @@ fi:
edit: "Pahoittelut, viestin muokkaus ei onnistunut. Ole hyvä ja yritä uudelleen."
upload: "Pahoittelut, tiedoston lähetys ei onnistunut. Ole hyvä ja yritä uudelleen."
attachment_too_large: "Pahoittelut, tiedosto jonka latausta yritit on liian suuri ( suurin tiedostokoko on {{max_size_kb}}kb)."
image_too_large: "Pahoittelut, kuva jonka yritit ladata on liian suuri (suurin sallittu kuvakoko on {{max_size_kb}}kb), pienennä kuvaa ja yritä uudestaan."
too_many_uploads: "Pahoittelut, voit ladata vain yhden tiedoston kerrallaan."
upload_not_authorized: "Pahoittelut, tiedostomuoto ei ole sallittu (sallitut tiedostopäätteet: {{authorized_extensions}})."
image_upload_not_allowed_for_new_user: "Pahoittelut, uudet käyttjät eivät saa ladata kuvia."

View File

@ -951,7 +951,6 @@ fr:
edit: "Désolé, il y a eu une erreur lors de l'édition de votre message. Merci de réessayer."
upload: "Désolé, il y a eu une erreur lors de l'envoi du fichier. Merci de réessayer."
attachment_too_large: "Désolé, le fichier que vous êtes en train d'envoyer est trop grand (taille maximum de {{max_size_kb}} Ko)."
image_too_large: "Désolé, l'image que vous êtes en train d'envoyer est trop grande (taille maximum de {{max_size_kb}} Ko). Merci de le redimensionner et de réessayer."
too_many_uploads: "Désolé, vous ne pouvez envoyer qu'un seul fichier à la fois."
upload_not_authorized: "Désolé, le fichier que vous êtes en train d'envoyer n'est pas autorisé (extensions autorisées : {{authorized_extensions}})."
image_upload_not_allowed_for_new_user: "Désolé, les nouveaux utilisateurs ne peuvent pas envoyer d'image."

View File

@ -947,7 +947,6 @@ he:
edit: "סליחה, הייתה שגיאה בעריכת ההודעה שלך. אנא נסה שנית."
upload: "סליחה, הייתה שגיאה בהעלאת הקובץ שלך. אנא נסה שנית"
attachment_too_large: "סליחה, אך הקובץ שאתה מנסה להעלות גדול מידי (הגודל המקסימלי הוא {{max_size_kb}}kb)."
image_too_large: "סליחה, אך התמונה שאתה מנסה להעלות גדולה מידי. (הגודל המקסימלי הוא {{max_size_kb}}kb), אנא שנה את הגודל ונסה שנית."
too_many_uploads: "סליחה, אך ניתן להעלות רק קובץ אחת כל פעם."
upload_not_authorized: "סליחה, אך סוג הקובץ שאתה מנסה להעלות אינו מורשה (סיומות מורשות: {{authorized_extensions}})."
image_upload_not_allowed_for_new_user: "סליחה, משתמשים חדשים לא יכולים להעלות תמונות."

View File

@ -190,7 +190,6 @@ id:
post:
errors:
attachment_too_large: "Maaf, file yang kamu unggah terlalu besar (ukuran maksimal {{max_size_kb}}kb)."
image_too_large: "Maaf, file yang kamu unggah terlalu besar (ukuran maksimal {{max_size_kb}}kb), mohon diperkecil dan coba lagi."
image_upload_not_allowed_for_new_user: "Maaf, pengguna baru belum diperbolehkan mengunggah gambar."
attachment_upload_not_allowed_for_new_user: "Maaf, pengguna baru belum diperbolehkan mengunggah lampiran."
revisions:

View File

@ -950,7 +950,6 @@ it:
edit: "Spiacenti, si è verificato un errore nel modificare il tuo messaggio. Prova di nuovo."
upload: "Spiacenti, si è verificato un errore durante il caricamento del file. Prova di nuovo."
attachment_too_large: "Spiacenti, il file che stai tentando di caricare è troppo grande (il massimo consentito è {{max_size_kb}}kb)."
image_too_large: "Spiacenti, l'immagine che stai cercando di caricare è troppo grande (la dimensione massima è {{max_size_kb}}kb). Ridimensionala e riprova."
too_many_uploads: "Spiacenti, puoi caricare un solo file per volta."
upload_not_authorized: "Spiacenti, il file che stai cercando di caricare non è autorizzato (estensioni autorizzate: {{authorized_extensions}})."
image_upload_not_allowed_for_new_user: "Spiacenti, i nuovi utenti non possono caricare immagini."

View File

@ -885,7 +885,6 @@ ja:
edit: "申し訳ありませんが、ポスト編集中にエラーが発生しました。もう一度やり直してください。"
upload: "申し訳ありませんが、ファイルアップロード中にエラーが発生しました。もう一度やり直してください。"
attachment_too_large: "申し訳ありませんが、アップロード対象ファイルが大きすぎます (最大サイズは {{max_size_kb}}kb)。"
image_too_large: "申し訳ありませんが、アップロード対象ファイルが大きすぎます (最大サイズは {{max_size_kb}}kb)。"
too_many_uploads: "申し訳ありませんが、複数のファイルは同時にアップロードできません。"
upload_not_authorized: "申し訳ありませんが、対象ファイルをアップロードする権限がありません (利用可能な拡張子: {{authorized_extensions}})."
image_upload_not_allowed_for_new_user: "申し訳ありませんが、新規ユーザは画像のアップロードができません。"

View File

@ -905,7 +905,6 @@ ko:
edit: "죄송합니다. 게시물을 수정하는 중에 오류가 발생했습니다. 다시 시도하십시오."
upload: "죄송합니다. 파일을 업로드하는 동안 오류가 발생했습니다. 다시 시도하십시오."
attachment_too_large: "업로드하려는 파일의 크기가 너무 큽니다. 최대 크기는 {{max_size_kb}}kb 입니다."
image_too_large: "업로드하려는 이미지의 크기가 너무 큽니다. 최대 크기는 {{max_size_kb}}kb 입니다. 사이즈를 조정하고 다시 시도해보세요."
too_many_uploads: "한번에 한 파일만 업로드 하실 수 있습니다."
upload_not_authorized: "업로드 하시려는 파일 확장자는 사용이 불가능합니다 (사용가능 확장자: {{authorized_extensions}})."
image_upload_not_allowed_for_new_user: "죄송합니다. 새로운 유저는 이미지를 업로드 하실 수 없습니다."

View File

@ -947,7 +947,6 @@ nb_NO:
edit: "Beklager, det oppstod en feil ved redigeringen av ditt innlegg. Vennligst prøv igjen."
upload: "Sorry, there was an error uploading that file. Please try again."
attachment_too_large: "Beklager, filen du prøver å laste opp er for stor (maksimal størrelsen er {{max_size_kb}}kb)."
image_too_large: "Beklager, filen du prøve å laste opp er for stor (maks størrelse er {{max_size_kb}}kb), vennligst reduser størrelsen og prøv igjen."
too_many_uploads: "Beklager, du kan bare laste opp ett bilde om gangen."
upload_not_authorized: "Beklager, filen du prøver å laste opp er ikke godkjent (godkjente filtyper: {{authorized_extensions}})."
image_upload_not_allowed_for_new_user: "Beklager, nye brukere kan ikke laste opp bilder"

View File

@ -935,7 +935,6 @@ nl:
edit: "Sorry, er is iets misgegaan bij het bewerken van je bericht. Probeer het nog eens."
upload: "Sorry, er is iets misgegaan bij het uploaden van je bestand. Probeer het nog eens."
attachment_too_large: "Sorry, het bestand dat je wil uploaden is te groot (maximum grootte is {{max_size_kb}}kb)."
image_too_large: "Sorry, de afbeelding je wil uploaden is te groot (maximum grootte is {{max_size_kb}}kb), verklein de afbeelding en probeer het opnieuw."
too_many_uploads: "Sorry, je kan maar één afbeelding tegelijk uploaden."
upload_not_authorized: "Sorry, je mag dat type bestand niet uploaden (toegestane extensies: {{authorized_extensions}})."
image_upload_not_allowed_for_new_user: "Sorry, nieuwe gebruikers mogen nog geen afbeeldingen uploaden."

View File

@ -995,7 +995,6 @@ pl_PL:
edit: "Przepraszamy, podczas edytowania twojego wpisu wystąpił błąd. Spróbuj ponownie."
upload: "Przepraszamy, wystąpił błąd podczas wczytywania Twojego pliku. Proszę, spróbuj ponownie."
attachment_too_large: "Przepraszamy, ale plik, który chcesz wgrać jest za duży (maksymalny rozmiar to {{max_size_kb}}KB)."
image_too_large: "Przepraszamy, ale obraz, który chcesz wgrać jest za duży (maksymalny rozmiar to {{max_size_kb}}KB), proszę zmień jego rozmiar i spróbuj ponownie."
too_many_uploads: "Przepraszamy, ale możesz wgrać tylko jeden plik naraz."
upload_not_authorized: "Przepraszamy, ale plik który chcesz wgrać jest niedozwolony (dozwolone rozszerzenia: {{authorized_extensions}})."
image_upload_not_allowed_for_new_user: "Przepraszamy, ale nowi użytkownicy nie mogą wgrywać obrazów."

View File

@ -934,7 +934,6 @@ pt:
edit: "Desculpe, houve um erro ao editar a sua mensagem. Por favor, tente outra vez."
upload: "Desculpe, houve um erro ao enviar esse ficheiro. Por favor, tente outra vez."
attachment_too_large: "Desculpe, o ficheiro que está a enviar é muito grande (o tamanho máximo permitido é {{max_size_kb}}kb)."
image_too_large: "Desculpe, o ficheiro que está a enviar é muito grande (o tamanho máximo é {{max_size_kb}}kb), por favor diminua-o e tente novamente."
too_many_uploads: "Desculpe, apenas pode enviar um ficheiro de cada vez."
upload_not_authorized: "Desculpe, o tipo de ficheiro que está a enviar não está autorizado (extensões autorizadas: {{authorized_extensions}})."
image_upload_not_allowed_for_new_user: "Desculpe, novos utilizadores não podem enviar imagens."

View File

@ -951,7 +951,6 @@ pt_BR:
edit: "Desculpe, houve um erro ao editar sua resposta. Por favor, tente outra vez."
upload: "Desculpe, houve um erro ao enviar esse arquivo. Por favor, tente outra vez."
attachment_too_large: "Desculpe, o arquivo que você está tentando enviar é muito grande (o tamanho máximo permitido é {{max_size_kb}}kb)."
image_too_large: "Desculpe, o arquivo que você está tentando enviar é muito grande (o tamanho máximo é {{max_size_kb}}kb), por favor diminua-o e tente novamente."
too_many_uploads: "Desculpe, você pode enviar apenas um arquivos por vez."
upload_not_authorized: "Desculpe, o tipo de arquivo que você está tentando enviar não está autorizado (extensões autorizadas: {{authorized_extensions}})."
image_upload_not_allowed_for_new_user: "Desculpe, novos usuário não podem enviar imagens."

View File

@ -1029,7 +1029,6 @@ ro:
edit: "Ne pare rău , s-a semnalat o eroare în editarea postării dumneavoastră . Vă rugăm încercati iar."
upload: "Ne pare rău ,s-a semnalat o eroare în încarcarea acelui fişier. Vă rugăm încercati iar."
attachment_too_large: "Ne pare rău, fişierul pe care-l încarcaţi este prea mare (marimea maximă este de {{max_size_kb}}kb)."
image_too_large: "Ne pare rău, imaginea pe care o încarcaţi este prea mare (marimea maximă este de {{max_size_kb}}kb), redimensionaţi şi încercaţi iar."
too_many_uploads: "Ne pare rău, puteţi încarca doar cate un fişier."
upload_not_authorized: "Ne pare rău, fişierul pe care-l încarcaţi nu este autorizat (extensia pentru autorizare: {{authorized_extensions}})."
image_upload_not_allowed_for_new_user: "Ne pare rău, noul utilizator nu poate încarca imagini."

View File

@ -994,7 +994,6 @@ ru:
edit: "К сожалению, не удалось изменить сообщение. Попробуйте еще раз."
upload: "К сожалению, не удалось загрузить файл. Попробуйте еще раз."
attachment_too_large: "Файл, который вы пытаетесь загрузить, слишком большой (максимальный разрешенный размер {{max_size_kb}}КБ)."
image_too_large: "Изображение, которое вы пытаетесь загрузить, слишком большое (максимальный разрешенный размер {{max_size_kb}}КБ), пожалуйста, уменьшите размер изображения и повторите попытку."
too_many_uploads: "К сожалению, за один раз можно загрузить только одно изображение."
upload_not_authorized: "К сожалению, вы не можете загрузить файл данного типа (список разрешенных типов файлов: {{authorized_extensions}})."
image_upload_not_allowed_for_new_user: "К сожалению, загрузка изображений недоступна новым пользователям."

View File

@ -897,7 +897,6 @@ sv:
edit: "Tyvärr, det uppstod ett fel under ändringen av ditt inlägg. Var god försök igen."
upload: "Tyvärr, det uppstod ett fel under uppladdandet av den filen. Vad god försök igen."
attachment_too_large: "Tyvärr, filen du försöker ladda upp är för stor (maximal storlek är {{max_size_kb}} kb)."
image_too_large: "Tyvärr, filen som du försöker ladda upp är för stor (maxstorlek är {{max_size_kb}}kb), var god ändra storlek och försök igen."
too_many_uploads: "Tyvärr, du kan bara ladda upp en bild i taget."
upload_not_authorized: "Tyvärr, filen du försökte ladda upp är inte tillåten (tillåtna filtyper: {{authorized_extensions}})."
image_upload_not_allowed_for_new_user: "Tyvärr, nya användare kan inte ladda upp bilder."

View File

@ -717,7 +717,6 @@ uk:
edit: "Даруйте, під час редагування допису трапилася помилка. Будь ласка, спробуйте ще раз."
upload: "Даруйте, під час завантаження цього файлу трапилася помилка. Будь ласка, спробуйте ще раз."
attachment_too_large: "Даруйте, але файл, який Ви намагаєтеся завантажити, надто великий (максимальний розмір складає {{max_size_kb}} кБ)."
image_too_large: "Даруйте, але зображення, яке Ви намагаєтеся завантажити, є надто великим (максимальний розмір складає {{max_size_kb}} кБ). Будь ласка, зменшіть його та спробуйте ще раз."
too_many_uploads: "Даруйте, але Ви можете одночасно завантажувати тільки один файл."
upload_not_authorized: "Даруйте, але файл, який Ви намагаєтеся завантажити, є недозволеним (дозволені розширення: {{authorized_extensions}})."
image_upload_not_allowed_for_new_user: "Даруйте, нові користувачі не можуть завантажувати зображення."

View File

@ -905,7 +905,6 @@ zh_CN:
edit: "抱歉,在编辑您的帖子时发生了错误。请重试。"
upload: "抱歉,在上传文件时发生了错误。请重试。"
attachment_too_large: "抱歉,您上传的附件太大了(最大不能超过 {{max_size_kb}}kb。"
image_too_large: "抱歉,您上传的图片太大了(最大不能超过 {{max_size_kb}}kb请调整文件大小后重新上传。"
too_many_uploads: "抱歉, 您只能一次上传一张图片。"
upload_not_authorized: "抱歉, 您不能上传此类型文件(可上传的文件类型有: {{authorized_extensions}})。"
image_upload_not_allowed_for_new_user: "抱歉,新注册用户无法上传图片。"

View File

@ -901,7 +901,6 @@ zh_TW:
edit: "抱歉,編輯你的文章時發生錯誤,請再試一次。"
upload: "抱歉,上傳你的檔案時發生錯誤,請再試一次。"
attachment_too_large: "抱歉,你想上傳的檔案太大 (最大限制為 {{max_size_kb}} kb)。"
image_too_large: "抱歉,你想上傳的圖片太大 (最大限制為 {{max_size_kb}} kb),請將圖片縮小後再試一次。"
too_many_uploads: "抱歉,一次只能上傳一個檔案。"
upload_not_authorized: "抱歉,你想上傳的是不允許的檔案 (允許的副檔名: {{authorized_extensions}})."
image_upload_not_allowed_for_new_user: "抱歉,新用戶不可上傳圖片。"

View File

@ -84,7 +84,7 @@ class TopicQuery
end
def list_unread
create_list(:new, {}, unread_results)
create_list(:unread, {}, unread_results)
end
def list_posted

View File

@ -485,4 +485,7 @@ test("censoring", function() {
cooked("aw shucks, golly gee whiz.",
"<p>aw &#9632;&#9632;&#9632;&#9632;&#9632;&#9632;, golly gee &#9632;&#9632;&#9632;&#9632;.</p>",
"it censors words in the Site Settings");
cooked("you are a whizzard! I love cheesewhiz. Whiz.",
"<p>you are a whizzard! I love cheesewhiz. &#9632;&#9632;&#9632;&#9632;.</p>",
"it doesn't censor words unless they have boundaries.");
});

View File

@ -57,7 +57,7 @@ test("prevents files that are too big from being uploaded", function() {
sandbox.stub(bootbox, "alert");
not(validUpload([image]));
ok(bootbox.alert.calledWith(I18n.t('post.errors.image_too_large', { max_size_kb: 5 })));
ok(bootbox.alert.calledWith(I18n.t('post.errors.file_too_large', { max_size_kb: 5 })));
});
var dummyBlob = function() {