Merge branch 'master' of github.com:discourse/discourse

This commit is contained in:
Sam 2013-09-02 17:19:17 +10:00
commit 6e72eb5042
20 changed files with 339 additions and 133 deletions

View File

@ -24,5 +24,6 @@ Discourse.UserActivityController = Discourse.ObjectController.extend({
}, },
privateMessagesActive: Em.computed.equal('pmView', 'index'), privateMessagesActive: Em.computed.equal('pmView', 'index'),
privateMessagesSentActive: Em.computed.equal('pmView', 'sent') privateMessagesMineActive: Em.computed.equal('pmView', 'mine'),
privateMessagesUnreadActive: Em.computed.equal('pmView', 'unread')
}); });

View File

@ -64,7 +64,7 @@ function invalidBoundary(args, prev) {
var last = prev[prev.length - 1]; var last = prev[prev.length - 1];
if (typeof last !== "string") { return; } if (typeof last !== "string") { return; }
if (args.wordBoundary && (!last.match(/\W$/))) { return true; } if (args.wordBoundary && (last.match(/(\w|\/)$/))) { return true; }
if (args.spaceBoundary && (!last.match(/\s$/))) { return true; } if (args.spaceBoundary && (!last.match(/\s$/))) { return true; }
} }

View File

@ -78,8 +78,6 @@ DiscourseGroupedEach.prototype = {
template = this.template; template = this.template;
data.insideEach = true; data.insideEach = true;
data.insideGroup = true;
for (var i = 0; i < contentLength; i++) { for (var i = 0; i < contentLength; i++) {
template(content.objectAt(i), { data: data }); template(content.objectAt(i), { data: data });
} }
@ -124,5 +122,6 @@ Ember.Handlebars.registerHelper('groupedEach', function(path, options) {
} }
options.hash.dataSourceBinding = path; options.hash.dataSourceBinding = path;
options.data.insideGroup = true;
new DiscourseGroupedEach(this, path, options).render(); new DiscourseGroupedEach(this, path, options).render();
}); });

View File

@ -50,7 +50,8 @@ Discourse.Route.buildRoutes(function() {
}); });
this.resource('userPrivateMessages', { path: '/private-messages' }, function() { this.resource('userPrivateMessages', { path: '/private-messages' }, function() {
this.route('sent', {path: '/messages-sent'}); this.route('mine', {path: '/mine'});
this.route('unread', {path: '/unread'});
}); });
this.resource('preferences', { path: '/preferences' }, function() { this.resource('preferences', { path: '/preferences' }, function() {

View File

@ -171,33 +171,26 @@ Discourse.UserTopicListRoute = Discourse.Route.extend({
} }
}); });
Discourse.UserPrivateMessagesIndexRoute = Discourse.UserTopicListRoute.extend({ function createPMRoute(viewName, path, type) {
userActionType: Discourse.UserAction.TYPES.messages_received, return Discourse.UserTopicListRoute.extend({
userActionType: Discourse.UserAction.TYPES.messages_received,
model: function() { model: function() {
return Discourse.TopicList.find('topics/private-messages/' + this.modelFor('user').get('username_lower')); return Discourse.TopicList.find('topics/' + path + '/' + this.modelFor('user').get('username_lower'));
}, },
setupController: function(controller, model) { setupController: function(controller, model) {
this._super(controller, model); this._super(controller, model);
controller.set('hideCategories', true); controller.set('hideCategories', true);
this.controllerFor('userActivity').set('pmView', 'index'); this.controllerFor('userActivity').set('pmView', viewName);
} }
});
}
}); Discourse.UserPrivateMessagesIndexRoute = createPMRoute('index', 'private-messages');
Discourse.UserPrivateMessagesSentRoute = Discourse.UserTopicListRoute.extend({ Discourse.UserPrivateMessagesMineRoute = createPMRoute('mine', 'private-messages-sent');
userActionType: Discourse.UserAction.TYPES.messages_sent, Discourse.UserPrivateMessagesUnreadRoute = createPMRoute('unread', 'private-messages-unread');
model: function() {
return Discourse.TopicList.find('topics/private-messages-sent/' + this.modelFor('user').get('username_lower'));
},
setupController: function(controller, model) {
this._super(controller, model);
controller.set('hideCategories', true);
this.controllerFor('userActivity').set('pmView', 'sent');
}
});
Discourse.UserActivityTopicsRoute = Discourse.UserTopicListRoute.extend({ Discourse.UserActivityTopicsRoute = Discourse.UserTopicListRoute.extend({
userActionType: Discourse.UserAction.TYPES.topics, userActionType: Discourse.UserAction.TYPES.topics,
@ -205,7 +198,6 @@ Discourse.UserActivityTopicsRoute = Discourse.UserTopicListRoute.extend({
model: function() { model: function() {
return Discourse.TopicList.find('topics/created-by/' + this.modelFor('user').get('username_lower')); return Discourse.TopicList.find('topics/created-by/' + this.modelFor('user').get('username_lower'));
} }
}); });
Discourse.UserActivityFavoritesRoute = Discourse.UserTopicListRoute.extend({ Discourse.UserActivityFavoritesRoute = Discourse.UserTopicListRoute.extend({

View File

@ -16,10 +16,13 @@
<ul class='action-list nav-stacked side-nav'> <ul class='action-list nav-stacked side-nav'>
{{#if privateMessageView}} {{#if privateMessageView}}
<li {{bindAttr class=":noGlyph privateMessagesActive:active"}}> <li {{bindAttr class=":noGlyph privateMessagesActive:active"}}>
{{#linkTo 'userPrivateMessages.index' model}}{{i18n user.private_messages}}{{/linkTo}} {{#linkTo 'userPrivateMessages.index' model}}{{i18n user.messages.all}}{{/linkTo}}
</li> </li>
<li {{bindAttr class=":noGlyph privateMessagesSentActive:active"}}> <li {{bindAttr class=":noGlyph privateMessagesMineActive:active"}}>
{{#linkTo 'userPrivateMessages.sent' model}}{{i18n user.private_messages_sent}}{{/linkTo}} {{#linkTo 'userPrivateMessages.mine' model}}{{i18n user.messages.mine}}{{/linkTo}}
</li>
<li {{bindAttr class=":noGlyph privateMessagesUnreadActive:active"}}>
{{#linkTo 'userPrivateMessages.unread' model}}{{i18n user.messages.unread}}{{/linkTo}}
</li> </li>
{{else}} {{else}}

View File

@ -53,6 +53,14 @@ class ListController < ApplicationController
respond(list) respond(list)
end end
def private_messages_unread
list_opts = build_topic_list_options
list = TopicQuery.new(current_user, list_opts).list_private_messages_unread(fetch_user_from_params)
list.more_topics_url = url_for(topics_private_messages_unread_path(list_opts.merge(format: 'json', page: next_page)))
respond(list)
end
def category def category
query = TopicQuery.new(current_user, page: params[:page]) query = TopicQuery.new(current_user, page: params[:page])

View File

@ -10,6 +10,16 @@ class Topic < ActiveRecord::Base
include ActionView::Helpers::SanitizeHelper include ActionView::Helpers::SanitizeHelper
include RateLimiter::OnCreateRecord include RateLimiter::OnCreateRecord
include Trashable include Trashable
extend Forwardable
def_delegator :featured_users, :user_ids, :featured_user_ids
def_delegator :featured_users, :choose, :feature_topic_users
def_delegator :notifier, :watch!, :notify_watch!
def_delegator :notifier, :tracking!, :notify_tracking!
def_delegator :notifier, :regular!, :notify_regular!
def_delegator :notifier, :muted!, :notify_muted!
def_delegator :notifier, :toggle_mute, :toggle_mute
def self.max_sort_order def self.max_sort_order
2**31 - 1 2**31 - 1
@ -21,14 +31,6 @@ class Topic < ActiveRecord::Base
@featured_users ||= TopicFeaturedUsers.new(self) @featured_users ||= TopicFeaturedUsers.new(self)
end end
def featured_user_ids
featured_users.user_ids
end
def feature_topic_users(args={})
featured_users.choose(args)
end
def trash!(trashed_by=nil) def trash!(trashed_by=nil)
update_category_topic_count_by(-1) if deleted_at.nil? update_category_topic_count_by(-1) if deleted_at.nil?
super(trashed_by) super(trashed_by)
@ -561,34 +563,12 @@ class Topic < ActiveRecord::Base
@topic_notifier ||= TopicNotifier.new(self) @topic_notifier ||= TopicNotifier.new(self)
end end
# notification stuff
def notify_watch!(user)
notifier.watch! user
end
def notify_tracking!(user)
notifier.tracking! user
end
def notify_regular!(user)
notifier.regular! user
end
def notify_muted!(user)
notifier.muted! user
end
def muted?(user) def muted?(user)
if user && user.id if user && user.id
notifier.muted?(user.id) notifier.muted?(user.id)
end end
end end
# Enable/disable the mute on the topic
def toggle_mute(user_id)
notifier.toggle_mute user_id
end
def auto_close_days=(num_days) def auto_close_days=(num_days)
@ignore_category_auto_close = true @ignore_category_auto_close = true
set_auto_close(num_days) set_auto_close(num_days)

View File

@ -20,9 +20,6 @@ de:
mb: MB mb: MB
tb: TB tb: TB
dates: dates:
short_date_no_year: "D MMM"
short_date: "D. MMM YYYY"
long_date: "D. MMMM YYYY, H:mm"
tiny: tiny:
half_a_minute: "< 1Min" half_a_minute: "< 1Min"
less_than_x_seconds: less_than_x_seconds:
@ -43,12 +40,6 @@ de:
x_days: x_days:
one: "1T" one: "1T"
other: "%{count}T" other: "%{count}T"
about_x_months:
one: "1Mon"
other: "%{count}Mon"
x_months:
one: "1Mon"
other: "%{count}Mon"
about_x_years: about_x_years:
one: "1J" one: "1J"
other: "%{count}J" other: "%{count}J"
@ -93,6 +84,7 @@ de:
yes_value: "Ja" yes_value: "Ja"
of_value: "von" of_value: "von"
generic_error: "Entschuldigung, ein Fehler ist aufgetreten." generic_error: "Entschuldigung, ein Fehler ist aufgetreten."
generic_error_with_reason: "Ein Fehler ist aufgetreten: %{error}"
log_in: "Anmelden" log_in: "Anmelden"
age: "Alter" age: "Alter"
last_post: "Letzter Beitrag" last_post: "Letzter Beitrag"
@ -101,10 +93,20 @@ de:
show_more: "zeige mehr" show_more: "zeige mehr"
links: Links links: Links
faq: "FAQ" faq: "FAQ"
privacy_policy: "Datenschutzrichtlinie"
you: "Du" you: "Du"
or: "oder" or: "oder"
now: "gerade eben" now: "gerade eben"
read_more: 'weiterlesen' read_more: 'weiterlesen'
more: "Mehr"
less: "Weniger"
never: "nie"
daily: "täglich"
weekly: "wöchentlich"
every_two_weeks: "jede zweite Woche"
character_count:
one: "{{count}} Zeichen"
other: "{{count}} Zeichen"
in_n_seconds: in_n_seconds:
one: "in einer Sekunde" one: "in einer Sekunde"
@ -137,6 +139,10 @@ de:
saving: "Wird gespeichert..." saving: "Wird gespeichert..."
saved: "Gespeichert!" saved: "Gespeichert!"
upload: "Hochladen"
uploading: "Hochladen..."
uploaded: "Hochgeladen!"
choose_topic: choose_topic:
none_found: "Keine Themen gefunden." none_found: "Keine Themen gefunden."
title: title:
@ -175,6 +181,7 @@ de:
"13": "Eingänge" "13": "Eingänge"
user: user:
said: "{{username}} sagte:"
profile: Profil profile: Profil
title: "Benutzer" title: "Benutzer"
mute: Ignorieren mute: Ignorieren
@ -182,6 +189,7 @@ de:
download_archive: "Archiv meiner Beiträge herunterladen" download_archive: "Archiv meiner Beiträge herunterladen"
private_message: "Private Nachricht" private_message: "Private Nachricht"
private_messages: "Nachrichten" private_messages: "Nachrichten"
private_messages_sent: "Gesendete Nachrichten"
activity_stream: "Aktivität" activity_stream: "Aktivität"
preferences: "Einstellungen" preferences: "Einstellungen"
bio: "Über mich" bio: "Über mich"
@ -191,30 +199,41 @@ de:
dynamic_favicon: "Zeige eingehende Nachrichten im Favicon" dynamic_favicon: "Zeige eingehende Nachrichten im Favicon"
external_links_in_new_tab: "Öffne alle externen Links in neuen Tabs" external_links_in_new_tab: "Öffne alle externen Links in neuen Tabs"
enable_quoting: "Markierten Text bei Antwort zitieren" enable_quoting: "Markierten Text bei Antwort zitieren"
change: "ändern"
moderator: "{{user}} ist Moderator" moderator: "{{user}} ist Moderator"
admin: "{{user}} ist Administrator" admin: "{{user}} ist Administrator"
change_password: change_password:
action: "ändern"
success: "(Mail gesendet)" success: "(Mail gesendet)"
in_progress: "(sende Mail)" in_progress: "(sende Mail)"
error: "(Fehler)" error: "(Fehler)"
action: "Passwort zurücksetzten Mail senden"
change_about:
title: "Über mich ändern"
change_username: change_username:
action: "ändern"
title: "Benutzername ändern" title: "Benutzername ändern"
confirm: "Den Benutzernamen zu ändern kann Konsequenzen nach sich ziehen. Bist Du sicher, dass du fortfahren willst?" confirm: "Den Benutzernamen zu ändern kann Konsequenzen nach sich ziehen. Bist Du sicher, dass du fortfahren willst?"
taken: "Entschuldige, der Benutzername ist schon vergeben." taken: "Entschuldige, der Benutzername ist schon vergeben."
error: "Beim Ändern des Benutzernamens ist ein Fehler aufgetreten." error: "Beim Ändern des Benutzernamens ist ein Fehler aufgetreten."
invalid: "Dieser Benutzername ist ungültig, sie dürfen nur aus Zahlen und Buchstaben bestehen." invalid: "Dieser Benutzername ist ungültig, sie dürfen nur aus Zahlen und Buchstaben bestehen."
change_email: change_email:
action: 'ändern'
title: "Mailadresse ändern" title: "Mailadresse ändern"
taken: "Entschuldige, diese Mailadresse ist nicht verfügbar." taken: "Entschuldige, diese Mailadresse ist nicht verfügbar."
error: "Beim ändern der Mailadresse ist ein Fehler aufgetreten. Möglicherweise wird diese Adresse schon benutzt." error: "Beim ändern der Mailadresse ist ein Fehler aufgetreten. Möglicherweise wird diese Adresse schon benutzt."
success: "Eine Bestätigungsmail wurde an diese Adresse verschickt. Bitte folge den darin enthaltenen Anweisungen." success: "Eine Bestätigungsmail wurde an diese Adresse verschickt. Bitte folge den darin enthaltenen Anweisungen."
change_avatar:
title: "Ändere dein Avatar"
gravatar: "<a href='//gravatar.com/emails' target='_blank'>Gravatar</a>, basierend auf"
gravatar_title: "Wechsle dein Avatar auf der Gravatar Webseite"
uploaded_avatar: "Eigenes Bild"
uploaded_avatar_empty: "Eigenes Bild hinzufügen"
upload_title: "Lade dein Bild hoch"
image_is_not_a_square: "Achtung: wir haben den Bild angeschnitten, da es nicht rechteckig war."
email: email:
title: "Mail" title: "Mail"
instructions: "Deine Mailadresse wird niemals öffentlich angezeigt." instructions: "Deine Mailadresse wird niemals öffentlich angezeigt."
@ -378,6 +397,7 @@ de:
authenticating: "Authentisiere..." authenticating: "Authentisiere..."
awaiting_confirmation: 'Dein Konto ist noch nicht aktiviert. Benutze den "Passwort vergesse"-Link um eine neue Aktivierungsmail zu erhalten.' awaiting_confirmation: 'Dein Konto ist noch nicht aktiviert. Benutze den "Passwort vergesse"-Link um eine neue Aktivierungsmail zu erhalten.'
awaiting_approval: "Dein Konto wurde noch nicht von einem Moderator bewilligt. Du bekommst eine Mail, sobald das geschehen ist." awaiting_approval: "Dein Konto wurde noch nicht von einem Moderator bewilligt. Du bekommst eine Mail, sobald das geschehen ist."
requires_invite: "Entschuldige, der Zugriff auf dieses Forum ist nur mit einer Einladung erlaubt."
not_activated: "Du kannst Dich noch nicht anmelden. Wir haben Dir kürzlich eine Aktivierungsmail an <b>{{sentTo}}</b> geschickt. Bitte folge den Anweisungen darin, um dein Konto zu aktivieren." not_activated: "Du kannst Dich noch nicht anmelden. Wir haben Dir kürzlich eine Aktivierungsmail an <b>{{sentTo}}</b> geschickt. Bitte folge den Anweisungen darin, um dein Konto zu aktivieren."
resend_activation_email: "Klick hier, um ein neue Aktivierungsmail zu erhalten." resend_activation_email: "Klick hier, um ein neue Aktivierungsmail zu erhalten."
sent_activation_email_again: "Wir haben noch eine Aktivierungsmail an <b>{{currentEmail}}</b> verschickt. Es kann einige Minuten dauern, bis sie ankommt. Im Zweifel schaue auch im Spam-Ordner nach." sent_activation_email_again: "Wir haben noch eine Aktivierungsmail an <b>{{currentEmail}}</b> verschickt. Es kann einige Minuten dauern, bis sie ankommt. Im Zweifel schaue auch im Spam-Ordner nach."
@ -489,16 +509,23 @@ de:
total_flagged: "total markierte Einträge" total_flagged: "total markierte Einträge"
upload_selector: upload_selector:
title: "Bild einfügen" title: "Bild hochladen"
from_my_computer: "von meinem Gerät" title_with_attachments: "Bild oder Datei hochladen"
from_the_web: "aus dem Web" from_my_computer: "Von meinem Gerät"
from_the_web: "Aus dem Web"
add_title: "Bild hinzufügen" add_title: "Bild hinzufügen"
add_title_with_attachments: "Bild oder Datei hinzufügen"
remote_title: "Entferntes Bild" remote_title: "Entferntes Bild"
remote_title_with_attachments: "Entferntes Bild oder Datei"
remote_tip: "Gib die Adresse eines Bildes wie folgt ein: http://example.com/image.jpg" remote_tip: "Gib die Adresse eines Bildes wie folgt ein: http://example.com/image.jpg"
remote_tip_with_attachments: "Gib die Adresse eines Bildes oder Datei wie folgt ein http://example.com/file.ext (Erlaubte Dateiendungen: {{authorized_extensions}})."
local_title: "Lokales Bild" local_title: "Lokales Bild"
local_title_with_attachments: "Lokales Bild oder Datei"
local_tip: "Klicke hier, um ein Bild von deinem Gerät zu wählen." local_tip: "Klicke hier, um ein Bild von deinem Gerät zu wählen."
upload_title: "Hochladen" local_tip_with_attachments: "Klicke hier, um ein Bild oder eine Datei von deinem Gerät zu wählen (Erlaubte Dateiendungen: {{authorized_extensions}})"
uploading: "Bild wird hochgeladen" upload_title: "Bild hochladen"
upload_title_with_attachments: "Bild oder Datei hochladen"
uploading: "Hochgeladen..."
search: search:
title: "Such nach Themen, Beiträgen, Nutzern oder Kategorien" title: "Such nach Themen, Beiträgen, Nutzern oder Kategorien"
@ -745,10 +772,13 @@ de:
edit: "Editing {{link}} von {{replyAvatar}} {{username}}" edit: "Editing {{link}} von {{replyAvatar}} {{username}}"
post_number: "Beitrag {{number}}" post_number: "Beitrag {{number}}"
in_reply_to: "Antwort auf" in_reply_to: "Antwort auf"
last_edited_on: "Antwort zuletzt bearbeitet am"
reply_as_new_topic: "Mit Themenwechsel antworten" reply_as_new_topic: "Mit Themenwechsel antworten"
continue_discussion: "Fortsetzung des Gesprächs {{postLink}}:" continue_discussion: "Fortsetzung des Gesprächs {{postLink}}:"
follow_quote: "Springe zu zitiertem Beitrag" follow_quote: "Springe zu dem zitiertem Beitrag"
deleted_by_author: "(Beitrag vom Autor entfernt)" deleted_by_author:
one: "(Antwort vom Autor zurückgezogen, wird automatisch in %{count} Stunde gelöscht falls nicht gemeldet)"
other: "(Antwort vom Autor zurückgezogen, wird automatisch in %{count} Stunden gelöscht falls nicht gemeldet)"
deleted_by: "Entfernt von" deleted_by: "Entfernt von"
expand_collapse: "mehr/weniger" expand_collapse: "mehr/weniger"
@ -760,11 +790,11 @@ de:
create: "Entschuldige, es gab einen Fehler beim Anlegen des Beitrags. Bitte versuche es noch einmal." create: "Entschuldige, es gab einen Fehler beim Anlegen des Beitrags. Bitte versuche es noch einmal."
edit: "Entschuldige, es gab einen Fehler beim Bearbeiten des Beitrags. Bitte versuche es noch einmal." 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." upload: "Entschuldige, es gab einen Fehler beim Hochladen der Datei. Bitte versuche es noch einmal."
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."
image_upload_not_allowed_for_new_user: "Entschuldige, neue Benutzer dürfen keine Bilder hochladen."
attachment_too_large: "Entschuldige, die Datei, die du hochladen wolltest, ist zu groß (Maximalgröße {{max_size_kb}}kb)." 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." 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}})." 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."
attachment_upload_not_allowed_for_new_user: "Entschuldige, neue Benutzer dürfen keine Dateien hochladen." attachment_upload_not_allowed_for_new_user: "Entschuldige, neue Benutzer dürfen keine Dateien hochladen."
abandon: "Willst Du diesen Beitrag wirklich verwerfen?" abandon: "Willst Du diesen Beitrag wirklich verwerfen?"
@ -884,6 +914,7 @@ de:
other: "Bist Du sicher, dass Du all diesen Beiträge löschen willst?" other: "Bist Du sicher, dass Du all diesen Beiträge löschen willst?"
category: category:
can: 'kann&hellip; '
none: '(keine Kategorie)' none: '(keine Kategorie)'
edit: 'Bearbeiten' edit: 'Bearbeiten'
edit_long: "Kategorie bearbeiten" edit_long: "Kategorie bearbeiten"
@ -912,18 +943,19 @@ de:
change_in_category_topic: "Besuche die Themen dieser Kategorie um einen Eindruck für eine gute Beschreibung zu gewinnen." change_in_category_topic: "Besuche die Themen dieser Kategorie um einen Eindruck für eine gute Beschreibung zu gewinnen."
hotness: "Beliebtheit" hotness: "Beliebtheit"
already_used: 'Diese Farbe wird bereits für eine andere Kategorie verwendet' already_used: 'Diese Farbe wird bereits für eine andere Kategorie verwendet'
is_secure: "Sichere Kategorie?"
add_group: "Gruppe hinzufügen"
security: "Sicherheit" security: "Sicherheit"
allowed_groups: "Erlaubte Gruppen:"
auto_close_label: "Thema automatisch schließen nach:" auto_close_label: "Thema automatisch schließen nach:"
edit_permissions: "Berechtigung bearbeiten"
add_permission: "Berechtigung hinzufügen"
flagging: flagging:
title: 'Aus welchem Grund meldest Du diesen Beitrag?' title: 'Aus welchem Grund meldest Du diesen Beitrag?'
action: 'Beitrag melden' action: 'Beitrag melden'
take_action: "Reagieren" take_action: "Reagieren"
notify_action: 'Melden' notify_action: 'Melden'
delete_spammer: "Spammer löschen"
delete_confirm: "Du wirst <b>%{posts}</b> Beiträge und <b>%{topics}</b> Themen von diesem Benutzer löschen, das Konto entfernen und die Mail <b>%{email}</b> permanent blockieren. Bist du sicher, dass dieser Benutzer wirklich ein Spammer ist?"
yes_delete_spammer: "Ja, lösche den Spammer"
cant: "Entschuldige, Du kannst diesen Beitrag augenblicklich nicht melden." cant: "Entschuldige, Du kannst diesen Beitrag augenblicklich nicht melden."
custom_placeholder_notify_user: "Weshalb erfordert der Beitrag, dass du den Benutzer direkt und privat kontaktieren möchtest? Sei spezifisch, konstruktiv und immer freundlich." custom_placeholder_notify_user: "Weshalb erfordert der Beitrag, dass du den Benutzer direkt und privat kontaktieren möchtest? Sei spezifisch, konstruktiv und immer freundlich."
custom_placeholder_notify_moderators: "Warum soll ein Moderator sich diesen Beitrag ansehen? Bitte lass uns wissen, was genau Dich beunruhigt, und wenn möglich dafür relevante Links." custom_placeholder_notify_moderators: "Warum soll ein Moderator sich diesen Beitrag ansehen? Bitte lass uns wissen, was genau Dich beunruhigt, und wenn möglich dafür relevante Links."
@ -956,6 +988,7 @@ de:
views_long: "Dieses Thema wurde {{number}} aufgerufen" views_long: "Dieses Thema wurde {{number}} aufgerufen"
activity: "Aktivität" activity: "Aktivität"
likes: "Gefällt mir" likes: "Gefällt mir"
likes_long: "es gibt {{number}} „Gefällt mir“ in diesem Thema"
top_contributors: "Teilnehmer" top_contributors: "Teilnehmer"
category_title: "Kategorie" category_title: "Kategorie"
history: "Verlauf" history: "Verlauf"
@ -1004,6 +1037,11 @@ de:
browser_update: '<a href="http://www.discourse.org/faq/#browser">Dein Webbrowser ist leider zu alt um dieses Forum zu besuchen</a>. Bitte <a href="http://browsehappy.com">installiere einen neueren Browser</a>.' browser_update: '<a href="http://www.discourse.org/faq/#browser">Dein Webbrowser ist leider zu alt um dieses Forum zu besuchen</a>. Bitte <a href="http://browsehappy.com">installiere einen neueren Browser</a>.'
permission_types:
full: "Erstellen / Antworten / Anschauen"
create_post: "Antworten / Anschauen"
readonly: "Anschauen"
# This section is exported to the javascript for i18n in the admin section # This section is exported to the javascript for i18n in the admin section
admin_js: admin_js:
type_to_filter: "Tippe etwas ein, um zu filtern..." type_to_filter: "Tippe etwas ein, um zu filtern..."
@ -1014,6 +1052,7 @@ de:
dashboard: dashboard:
title: "Übersicht" title: "Übersicht"
last_updated: "Übersicht zuletzt aktualisiert:"
version: "Version" version: "Version"
up_to_date: "Discourse ist aktuell." up_to_date: "Discourse ist aktuell."
critical_available: "Ein kritisches Update ist verfügbar." critical_available: "Ein kritisches Update ist verfügbar."
@ -1065,6 +1104,7 @@ de:
disagree_unhide_title: "Verwerfe alle Meldungen über diesen Beitrag (blendet verstecke Beiträge ein)" disagree_unhide_title: "Verwerfe alle Meldungen über diesen Beitrag (blendet verstecke Beiträge ein)"
disagree: "Ablehnen" disagree: "Ablehnen"
disagree_title: "Meldung ablehnen, alle Meldungen über diesen Beitrag annullieren" disagree_title: "Meldung ablehnen, alle Meldungen über diesen Beitrag annullieren"
delete_spammer_title: "Lösche den Benutzer und alle seine Beiträge und Themen."
flagged_by: "Gemeldet von" flagged_by: "Gemeldet von"
error: "Etwas ist schief gelaufen" error: "Etwas ist schief gelaufen"
@ -1145,6 +1185,48 @@ de:
last_seen_user: "Letzer Benutzer:" last_seen_user: "Letzer Benutzer:"
reply_key: "Antwort-Schlüssel" reply_key: "Antwort-Schlüssel"
logs:
title: "Logs"
action: "Aktion"
created_at: "Erstellt"
last_match_at: "Letzte Übereinstimmung"
match_count: "Übereinstimmungen"
ip_address: "IP"
screened_actions:
block: "blockieren"
do_nothing: "nichts machen"
staff_actions:
title: "Mitarbeiter Aktion"
instructions: "Kilcke auf die Benutzernamen und Aktionen um die Liste zu filtern. Klicke den Avatar um die Benutzerseite zu sehen."
clear_filters: "Alles anzeigen"
staff_user: "Mitarbeiter"
target_user: "Zielnutzer"
subject: "Betreff"
when: "Wann"
context: "Kontext"
details: "Details"
previous_value: "Vorangehend"
new_value: "Neu"
diff: "Diff"
show: "Anzeigen"
modal_title: "Details"
no_previous: "Es gibt keinen vorgängigen Wert."
deleted: "Kein neuer Wert. Der Eintrag wurde gelöscht."
actions:
delete_user: "Benutzer löschen"
change_trust_level: "Vertrauensstufe ändern"
change_site_setting: "Seiten Einstellungen ändern"
change_site_customization: "Seiten Anpassungen ändern"
delete_site_customization: "Seiten Anpassungen löschen"
screened_emails:
title: "Geschützte Mails"
description: "Wen jemand ein Konto erstellt, werden die folgenden Mail überprüft und die Registration blockiert, oder eine andere Aktion ausgeführt."
email: "Mail Adresse"
screened_urls:
title: "Geschützte URLs"
description: "Die aufgelisteten URLs wurden in Beiträgen von identifizierten Spammen verwendet."
url: "URL"
impersonate: impersonate:
title: "Aus Nutzersicht betrachten" title: "Aus Nutzersicht betrachten"
username_or_email: "Benutzername oder Mailadresse des Nutzers" username_or_email: "Benutzername oder Mailadresse des Nutzers"
@ -1170,6 +1252,9 @@ de:
approved_selected: approved_selected:
one: "Benutzer zulassen" one: "Benutzer zulassen"
other: "Benutzer zulassen ({{count}})" other: "Benutzer zulassen ({{count}})"
reject_selected:
one: "Benutzer ablehnen"
other: "Lehne ({{count}}) Benutzer ab"
titles: titles:
active: 'Aktive Benutzer' active: 'Aktive Benutzer'
new: 'Neue Benutzer' new: 'Neue Benutzer'
@ -1183,12 +1268,19 @@ de:
moderators: 'Moderatoren' moderators: 'Moderatoren'
blocked: 'Gesperrte Benutzer' blocked: 'Gesperrte Benutzer'
banned: "Gebannte Benutzer" banned: "Gebannte Benutzer"
reject_successful:
one: "Erfolgreich 1 Benutzer abgelehnt."
other: "Erfolgreich %{count} Benutzer abgelehnt."
reject_failures:
one: "Konnte 1 Benutzer nicht ablehnen."
other: "Konnte %{count} Benutzer nicht ablehnen."
user: user:
ban_failed: "Beim Sperren dieses Benutzers ist etwas schief gegangen {{error}}" ban_failed: "Beim Sperren dieses Benutzers ist etwas schief gegangen {{error}}"
unban_failed: "Beim Entsperren dieses Benutzers ist etwas schief gegangen {{error}}" unban_failed: "Beim Entsperren dieses Benutzers ist etwas schief gegangen {{error}}"
ban_duration: "Wie lange soll dieser Benutzer gesperrt werden? (Tage)" ban_duration: "Wie lange soll dieser Benutzer gesperrt werden? (Tage)"
delete_all_posts: "Lösche alle Beiträge" delete_all_posts: "Lösche alle Beiträge"
delete_all_posts_confirm: "Du löschst %{posts} Beiträge und %{topics} Themen. Bist du sicher?"
ban: "Sperren" ban: "Sperren"
unban: "Entsperren" unban: "Entsperren"
banned: "Gesperrt?" banned: "Gesperrt?"
@ -1219,12 +1311,18 @@ de:
flags_received_count: Erhaltene Meldungen flags_received_count: Erhaltene Meldungen
approve: 'Genehmigen' approve: 'Genehmigen'
approved_by: "genehmigt von" approved_by: "genehmigt von"
approve_success: "Benutzer freigeschalten und Mail mit den Anweisungen zur Aktivierung gesendet." approve_success: "Benutzer freigeschalten und Mail mit den Anweisungen zur Aktivierung
approve_bulk_success: "Erfolg! Alle ausgewählten Benutzer wurden freigeschalten und benachrichtigt." gesendet."
approve_bulk_success: "Erfolg! Alle ausgewählten Benutzer wurden freigeschalten und
benachrichtigt."
time_read: "Lesezeit" time_read: "Lesezeit"
delete: Benutzer löschen delete: Benutzer löschen
delete_forbidden: "Der Benutzer kann nicht gelöscht werden, da er noch Beiträge hat. Lösche zuerst seine Beträge." delete_forbidden:
one: "Benutzer können nicht gelöscht werden, wenn sie sich vor mehr als %{count} Tag angemeldet oder noch Beiträge haben. Lösche zuerst seine Beträge."
other: "Benutzer können nicht gelöscht werden, wenn sie sich vor mehr als %{count} Tagen angemeldet oder noch Beiträge haben. Lösche zuerst seine Beträge."
delete_confirm: "Bist du SICHER das du diesen Benutzer permanent von der Seite entfernen möchtest? Diese Aktion kann nicht rückgängig gemacht werden!" delete_confirm: "Bist du SICHER das du diesen Benutzer permanent von der Seite entfernen möchtest? Diese Aktion kann nicht rückgängig gemacht werden!"
delete_and_block: "<b>Ja</b>, und <b>blockiere</b> Anmeldungen von dieser Mail Adresse"
delete_dont_block: "<b>Ja</b>, aber <b>erlaube</b> Anmeldungen von dieser Mail Adresse"
deleted: "Der Benutzer wurde gelöscht." deleted: "Der Benutzer wurde gelöscht."
delete_failed: "Beim Löschen des Benutzers ist ein Fehler aufgetreten. Stelle sicher, dass dieser Benutzer keine Beiträge mehr hat." delete_failed: "Beim Löschen des Benutzers ist ein Fehler aufgetreten. Stelle sicher, dass dieser Benutzer keine Beiträge mehr hat."
send_activation_email: "Aktivierungsmail senden" send_activation_email: "Aktivierungsmail senden"
@ -1239,7 +1337,7 @@ de:
deactivate_explanation: "Ein deaktivierter Benutzer muss seine E-Mail erneut bestätigen." deactivate_explanation: "Ein deaktivierter Benutzer muss seine E-Mail erneut bestätigen."
banned_explanation: "Ein gesperrter Benutzer kann sich nicht einloggen." banned_explanation: "Ein gesperrter Benutzer kann sich nicht einloggen."
block_explanation: "Ein geblockter Benutzer kann keine Themen erstellen oder Beiträge veröffentlichen." block_explanation: "Ein geblockter Benutzer kann keine Themen erstellen oder Beiträge veröffentlichen."
trust_level_change_failed: "Beim Wechsel der Vertrauensstufe ist ein Fehler aufgetreten."
site_content: site_content:
none: "Wähle einen Inhaltstyp um mit dem Bearbeiten zu beginnen." none: "Wähle einen Inhaltstyp um mit dem Bearbeiten zu beginnen."
@ -1251,3 +1349,5 @@ de:
title: 'Einstellungen' title: 'Einstellungen'
reset: 'Zurücksetzen' reset: 'Zurücksetzen'
none: "Keine" none: "Keine"

View File

@ -188,7 +188,6 @@ en:
download_archive: "download archive of my posts" download_archive: "download archive of my posts"
private_message: "Private Message" private_message: "Private Message"
private_messages: "Messages" private_messages: "Messages"
private_messages_sent: "Sent Messages"
activity_stream: "Activity" activity_stream: "Activity"
preferences: "Preferences" preferences: "Preferences"
bio: "About me" bio: "About me"
@ -202,6 +201,11 @@ en:
moderator: "{{user}} is a moderator" moderator: "{{user}} is a moderator"
admin: "{{user}} is an admin" admin: "{{user}} is an admin"
messages:
all: "All"
mine: "Mine"
unread: "Unread"
change_password: change_password:
success: "(email sent)" success: "(email sent)"
in_progress: "(sending email)" in_progress: "(sending email)"

View File

@ -5,9 +5,15 @@
# http://yamllint.com/ # http://yamllint.com/
de: de:
dates:
short_date_no_year: "D MMM"
short_date: "D. MMM YYYY"
long_date: "D. MMMM YYYY, H:mm"
time: time:
formats: formats:
short: "%d. %m. %Y" short: "%d. %m. %Y"
short_no_year: "%-d. %B"
date_only: "%-d. %b %Y"
title: "Discourse" title: "Discourse"
topics: "Themen" topics: "Themen"
@ -33,6 +39,10 @@ de:
zero: "Entschuldige, neue Benutzer können Beiträge keine Bilder hinzufügen." zero: "Entschuldige, neue Benutzer können Beiträge keine Bilder hinzufügen."
one: "Entschuldige, neue Benutzer können Beiträgen nur ein Bild hinzufügen." one: "Entschuldige, neue Benutzer können Beiträgen nur ein Bild hinzufügen."
other: "Entschuldige, neue Benutzer können Beiträge nur %{count} Bilde hinzufügen." other: "Entschuldige, neue Benutzer können Beiträge nur %{count} Bilde hinzufügen."
too_many_attachments:
zero: "Entschuldige, neue Benutzer können Beiträge keine Dateien hinzufügen."
one: "Entschuldige, neue Benutzer können Beiträgen nur eine Datei hinzufügen."
other: "Entschuldige, neue Benutzer können Beiträgen nur %{count} Dateien hinzufügen."
too_many_links: too_many_links:
zero: "Entschuldige, neue Benutzer können Beiträgen keine Links hinzufügen." zero: "Entschuldige, neue Benutzer können Beiträgen keine Links hinzufügen."
one: "Entschuldige, neue Benutzer können Beiträgen nur einen Link hinzufügen." one: "Entschuldige, neue Benutzer können Beiträgen nur einen Link hinzufügen."
@ -50,8 +60,13 @@ de:
rss_topics_in_category: "RSS-Feed von Themen in der Kategorie '%{category}'" rss_topics_in_category: "RSS-Feed von Themen in der Kategorie '%{category}'"
author_wrote: "%{author} schrieb:" author_wrote: "%{author} schrieb:"
private_message_abbrev: "PN" private_message_abbrev: "PN"
rss_description:
latest: "Neuste Themen"
hot: Angesagte Themen"
groups: groups:
errors:
can_not_modify_automatic: "Du kannst eine automatische Gruppe nicht bearbeiten"
default_names: default_names:
admins: "admins" admins: "admins"
moderators: "moderatoren" moderators: "moderatoren"
@ -70,8 +85,6 @@ de:
'new-topic': | 'new-topic': |
Willkommen auf %{site_name} &mdash; **Danke, dass Du ein neues Thema erstellst!** Willkommen auf %{site_name} &mdash; **Danke, dass Du ein neues Thema erstellst!**
Beachte dabei bitte die Folgenden Dinge:
- Ist der Titel eines adäquate Beschreibung dessen, was ein Nutzer vorzufinden erwartet, wenn er dieses Thema aufruft? - Ist der Titel eines adäquate Beschreibung dessen, was ein Nutzer vorzufinden erwartet, wenn er dieses Thema aufruft?
- Der erste Beitrag umschreibt das Thema: Worum geht es? Wer wäre interessiert daran? Warum ist es wichtig? Welche Arten von Antworten erhoffst Du dir von der Community? - Der erste Beitrag umschreibt das Thema: Worum geht es? Wer wäre interessiert daran? Warum ist es wichtig? Welche Arten von Antworten erhoffst Du dir von der Community?
@ -83,8 +96,6 @@ de:
'new-reply': | 'new-reply': |
Willkommen auf %{site_name} &mdash; **Danke für deinen Beitrag zum Thema!** Willkommen auf %{site_name} &mdash; **Danke für deinen Beitrag zum Thema!**
Beachte bitte folgende Dinge während des Schreibens:
- Fügt dein Beitrag dem Gespräch etwas Neues hinzu, und sei es auch wenig? - Fügt dein Beitrag dem Gespräch etwas Neues hinzu, und sei es auch wenig?
- Behandle deine Gesprächspartner mit demselben Respekt, den Du von ihnen erwartest. - Behandle deine Gesprächspartner mit demselben Respekt, den Du von ihnen erwartest.
@ -130,6 +141,8 @@ de:
title: "Anführer" title: "Anführer"
elder: elder:
title: "Ältester" title: "Ältester"
change_failed_explanation: "Du wolltest %{user_name} auf '%{new_trust_level}' zurückstufen. Jedoch ist seine Vertrauensstufe bereits '%{current_trust_level}'. %{user_name} verbleibt auf '%{current_trust_level}'"
rate_limiter: rate_limiter:
too_many_requests: "Du machst das zu häufig. Bitte warte %{time_left} vor dem nächsten Versuch." too_many_requests: "Du machst das zu häufig. Bitte warte %{time_left} vor dem nächsten Versuch."
@ -382,12 +395,17 @@ de:
cas_config_warning: 'Der Server erlaubt die Anmeldung mit CAS (enable_cas_logins), aber der Hostname und die Domäne sind nicht gesetzt.' cas_config_warning: 'Der Server erlaubt die Anmeldung mit CAS (enable_cas_logins), aber der Hostname und die Domäne sind nicht gesetzt.'
twitter_config_warning: 'Der Server erlaubt die Anmeldung mit Facebook Twitter (enable_twitter_logins), aber der Schlüssel und der Geheimcode sind nicht gesetzt. Besuche <a href="/admin/site_settings">die Einstellungen</a> um die fehlenden Einträge hinzuzufügen. <a href="https://github.com/discourse/discourse/wiki/The-Discourse-Admin-Quick-Start-Guide#enable-twitter-logins" target="_blank">Besuche den Leitfaden um mehr zu erfahren</a>.' twitter_config_warning: 'Der Server erlaubt die Anmeldung mit Facebook Twitter (enable_twitter_logins), aber der Schlüssel und der Geheimcode sind nicht gesetzt. Besuche <a href="/admin/site_settings">die Einstellungen</a> um die fehlenden Einträge hinzuzufügen. <a href="https://github.com/discourse/discourse/wiki/The-Discourse-Admin-Quick-Start-Guide#enable-twitter-logins" target="_blank">Besuche den Leitfaden um mehr zu erfahren</a>.'
github_config_warning: 'Der Server erlaubt die Anmeldung mit Facebook GitHub (enable_github_logins), aber die Kunden ID und der Geheimcode sind nicht gesetzt. Besuche <a href="/admin/site_settings">die Einstellungen</a> um die fehlenden Einträge hinzuzufügen. <a href="https://github.com/discourse/discourse/wiki/The-Discourse-Admin-Quick-Start-Guide" target="_blank">Besuche den Leitfaden um mehr zu erfahren</a>.' github_config_warning: 'Der Server erlaubt die Anmeldung mit Facebook GitHub (enable_github_logins), aber die Kunden ID und der Geheimcode sind nicht gesetzt. Besuche <a href="/admin/site_settings">die Einstellungen</a> um die fehlenden Einträge hinzuzufügen. <a href="https://github.com/discourse/discourse/wiki/The-Discourse-Admin-Quick-Start-Guide" target="_blank">Besuche den Leitfaden um mehr zu erfahren</a>.'
s3_config_warning: 'Der Server wurde konfiguriert um Dateien nach s3 hochzuladen, aber mindestens der folgenden Einstellungen fehlt: s3_access_key_id, s3_secret_access_key oder s3_upload_bucket. Besuche <a href="/admin/site_settings">die Einstellungen</a> um die fehlenden Einträge hinzuzufügen. <a href="http://meta.discourse.org/t/how-to-set-up-image-uploads-to-s3/7229" target="_blank">Besuche "How to set up image uploads to S3?" um mehr zu erfahren</a>.'
image_magick_warning: 'Der Server wurde konfiguriert um Vorschaubilder von grossen Bildern zu erstellen, aber ImageMagick ist nicht installiertd. Installiere ImageMagick mit deinem bevorzugten Packetmanager oder besuche <a href="http://www.imagemagick.org/script/binary-releases.php" target="_blank">um das aktuelle Paket herunterzuladen</a>.'
failing_emails_warning: 'Es konnten insgesamt %{num_failed_jobs} Mails nicht versendet werden. Bitte überprüfe die Einstellungen in config/environments/production.rb und stelle die Richtigkeit der config.action_mailer Einstellungen. <a href="/sidekiq/retries" target="_blank">Zu den Fehlern in Sidekiq</a>.' failing_emails_warning: 'Es konnten insgesamt %{num_failed_jobs} Mails nicht versendet werden. Bitte überprüfe die Einstellungen in config/environments/production.rb und stelle die Richtigkeit der config.action_mailer Einstellungen. <a href="/sidekiq/retries" target="_blank">Zu den Fehlern in Sidekiq</a>.'
default_logo_warning: "Das Logo der Seite wurde noch nicht angepasst. Bitte bearbeite dieses in den <a href='/admin/site_settings'>Einstellungen</a> (siehe logo_url, logo_small_url und favicon_url)." default_logo_warning: "Das Logo der Seite wurde noch nicht angepasst. Bitte bearbeite dieses in den <a href='/admin/site_settings'>Einstellungen</a> (siehe logo_url, logo_small_url und favicon_url)."
contact_email_missing: "Du hast noch keine Kontaktmail für die Seite hinterlegt. Bitte hinterlege diese in den <a href='/admin/site_settings'>Einstellungen</a> (siehe contact_email)." contact_email_missing: "Du hast noch keine Kontaktmail für die Seite hinterlegt. Bitte hinterlege diese in den <a href='/admin/site_settings'>Einstellungen</a> (siehe contact_email)."
contact_email_invalid: "Die Kontaktmail der Seite ist ungültig. Bitte bearbeite diese in den <a href='/admin/site_settings'>Einstellungen</a> (siehe contact_email)." contact_email_invalid: "Die Kontaktmail der Seite ist ungültig. Bitte bearbeite diese in den <a href='/admin/site_settings'>Einstellungen</a> (siehe contact_email)."
title_nag: "Der Titel der Seite wurde noch nicht angepasst. Bitte bearbeite diesen in den <a href='/admin/site_settings'>Einstellungen</a>." title_nag: "Der Titel der Seite wurde noch nicht angepasst. Bitte bearbeite diesen in den <a href='/admin/site_settings'>Einstellungen</a>."
consumer_email_warning: "Deine Seite verwendet Gmail um Mails zu senden. <a href='http://support.google.com/a/bin/answer.py?hl=en&answer=166852' target='_blank'>Gmail hat eine Limite zum Senden von Mails</a>. Um die Mail-Zustellung zu gewährleisten, solltest du einen anderen Mail Service in Erwägung ziehen." consumer_email_warning: "Deine Seite verwendet Gmail um Mails zu senden. <a href='http://support.google.com/a/bin/answer.py?hl=en&answer=166852' target='_blank'>Gmail hat eine Limite zum Senden von Mails</a>. Um die Mail-Zustellung zu gewährleisten, solltest du einen anderen Mail Service in Erwägung ziehen."
access_password_removal: "Deine Seite hat die Einstellung access_password verwendet, welche entfernt wurde. Die Einstellungen login_required und must_approve_users wurden eingeschalten und werden sofort verwendet. Du kannst diese in <a href='/admin/site_settings'>den Einstellungen</a> wechseln. Stelle sicher, <a href='/admin/users/list/pending'>dass die Benutzer in der Warteliste</a> aktiviert werden. (Diese Meldung wird in 2 Tagen nicht mehr angezeigt.)"
system_username_warning: "Die Einstellung system_username ist leer. Bitte ändere diese in <a href='/admin/site_settings'>den Einstellungen</a>. Setzte einen Benutzernamen eines Administrators, welcher als Sender der Systemnachrichten verwendet werden soll."
notification_email_warning: "Die Einstellung notification_email ist leer. Bitte ändere diese in <a href='/admin/site_settings'>den Einstellungen</a>."
content_types: content_types:
education_new_reply: education_new_reply:
@ -405,22 +423,30 @@ de:
welcome_invite: welcome_invite:
title: "Willkommen: Eingeladener Benutzer" title: "Willkommen: Eingeladener Benutzer"
description: "Eine private Nachricht welche automatisch an alle eingeladenen Benutzer gesendet wird, wenn diese die Einladung annehmen." description: "Eine private Nachricht welche automatisch an alle eingeladenen Benutzer gesendet wird, wenn diese die Einladung annehmen."
privacy_policy:
title: "Datenschutzrichtlinie"
description: "Die Datenschutzrichtlinie deiner Seite. Leer lassen um die Vorgabe zu verwenden."
faq:
title: "FAQ"
description: "Die FAQ deiner Seite. Leer lassen um die Vorgabe zu verwenden."
login_required_welcome_message: login_required_welcome_message:
title: "Anmeldung erforderlich: Willkommensnachricht" title: "Anmeldung erforderlich: Willkommensnachricht"
description: "Willkommensnachricht welche angezeigt wird wenn der Benutzer nicht angemeldet ist und die description: "Willkommensnachricht welche angezeigt wird wenn der Benutzer nicht angemeldet ist und die
Einstellung 'login required' aktiviert ist." Einstellung 'login required' aktiviert ist."
tos_user_content_license: tos_user_content_license:
title: "Nutzungsbedingungen: Lizenz" title: "Nutzungsbedingungen: Lizenz"
description: "Der Text für die Lizenz-Sektion in den Nutzungsbedingungen." description: "Der Text für die Lizenz-Sektion in den Nutzungsbedingungen."
tos_miscellaneous: tos_miscellaneous:
title: "Nutzungsbedingungen: Verschiedenes" title: "Nutzungsbedingungen: Verschiedenes"
description: "Der Text für die Verschiedene-Sektion in den Nutzungsbedingungen." description: "Der Text für die Verschiedene-Sektion in den Nutzungsbedingungen."
login_required:
title: "Anmeldung erforderlich: Hauptseite"
description: "Der Text welcher nicht angemeldeten Benutzer angezeigt wird, wenn eine Anmeldung erforderlich ist."
site_settings: site_settings:
default_locale: "Die Standardsprache dieser Discourse-Instanz (kodiert in ISO 639-1)." default_locale: "Die Standardsprache dieser Discourse-Instanz (kodiert in ISO 639-1)."
min_post_length: "Minimale Beitragslänge in Zeichen." min_post_length: "Minimale Beitragslänge in Zeichen."
min_private_message_post_length: "Minimale Beitragslänge in Zeichen für private Nachrichten"
max_post_length: "Maximale Beitragslänge in Zeichen." max_post_length: "Maximale Beitragslänge in Zeichen."
min_topic_title_length: "Minimale Titellänge von Themen in Zeichen." min_topic_title_length: "Minimale Titellänge von Themen in Zeichen."
max_topic_title_length: "Maximale Titellänge von Themen in Zeichen." max_topic_title_length: "Maximale Titellänge von Themen in Zeichen."
@ -441,12 +467,15 @@ de:
queue_jobs: "Benutze die Sidekiq-Queue, falls falsche Queues inline sind." queue_jobs: "Benutze die Sidekiq-Queue, falls falsche Queues inline sind."
crawl_images: "Lade Bilder von Dritten herunter, um ihre Höhe und Breite zu bestimmen." crawl_images: "Lade Bilder von Dritten herunter, um ihre Höhe und Breite zu bestimmen."
ninja_edit_window: "Sekunden nach Empfang eines Beitrag, in denen Bearbeitungen nicht als neue Version gelten." ninja_edit_window: "Sekunden nach Empfang eines Beitrag, in denen Bearbeitungen nicht als neue Version gelten."
edit_history_visible_to_public: "Erlaube jedem vorherige Versionen eines beitrages zu sehen. Wenn deaktiviert, konnen nur Mitarbeiter die Bearbeitungshistorie anschauen."
delete_removed_posts_after: "Anzahl Stunden nach welchem Beiträge die von ihrem Author entfernt wurden endgültig gelöscht werden."
max_image_width: "Maximalbreite von Bildern in einem Beitrag." max_image_width: "Maximalbreite von Bildern in einem Beitrag."
max_image_height: "Maximalhöhe von Bildern in einem Beitrag."
category_featured_topics: "Zahl der angezeigten Themen je Kategorie auf der Kategorieseite /categories." category_featured_topics: "Zahl der angezeigten Themen je Kategorie auf der Kategorieseite /categories."
add_rel_nofollow_to_user_content: "Füge mit Ausnahme interner Links allen nutzergenerierten Inhalten 'rel nofollow' hinzu (inkludiert übergeordnete Domains). Die Änderung dieser Einstellung erfordert, dass Du sämtliche Markdown-Beiträge aktualisierst." add_rel_nofollow_to_user_content: "Füge mit Ausnahme interner Links allen nutzergenerierten Inhalten 'rel nofollow' hinzu (inkludiert übergeordnete Domains). Die Änderung dieser Einstellung erfordert, dass Du sämtliche Markdown-Beiträge aktualisierst."
exclude_rel_nofollow_domains: "Kommaseparierte Liste aller Domains, bei denen 'nofollow' nicht hinzugefügt wird (tld.com erlaubt auch sub.tld.com)." exclude_rel_nofollow_domains: "Kommaseparierte Liste aller Domains, bei denen 'nofollow' nicht hinzugefügt wird (tld.com erlaubt auch sub.tld.com)."
post_excerpt_maxlength: "Maximale Länge des Exzerpts eines Beitrags in Zeichen." post_excerpt_maxlength: "Maximale Länge des Zitates eines Beitrags in Zeichen."
post_onebox_maxlength: "Maximale Länge eines Onebox-Discourse-Beitrags." post_onebox_maxlength: "Maximale Länge eines Onebox-Discourse-Beitrags."
category_post_template: "Die Beitragsvorlage zur Kategoriedefinition beim erstellen einer neuen Kategorie." category_post_template: "Die Beitragsvorlage zur Kategoriedefinition beim erstellen einer neuen Kategorie."
onebox_max_chars: "Maximale Zahl der Zeichen, die eine Onebox von einer externen Webseite in einen Beitrag lädt." onebox_max_chars: "Maximale Zahl der Zeichen, die eine Onebox von einer externen Webseite in einen Beitrag lädt."
@ -457,6 +486,7 @@ de:
apple_touch_icon_url: "Icon für berührungsempfindliche Apple Geräte. Empfohlene Grösse ist 144px auf 144px." apple_touch_icon_url: "Icon für berührungsempfindliche Apple Geräte. Empfohlene Grösse ist 144px auf 144px."
notification_email: "Die Antwortadresse, die in Systemmails (zum Beispiel zur Passwortwiederherstellung, neuen Konten, etc.) eingetragen wird." notification_email: "Die Antwortadresse, die in Systemmails (zum Beispiel zur Passwortwiederherstellung, neuen Konten, etc.) eingetragen wird."
email_custom_headers: "Eine Pipe-getrennte (|) Liste von eigenen Mail Headern"
use_ssl: "Soll die Seite via SSL nutzbar sein?" use_ssl: "Soll die Seite via SSL nutzbar sein?"
best_of_score_threshold: "Der Minimalscore eines Beitrags, um zu den Top Beiträgen zu zählen." best_of_score_threshold: "Der Minimalscore eines Beitrags, um zu den Top Beiträgen zu zählen."
best_of_posts_required: "Minimale Zahl der Beiträge zu einem Thema bevor der Modus 'Top Beiträge' aktiviert wird." best_of_posts_required: "Minimale Zahl der Beiträge zu einem Thema bevor der Modus 'Top Beiträge' aktiviert wird."
@ -476,13 +506,15 @@ de:
cooldown_minutes_after_hiding_posts: "Minuten, die ein Nutzer warten muss, bevor ein Beitrag, der wegen Meldungen versteckt wurde, bearbeitet werden kann." cooldown_minutes_after_hiding_posts: "Minuten, die ein Nutzer warten muss, bevor ein Beitrag, der wegen Meldungen versteckt wurde, bearbeitet werden kann."
num_flags_to_block_new_user: "Wenn ein Beitrag eines neuen Benutzers von (n) anderen Benutzern als Werbung gemeldet wird, verstecke alle Beiträge des Benutzers und erlaube keine neue Beiträge mehr. 0 stellt diese Funktion ab." num_flags_to_block_new_user: "Wenn ein Beitrag eines neuen Benutzers von (n) anderen Benutzern als Werbung gemeldet wird, verstecke alle Beiträge des Benutzers und erlaube keine neue Beiträge mehr. 0 stellt diese Funktion ab."
num_users_to_block_new_user: "Wenn ein Beitrag eines neuen Benutzers von nderen Benutzern (n) mal als Werbung gemeldet wird, verstecke alle Beiträge des Benutzers und erlaube keine neue Beiträge mehr. 0 stellt diese Funktion ab." num_users_to_block_new_user: "Wenn ein Beitrag eines neuen Benutzers von nderen Benutzern (n) mal als Werbung gemeldet wird, verstecke alle Beiträge des Benutzers und erlaube keine neue Beiträge mehr. 0 stellt diese Funktion ab."
notify_mods_when_user_blocked: "Wenn ein Benutzer automatisch gesperrt wird, sende eine Mail an alle Moderatoren."
traditional_markdown_linebreaks: "Traditionelle Zeilenumbrüche in Markdown, anstatt zwei nachfolgende Leerzeichen als Zeilenumbruch zu verwenden." traditional_markdown_linebreaks: "Traditionelle Zeilenumbrüche in Markdown, anstatt zwei nachfolgende Leerzeichen als Zeilenumbruch zu verwenden."
post_undo_action_window_mins: "Sekunden, die ein Nutzer hat, um Aktionen auf Beiträgen rückgängig zu machen (Like, Meldung, etc.)." post_undo_action_window_mins: "Sekunden, die ein Nutzer hat, um Aktionen auf Beiträgen rückgängig zu machen (Like, Meldung, etc.)."
must_approve_users: "Administratoren müssen Nutzer freischalten, bevor sie Zugriff erlangen." must_approve_users: "Administratoren müssen Nutzer freischalten, bevor sie Zugriff erlangen."
ga_tracking_code: "Google Analytics Trackingcode, zum Beispiel: UA-12345678-9; siehe http://google.com/analytics" ga_tracking_code: "Google Analytics Trackingcode, zum Beispiel: UA-12345678-9; siehe http://google.com/analytics"
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_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|favorited|unread|new|posted|categories" top_menu: "Bestimme, welche Navigationselemente in welcher Reihenfolge auftauchen. Beispiel: latest|hot|read|favorited|unread|new|posted|categories"
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"
@ -491,11 +523,14 @@ de:
posts_per_page: "Zahl der Beiträge, die auf einer Themenseite gezeigt werden." posts_per_page: "Zahl der Beiträge, die auf einer Themenseite gezeigt werden."
system_username: "Benutzername des Autors für automatisch vom Forum versendete private Nachrichten." system_username: "Benutzername des Autors für automatisch vom Forum versendete private Nachrichten."
send_welcome_message: "Bekommen neue Nutzer eine Willkommensnachricht?" send_welcome_message: "Bekommen neue Nutzer eine Willkommensnachricht?"
suppress_reply_directly_below: "Zeige die Zahl der Antworten auf einen Beitrag nicht, falls die einzige Antwort direkt darauf folgt." suppress_reply_directly_below: "Zeige die Zahl der Antworten auf einen Beitrag nicht, falls die einzige Antwort direkt darunter folgt."
suppress_reply_directly_above: "Zeige 'In Antwort auf' nicht, falls der Beitrag direkt über der einzigen Antwort folgt."
allow_index_in_robots_txt: "Diese Seite soll durch Suchmaschinen indiziert werden (aktualisiert robots.txt)." allow_index_in_robots_txt: "Diese Seite soll durch Suchmaschinen indiziert werden (aktualisiert robots.txt)."
email_domains_blacklist: "Eine durch senkrechte Striche getrennte Liste von unerlaubten Maildomains. Beispiel: mailinator.com|trashmail.net" email_domains_blacklist: "Eine durch senkrechte Striche getrennte Liste von unerlaubten Maildomains. Beispiel: mailinator.com|trashmail.net"
email_domains_whitelist: "Eine durch senkrechte Striche getrennte Liste von erlaubte Maildomains. WARNUNG: Benutzer mit Mailadressen anderer Domains können sich nicht registrieren." email_domains_whitelist: "Eine durch senkrechte Striche getrennte Liste von erlaubte Maildomains. WARNUNG: Benutzer mit Mailadressen anderer Domains können sich nicht registrieren."
version_checks: "Erfrage Versionsupdate bei Discourse Hub und zeige Versionsbenachrichtigungen auf der Administratorkonsole /admin." version_checks: "Erfrage Versionsupdate bei Discourse Hub und zeige Versionsbenachrichtigungen auf der Administratorkonsole /admin."
new_version_emails: "Sende eine Mail an contact_email Adresse wenn eine neue Version verfügbar ist."
port: "NUR FÜR ENTWICKLER! ACHTUNG! Benutze diesen HTTP-Port anstatt den Standardport 80. Diese Feld leer lassen heißt 'keinen'. Dient hauptsächlich Entwicklungszwecken." port: "NUR FÜR ENTWICKLER! ACHTUNG! Benutze diesen HTTP-Port anstatt den Standardport 80. Diese Feld leer lassen heißt 'keinen'. Dient hauptsächlich Entwicklungszwecken."
force_hostname: "NUR FÜR ENTWICKLER! ACHTUNG! Spezifiziere einen Hostnamen in der URL. Dieses Feld leer lassen heißt 'keinen'. Dient hauptsächlich Entwicklungszwecken." force_hostname: "NUR FÜR ENTWICKLER! ACHTUNG! Spezifiziere einen Hostnamen in der URL. Dieses Feld leer lassen heißt 'keinen'. Dient hauptsächlich Entwicklungszwecken."
@ -559,6 +594,8 @@ de:
s3_secret_access_key: "Der geheime Schlüssel von Amazon S3 welcher für das Hochladen verwendet wird" s3_secret_access_key: "Der geheime Schlüssel von Amazon S3 welcher für das Hochladen verwendet wird"
s3_region: "Der Name der Amazon S3 Region welche für das Hochladen verwendet wird" s3_region: "Der Name der Amazon S3 Region welche für das Hochladen verwendet wird"
enable_flash_video_onebox: "Aktiviere das Einbinden von swf und flv Links in einer Onebox. ACHTUNG: Kann eine Sicherheitsrisiko sein"
default_invitee_trust_level: "Standardwert für die Stufe eines eingeladenen Nutzers (0-4)." default_invitee_trust_level: "Standardwert für die Stufe eines eingeladenen Nutzers (0-4)."
default_trust_level: "Standardwert für die Stufe von Nutzern (0-4)." default_trust_level: "Standardwert für die Stufe von Nutzern (0-4)."
@ -576,10 +613,14 @@ de:
newuser_max_links: "Maximale Zahl der Links, die neue Benutzer Beiträgen hinzufügen dürfen." newuser_max_links: "Maximale Zahl der Links, die neue Benutzer Beiträgen hinzufügen dürfen."
newuser_max_images: "Maximale Zahl der Bilder, die neue Benutzer Beiträgen hinzufügen dürfen." newuser_max_images: "Maximale Zahl der Bilder, die neue Benutzer Beiträgen hinzufügen dürfen."
newuser_max_attachments: "Maximale Zahl der Dateien, die neue Benutzer Beiträgen hinzufügen dürfen."
newuser_max_mentions_per_post: "Maximale Zahl der @Namens-Erwähnungen, die neue Benutzer in Beiträgen nutzen dürfen." newuser_max_mentions_per_post: "Maximale Zahl der @Namens-Erwähnungen, die neue Benutzer in Beiträgen nutzen dürfen."
max_mentions_per_post: "Maximale Zahl der @Namens-Erwähnungen, die man in einem Beitrag nutzen kann." max_mentions_per_post: "Maximale Zahl der @Namens-Erwähnungen, die man in einem Beitrag nutzen kann."
create_thumbnails: "Erstelle Vorschaubilder für Bilder in einer Lightbox"
email_time_window_mins: "Minuten Wartezeit, bevor eine Mail an Nutzer verschickt wird, um ihnen die Chance zu geben, eine Neuigkeit zuerst zu sehen." email_time_window_mins: "Minuten Wartezeit, bevor eine Mail an Nutzer verschickt wird, um ihnen die Chance zu geben, eine Neuigkeit zuerst zu sehen."
email_posts_context: "Anzahl der Antworten welche als Konext einer Notifikations-Mail hinzugefügt werden."
flush_timings_secs: "Sekunden, nach denen Zeiteinstellungen auf den Server übertragen werden." flush_timings_secs: "Sekunden, nach denen Zeiteinstellungen auf den Server übertragen werden."
max_word_length: "Maximale Wortlänge in Zeichen in Thementiteln." max_word_length: "Maximale Wortlänge in Zeichen in Thementiteln."
title_min_entropy: "Minimal nötige Entropie (einzigartige Zeichen) in einem Thementitel." title_min_entropy: "Minimal nötige Entropie (einzigartige Zeichen) in einem Thementitel."
@ -591,7 +632,9 @@ de:
min_body_similar_length: "Minimale Länge eines Beitragstextes, bevor nach ähnlichen Themen gesucht wird." min_body_similar_length: "Minimale Länge eines Beitragstextes, bevor nach ähnlichen Themen gesucht wird."
category_colors: "Eine durch senkrechte Striche getrennte Liste hexadezimaler Farbwerte, die als Kategoriefarben erlaubt sind." category_colors: "Eine durch senkrechte Striche getrennte Liste hexadezimaler Farbwerte, die als Kategoriefarben erlaubt sind."
max_image_size_kb: "Maximale Größe in Kilobytes (kB), die von Benutzern hochgeladene Bilder groß sein dürfen. Stelle sicher, dass dieser Wert auch in nginx (client_max_body_size) / apache und Proxies konfiguriert ist." max_image_size_kb: "Maximale Größe in Kilobytes (kB), die von Benutzern hochgeladene Bilder groß sein dürfen. Stelle sicher, dass dieser Wert auch in nginx (client_max_body_size) / Apache und Proxies konfiguriert ist."
max_attachment_size_kb: "Maximale Größe in Kilobytes (kB), die von Benutzern hochgeladenen Dateien groß sein dürfen. Stelle sicher, dass dieser Wert auch in nginx (client_max_body_size) / Apache und Proxies konfiguriert ist."
authorized_extensions: "Eine Pipe-getrennte (|) Liste von Dateiendungen welche hochgeladen werden dürfen."
max_similar_results: "Anzahl ähnlicher Themen, die ein Nutzer sieht, während er ein neues Thema erstellen." max_similar_results: "Anzahl ähnlicher Themen, die ein Nutzer sieht, während er ein neues Thema erstellen."
title_prettify: "Verhindert gängige Fehler im Titel, wie reine Grossschreibung, Kleinbuchstaben am Anfang, mehrere ! und ?, überflüssiger . am Ende, etc." title_prettify: "Verhindert gängige Fehler im Titel, wie reine Grossschreibung, Kleinbuchstaben am Anfang, mehrere ! und ?, überflüssiger . am Ende, etc."
@ -600,12 +643,33 @@ de:
topic_views_heat_medium: "Die Anzahl der Aufrufe bis die Popularität des Themas mittel ist." topic_views_heat_medium: "Die Anzahl der Aufrufe bis die Popularität des Themas mittel ist."
topic_views_heat_high: "Die Anzahl der Aufrufe bis die Popularität des Themas hoch ist." topic_views_heat_high: "Die Anzahl der Aufrufe bis die Popularität des Themas hoch ist."
faq_url: "URL zu einer externen FAQ welche Du gerne verwenden möchtest."
tos_url: "URL zu einer externen Dienstleistungsbedingung welche Du gerne verwenden möchtest." tos_url: "URL zu einer externen Dienstleistungsbedingung welche Du gerne verwenden möchtest."
privacy_policy_url: "URL zu einer externen Datenschutzrichtlinie welche Du gerne verwenden möchtest." privacy_policy_url: "URL zu einer externen Datenschutzrichtlinie welche Du gerne verwenden möchtest."
newuser_spam_host_threshold: "Die Anzahl welche ein Frischling Beiträge mit Links auf die gleiche Seite innerhalb ihrer `newuser_spam_host_posts` veröffentlichen , bevor der Beitrag als Spam klassifiziert wird." newuser_spam_host_threshold: "Die Anzahl welche ein Frischling Beiträge mit Links auf die gleiche Seite innerhalb ihrer `newuser_spam_host_posts` veröffentlichen , bevor der Beitrag als Spam klassifiziert wird."
staff_like_weight: "Zusätzlicher Gewichtungsfaktor wenn Mitglieder „Gefällt mir“ verteilen." staff_like_weight: "Zusätzlicher Gewichtungsfaktor wenn Mitglieder „Gefällt mir“ verteilen."
reply_by_email_enabled: "Erlaube das Antworten auf Themen via Mail"
reply_by_email_address: "Vorgabe der Antwort-Mail Adresse in der Form von: %{reply_key}@reply.myforum.com"
pop3s_polling_enabled: "Antworten via POP3S anfragen"
pop3s_polling_port: "Der Port für die POP3S Anfrage"
pop3s_polling_host: "Der Host für die POP3S Anfrage"
pop3s_polling_username: "Der Benutzername für die POP3S Anfrage"
pop3s_polling_password: "Das Passwort für die POP3S Anfrage"
minimum_topics_similar: "Wie viele Themen in der Datenbank existieren müssen, bevor ähnliche Themen angezeigt werden."
relative_date_duration: "Anzahl von Tagen nach nach welchen das Beitragsdatum relativ und nicht absolut angezeigt wird. Beispiel: relatives Datum: 7T, absolutes Datum: 20 Feb"
delete_user_max_age: "Nach wievielen Tagen ein Benutzerkonto von einem Administrator gelöscht werden kann."
delete_all_posts_max: "Die maximale Anzahl von Beiträgen welche auf einmal gelöscht werden kann. Hat ein Benutzer mehr Beiträge, so können die Beiträge nicht auf einmal und der Benutzer nicht gelöscht werden."
username_change_period: "Wie lange neu registrierte Benutzer ihren Benutzernamen ändern können."
allow_uploaded_avatars: "Erlaube das Hochladen eines eigenen Avatars"
allow_animated_avatars: "Erlaube den Benutzern animierte GIFs als Avatar zu benutzen"
default_digest_email_frequency: "Wie oft man Zusammenfassungen per Mail standardmässig erhält. Diese Einstellung kann von jedem geändert werden."
notification_types: notification_types:
mentioned: "%{display_username} hat Dich in %{link} erwähnt." mentioned: "%{display_username} hat Dich in %{link} erwähnt."
liked: "%{display_username} gefällt deinen Beitrag in %{link}." liked: "%{display_username} gefällt deinen Beitrag in %{link}."
@ -633,6 +697,9 @@ de:
moderator_post: moderator_post:
one: "Ich habe einen Beitrag in ein neues Thema verschoben: %{topic_link}" one: "Ich habe einen Beitrag in ein neues Thema verschoben: %{topic_link}"
other: "Ich habe %{count} Beiträge in ein neues Thema verschoben: %{topic_link}" other: "Ich habe %{count} Beiträge in ein neues Thema verschoben: %{topic_link}"
existing_topic_moderator_post:
one: "Ich habe den Beitrag in ein vorhandenes Thema verschoben: %{topic_link}"
other: "Ich hab %{count} Beiträge in ein vorhandenes Thema verschoben: %{topic_link}"
topic_statuses: topic_statuses:
archived_enabled: "Dieses Thema ist nun archiviert. Es ist eingefroren und kann in keiner Weise mehr verändert werden." archived_enabled: "Dieses Thema ist nun archiviert. Es ist eingefroren und kann in keiner Weise mehr verändert werden."
@ -656,6 +723,7 @@ de:
active: "Dein Konto ist nun freigeschaltet und einsatzbereit." active: "Dein Konto ist nun freigeschaltet und einsatzbereit."
activate_email: "Fast fertig! Wir haben eine Aktivierungsmail an <b>%{email}</b> verschickt. Bitte folge den Anweisungen in der Mail, um Dein Konto zu aktivieren." activate_email: "Fast fertig! Wir haben eine Aktivierungsmail an <b>%{email}</b> verschickt. Bitte folge den Anweisungen in der Mail, um Dein Konto zu aktivieren."
not_activated: "Du kannst Dich noch nicht anmelden. Wir haben Dir eine Aktivierungsmail geschickt. Bitte folge zunächst den Anweisungen aus der Mail, um Dein Konto zu aktivieren." not_activated: "Du kannst Dich noch nicht anmelden. Wir haben Dir eine Aktivierungsmail geschickt. Bitte folge zunächst den Anweisungen aus der Mail, um Dein Konto zu aktivieren."
banned: "Du kannst dich bis am %{date} nicht mehr anmelden."
errors: "%{errors}" errors: "%{errors}"
not_available: " Nicht verfügbar. Versuche %{suggestion}?" not_available: " Nicht verfügbar. Versuche %{suggestion}?"
something_already_taken: "Etwas ist schief gelaufen. Möglicherweise ist der Benutzername bereits registriert. Probiere den 'Passwort vergessen'-Link." something_already_taken: "Etwas ist schief gelaufen. Möglicherweise ist der Benutzername bereits registriert. Probiere den 'Passwort vergessen'-Link."
@ -716,6 +784,8 @@ de:
Deine Freunde von %{site_name}. Deine Freunde von %{site_name}.
:smile:
[0]: %{base_url} [0]: %{base_url}
[1]: http://www.kitterman.com/spf/validate.html [1]: http://www.kitterman.com/spf/validate.html
[2]: http://mxtoolbox.com/SuperTool.aspx [2]: http://mxtoolbox.com/SuperTool.aspx
@ -728,6 +798,17 @@ de:
<small>Am Fuß jeder Mail, die Du verschickst, sollte eine Möglichkeit zum Abbestellen gegeben werden. Hier ein Beispiel: Diese Mail wurde von Unternehmensname, Hauptstraße 55, 12345 Stadtname, Deutschland, versendet. Wenn Du zukünftig keine weiteren Mail erhalten möchtest, [klicke hier, um dich abzumelden][5].</small> <small>Am Fuß jeder Mail, die Du verschickst, sollte eine Möglichkeit zum Abbestellen gegeben werden. Hier ein Beispiel: Diese Mail wurde von Unternehmensname, Hauptstraße 55, 12345 Stadtname, Deutschland, versendet. Wenn Du zukünftig keine weiteren Mail erhalten möchtest, [klicke hier, um dich abzumelden][5].</small>
new_version_mailer:
subject_template: "[%{site_name}] neue Version verfügbar"
text_body_template: |
Eine neue Version von Discourse ist verfügbar.
**Neue Version: %{new_version}**
Deine Version: %{installed_version}
Bitte aktuallisiere die Installation so bald wie möglich um die neusten Fehlerbehebungen und Funktionen zu erhalten.
system_messages: system_messages:
post_hidden: post_hidden:
subject_template: "Beitrag wegen Meldungen aus der Community versteckt" subject_template: "Beitrag wegen Meldungen aus der Community versteckt"
@ -839,6 +920,15 @@ de:
Weitere Hilfe findest du in unserer [FAQ](%{base_url}/faq). Weitere Hilfe findest du in unserer [FAQ](%{base_url}/faq).
blocked_by_staff:
subject_template: "Konto gesperrt"
text_body_template: |
Hallo,
Dies ist eine automatische Nachricht von %{site_name} um dich zu informierenm, dass dein Konto durch einem Moderator gesperrt wurde.
Weitere Hilfe findest du in unserer [FAQ](%{base_url}/faq).
user_automatically_blocked: user_automatically_blocked:
subject_template: "Benutzer %{username} wurde automatisch gesperrt" subject_template: "Benutzer %{username} wurde automatisch gesperrt"
text_body_template: | text_body_template: |
@ -846,6 +936,13 @@ de:
Bitte [überprüfe die Beanstandungen](/admin/flags). Wenn %{username} nicht mehr gesperrt sein soll, schalte den Benutzer in der [Benuzeradministration](%{user_url}) wieder frei. Bitte [überprüfe die Beanstandungen](/admin/flags). Wenn %{username} nicht mehr gesperrt sein soll, schalte den Benutzer in der [Benuzeradministration](%{user_url}) wieder frei.
spam_post_blocked:
subject_template: "Spam wirde in einem Beitrag von %{username} entdeckt"
text_body_template: |
Dies ist eine automatische Nachricht um dich zu informieren, dass [%{username}](%{user_url}) versucht hat einen Beitrag mit Links zu erstellen, was aber basierend auf der Einstellung newuser_spam_host_threshold unterbunden wurde.
Bitte [überprüfe den Benutzer](%{user_url}).
unblocked: unblocked:
subject_template: "Benutzerkonto entsperrt" subject_template: "Benutzerkonto entsperrt"
text_body_template: | text_body_template: |
@ -855,13 +952,28 @@ de:
Du kannst nun wieder Themen erstellen und Beiträge veröffentlichen. Du kannst nun wieder Themen erstellen und Beiträge veröffentlichen.
pending_users_reminder:
subject_template:
one: "Es gibt einen nicht freigegebenen Benutzer"
other: "Es gibt %{count} nicht freigegebene Benutzer"
text_body_template: |
Es warten neuen Benutzer auf ihre Freigabe.
[Bitte bewerte diese im Administrationsbereich](/admin/users/list/pending).
unsubscribe_link: "Wenn Du diese Mails nicht mehr erhalten möchtest, verändere deine [Benutzereinstellungen](%{user_preferences_url})." unsubscribe_link: "Wenn Du diese Mails nicht mehr erhalten möchtest, verändere deine [Benutzereinstellungen](%{user_preferences_url})."
user_notifications: user_notifications:
previous_discussion: "Vorangehende Antworten"
unsubscribe: unsubscribe:
title: "Mails Abbestellen" title: "Mails Abbestellen"
description: "Nicht interessiert an diesen Mails? Kein Problem! Klicke unten um Dich abzumelden:" description: "Nicht interessiert an diesen Mails? Kein Problem! Klicke unten um Dich abzumelden:"
reply_by_email: "Um zu Antworten, antworte auf diese Email oder besuche %{base_url}%{url} in deinem Browser."
visit_link_to_respond: "Um zu Antworten, besuche %{base_url}%{url} in deinem Browser."
posted_by: "Erstellt von %{username} am %{post_date}"
user_invited_to_private_message: user_invited_to_private_message:
subject_template: "[%{site_name}] %{username} hat Dich zu einem privaten Gespräch eingeladen: '%{topic_title}'" subject_template: "[%{site_name}] %{username} hat Dich zu einem privaten Gespräch eingeladen: '%{topic_title}'"
text_body_template: | text_body_template: |
@ -872,52 +984,49 @@ de:
user_replied: user_replied:
subject_template: "[%{site_name}] %{username} hat auf deinen Beitrag '%{topic_title}' geantwortet" subject_template: "[%{site_name}] %{username} hat auf deinen Beitrag '%{topic_title}' geantwortet"
text_body_template: | text_body_template: |
%{username} hat auf deinen Beitrag '%{topic_title}' auf %{site_name} geantwortet:
---
%{message} %{message}
%{context}
--- ---
Um zu antworten, besuche den folgenden Link: %{base_url}%{url} %{respond_instructions}
user_quoted: user_quoted:
subject_template: "[%{site_name}] %{username} hat Dich in '%{topic_title}' zitiert" subject_template: "[%{site_name}] %{username} hat Dich in '%{topic_title}' zitiert"
text_body_template: | text_body_template: |
%{username} hat Dich in '%{topic_title}' auf %{site_name} zitiert:
---
%{message} %{message}
%{context}
--- ---
Um zu antworten, besuche den folgenden Link: %{base_url}%{url} %{respond_instructions}
user_mentioned: user_mentioned:
subject_template: "[%{site_name}] %{username} hat Dich in '%{topic_title}' erwähnt" subject_template: "[%{site_name}] %{username} hat Dich in '%{topic_title}' erwähnt"
text_body_template: | text_body_template: |
%{username} hat Dich in '%{topic_title}' auf %{site_name} erwähnt:
---
%{message} %{message}
%{context}
--- ---
Um zu antworten, besuche den folgenden Link: %{base_url}%{url} %{respond_instructions}
user_posted: user_posted:
subject_template: "[%{site_name}] %{subject_prefix}%{username} hat auf '%{topic_title}' geantwortet" subject_template: "[%{site_name}] %{subject_prefix}%{username} hat auf '%{topic_title}' geantwortet"
text_body_template: | text_body_template: |
%{username} hat in '%{topic_title}' auf %{site_name} geantwortet:
---
%{message} %{message}
%{context}
--- ---
Um zu antworten, besuche den folgenden Link: %{base_url}%{url} %{respond_instructions}
digest: digest:
why: "Hier eine kurze Zusammenfassung, was auf %{site_link} passiert ist, seit Du das letzte Mal am %{last_seen_at} da warst." why: "Hier eine kurze Zusammenfassung, was auf %{site_link} passiert ist, seit Du das letzte Mal am %{last_seen_at} da warst."
subject_template: "[%{site_name}] Forenaktivität für den %{date}" subject_template: "[%{site_name}] Forenaktivität für den %{date}"
new_activity: "Neues in deinen Themen und Beiträgen:" new_activity: "Neues in deinen Themen und Beiträgen:"
top_topics: "Inhalte die dich vielleicht interessieren:" top_topics: "Inhalte die dich vielleicht interessieren:"
other_new_topics: "Andere neue Themen:"
unsubscribe: "Diese Zusammenfassung wurde Dir von %{site_link} geschickt, damit Du auf dem Laufenden bleibst, und weil wir nicht eine Weile nicht begrüßen durften.\nWenn Du diese Benachrichtigungen nicht mehr erhalten möchtest, kannst Du sie in deinen Maileinstellungen abschalten: %{unsubscribe_link}." unsubscribe: "Diese Zusammenfassung wurde Dir von %{site_link} geschickt, damit Du auf dem Laufenden bleibst, und weil wir nicht eine Weile nicht begrüßen durften.\nWenn Du diese Benachrichtigungen nicht mehr erhalten möchtest, kannst Du sie in deinen Maileinstellungen abschalten: %{unsubscribe_link}."
click_here: "klicke hier" click_here: "klicke hier"
from: "%{site_name} Übersicht" from: "%{site_name} Übersicht"
@ -992,8 +1101,12 @@ de:
deleted: 'gelöscht' deleted: 'gelöscht'
upload: upload:
pasted_image_filename: "" unauthorized: "Entschuldige, die Datei die du hochladen möchtest ist nicht erlaubt (Erlaubte Dateiendungen: %{authorized_extensions})."
pasted_image_filename: "Hinzugefügtes Bild"
attachments:
too_large: "Entschuldige, die Datei die du hochladen möchtest ist zu gross (Maximale Dateigrösse ist %{max_size_kb}%kb)."
images: images:
fetch_failure: "Entschuldige, beim Laden des Bildes ist ein Fehler aufgetreten." too_large: "Entschuldige, das Bild welches du hochladen möchtest ist zu gross (Maximale Dateigrösse ist %{max_size_kb}%kb), bitte verkleinere es und versuche es nochmals."
fetch_failure: "Sorry, there has been an error while fetching the image."
unknown_image_type: "Entschuldige, aber die Datei die Du hochladen möchtest schein kein Bild zu sein." unknown_image_type: "Entschuldige, aber die Datei die Du hochladen möchtest schein kein Bild zu sein."
size_not_found: "Entschuldige, aber wir konnten die Grösse des Bildes nicht feststellen. Vielleicht ist das Bild defekt?" size_not_found: "Entschuldige, aber wir konnten die Grösse des Bildes nicht feststellen. Vielleicht ist das Bild defekt?"

View File

@ -937,9 +937,9 @@ en:
Please [review the flags](/admin/flags). If %{username} was incorrectly blocked from posting, click the unblock button on [the admin page for this user](%{user_url}). Please [review the flags](/admin/flags). If %{username} was incorrectly blocked from posting, click the unblock button on [the admin page for this user](%{user_url}).
spam_post_blocked: spam_post_blocked:
subject_template: "Spam was detected in a post by %{username}" subject_template: "New user %{username} is posting repeated links"
text_body_template: | text_body_template: |
This is an automated message to inform you that [%{username}](%{user_url}) tried to make a post with links, but it was stopped as spam based on the newuser_spam_host_threshold site setting. This is an automated message to inform you that the new user [%{username}](%{user_url}) tried to create multiple posts with links to the same domain, but they were blocked based on the newuser_spam_host_threshold site setting.
Please [review the user](%{user_url}). Please [review the user](%{user_url}).
@ -1027,7 +1027,7 @@ en:
new_activity: "New activity on your topics and posts:" new_activity: "New activity on your topics and posts:"
top_topics: "Recent posts the community enjoyed:" top_topics: "Recent posts the community enjoyed:"
other_new_topics: "Other New Topics:" other_new_topics: "Other New Topics:"
unsubscribe: "This summary email is sent as a courtesy notification from %{site_link} when we haven't seen you in a while.\nTo unsubscribe or change your email preferences, %{unsubscribe_link}." unsubscribe: "This summary email is sent as a courtesy notification from %{site_link} when we haven't seen you in a while. To unsubscribe or change your email preferences, %{unsubscribe_link}."
click_here: "click here" click_here: "click here"
from: "%{site_name} digest" from: "%{site_name} digest"
read_more: "Read More" read_more: "Read More"

View File

@ -725,7 +725,7 @@ id:
subject_template: "[%{site_name}] Forum Activity for %{date}" subject_template: "[%{site_name}] Forum Activity for %{date}"
new_activity: "New activity on your topics and posts:" new_activity: "New activity on your topics and posts:"
new_topics: "New topics:" new_topics: "New topics:"
unsubscribe: "This summary email is sent as a courtesy notification from %{site_link} when we haven't seen you in a while.\nTo unsubscribe or change your email preferences, %{unsubscribe_link}." unsubscribe: "This summary email is sent as a courtesy notification from %{site_link} when we haven't seen you in a while. To unsubscribe or change your email preferences, %{unsubscribe_link}."
click_here: "click here" click_here: "click here"
from: "%{site_name} digest" from: "%{site_name} digest"

View File

@ -870,7 +870,7 @@ ko:
subject_template: "[%{site_name}] Forum Activity for %{date}" subject_template: "[%{site_name}] Forum Activity for %{date}"
new_activity: "New activity on your topics and posts:" new_activity: "New activity on your topics and posts:"
new_topics: "New topics:" new_topics: "New topics:"
unsubscribe: "This summary email is sent as a courtesy notification from %{site_link} when we haven't seen you in a while.\nTo unsubscribe or change your email preferences, %{unsubscribe_link}." unsubscribe: "This summary email is sent as a courtesy notification from %{site_link} when we haven't seen you in a while. To unsubscribe or change your email preferences, %{unsubscribe_link}."
click_here: "click here" click_here: "click here"
from: "%{site_name} digest" from: "%{site_name} digest"

View File

@ -783,7 +783,7 @@ sv:
subject_template: "[%{site_name}] Forum Activity for %{date}" subject_template: "[%{site_name}] Forum Activity for %{date}"
new_activity: "New activity on your topics and posts:" new_activity: "New activity on your topics and posts:"
new_topics: "New topics:" new_topics: "New topics:"
unsubscribe: "This summary email is sent as a courtesy notification from %{site_link} when we haven't seen you in a while.\nTo unsubscribe or change your email preferences, %{unsubscribe_link}." unsubscribe: "This summary email is sent as a courtesy notification from %{site_link} when we haven't seen you in a while. To unsubscribe or change your email preferences, %{unsubscribe_link}."
click_here: "click here" click_here: "click here"
from: "%{site_name} digest" from: "%{site_name} digest"

View File

@ -216,6 +216,7 @@ Discourse::Application.routes.draw do
get 'topics/created-by/:username' => 'list#topics_by', as: 'topics_by', constraints: {username: USERNAME_ROUTE_FORMAT} get 'topics/created-by/:username' => 'list#topics_by', as: 'topics_by', constraints: {username: USERNAME_ROUTE_FORMAT}
get 'topics/private-messages/:username' => 'list#private_messages', as: 'topics_private_messages', constraints: {username: USERNAME_ROUTE_FORMAT} get 'topics/private-messages/:username' => 'list#private_messages', as: 'topics_private_messages', constraints: {username: USERNAME_ROUTE_FORMAT}
get 'topics/private-messages-sent/:username' => 'list#private_messages_sent', as: 'topics_private_messages_sent', constraints: {username: USERNAME_ROUTE_FORMAT} get 'topics/private-messages-sent/:username' => 'list#private_messages_sent', as: 'topics_private_messages_sent', constraints: {username: USERNAME_ROUTE_FORMAT}
get 'topics/private-messages-unread/:username' => 'list#private_messages_unread', as: 'topics_private_messages_unread', constraints: {username: USERNAME_ROUTE_FORMAT}
# Topic routes # Topic routes
get 't/:slug/:topic_id/wordpress' => 'topics#wordpress', constraints: {topic_id: /\d+/} get 't/:slug/:topic_id/wordpress' => 'topics#wordpress', constraints: {topic_id: /\d+/}

View File

@ -19,11 +19,9 @@ Note: If you are developing on a Mac, you will probably want to look at [these i
## Before you start Rails ## Before you start Rails
1. `bundle install` 1. `bundle install`
2. `bundle exec rake db:migrate` 2. `bundle exec rake db:migrate db:test:prepare db:seed_fu`
3. `bundle exec rake db:test:prepare` 4. Try running the specs: `bundle exec rake autospec`
4. `bundle exec rake db:seed_fu` 5. `bundle exec rails server`
5. Try running the specs: `bundle exec rake autospec`
6. `bundle exec rails server`
You should now be able to connect to rails on [http://localhost:3000](http://localhost:3000) - try it out! The seed data includes a pinned topic that explains how to get an admin account, so start there! Happy hacking! You should now be able to connect to rails on [http://localhost:3000](http://localhost:3000) - try it out! The seed data includes a pinned topic that explains how to get an admin account, so start there! Happy hacking!

View File

@ -146,6 +146,11 @@ class TopicQuery
TopicList.new(:private_messages, user, list) TopicList.new(:private_messages, user, list)
end end
def list_private_messages_unread(user)
list = private_messages_for(user)
list = TopicQuery.unread_filter(list)
TopicList.new(:private_messages, user, list)
end
def list_uncategorized def list_uncategorized
create_list(:uncategorized, unordered: true) do |list| create_list(:uncategorized, unordered: true) do |list|

View File

@ -5,7 +5,7 @@ module Discourse
MAJOR = 0 MAJOR = 0
MINOR = 9 MINOR = 9
TINY = 6 TINY = 6
PRE = 1 PRE = 2
STRING = [MAJOR, MINOR, TINY, PRE].compact.join('.') STRING = [MAJOR, MINOR, TINY, PRE].compact.join('.')
end end

View File

@ -23,6 +23,7 @@ test("basic cooking", function() {
cooked("_trout_", "<p><em>trout</em></p>", "it italicizes text."); cooked("_trout_", "<p><em>trout</em></p>", "it italicizes text.");
cooked("***hello***", "<p><strong><em>hello</em></strong></p>", "it can do bold and italics at once."); cooked("***hello***", "<p><strong><em>hello</em></strong></p>", "it can do bold and italics at once.");
cooked("word_with_underscores", "<p>word_with_underscores</p>", "it doesn't do intraword italics"); cooked("word_with_underscores", "<p>word_with_underscores</p>", "it doesn't do intraword italics");
cooked("common/_special_font_face.html.erb", "<p>common/_special_font_face.html.erb</p>", "it doesn't intraword with a slash");
cooked("hello \\*evil\\*", "<p>hello *evil*</p>", "it supports escaping of asterisks"); cooked("hello \\*evil\\*", "<p>hello *evil*</p>", "it supports escaping of asterisks");
cooked("hello \\_evil\\_", "<p>hello _evil_</p>", "it supports escaping of italics"); cooked("hello \\_evil\\_", "<p>hello _evil_</p>", "it supports escaping of italics");
cooked("brussel sproutes are *awful*.", "<p>brussel sproutes are <em>awful</em>.</p>", "it doesn't swallow periods."); cooked("brussel sproutes are *awful*.", "<p>brussel sproutes are <em>awful</em>.</p>", "it doesn't swallow periods.");