commit
5c3f12f369
|
@ -13,7 +13,7 @@ Discourse.VersionCheck = Discourse.Model.extend({
|
||||||
}.property('updated_at'),
|
}.property('updated_at'),
|
||||||
|
|
||||||
dataIsOld: function() {
|
dataIsOld: function() {
|
||||||
return moment().diff(moment(this.get('updated_at')), 'hours') >= 48;
|
return this.get('version_check_pending') || moment().diff(moment(this.get('updated_at')), 'hours') >= 48;
|
||||||
}.property('updated_at'),
|
}.property('updated_at'),
|
||||||
|
|
||||||
staleData: function() {
|
staleData: function() {
|
||||||
|
|
|
@ -62,16 +62,26 @@
|
||||||
{{#if versionCheck.staleData}}
|
{{#if versionCheck.staleData}}
|
||||||
<td class="version-number"> </td>
|
<td class="version-number"> </td>
|
||||||
<td class="face">
|
<td class="face">
|
||||||
|
{{#if versionCheck.version_check_pending}}
|
||||||
|
<span class='icon up-to-date'>☻</span>
|
||||||
|
{{else}}
|
||||||
<span class="icon critical-updates-available">☹</span>
|
<span class="icon critical-updates-available">☹</span>
|
||||||
|
{{/if}}
|
||||||
</td>
|
</td>
|
||||||
<td class="version-notes">
|
<td class="version-notes">
|
||||||
<span class="normal-note">{{i18n admin.dashboard.stale_data}}</span>
|
<span class="normal-note">
|
||||||
|
{{#if versionCheck.version_check_pending}}
|
||||||
|
{{i18n admin.dashboard.version_check_pending}}
|
||||||
|
{{else}}
|
||||||
|
{{i18n admin.dashboard.stale_data}}
|
||||||
|
{{/if}}
|
||||||
|
</span>
|
||||||
</td>
|
</td>
|
||||||
{{else}}
|
{{else}}
|
||||||
<td class="version-number">{{ versionCheck.latest_version }}</td>
|
<td class="version-number">{{ versionCheck.latest_version }}</td>
|
||||||
<td class="face">
|
<td class="face">
|
||||||
{{#if versionCheck.upToDate }}
|
{{#if versionCheck.upToDate }}
|
||||||
<span class='icon update-to-date'>☻</span>
|
<span class='icon up-to-date'>☻</span>
|
||||||
{{else}}
|
{{else}}
|
||||||
<span {{bindAttr class=":icon versionCheck.critical_updates:critical-updates-available:updates-available"}}>
|
<span {{bindAttr class=":icon versionCheck.critical_updates:critical-updates-available:updates-available"}}>
|
||||||
{{#if versionCheck.behindByOneVersion}}
|
{{#if versionCheck.behindByOneVersion}}
|
||||||
|
|
|
@ -382,7 +382,7 @@ table {
|
||||||
font-size: 26px;
|
font-size: 26px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.update-to-date {
|
.up-to-date {
|
||||||
color: green;
|
color: green;
|
||||||
}
|
}
|
||||||
.updates-available {
|
.updates-available {
|
||||||
|
|
|
@ -56,7 +56,6 @@
|
||||||
padding: 0;
|
padding: 0;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
background-color: $nav-stacked-background-color;
|
background-color: $nav-stacked-background-color;
|
||||||
@include border-radius-all(4px);
|
|
||||||
@include box-shadow(0 1px 0 $white);
|
@include box-shadow(0 1px 0 $white);
|
||||||
> li {
|
> li {
|
||||||
border-bottom: 1px solid $nav-stacked-divider-color;
|
border-bottom: 1px solid $nav-stacked-divider-color;
|
||||||
|
@ -66,16 +65,15 @@
|
||||||
> a {
|
> a {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 13px 13px 13px 30px;
|
padding: 13px 13px 13px 30px;
|
||||||
font-weight: bold;
|
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
color: $nav-stacked-color;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.active > a,
|
.active > a,
|
||||||
.active .icon-chevron-right {
|
.active .icon-chevron-right {
|
||||||
color: $nav-stacked-border-color-active;
|
color: $white;
|
||||||
text-shadow: 0 1px 0 rgba($white, 0.5);
|
|
||||||
background-color: $nav-stacked-background-color-active;
|
background-color: $nav-stacked-background-color-active;
|
||||||
}
|
}
|
||||||
.count {
|
.count {
|
||||||
|
|
|
@ -71,12 +71,13 @@ $nav-pills-background-color-active: #e45735 !default;
|
||||||
|
|
||||||
// Stacked nav
|
// Stacked nav
|
||||||
|
|
||||||
|
$nav-stacked-color: #534d4b !default;
|
||||||
$nav-stacked-border-color: #ccc !default;
|
$nav-stacked-border-color: #ccc !default;
|
||||||
$nav-stacked-background-color: #fafafa !default;
|
$nav-stacked-background-color: #fafafa !default;
|
||||||
$nav-stacked-divider-color: #e6e6e6 !default;
|
$nav-stacked-divider-color: #e6e6e6 !default;
|
||||||
$nav-stacked-chevron-color: #ccc !default;
|
$nav-stacked-chevron-color: #ccc !default;
|
||||||
$nav-stacked-border-color-active: #f15b22 !default;
|
$nav-stacked-border-color-active: #f15b22 !default;
|
||||||
$nav-stacked-background-color-active: #f9e7e0 !default;
|
$nav-stacked-background-color-active: #e45735 !default;
|
||||||
|
|
||||||
// Button nav
|
// Button nav
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,6 @@
|
||||||
color: $darkish_gray;
|
color: $darkish_gray;
|
||||||
}
|
}
|
||||||
.warning {
|
.warning {
|
||||||
@include border-radius-all(6px);
|
|
||||||
background-color: lighten($red, 10%);
|
background-color: lighten($red, 10%);
|
||||||
padding: 5px 8px;
|
padding: 5px 8px;
|
||||||
color: $white;
|
color: $white;
|
||||||
|
@ -108,16 +107,16 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.user-main {
|
.user-main {
|
||||||
width: 840px;
|
width: 850px;
|
||||||
float: left;
|
float: left;
|
||||||
margin-bottom: 50px;
|
margin-bottom: 50px;
|
||||||
|
|
||||||
@include medium-width {
|
@include medium-width {
|
||||||
width: 730px;
|
width: 735px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@include small-width {
|
@include small-width {
|
||||||
width: 650px;
|
width: 680px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.user-content {
|
.user-content {
|
||||||
|
@ -125,21 +124,18 @@
|
||||||
background-color: white;
|
background-color: white;
|
||||||
border: 1px solid #ddd;
|
border: 1px solid #ddd;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
@include border-radius-all(4px);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.about {
|
.about {
|
||||||
background-color: #444;
|
background-color: #444;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
border: 1px solid #bbb;
|
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
|
||||||
@include border-radius-all(4px);
|
|
||||||
|
|
||||||
.details {
|
.details {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding: 10px;
|
padding: 12px;
|
||||||
|
|
||||||
|
|
||||||
h1 {
|
h1 {
|
||||||
|
@ -186,11 +182,12 @@
|
||||||
text-align: right;
|
text-align: right;
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
width: 20%;
|
width: 20%;
|
||||||
@include border-radius-all(4px);
|
|
||||||
|
|
||||||
dd {
|
dd {
|
||||||
color: white;
|
color: white;
|
||||||
margin: 0 0 7px 0;
|
margin: 0 0 7px 0;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
dt {
|
dt {
|
||||||
color: #aaa;
|
color: #aaa;
|
||||||
|
@ -201,9 +198,8 @@
|
||||||
|
|
||||||
.controls {
|
.controls {
|
||||||
background-color: #ddd;
|
background-color: #ddd;
|
||||||
margin-top: 10px;
|
padding: 12px;
|
||||||
padding: 5px;
|
height: 30px;
|
||||||
height: 32px;
|
|
||||||
|
|
||||||
.right {
|
.right {
|
||||||
float: right;
|
float: right;
|
||||||
|
@ -271,7 +267,6 @@
|
||||||
background-color: white;
|
background-color: white;
|
||||||
border: 1px solid #ddd;
|
border: 1px solid #ddd;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
@include border-radius-all(4px);
|
|
||||||
}
|
}
|
||||||
.type {
|
.type {
|
||||||
color: lighten($black, 40%);
|
color: lighten($black, 40%);
|
||||||
|
|
|
@ -47,7 +47,6 @@
|
||||||
width: 220px;
|
width: 220px;
|
||||||
min-height: 200px;
|
min-height: 200px;
|
||||||
background-color: #f8f8f8;
|
background-color: #f8f8f8;
|
||||||
border-radius: 5px;
|
|
||||||
color: #444;
|
color: #444;
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
}
|
}
|
||||||
|
@ -56,8 +55,12 @@
|
||||||
|
|
||||||
h3 {
|
h3 {
|
||||||
color: #666;
|
color: #666;
|
||||||
|
padding-left: 5px;
|
||||||
|
}
|
||||||
|
.nav-stacked {
|
||||||
|
border-left: 0;
|
||||||
|
border-right: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.summary {
|
.summary {
|
||||||
height: 50px;
|
height: 50px;
|
||||||
}
|
}
|
||||||
|
@ -110,11 +113,8 @@
|
||||||
background-color: #444;
|
background-color: #444;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
border: 1px solid #bbb;
|
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
|
||||||
@include border-radius-all(4px);
|
|
||||||
|
|
||||||
.details {
|
.details {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
|
@ -143,7 +143,6 @@
|
||||||
background-color: #222;
|
background-color: #222;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
@include border-radius-all(4px);
|
|
||||||
|
|
||||||
dd {
|
dd {
|
||||||
color: white;
|
color: white;
|
||||||
|
@ -159,9 +158,49 @@
|
||||||
.controls {
|
.controls {
|
||||||
background-color: #ddd;
|
background-color: #ddd;
|
||||||
margin-top: 0px;
|
margin-top: 0px;
|
||||||
padding: 5px;
|
padding: 10px 10px 0 10px;
|
||||||
|
|
||||||
button { margin-bottom: 3px; }
|
.btn {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
float: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.about.collapsed-info {
|
||||||
|
.controls {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.details {
|
||||||
|
.secondary { display: none; }
|
||||||
|
.bio { display: none; }
|
||||||
|
|
||||||
|
.primary {
|
||||||
|
width: 100%;
|
||||||
|
text-align: left;
|
||||||
|
margin-top: 4px;
|
||||||
|
|
||||||
|
.avatar {
|
||||||
|
float: left;
|
||||||
|
margin-right: 10px;
|
||||||
|
border: 2px solid white;
|
||||||
|
width: 45px;
|
||||||
|
height: 45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
margin:0;
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 22px;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
font-size: 17px;
|
||||||
|
line-height: 16px;
|
||||||
|
margin-top: 4px;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -186,9 +225,7 @@
|
||||||
.item {
|
.item {
|
||||||
padding: 10px 8px;
|
padding: 10px 8px;
|
||||||
background-color: white;
|
background-color: white;
|
||||||
border: 1px solid #b9b9b9;
|
border-bottom: 1px solid #b9b9b9;
|
||||||
margin-bottom: 10px;
|
|
||||||
@include border-radius-all(4px);
|
|
||||||
}
|
}
|
||||||
.type {
|
.type {
|
||||||
color: lighten($black, 40%);
|
color: lighten($black, 40%);
|
||||||
|
|
|
@ -134,7 +134,7 @@ class ApplicationController < ActionController::Base
|
||||||
def serialize_data(obj, serializer, opts={})
|
def serialize_data(obj, serializer, opts={})
|
||||||
# If it's an array, apply the serializer as an each_serializer to the elements
|
# If it's an array, apply the serializer as an each_serializer to the elements
|
||||||
serializer_opts = {scope: guardian}.merge!(opts)
|
serializer_opts = {scope: guardian}.merge!(opts)
|
||||||
if obj.is_a?(Array)
|
if obj.is_a?(Array) or obj.is_a?(ActiveRecord::Associations::CollectionProxy)
|
||||||
serializer_opts[:each_serializer] = serializer
|
serializer_opts[:each_serializer] = serializer
|
||||||
ActiveModel::ArraySerializer.new(obj, serializer_opts).as_json
|
ActiveModel::ArraySerializer.new(obj, serializer_opts).as_json
|
||||||
else
|
else
|
||||||
|
|
|
@ -11,6 +11,7 @@ module Jobs
|
||||||
should_send_email = (SiteSetting.new_version_emails and DiscourseUpdates.missing_versions_count and DiscourseUpdates.missing_versions_count == 0)
|
should_send_email = (SiteSetting.new_version_emails and DiscourseUpdates.missing_versions_count and DiscourseUpdates.missing_versions_count == 0)
|
||||||
|
|
||||||
json = DiscourseHub.discourse_version_check
|
json = DiscourseHub.discourse_version_check
|
||||||
|
DiscourseUpdates.last_installed_version = Discourse::VERSION::STRING
|
||||||
DiscourseUpdates.latest_version = json['latestVersion']
|
DiscourseUpdates.latest_version = json['latestVersion']
|
||||||
DiscourseUpdates.critical_updates_available = json['criticalUpdates']
|
DiscourseUpdates.critical_updates_available = json['criticalUpdates']
|
||||||
DiscourseUpdates.missing_versions_count = json['missingVersionsCount']
|
DiscourseUpdates.missing_versions_count = json['missingVersionsCount']
|
||||||
|
|
|
@ -7,7 +7,7 @@ class DiscourseVersionCheck
|
||||||
include ActiveModel::Serialization
|
include ActiveModel::Serialization
|
||||||
end
|
end
|
||||||
|
|
||||||
attr_accessor :latest_version, :critical_updates, :installed_version, :installed_sha, :missing_versions_count, :updated_at
|
attr_accessor :latest_version, :critical_updates, :installed_version, :installed_sha, :missing_versions_count, :updated_at, :version_check_pending
|
||||||
|
|
||||||
unless rails4?
|
unless rails4?
|
||||||
def active_model_serializer
|
def active_model_serializer
|
||||||
|
|
|
@ -1090,6 +1090,7 @@ en:
|
||||||
please_upgrade: "Please upgrade!"
|
please_upgrade: "Please upgrade!"
|
||||||
no_check_performed: "A check for updates has not been performed. Ensure sidekiq is running."
|
no_check_performed: "A check for updates has not been performed. Ensure sidekiq is running."
|
||||||
stale_data: "A check for updates has not been performed lately. Ensure sidekiq is running."
|
stale_data: "A check for updates has not been performed lately. Ensure sidekiq is running."
|
||||||
|
version_check_pending: "Looks like you upgraded recently. Fantastic!"
|
||||||
installed_version: "Installed"
|
installed_version: "Installed"
|
||||||
latest_version: "Latest"
|
latest_version: "Latest"
|
||||||
problems_found: "Some problems have been found with your installation of Discourse:"
|
problems_found: "Some problems have been found with your installation of Discourse:"
|
||||||
|
|
|
@ -75,7 +75,7 @@ nl:
|
||||||
other: "%{count} dagen geleden"
|
other: "%{count} dagen geleden"
|
||||||
share:
|
share:
|
||||||
topic: Deel een link naar deze topic
|
topic: Deel een link naar deze topic
|
||||||
post: Deel een link naar dit bericht
|
post: "Deel een link naar bericht #%{postNumber}"
|
||||||
close: sluit
|
close: sluit
|
||||||
twitter: deel deze link op Twitter
|
twitter: deel deze link op Twitter
|
||||||
facebook: deel deze link op Facebook
|
facebook: deel deze link op Facebook
|
||||||
|
@ -92,18 +92,28 @@ nl:
|
||||||
log_in: Log in
|
log_in: Log in
|
||||||
age: Leeftijd
|
age: Leeftijd
|
||||||
last_post: Laatste bericht
|
last_post: Laatste bericht
|
||||||
|
joined: Lid sinds
|
||||||
admin_title: Beheer
|
admin_title: Beheer
|
||||||
flags_title: Meldingen
|
flags_title: Meldingen
|
||||||
show_more: meer...
|
show_more: meer...
|
||||||
links: Links
|
links: Links
|
||||||
faq: FAQ
|
faq: FAQ
|
||||||
privacy_policy: "Privacy Policy"
|
privacy_policy: "Privacy Policy"
|
||||||
|
mobile_view: Mobiele versie
|
||||||
|
desktop_versie: Desktopversie
|
||||||
you: Jij
|
you: Jij
|
||||||
or: of
|
or: of
|
||||||
now: zonet
|
now: zonet
|
||||||
read_more: lees verder
|
read_more: lees verder
|
||||||
more: Meer
|
more: Meer
|
||||||
less: Minder
|
less: Minder
|
||||||
|
never: nooit
|
||||||
|
daily: dagelijks
|
||||||
|
weekly: wekelijks
|
||||||
|
every_two_weeks: elke twee weken
|
||||||
|
character_count:
|
||||||
|
one: "{{count}} teken"
|
||||||
|
other: "{{count}} tekens"
|
||||||
|
|
||||||
in_n_seconds:
|
in_n_seconds:
|
||||||
one: "over 1 seconde"
|
one: "over 1 seconde"
|
||||||
|
@ -136,6 +146,10 @@ nl:
|
||||||
saving: Wordt opgeslagen...
|
saving: Wordt opgeslagen...
|
||||||
saved: Opgeslagen!
|
saved: Opgeslagen!
|
||||||
|
|
||||||
|
upload: Upload
|
||||||
|
uploading: Uploaden...
|
||||||
|
uploaded: Geupload!
|
||||||
|
|
||||||
choose_topic:
|
choose_topic:
|
||||||
none_found: Geen topics gevonden.
|
none_found: Geen topics gevonden.
|
||||||
title:
|
title:
|
||||||
|
@ -173,9 +187,21 @@ nl:
|
||||||
"12": "Verzonden items"
|
"12": "Verzonden items"
|
||||||
"13": "Inbox"
|
"13": "Inbox"
|
||||||
|
|
||||||
|
categories:
|
||||||
|
all: alle categoriëen
|
||||||
|
only_category: "only {{categoryName}}"
|
||||||
|
category: Categorie
|
||||||
|
posts: Berichten
|
||||||
|
topics: Topics
|
||||||
|
latest: Laatste
|
||||||
|
latest_by: Laatste door
|
||||||
|
toggle_ordering: schakel sorteermethode
|
||||||
|
subcategories: "Subcategoriëen:"
|
||||||
|
|
||||||
user:
|
user:
|
||||||
said: "{{username}} zei:"
|
said: "{{username}} zei:"
|
||||||
profile: Profiel
|
profile: Profiel
|
||||||
|
show_profile: Bekijk profiel
|
||||||
mute: Negeer
|
mute: Negeer
|
||||||
edit: Wijzig voorkeuren
|
edit: Wijzig voorkeuren
|
||||||
download_archive: download een archief van mijn berichten
|
download_archive: download een archief van mijn berichten
|
||||||
|
@ -193,11 +219,18 @@ nl:
|
||||||
change: verander
|
change: verander
|
||||||
moderator: "{{user}} is een moderator"
|
moderator: "{{user}} is een moderator"
|
||||||
admin: "{{user}} is een admin"
|
admin: "{{user}} is een admin"
|
||||||
|
deleted: (verwijderd)
|
||||||
|
|
||||||
|
messages:
|
||||||
|
all: Alle
|
||||||
|
mine: Mijn
|
||||||
|
unread: Ongelezen
|
||||||
|
|
||||||
change_password:
|
change_password:
|
||||||
success: (e-mail verzonden)
|
success: (e-mail verzonden)
|
||||||
in_progress: (e-mail wordt verzonden)
|
in_progress: (e-mail wordt verzonden)
|
||||||
error: (fout)
|
error: (fout)
|
||||||
|
action: Stuur wachtwoord-reset-mail
|
||||||
|
|
||||||
change_about:
|
change_about:
|
||||||
title: Wijzig bio
|
title: Wijzig bio
|
||||||
|
@ -215,6 +248,15 @@ nl:
|
||||||
error: "Het veranderen van je e-mailadres is mislukt. Wellicht is deze al in gebruik?"
|
error: "Het veranderen van je e-mailadres is mislukt. Wellicht is deze al in gebruik?"
|
||||||
success: "We hebben een mail gestuurd naar dat adres. Volg de bevestigingsinstructies in die mail."
|
success: "We hebben een mail gestuurd naar dat adres. Volg de bevestigingsinstructies in die mail."
|
||||||
|
|
||||||
|
change_avatar:
|
||||||
|
title: Wijzig je avatar
|
||||||
|
gravatar: "<a href='//gravatar.com/emails' target='_blank'>Gravatar</a>, gebaseerd op"
|
||||||
|
gravatar_title: Verander je avatar op Gravatars website
|
||||||
|
uploaded_avatar: Eigen afbeelding
|
||||||
|
uploaded_avatar_empty: Voeg een eigen afbeelding toe
|
||||||
|
upload_title: Upload je afbeelding
|
||||||
|
image_is_not_a_square: "Let op: we hebben je afbeelding bijgesneden omdat het geen vierkant is."
|
||||||
|
|
||||||
email:
|
email:
|
||||||
title: E-mail
|
title: E-mail
|
||||||
instructions: Je e-mail adres zal nooit publieklijk zichtbaar zijn.
|
instructions: Je e-mail adres zal nooit publieklijk zichtbaar zijn.
|
||||||
|
@ -259,6 +301,7 @@ nl:
|
||||||
|
|
||||||
email_direct: "Ontvang een mail wanneer iemand je citeert, reageert op je bericht of je @gebruikersnaam noemt."
|
email_direct: "Ontvang een mail wanneer iemand je citeert, reageert op je bericht of je @gebruikersnaam noemt."
|
||||||
email_private_messages: Ontvang een mail wanneer iemand je een privé-bericht heeft gestuurd.
|
email_private_messages: Ontvang een mail wanneer iemand je een privé-bericht heeft gestuurd.
|
||||||
|
email_always: "Ontvang notificaties en topicoverzichten zelfs als ik actief ben op het forum."
|
||||||
|
|
||||||
other_settings: Overige
|
other_settings: Overige
|
||||||
|
|
||||||
|
@ -346,6 +389,7 @@ nl:
|
||||||
private_message_info:
|
private_message_info:
|
||||||
title: 'Privé-bericht'
|
title: 'Privé-bericht'
|
||||||
invite: Nodig anderen uit...
|
invite: Nodig anderen uit...
|
||||||
|
remove_allowed_user: "Weet je zeker dat je {{name}} wil verwijderen uit deze priveconversatie?"
|
||||||
|
|
||||||
email: E-mail
|
email: E-mail
|
||||||
username: Gebruikersnaam
|
username: Gebruikersnaam
|
||||||
|
@ -378,6 +422,7 @@ nl:
|
||||||
authenticating: Authenticatie...
|
authenticating: Authenticatie...
|
||||||
awaiting_confirmation: "Je account is nog niet geactiveerd. Gebruik de 'Wachtwoord vergeten'-link om een nieuwe activatie-mail te ontvangen."
|
awaiting_confirmation: "Je account is nog niet geactiveerd. Gebruik de 'Wachtwoord vergeten'-link om een nieuwe activatie-mail te ontvangen."
|
||||||
awaiting_approval: "Je account is nog niet goedgekeurd door iemand van de staf. Je krijgt van ons een mail wanneer dat gebeurd is."
|
awaiting_approval: "Je account is nog niet goedgekeurd door iemand van de staf. Je krijgt van ons een mail wanneer dat gebeurd is."
|
||||||
|
requires_invite: "Toegang tot dit forum is alleen op uitnodiging."
|
||||||
not_activated: "Je kan nog niet inloggen. We hebben je een activatie-mail gestuurd (naar <b>{{currentEmail}}</b>). Het kan een aantal minuten duren voor deze aan komt. Check ook je spamfolder."
|
not_activated: "Je kan nog niet inloggen. We hebben je een activatie-mail gestuurd (naar <b>{{currentEmail}}</b>). Het kan een aantal minuten duren voor deze aan komt. Check ook je spamfolder."
|
||||||
resend_activation_email: Klik hier om de activatiemail opnieuw te ontvangen.
|
resend_activation_email: Klik hier om de activatiemail opnieuw te ontvangen.
|
||||||
sent_activation_email_again: "We hebben een nieuwe activatiemail gestuurd naar <b>{{currentEmail}}</b>. Het kan een aantal minuten duren voor deze aan komt. Check ook je spamfolder."
|
sent_activation_email_again: "We hebben een nieuwe activatiemail gestuurd naar <b>{{currentEmail}}</b>. Het kan een aantal minuten duren voor deze aan komt. Check ook je spamfolder."
|
||||||
|
@ -453,8 +498,8 @@ nl:
|
||||||
link_optional_text: optionele titel
|
link_optional_text: optionele titel
|
||||||
quote_title: Citaat
|
quote_title: Citaat
|
||||||
quote_text: Citaat
|
quote_text: Citaat
|
||||||
code_title: Code voorbeeld
|
code_title: Opgemaakte tekst
|
||||||
code_text: hier de code
|
code_text: geef hier de opgemaakte tekst
|
||||||
upload_title: Afbeelding
|
upload_title: Afbeelding
|
||||||
upload_description: geef een omschrijving voor de afbeelding op
|
upload_description: geef een omschrijving voor de afbeelding op
|
||||||
olist_title: Genummerde lijst
|
olist_title: Genummerde lijst
|
||||||
|
@ -485,7 +530,7 @@ nl:
|
||||||
private_message: "<i class='icon icon-envelope-alt' title='privé-bericht'></i> {{username}} {{link}}"
|
private_message: "<i class='icon icon-envelope-alt' title='privé-bericht'></i> {{username}} {{link}}"
|
||||||
invited_to_private_message: "<i class='icon icon-envelope-alt' title='privé-bericht'></i> {{username}} {{link}}"
|
invited_to_private_message: "<i class='icon icon-envelope-alt' title='privé-bericht'></i> {{username}} {{link}}"
|
||||||
invitee_accepted: "<i title='heeft je uitnodiging geaccepteerd' class='icon icon-signin'></i> {{username}} heeft je uitnodiging geaccepteerd en heeft zich ingeschreven om deel te nemen."
|
invitee_accepted: "<i title='heeft je uitnodiging geaccepteerd' class='icon icon-signin'></i> {{username}} heeft je uitnodiging geaccepteerd en heeft zich ingeschreven om deel te nemen."
|
||||||
moved_post: "<i title='bericht verplaatst' class='icon icon-arrow-right'></i> {{username}} verplaatst naar {{link}}"
|
moved_post: "<i title='bericht verplaatst' class='icon icon-arrow-right'></i> {{username}} verplaatst {{link}}"
|
||||||
total_flagged: aantal gemarkeerde berichten
|
total_flagged: aantal gemarkeerde berichten
|
||||||
|
|
||||||
upload_selector:
|
upload_selector:
|
||||||
|
@ -497,6 +542,8 @@ nl:
|
||||||
remote_tip_with_attachments: "vul een internetadres in van een afbeelding of bestand in deze vorm: http://example.com/bestand.ext (toegestane extensies: {{authorized_extensions}})."
|
remote_tip_with_attachments: "vul een internetadres in van een afbeelding of bestand in deze vorm: http://example.com/bestand.ext (toegestane extensies: {{authorized_extensions}})."
|
||||||
local_tip: "klik om een afbeelding vanaf je apparaat te selecteren."
|
local_tip: "klik om een afbeelding vanaf je apparaat te selecteren."
|
||||||
local_tip_with_attachments: "klik om een afbeelding of bestand vanaf je apparaat te selecteren (toegestane extensies: {{authorized_extensions}})."
|
local_tip_with_attachments: "klik om een afbeelding of bestand vanaf je apparaat te selecteren (toegestane extensies: {{authorized_extensions}})."
|
||||||
|
hint: "(je kan afbeeldingen ook slepen in de editor om deze te uploaden)"
|
||||||
|
hint_for_chrome: "(je kan afbeeldingen ook slepen of plakken in de editor om deze te uploaden)"
|
||||||
uploading: Afbeelding uploaden
|
uploading: Afbeelding uploaden
|
||||||
|
|
||||||
search:
|
search:
|
||||||
|
@ -545,11 +592,18 @@ nl:
|
||||||
title: Details topic rangorde
|
title: Details topic rangorde
|
||||||
|
|
||||||
topic:
|
topic:
|
||||||
|
filter_to: "Laat alleen de {{post_count}} berichten van {{username}} in deze topic zien"
|
||||||
create: Maak topic
|
create: Maak topic
|
||||||
create_long: Maak een nieuw topic
|
create_long: Maak een nieuw topic
|
||||||
private_message: Stuur een privé-bericht
|
private_message: Stuur een privé-bericht
|
||||||
list: Topics
|
list: Topics
|
||||||
new: nieuw topic
|
new: nieuw topic
|
||||||
|
new_topics:
|
||||||
|
one: 1 nieuwe topic
|
||||||
|
other: "{{count}} nieuwe topics"
|
||||||
|
unread_topics:
|
||||||
|
one: 1 ongelezen topic
|
||||||
|
other: "{{count}} ongelezen topics"
|
||||||
title: Topic
|
title: Topic
|
||||||
loading_more: Er worden meer topics geladen...
|
loading_more: Er worden meer topics geladen...
|
||||||
loading: Bezig met laden van topic...
|
loading: Bezig met laden van topic...
|
||||||
|
@ -607,7 +661,6 @@ nl:
|
||||||
auto_close_notice: "Deze topic wordt automatisch over %{timeLeft} gesloten."
|
auto_close_notice: "Deze topic wordt automatisch over %{timeLeft} gesloten."
|
||||||
auto_close_title: 'Instellingen voor automatisch sluiten'
|
auto_close_title: 'Instellingen voor automatisch sluiten'
|
||||||
auto_close_save: Opslaan
|
auto_close_save: Opslaan
|
||||||
auto_close_cancel: Annuleren
|
|
||||||
auto_close_remove: Sluit deze topic niet automatisch
|
auto_close_remove: Sluit deze topic niet automatisch
|
||||||
|
|
||||||
progress:
|
progress:
|
||||||
|
@ -713,7 +766,7 @@ nl:
|
||||||
split_topic:
|
split_topic:
|
||||||
title: Splits topic
|
title: Splits topic
|
||||||
action: splits topic
|
action: splits topic
|
||||||
topic_name: "Naam nieuwe topic:"
|
topic_name: "Naam nieuwe topic"
|
||||||
error: "Er ging iets mis bij het splitsen van die topic."
|
error: "Er ging iets mis bij het splitsen van die topic."
|
||||||
instructions:
|
instructions:
|
||||||
one: "Je staat op het punt een nieuwe topic aan te maken en het te vullen met het bericht dat je geselecteerd hebt."
|
one: "Je staat op het punt een nieuwe topic aan te maken en het te vullen met het bericht dat je geselecteerd hebt."
|
||||||
|
@ -730,6 +783,7 @@ nl:
|
||||||
multi_select:
|
multi_select:
|
||||||
select: selecteer
|
select: selecteer
|
||||||
selected: "geselecteerd ({{count}})"
|
selected: "geselecteerd ({{count}})"
|
||||||
|
select_replies: "selecteer +antwoorden"
|
||||||
delete: verwijder geselecteerde
|
delete: verwijder geselecteerde
|
||||||
cancel: annuleer selectie
|
cancel: annuleer selectie
|
||||||
description:
|
description:
|
||||||
|
@ -782,6 +836,12 @@ nl:
|
||||||
undelete: herstel dit bericht
|
undelete: herstel dit bericht
|
||||||
share: deel een link naar dit bericht
|
share: deel een link naar dit bericht
|
||||||
more: Meer
|
more: Meer
|
||||||
|
delete_replies:
|
||||||
|
confirm:
|
||||||
|
one: "Wil je ook het directe antwoord op dit bericht verwijderen?"
|
||||||
|
other: "Wil je ook de {{count}} directe antwoorden op dit bericht verwijderen?"
|
||||||
|
yes_value: "Ja, verwijder deze antwoorden ook"
|
||||||
|
no_value: "Nee, alleen dit bericht"
|
||||||
|
|
||||||
actions:
|
actions:
|
||||||
flag: 'Markeer'
|
flag: 'Markeer'
|
||||||
|
@ -887,6 +947,7 @@ nl:
|
||||||
category:
|
category:
|
||||||
can: 'can… '
|
can: 'can… '
|
||||||
none: (geen categorie)
|
none: (geen categorie)
|
||||||
|
choose: 'Selecteer een categorie…'
|
||||||
edit: bewerk
|
edit: bewerk
|
||||||
edit_long: Bewerk categorie
|
edit_long: Bewerk categorie
|
||||||
view: Bekijk topics in categorie
|
view: Bekijk topics in categorie
|
||||||
|
@ -917,6 +978,9 @@ nl:
|
||||||
auto_close_label: "Sluit topics automatisch na:"
|
auto_close_label: "Sluit topics automatisch na:"
|
||||||
edit_permissions: Wijzig permissies
|
edit_permissions: Wijzig permissies
|
||||||
add_permission: Nieuwe permissie
|
add_permission: Nieuwe permissie
|
||||||
|
this_year: dit jaar
|
||||||
|
position: positie
|
||||||
|
parent: Bovenliggende categorie
|
||||||
|
|
||||||
flagging:
|
flagging:
|
||||||
title: Waarom meld je dit bericht?
|
title: Waarom meld je dit bericht?
|
||||||
|
@ -924,7 +988,7 @@ nl:
|
||||||
take_action: Onderneem actie
|
take_action: Onderneem actie
|
||||||
notify_action: Meld
|
notify_action: Meld
|
||||||
delete_spammer: Verwijder spammer
|
delete_spammer: Verwijder spammer
|
||||||
delete_confirm: "Je gaat nu <b>%{posts}</b> berichten en <b>%{topics}</b> van deze gebruiker verwijderen, hun account verwijderen en hun e-mailadres <b>%{email}</b> op een permanente blokkeerlijst zetten. Weet je zeker dat dit een spammer is?"
|
delete_confirm: "Je gaat nu <b>%{posts}</b> berichten en <b>%{topics}</b> van deze gebruiker verwijderen, hun account verwijderen, nieuwe aanmeldingen vanaf hun IP-adres <b>%{ip_address}</b> blokkeren en hun e-mailadres <b>%{email}</b> op een permanente blokkeerlijst zetten. Weet je zeker dat dit een spammer is?"
|
||||||
yes_delete_spammer: "Ja, verwijder spammer"
|
yes_delete_spammer: "Ja, verwijder spammer"
|
||||||
cant: "Sorry, je kan dit bericht momenteel niet melden."
|
cant: "Sorry, je kan dit bericht momenteel niet melden."
|
||||||
custom_placeholder_notify_user: "Wat maakt dat je de schrijver persoonlijk iets wil melden? Wees specifiek, constructief en altijd aardig."
|
custom_placeholder_notify_user: "Wat maakt dat je de schrijver persoonlijk iets wil melden? Wees specifiek, constructief en altijd aardig."
|
||||||
|
@ -1028,8 +1092,8 @@ nl:
|
||||||
critical_available: Er is een belangrijke update beschikbaar
|
critical_available: Er is een belangrijke update beschikbaar
|
||||||
updates_available: Er zijn updates beschikbaar
|
updates_available: Er zijn updates beschikbaar
|
||||||
please_upgrade: Werk de software bij alsjeblieft
|
please_upgrade: Werk de software bij alsjeblieft
|
||||||
no_check_performed: Er is nog niet op updates gecontroleerd. Zorgen sidekiq loopt."
|
no_check_performed: Er is nog niet op updates gecontroleerd. Zorgen dat sidekiq loopt."
|
||||||
stale_data: Er is al een tijdje niet op updates gecontroleerd. Zorgen sidekiq loopt."
|
stale_data: Er is al een tijdje niet op updates gecontroleerd. Zorgen dat sidekiq loopt."
|
||||||
installed_version: Geïnstalleerd
|
installed_version: Geïnstalleerd
|
||||||
latest_version: Recent
|
latest_version: Recent
|
||||||
problems_found: 'Er zijn een aantal problemen gevonden met je Discourse installatie:'
|
problems_found: 'Er zijn een aantal problemen gevonden met je Discourse installatie:'
|
||||||
|
@ -1110,12 +1174,18 @@ nl:
|
||||||
delete_failed: "Unable to delete group. If this is an automatic group, it cannot be destroyed."
|
delete_failed: "Unable to delete group. If this is an automatic group, it cannot be destroyed."
|
||||||
|
|
||||||
api:
|
api:
|
||||||
|
generate_master: Genereer Master API Key
|
||||||
|
none: Er zijn geen actieve API keys
|
||||||
|
user: Gebruiker
|
||||||
title: API
|
title: API
|
||||||
long_title: "API informatie"
|
key: API Key
|
||||||
key: "Key"
|
|
||||||
generate: "Genereer API Key"
|
generate: "Genereer API Key"
|
||||||
regenerate: "Genereer API Key opnieuw"
|
regenerate: "Genereer API Key opnieuw"
|
||||||
|
revoke: Intrekken
|
||||||
|
confirm_regen: Weet je zeker dat je die API Key wil vervangen door een nieuwe?
|
||||||
|
confirm_revoke: Weet je zeker dat je die API Key wil intrekken?
|
||||||
info_html: "Met deze API key kun je met behulp van JSON calls topics maken en bewerken."
|
info_html: "Met deze API key kun je met behulp van JSON calls topics maken en bewerken."
|
||||||
|
all_users: Alle gebruikers
|
||||||
note_html: "Houd deze key <strong>geheim</strong>, gebruikers die deze key hebben kunnen zich als elke andere gebruiker voordoen op het forum en topics aanmaken."
|
note_html: "Houd deze key <strong>geheim</strong>, gebruikers die deze key hebben kunnen zich als elke andere gebruiker voordoen op het forum en topics aanmaken."
|
||||||
|
|
||||||
customize:
|
customize:
|
||||||
|
@ -1123,6 +1193,8 @@ nl:
|
||||||
long_title: Aanpassingen aan de site
|
long_title: Aanpassingen aan de site
|
||||||
header: Header
|
header: Header
|
||||||
css: Stylesheet
|
css: Stylesheet
|
||||||
|
mobile_header: Mobiele header
|
||||||
|
mobile_css: Mobiele stylesheet
|
||||||
override_default: Sluit de standaard stylesheet uit
|
override_default: Sluit de standaard stylesheet uit
|
||||||
enabled: Ingeschakeld?
|
enabled: Ingeschakeld?
|
||||||
preview: voorbeeld
|
preview: voorbeeld
|
||||||
|
@ -1174,12 +1246,44 @@ nl:
|
||||||
clear_filters: Bekijk alles
|
clear_filters: Bekijk alles
|
||||||
staff_user: Staflid
|
staff_user: Staflid
|
||||||
target_user: Selecteer gebruiker
|
target_user: Selecteer gebruiker
|
||||||
|
subject: Onderwerp
|
||||||
when: Wanneer
|
when: Wanneer
|
||||||
context: Context
|
context: Context
|
||||||
details: Details
|
details: Details
|
||||||
|
previous_value: Vorige
|
||||||
|
new_value: Nieuw
|
||||||
|
diff: Diff
|
||||||
|
show: Bekijk
|
||||||
|
modal_title: Details
|
||||||
|
no_previous: Er is geen vorige waarde
|
||||||
|
deleted: Geen nieuwe waarde. De record was verwijderd.
|
||||||
actions:
|
actions:
|
||||||
delete_user: verwijder gebruiker
|
delete_user: verwijder gebruiker
|
||||||
change_trust_level: verander trust level
|
change_trust_level: verander trust level
|
||||||
|
change_site_setting: verander instellingen
|
||||||
|
change_site_customization: verander site aanpassingen
|
||||||
|
delete_site_customization: verwijder site aanpassingen
|
||||||
|
ban_user: ban gebruiker
|
||||||
|
unban_user: hef ban op
|
||||||
|
screened_emails:
|
||||||
|
title: Gescreende e-mails
|
||||||
|
description: Nieuwe accounts met een van deze mailadressen worden geblokkeerd of een andere actie wordt ondernomen.
|
||||||
|
email: E-mailadres
|
||||||
|
screened_urls:
|
||||||
|
title: Gescreende urls
|
||||||
|
description: Deze urls zijn gebruikt door gebruikers die als spammer gemarkeerd zijn.
|
||||||
|
url: URL
|
||||||
|
screened_ips:
|
||||||
|
title: Gescreende ip-adressen
|
||||||
|
description: IP-adressen die in de gaten worden gehouden. Kies 'sta toe' om deze op een witte lijst te zetten.
|
||||||
|
delete_confirm: "Weet je zeker dat je de regel voor %{ip_address} wil verwijderen?"
|
||||||
|
actions:
|
||||||
|
block: Blokkeer
|
||||||
|
do_nothing: Sta toe
|
||||||
|
form:
|
||||||
|
label: "Nieuw:"
|
||||||
|
ip_address: IP-adres
|
||||||
|
add: Voeg toe
|
||||||
|
|
||||||
impersonate:
|
impersonate:
|
||||||
title: Log in als gebruiker
|
title: Log in als gebruiker
|
||||||
|
@ -1206,6 +1310,9 @@ nl:
|
||||||
approved_selected:
|
approved_selected:
|
||||||
one: accepteer lid
|
one: accepteer lid
|
||||||
other: "accepteer {{count}} leden"
|
other: "accepteer {{count}} leden"
|
||||||
|
reject_selected:
|
||||||
|
one: weiger lid
|
||||||
|
other: "weiger {{count}} leden"
|
||||||
titles:
|
titles:
|
||||||
active: 'Actieve leden'
|
active: 'Actieve leden'
|
||||||
new: 'Nieuwe leden'
|
new: 'Nieuwe leden'
|
||||||
|
@ -1219,12 +1326,23 @@ nl:
|
||||||
moderators: Moderators
|
moderators: Moderators
|
||||||
blocked: Geblokkeerde leden
|
blocked: Geblokkeerde leden
|
||||||
banned: Verbannen leden
|
banned: Verbannen leden
|
||||||
|
reject_successful:
|
||||||
|
one: "1 Gebruiker met succes geweigerd"
|
||||||
|
other: "%{count} Gebruikers met succes geweigerd"
|
||||||
|
reject_failures:
|
||||||
|
one: "Weigering van 1 gebruiker is niet gelukt"
|
||||||
|
other: "Weigering van %{count} gebruikers is niet gelukt"
|
||||||
|
|
||||||
user:
|
user:
|
||||||
ban_failed: "Er ging iets fout met het blokkeren van deze gebruiker: {{error}}"
|
ban_failed: "Er ging iets fout met het blokkeren van deze gebruiker: {{error}}"
|
||||||
unban_failed: "Er ging iets fout bij het deblokkeren van deze gebruiker: {{error}}"
|
unban_failed: "Er ging iets fout bij het deblokkeren van deze gebruiker: {{error}}"
|
||||||
ban_duration: "Hoe lang wil je deze gebruiker blokkeren? (dagen)"
|
ban_duration: "Hoe lang wil je deze gebruiker blokkeren?"
|
||||||
|
ban_duretion_units: (dagen)
|
||||||
|
ban_reason_label: "Waarom ban je? Als de gebruiker in probeert te loggen, zullen ze deze tekst zien. Hou het kort."
|
||||||
|
ban_reason: Reden voor ban
|
||||||
|
banned_by: Verbannen door
|
||||||
delete_all_posts: Verwijder alle berichten
|
delete_all_posts: Verwijder alle berichten
|
||||||
|
delete_all_posts_confirm: "Je gaat %{posts} en %{topics} verwijderen. Zeker weten?"
|
||||||
ban: Blokkeer
|
ban: Blokkeer
|
||||||
unban: Deblokkeer
|
unban: Deblokkeer
|
||||||
banned: Geblokkeerd?
|
banned: Geblokkeerd?
|
||||||
|
@ -1263,8 +1381,8 @@ nl:
|
||||||
one: "Gebruikers kunnen niet worden verwijders als ze zich meer dan %{count} dag geleden registreerden of als ze berichten geplaatst hebben. Verwijder alle berichten voordat je een gebruiker probeert te verwijderen."
|
one: "Gebruikers kunnen niet worden verwijders als ze zich meer dan %{count} dag geleden registreerden of als ze berichten geplaatst hebben. Verwijder alle berichten voordat je een gebruiker probeert te verwijderen."
|
||||||
other: "Gebruikers kunnen niet worden verwijders als ze zich meer dan %{count} dagen geleden registreerden of als ze berichten geplaatst hebben. Verwijder alle berichten voordat je een gebruiker probeert te verwijderen."
|
other: "Gebruikers kunnen niet worden verwijders als ze zich meer dan %{count} dagen geleden registreerden of als ze berichten geplaatst hebben. Verwijder alle berichten voordat je een gebruiker probeert te verwijderen."
|
||||||
delete_confirm: Weet je zeker dat je deze gebruiker definitief wil verwijderen? Deze handeling is permanant!
|
delete_confirm: Weet je zeker dat je deze gebruiker definitief wil verwijderen? Deze handeling is permanant!
|
||||||
delete_and_block: "<b>Ja</b>, en <b>blokkeer</b> registraties met datzelfde e-mailadres"
|
delete_and_block: "<b>Ja</b>, en <b>blokkeer</b> registraties met datzelfde e-mail- en IP-adres"
|
||||||
delete_dont_block: "<b>Ja</b>, maar <b>sta nieuwe registraties toe</b> met datzelfde e-mailadres"
|
delete_dont_block: "<b>Ja</b>, maar <b>sta nieuwe registraties toe</b> met datzelfde e-mail- en IP-adres"
|
||||||
deleted: De gebruiker is verwijderd.
|
deleted: De gebruiker is verwijderd.
|
||||||
delete_failed: Er ging iets mis bij het verwijderen van deze gebruiker. Zorg er voor dat alle berichten van deze gebruiker eerst verwijderd zijn.
|
delete_failed: Er ging iets mis bij het verwijderen van deze gebruiker. Zorg er voor dat alle berichten van deze gebruiker eerst verwijderd zijn.
|
||||||
send_activation_email: Verstuur activatiemail
|
send_activation_email: Verstuur activatiemail
|
||||||
|
@ -1280,6 +1398,7 @@ nl:
|
||||||
banned_explanation: Een verbannen gebruiker kan niet meer inloggen.
|
banned_explanation: Een verbannen gebruiker kan niet meer inloggen.
|
||||||
block_explanation: Een geblokkeerde gebruiker kan geen topics maken of reageren op topics.
|
block_explanation: Een geblokkeerde gebruiker kan geen topics maken of reageren op topics.
|
||||||
trust_level_change_failed: Er ging iets mis bij het wijzigen van het trust level van deze gebruiker.
|
trust_level_change_failed: Er ging iets mis bij het wijzigen van het trust level van deze gebruiker.
|
||||||
|
ban_modal_title: Ban gebruiker
|
||||||
|
|
||||||
site_content:
|
site_content:
|
||||||
none: Selecteer een tekst om deze te bewerken
|
none: Selecteer een tekst om deze te bewerken
|
||||||
|
|
|
@ -97,7 +97,7 @@ nl:
|
||||||
Voor meer informatie, [bekijk onze Veel Gestelde Vragen](/faq). Deze tekst zal alleen verschijnen bij je eerste %{education_posts_text}.
|
Voor meer informatie, [bekijk onze Veel Gestelde Vragen](/faq). Deze tekst zal alleen verschijnen bij je eerste %{education_posts_text}.
|
||||||
|
|
||||||
'new-reply': |
|
'new-reply': |
|
||||||
Welkom op %{site_name} — **bedankt voor het deelnemen aan de conversatie!**
|
Welkom op %{site_name} — **bedankt voor je bijdrage!**
|
||||||
|
|
||||||
- Geeft je reactie een nuttige bijdrage aan de conversatie, hoe klein dan ook?
|
- Geeft je reactie een nuttige bijdrage aan de conversatie, hoe klein dan ook?
|
||||||
|
|
||||||
|
@ -107,6 +107,30 @@ nl:
|
||||||
|
|
||||||
Voor meer informatie, [bekijk onze Veel Gestelde Vragen](/faq). Deze tekst zal alleen verschijnen bij je eerste %{education_posts_text}.
|
Voor meer informatie, [bekijk onze Veel Gestelde Vragen](/faq). Deze tekst zal alleen verschijnen bij je eerste %{education_posts_text}.
|
||||||
|
|
||||||
|
avatar: |
|
||||||
|
### Wat dacht je van een nieuwe afbeelding voor je account?
|
||||||
|
|
||||||
|
Je hebt een aantal berichten en reacties geplaatst, maar je avatar is niet zo uniek als jij bent -- het is dezelfde avatar als alle andere nieuwe gebruikers hebben.
|
||||||
|
|
||||||
|
Heb je al overwogen **[om naar je profielpagina te gaan](%{profile_path})** om een nieuwe afbeelding van jou te uploaden?
|
||||||
|
|
||||||
|
Het is makkelijker om conversaties te volgen en interessante mensen te vinden als iedereen een unieke avatar heeft!
|
||||||
|
|
||||||
|
sequential_replies: |
|
||||||
|
### Overweeg om op meerdere berichten ineens te reageren
|
||||||
|
|
||||||
|
In plaatst van een reactie per bericht te plaatsten, kan je ook meerdere berichten ineens citeren en @namen noemen in je reactie.
|
||||||
|
|
||||||
|
Je kan je vorige reactie wijzigen en er een citaat aan toevoegen door de betreffende tekst te selecteren en op de <b>citeer</b> knop te drukken die dan verschijnt.
|
||||||
|
|
||||||
|
Het is voor iedereen makkelijker om topics te lezen met minder losstaande reacties.
|
||||||
|
|
||||||
|
dominating_topic: |
|
||||||
|
### Laat anderen meedoen in de conversatie
|
||||||
|
|
||||||
|
Deze topic is duidelijk belangrijk voor je – meer dan %{percent}% van de reacties zijn van jou.
|
||||||
|
|
||||||
|
Hou je in de gaten dat anderen ook de ruimte krijgen om hun visie te geven?
|
||||||
|
|
||||||
activerecord:
|
activerecord:
|
||||||
attributes:
|
attributes:
|
||||||
|
@ -114,6 +138,8 @@ nl:
|
||||||
name: Naam categorie
|
name: Naam categorie
|
||||||
post:
|
post:
|
||||||
raw: Inhoud
|
raw: Inhoud
|
||||||
|
user:
|
||||||
|
ip_address: ""
|
||||||
errors:
|
errors:
|
||||||
messages:
|
messages:
|
||||||
is_invalid: "is ongeldig; probeer wat uitgebreider te zijn"
|
is_invalid: "is ongeldig; probeer wat uitgebreider te zijn"
|
||||||
|
@ -123,6 +149,10 @@ nl:
|
||||||
attributes:
|
attributes:
|
||||||
archetype:
|
archetype:
|
||||||
cant_send_pm: "Sorry, je kan geen privébericht sturen naar deze persoon."
|
cant_send_pm: "Sorry, je kan geen privébericht sturen naar deze persoon."
|
||||||
|
user:
|
||||||
|
attributes:
|
||||||
|
ip_address:
|
||||||
|
signup_not_allowed: Inschrijven vanaf dit account is niet toegestaan.
|
||||||
|
|
||||||
user_profile:
|
user_profile:
|
||||||
no_info_me: "<div class='missing-profile'>Het Over Mij-profielveld is nog leeg, <a href='/users/%{username_lower}/preferences/about-me'>zou je deze willen invullen?</a></div>"
|
no_info_me: "<div class='missing-profile'>Het Over Mij-profielveld is nog leeg, <a href='/users/%{username_lower}/preferences/about-me'>zou je deze willen invullen?</a></div>"
|
||||||
|
@ -132,7 +162,9 @@ nl:
|
||||||
topic_prefix: "Beschrijving voor categorie %{category}"
|
topic_prefix: "Beschrijving voor categorie %{category}"
|
||||||
replace_paragraph: "[Vervang deze eerste regel met een korte omschrijving van je nieuwe categorie. Deze regel verschijnt in het selectiemenu als iemand een categorie kiest, dus hou het kort (max. 200 tekens).]"
|
replace_paragraph: "[Vervang deze eerste regel met een korte omschrijving van je nieuwe categorie. Deze regel verschijnt in het selectiemenu als iemand een categorie kiest, dus hou het kort (max. 200 tekens).]"
|
||||||
post_template: "%{replace_paragraph}\n\nGebruik de volgende alinea's voor een lange omschrijving en om wat verwachtingen en regels van deze categorie uit te leggen.\n\nZaken waar je het over kan hebben in de reacties hieronder:\n\n- Waar is deze categorie voor? Waarom zouden mensen deze categorie moeten kiezen voor hun topic?\n\n- Waarin verschilt deze categorie van de andere categorien die we al hebben?\n\n- Hebben we deze categorie echt nodig?\n\n- Moeten we deze categorie samenvoegen met een andere categorie, of juist opsplitsen?\n"
|
post_template: "%{replace_paragraph}\n\nGebruik de volgende alinea's voor een lange omschrijving en om wat verwachtingen en regels van deze categorie uit te leggen.\n\nZaken waar je het over kan hebben in de reacties hieronder:\n\n- Waar is deze categorie voor? Waarom zouden mensen deze categorie moeten kiezen voor hun topic?\n\n- Waarin verschilt deze categorie van de andere categorien die we al hebben?\n\n- Hebben we deze categorie echt nodig?\n\n- Moeten we deze categorie samenvoegen met een andere categorie, of juist opsplitsen?\n"
|
||||||
|
errors:
|
||||||
|
self_parent: "Een subcategorie kan niet onder zichzelf hangen."
|
||||||
|
depth: "Je kan een subcategorie niet onder een andere subcategorie hangen."
|
||||||
trust_levels:
|
trust_levels:
|
||||||
newuser:
|
newuser:
|
||||||
title: nieuw lid
|
title: nieuw lid
|
||||||
|
@ -143,7 +175,7 @@ nl:
|
||||||
leader:
|
leader:
|
||||||
title: leider
|
title: leider
|
||||||
elder:
|
elder:
|
||||||
title: stamoudste
|
title: emiritus
|
||||||
change_failed_explanation: "Je probeerde %{user_name} te degraderen naar '%{new_trust_level}'. Echter, het trust level is al '%{current_trust_level}'. %{user_name} blijft op trust level '%{current_trust_level}'"
|
change_failed_explanation: "Je probeerde %{user_name} te degraderen naar '%{new_trust_level}'. Echter, het trust level is al '%{current_trust_level}'. %{user_name} blijft op trust level '%{current_trust_level}'"
|
||||||
|
|
||||||
|
|
||||||
|
@ -263,7 +295,7 @@ nl:
|
||||||
long_form: heeft dit als spam gemeld
|
long_form: heeft dit als spam gemeld
|
||||||
inappropriate:
|
inappropriate:
|
||||||
title: Ongepast
|
title: Ongepast
|
||||||
description: 'Dit bericht bevat inhoud dat een persoon met gezond verstand als beledigend, discriminerend of kwetsend kan ervaren.'
|
description: 'Dit bericht bevat inhoud dat iemand als beledigend, discriminerend of kwetsend kan ervaren. Ook kan het een overtreding van <a href="/faq">de regels</a> zijn.'
|
||||||
long_form: heeft dit als ongepast gemeld
|
long_form: heeft dit als ongepast gemeld
|
||||||
notify_user:
|
notify_user:
|
||||||
title: "Licht {{username}} in"
|
title: "Licht {{username}} in"
|
||||||
|
@ -389,6 +421,7 @@ nl:
|
||||||
|
|
||||||
dashboard:
|
dashboard:
|
||||||
rails_env_warning: "Je server draait in %{env} modus."
|
rails_env_warning: "Je server draait in %{env} modus."
|
||||||
|
ruby_version_warning: Je gebruikt een versie van Ruby 2.0.0 met problemen. Upgrade naar patch level 247 of later.
|
||||||
host_names_warning: "Het bestand config/database.yml heeft localhost als standaard hostname. Werk dat bij naar de hostname van je site."
|
host_names_warning: "Het bestand config/database.yml heeft localhost als standaard hostname. Werk dat bij naar de hostname van je site."
|
||||||
gc_warning: 'Je server gebruikt de standaard ruby garbage collection instellingen, en daarmee krijg je niet de beste prestaties. Lees deze topic over instellingen voor prestaties: <a href="http://meta.discourse.org/t/tuning-ruby-and-rails-for-discourse/4126">Tuning Ruby and Rails for Discourse</a>.'
|
gc_warning: 'Je server gebruikt de standaard ruby garbage collection instellingen, en daarmee krijg je niet de beste prestaties. Lees deze topic over instellingen voor prestaties: <a href="http://meta.discourse.org/t/tuning-ruby-and-rails-for-discourse/4126">Tuning Ruby and Rails for Discourse</a>.'
|
||||||
sidekiq_warning: 'Sidekiq draait niet. Veel taken, zoals het versturen van e-mails, worden asynchroon uitgevoerd door sidekiq. Zorg ervoor dat er altijd een sidekiq process draait. <a href="https://github.com/mperham/sidekiq">Hier is meer informatie over sidekiq</a>.'
|
sidekiq_warning: 'Sidekiq draait niet. Veel taken, zoals het versturen van e-mails, worden asynchroon uitgevoerd door sidekiq. Zorg ervoor dat er altijd een sidekiq process draait. <a href="https://github.com/mperham/sidekiq">Hier is meer informatie over sidekiq</a>.'
|
||||||
|
@ -399,12 +432,13 @@ nl:
|
||||||
twitter_config_warning: 'De server is geconfigureerd om registratie en inloggen via Twitter mogelijk te maken (enable_twitter_logins), maar er zijn geen key en secret waarden opgegeven. Ga naar <a href="/admin/site_settings">de Instellingen</a> en vul de waarden in. <a href="https://github.com/discourse/discourse/wiki/The-Discourse-Admin-Quick-Start-Guide#enable-twitter-logins" target="_blank">Zie deze uitleg voor meer informatie</a>.'
|
twitter_config_warning: 'De server is geconfigureerd om registratie en inloggen via Twitter mogelijk te maken (enable_twitter_logins), maar er zijn geen key en secret waarden opgegeven. Ga naar <a href="/admin/site_settings">de Instellingen</a> en vul de waarden in. <a href="https://github.com/discourse/discourse/wiki/The-Discourse-Admin-Quick-Start-Guide#enable-twitter-logins" target="_blank">Zie deze uitleg voor meer informatie</a>.'
|
||||||
github_config_warning: 'De server is geconfigureerd om registratie en inloggen via Github mogelijk te maken (enable_github_logins), maar er zijn geen client id en secret waarden opgegeven. Ga naar <a href="/admin/site_settings">de Instellingen</a> en vul de waarden in. <a href="https://github.com/discourse/discourse/wiki/The-Discourse-Admin-Quick-Start-Guide" target="_blank">Zie deze uitleg voor meer informatie</a>.'
|
github_config_warning: 'De server is geconfigureerd om registratie en inloggen via Github mogelijk te maken (enable_github_logins), maar er zijn geen client id en secret waarden opgegeven. Ga naar <a href="/admin/site_settings">de Instellingen</a> en vul de waarden in. <a href="https://github.com/discourse/discourse/wiki/The-Discourse-Admin-Quick-Start-Guide" target="_blank">Zie deze uitleg voor meer informatie</a>.'
|
||||||
s3_config_warning: 'De server is geconfigureerd om bestanden naar S3 te uploaden, maar tenminste een van de volgende instellingen is niet opgegeven: s3_access_key_id, s3_secret_access_key of s3_upload_bucket. Ga naar <a href="/admin/site_settings">de Instellingen</a> en vul de waarden in. <a href="http://meta.discourse.org/t/how-to-set-up-image-uploads-to-s3/7229" target="_blank">Zie "How to set up image uploads to S3?" voor meer informatie</a>.'
|
s3_config_warning: 'De server is geconfigureerd om bestanden naar S3 te uploaden, maar tenminste een van de volgende instellingen is niet opgegeven: s3_access_key_id, s3_secret_access_key of s3_upload_bucket. Ga naar <a href="/admin/site_settings">de Instellingen</a> en vul de waarden in. <a href="http://meta.discourse.org/t/how-to-set-up-image-uploads-to-s3/7229" target="_blank">Zie "How to set up image uploads to S3?" voor meer informatie</a>.'
|
||||||
image_magick_warning: 'De server is geconfigureerd om thumbnails te maken van grote afbeeldingen, maar ImageMagick is niet geïnstalleerd. Installeer ImageMagick met je favoriete package manager of ga naar <a href="http://www.imagemagick.org/script/binary-releases.php" target="_blank">om de laatste release te downloaden</a>.'
|
image_magick_warning: 'De server is geconfigureerd om thumbnails te maken van grote afbeeldingen, maar ImageMagick is niet geïnstalleerd. Installeer ImageMagick met je favoriete package manager of <a href="http://www.imagemagick.org/script/binary-releases.php" target="_blank">download de laatste release</a>.'
|
||||||
failing_emails_warning: 'Er zijn %{num_failed_jobs} mislukte emailtaken. Check of de instellingen voor config.action_mailer in het bestand config/environments/production.rb kloppen. <a href="/sidekiq/retries" target="_blank">Bekijk alle mislukte Sidekiq jobs</a>.'
|
failing_emails_warning: 'Er zijn %{num_failed_jobs} mislukte emailtaken. Check of de instellingen voor config.action_mailer in het bestand config/environments/production.rb kloppen. <a href="/sidekiq/retries" target="_blank">Bekijk alle mislukte Sidekiq jobs</a>.'
|
||||||
default_logo_warning: "Je hebt nog niet een eigen logo ingesteld voor je site. Werk logo_url, logo_small_url, en favicon_url bij in de <a href='/admin/site_settings'>Instellingen</a>."
|
default_logo_warning: "Je hebt nog niet een eigen logo ingesteld voor je site. Werk logo_url, logo_small_url, en favicon_url bij in de <a href='/admin/site_settings'>Instellingen</a>."
|
||||||
contact_email_missing: "Je hebt nog geen contactadres opgegeven voor je site. Werk contact_email bij in de <a href='/admin/site_settings'>Instellingen</a>."
|
contact_email_missing: "Je hebt nog geen contactadres opgegeven voor je site. Werk contact_email bij in de <a href='/admin/site_settings'>Instellingen</a>."
|
||||||
contact_email_invalid: "Je hebt een ongeldig contactadres opgegeven voor je site. Werk contact_email bij in de <a href='/admin/site_settings'>Instellingen</a>."
|
contact_email_invalid: "Je hebt een ongeldig contactadres opgegeven voor je site. Werk contact_email bij in de <a href='/admin/site_settings'>Instellingen</a>."
|
||||||
title_nag: "Je hebt nog geen title ingesteld voor je site. Geef een titel voor je site op in de <a href='/admin/site_settings'>Instellingen</a>."
|
title_nag: "Je hebt nog geen title ingesteld voor je site. Geef een titel voor je site op in de <a href='/admin/site_settings'>Instellingen</a>."
|
||||||
|
site_description_missing: "Er is nog geen omschrijving van deze site. Schrijf een korte omschrijving in de <a href='/admin/site_settings'>Instellingen</a>"
|
||||||
consumer_email_warning: "Je site is ingesteld om Gmail te gebruiken voor het versturen van mails. <a href='http://support.google.com/a/bin/answer.py?hl=en&answer=166852' target='_blank'>Gmail heeft limieten voor het aantal mails dat je kan versturen</a>. Overweeg om een andere e-mailprovider te gebruiken om er zeker van te zijn dat mails aankomen."
|
consumer_email_warning: "Je site is ingesteld om Gmail te gebruiken voor het versturen van mails. <a href='http://support.google.com/a/bin/answer.py?hl=en&answer=166852' target='_blank'>Gmail heeft limieten voor het aantal mails dat je kan versturen</a>. Overweeg om een andere e-mailprovider te gebruiken om er zeker van te zijn dat mails aankomen."
|
||||||
access_password_removal: "Je site gebruikte een toegangswachtwoord (access_password) setting, maar die optie is uit Discourse verwijderd. De login_required en must_approve_users instellingen zijn er voor in de plaats gekomen. Je kan ze in <a href='/admin/site_settings'>de Instellingen</a> aanpassen. Zorg er voor dat je <a href='/admin/users/list/pending'>gebruikers op de wachtlijst accepteert</a>. (Dit bericht verdwijnt na twee dagen.)"
|
access_password_removal: "Je site gebruikte een toegangswachtwoord (access_password) setting, maar die optie is uit Discourse verwijderd. De login_required en must_approve_users instellingen zijn er voor in de plaats gekomen. Je kan ze in <a href='/admin/site_settings'>de Instellingen</a> aanpassen. Zorg er voor dat je <a href='/admin/users/list/pending'>gebruikers op de wachtlijst accepteert</a>. (Dit bericht verdwijnt na twee dagen.)"
|
||||||
site_contact_username_warning: "De instelling site_contact_username is leeg. Werk deze bij in <a href='/admin/site_settings'>de Instellingen</a>. Stel het in op de gebruikersnaam van een admin die als afzender van de systeemberichten zal worden wordt gebruikt."
|
site_contact_username_warning: "De instelling site_contact_username is leeg. Werk deze bij in <a href='/admin/site_settings'>de Instellingen</a>. Stel het in op de gebruikersnaam van een admin die als afzender van de systeemberichten zal worden wordt gebruikt."
|
||||||
|
@ -461,6 +495,7 @@ nl:
|
||||||
discourse_org_access_key: "De toegangscode voor het discourse.org nickname-register"
|
discourse_org_access_key: "De toegangscode voor het discourse.org nickname-register"
|
||||||
educate_until_posts: Laat een popup zien totdat een lid dit aantal berichten geplaatst heeft
|
educate_until_posts: Laat een popup zien totdat een lid dit aantal berichten geplaatst heeft
|
||||||
title: "Titel van deze website, wordt gebruikt in de paginatitel en elders"
|
title: "Titel van deze website, wordt gebruikt in de paginatitel en elders"
|
||||||
|
site_description: Omschrijf dit forum in een zin. Deze wordt getoond in de meta tag.
|
||||||
contact_email: E-mailadres van een contactpersoon van deze site. Belangrijke updates van Discourse.org worden naar dit adres gestuurd.
|
contact_email: E-mailadres van een contactpersoon van deze site. Belangrijke updates van Discourse.org worden naar dit adres gestuurd.
|
||||||
company_full_name: "De volledige naam van het bedrijf dat deze site draait. Wordt gebruikt in juridische delen van de site, zoals /tos"
|
company_full_name: "De volledige naam van het bedrijf dat deze site draait. Wordt gebruikt in juridische delen van de site, zoals /tos"
|
||||||
company_short_name: "De korte naam van het bedrijf dat deze site draait. Wordt gebruikt in juridische delen van de site, zoals /tos"
|
company_short_name: "De korte naam van het bedrijf dat deze site draait. Wordt gebruikt in juridische delen van de site, zoals /tos"
|
||||||
|
@ -470,7 +505,8 @@ nl:
|
||||||
ninja_edit_window: "Hoe snel je een aanpassing kan maken zonder dat er een nieuwe versie wordt opgeslagen, in seconden."
|
ninja_edit_window: "Hoe snel je een aanpassing kan maken zonder dat er een nieuwe versie wordt opgeslagen, in seconden."
|
||||||
edit_history_visible_to_public: "Iedereen mag eerdere versies van een bericht zien. Wanneer aangevinkt kan alleen de staf de eerdere versies van een bericht zien."
|
edit_history_visible_to_public: "Iedereen mag eerdere versies van een bericht zien. Wanneer aangevinkt kan alleen de staf de eerdere versies van een bericht zien."
|
||||||
delete_removed_posts_after: "Na dit aantal uren zal een door een gebruiker verwijderd bericht ook echt helemaal verwijderd worden (in plaats van alleen verborgen)."
|
delete_removed_posts_after: "Na dit aantal uren zal een door een gebruiker verwijderd bericht ook echt helemaal verwijderd worden (in plaats van alleen verborgen)."
|
||||||
max_image_width: Maximale breedte voor een afbeelding in een bericht
|
max_image_width: Maximale breedte van een afbeelding in een bericht
|
||||||
|
max_image_height: Maximale hoogte van een afbeelding in een bericht
|
||||||
category_featured_topics: Aantal topics dat wordt weergegeven in de categorielijst
|
category_featured_topics: Aantal topics dat wordt weergegeven in de categorielijst
|
||||||
add_rel_nofollow_to_user_content: "Voeg 'rel nofollow' toe aan alle leden-content behalve voor interne links (inclusief parent domeinen). NB: Als je dit verandert, moet je ook alle 'baked markdown' updaten met \"rake posts:rebake\""
|
add_rel_nofollow_to_user_content: "Voeg 'rel nofollow' toe aan alle leden-content behalve voor interne links (inclusief parent domeinen). NB: Als je dit verandert, moet je ook alle 'baked markdown' updaten met \"rake posts:rebake\""
|
||||||
exclude_rel_nofollow_domains: "Een kommagescheiden lijst van domeinen waar 'nofollow' niet is toegevoegd (voorbeelddomein.com zal automatisch sub.voorbeelddomein.com toestaan)."
|
exclude_rel_nofollow_domains: "Een kommagescheiden lijst van domeinen waar 'nofollow' niet is toegevoegd (voorbeelddomein.com zal automatisch sub.voorbeelddomein.com toestaan)."
|
||||||
|
@ -504,9 +540,14 @@ nl:
|
||||||
|
|
||||||
flags_required_to_hide_post: "Berichten zullen automatisch worden verborgen zodra het aantal meldingen maximaal dit aantal is (0 voor nooit)"
|
flags_required_to_hide_post: "Berichten zullen automatisch worden verborgen zodra het aantal meldingen maximaal dit aantal is (0 voor nooit)"
|
||||||
cooldown_minutes_after_hiding_posts: "Hoeveel minuten moet iemand wachten voordat zij hun bericht kunnen wijzigen nadat het is verborgen door meldingen"
|
cooldown_minutes_after_hiding_posts: "Hoeveel minuten moet iemand wachten voordat zij hun bericht kunnen wijzigen nadat het is verborgen door meldingen"
|
||||||
|
|
||||||
|
max_topics_in_first_day: "Het maximum aantal topics dat een gebruiker mag maken tijdens hun eerste dag op de site"
|
||||||
|
max_replies_in_first_day: "Het maximum aantal reacties dat een gebruiker mag schrijven tijdens hun eerste dag op de site"
|
||||||
|
|
||||||
num_flags_to_block_new_user: "Als de berichten van een nieuwe gebruiker dit aantal spammarkeringen krijgen van (n) verschillende gebruikers, verberg dan alle berichten van deze gebruiker en houdt nieuwe berichten tegen. 0 om deze mogelijkheid uit te zetten."
|
num_flags_to_block_new_user: "Als de berichten van een nieuwe gebruiker dit aantal spammarkeringen krijgen van (n) verschillende gebruikers, verberg dan alle berichten van deze gebruiker en houdt nieuwe berichten tegen. 0 om deze mogelijkheid uit te zetten."
|
||||||
num_users_to_block_new_user: "Als de berichten van een nieuwe gebruiker (x) spammarkeringen krijgen van andere gebruikers, verberg dan alle berichten van deze gebruiker en houdt nieuwe berichten tegen. 0 om deze mogelijkheid uit te zetten."
|
num_users_to_block_new_user: "Als de berichten van een nieuwe gebruiker (x) spammarkeringen krijgen van andere gebruikers, verberg dan alle berichten van deze gebruiker en houdt nieuwe berichten tegen. 0 om deze mogelijkheid uit te zetten."
|
||||||
|
notify_mods_when_user_blocked: "Als een gebruiker automatisch geblokkeerd is, stuur dan een bericht naar alle moderatoren."
|
||||||
|
flag_sockpuppets: "Als een nieuwe gebruiker (bijv. geregistreerd in de afgelopen 24 uur) reageert op de topic van een andere nieuwe gebruiker, maar wel van hetzelfde IP-adres dan, worden beide berichten automatisch gemarkeerd als spam."
|
||||||
|
|
||||||
traditional_markdown_linebreaks: "Gebruik traditionele regeleinden in Markdown, gebruik 2 spaties voor een nieuw regeleinde"
|
traditional_markdown_linebreaks: "Gebruik traditionele regeleinden in Markdown, gebruik 2 spaties voor een nieuw regeleinde"
|
||||||
post_undo_action_window_mins: "Het tijdsbestek waarin iemand een actie binnen een bericht kan terugdraaien (zoals 'vind ik leuk')"
|
post_undo_action_window_mins: "Het tijdsbestek waarin iemand een actie binnen een bericht kan terugdraaien (zoals 'vind ik leuk')"
|
||||||
|
@ -530,15 +571,16 @@ nl:
|
||||||
email_domains_blacklist: "Een lijst met e-maildomeinen gescheiden door een |-teken van domeinen die niet worden toegestaan. Voorbeeld: mailinator.com|trashmail.net"
|
email_domains_blacklist: "Een lijst met e-maildomeinen gescheiden door een |-teken van domeinen die niet worden toegestaan. Voorbeeld: mailinator.com|trashmail.net"
|
||||||
email_domains_whitelist: "Een lijst met e-maildomeinen gescheiden door een |-teken van domeinen die wel worden toegestaan. N.B.: als je hier iets opgeeft, zijn andere domeinen NIET toegestaan."
|
email_domains_whitelist: "Een lijst met e-maildomeinen gescheiden door een |-teken van domeinen die wel worden toegestaan. N.B.: als je hier iets opgeeft, zijn andere domeinen NIET toegestaan."
|
||||||
version_checks: "Ping de Discourse-hub voor versieupdates and laat versiemeldingen zien in het /admin dashboard"
|
version_checks: "Ping de Discourse-hub voor versieupdates and laat versiemeldingen zien in het /admin dashboard"
|
||||||
|
new_version_emails: Stuur een e-mail naar het contact-email adres als er een nieuwe versie beschikbaar is.
|
||||||
|
|
||||||
port: "Mocht je een specifieke poort willen toewijzen aan de URL. Handig in ontwikkelaars-modus. Laat leeg voor geen toewijzing."
|
port: "DEVELOPER ONLY! WARNING! Mocht je een specifieke poort willen toewijzen aan de URL. Handig in ontwikkelaars-modus. Laat leeg voor geen toewijzing."
|
||||||
force_hostname: "Mocht je een specifieke hostname willen toewijzen. Handig in ontwikkelaars-modus. Laat leeg voor geen toewijzing."
|
force_hostname: "DEVELOPER ONLY! WARNING! Mocht je een specifieke hostname willen toewijzen. Handig in ontwikkelaars-modus. Laat leeg voor geen toewijzing."
|
||||||
|
|
||||||
invite_expiry_days: "Hoe lang uitnodigingscodes geldig blijven (in dagen)."
|
invite_expiry_days: "Hoe lang uitnodigingscodes geldig blijven (in dagen)."
|
||||||
|
|
||||||
# TODO: perhaps we need a way of protecting these settings for hosted solution, global settings ...
|
# TODO: perhaps we need a way of protecting these settings for hosted solution, global settings ...
|
||||||
|
|
||||||
invite_only: "Registratie is gesloten, alleen toegang op uitnodiging."
|
invite_only: "Registratie is niet mogelijk, alleen toegang op uitnodiging."
|
||||||
|
|
||||||
login_required: Inloggen vereist om berichten te kunnen lezen
|
login_required: Inloggen vereist om berichten te kunnen lezen
|
||||||
|
|
||||||
|
@ -583,6 +625,8 @@ nl:
|
||||||
|
|
||||||
suggested_topics: Het aantal aanbevolen topics dat is weergegeven aan de onderkant van een topic
|
suggested_topics: Het aantal aanbevolen topics dat is weergegeven aan de onderkant van een topic
|
||||||
|
|
||||||
|
clean_up_uploads: "Verwijder weesbestanden om illegale hosting te voorkomen. LET OP: maak een backup van je /uploads directory voordat je deze instelling activeert."
|
||||||
|
uploads_grace_period_in_hours: Na hoeveel uur een weesbestand verwijderd wordt.
|
||||||
enable_s3_uploads: Of we uploads op Amazon S3 willen zetten of niet
|
enable_s3_uploads: Of we uploads op Amazon S3 willen zetten of niet
|
||||||
s3_upload_bucket: "De 'bucket' waarin we onze uploads naar Amazon S3 willen zetten"
|
s3_upload_bucket: "De 'bucket' waarin we onze uploads naar Amazon S3 willen zetten"
|
||||||
s3_access_key_id: "De Amazon S3 access key id dat wordt gebruikt om afbeeldingen te uploaden"
|
s3_access_key_id: "De Amazon S3 access key id dat wordt gebruikt om afbeeldingen te uploaden"
|
||||||
|
@ -606,6 +650,8 @@ nl:
|
||||||
regular_requires_likes_given: "Hoeveel keer een nieuw lid berichten leuk moet vinden voordat hij gepromoveerd wordt tot regulier lid (trust level 2)"
|
regular_requires_likes_given: "Hoeveel keer een nieuw lid berichten leuk moet vinden voordat hij gepromoveerd wordt tot regulier lid (trust level 2)"
|
||||||
regular_requires_topic_reply_count: "Op hoeveel topics een nieuw lid moet reageren voordat hij gepromoveerd wordt tot regulier lid (trust level 2)"
|
regular_requires_topic_reply_count: "Op hoeveel topics een nieuw lid moet reageren voordat hij gepromoveerd wordt tot regulier lid (trust level 2)"
|
||||||
|
|
||||||
|
min_trust_to_create_topic: "Het minimale trust level dat nodig is om een topic te mogen maken."
|
||||||
|
|
||||||
newuser_max_links: Hoeveel links een nieuw lid in een bericht kan plaatsen
|
newuser_max_links: Hoeveel links een nieuw lid in een bericht kan plaatsen
|
||||||
newuser_max_images: Hoeveel afbeeldingen een nieuw lid in een bericht kan plaatsen
|
newuser_max_images: Hoeveel afbeeldingen een nieuw lid in een bericht kan plaatsen
|
||||||
newuser_max_images: Hoeveel bestanden een nieuw lid in een bericht kan plaatsen
|
newuser_max_images: Hoeveel bestanden een nieuw lid in een bericht kan plaatsen
|
||||||
|
@ -627,6 +673,8 @@ nl:
|
||||||
min_body_similar_length: De minimale lengte die de inhoud van een bericht moet hebben voordat er wordt gezocht naar vergelijkbare topics
|
min_body_similar_length: De minimale lengte die de inhoud van een bericht moet hebben voordat er wordt gezocht naar vergelijkbare topics
|
||||||
|
|
||||||
category_colors: "Een lijst, gescheiden door een pipe (|), van hexadecimal kleurwaardes die gebruikt kunnen worden voor categorien"
|
category_colors: "Een lijst, gescheiden door een pipe (|), van hexadecimal kleurwaardes die gebruikt kunnen worden voor categorien"
|
||||||
|
enable_wide_category_list: "Activeer traditionele volle breedte, non-tiling, categorielijst"
|
||||||
|
|
||||||
max_image_size_kb: "De maximale afbeeldingsgrootte die we toestaan voor uploads, in kB. Zorg er voor dat deze limiet ook ingesteld is in nginx (client_max_body_size) / apache of een proxy."
|
max_image_size_kb: "De maximale afbeeldingsgrootte die we toestaan voor uploads, in kB. Zorg er voor dat deze limiet ook ingesteld is in nginx (client_max_body_size) / apache of een proxy."
|
||||||
max_attachment_size_kb: "De maximale bestandsgrootte die we toestaan voor uploads, in kB. Zorg er voor dat deze limiet ook ingesteld is in nginx (client_max_body_size) / apache of een proxy."
|
max_attachment_size_kb: "De maximale bestandsgrootte die we toestaan voor uploads, in kB. Zorg er voor dat deze limiet ook ingesteld is in nginx (client_max_body_size) / apache of een proxy."
|
||||||
authorized_extensions: "Een met pipes (|) gescheiden lijst van bestandsextensies die mogen worden geupload"
|
authorized_extensions: "Een met pipes (|) gescheiden lijst van bestandsextensies die mogen worden geupload"
|
||||||
|
@ -659,9 +707,24 @@ nl:
|
||||||
relative_date_duration: "Na hoeveel dagen de datum van een bericht relatief zijn in plaats van absoluut.Voorbeelden: relatieve datum: 7d, absolute datum: 20 feb"
|
relative_date_duration: "Na hoeveel dagen de datum van een bericht relatief zijn in plaats van absoluut.Voorbeelden: relatieve datum: 7d, absolute datum: 20 feb"
|
||||||
delete_user_max_age: "Na hoeveel dagen na de inschrijving mag een admin een gebruiker nog verwijderen."
|
delete_user_max_age: "Na hoeveel dagen na de inschrijving mag een admin een gebruiker nog verwijderen."
|
||||||
delete_all_posts_max: "Het maximaal aantal berichten dat ineens verwijderd kan worden met de 'Verwijder alle berichten'-knop. Als een gebruiker meer berichten heeft, kunnen de berichten niet in een keer verwijderd worden en kan de gebruiker dus niet verwijderd worden."
|
delete_all_posts_max: "Het maximaal aantal berichten dat ineens verwijderd kan worden met de 'Verwijder alle berichten'-knop. Als een gebruiker meer berichten heeft, kunnen de berichten niet in een keer verwijderd worden en kan de gebruiker dus niet verwijderd worden."
|
||||||
username_change_period: "The number of days after registration that accounts can change their username."
|
username_change_period: "The number of days after registration that accounts can change their username (0 om wijziging niet toe te staan)."
|
||||||
|
email_editable: Gebruikers mogen hun e-mailadres na registratie nog wijzigen.
|
||||||
|
|
||||||
allow_uploaded_avatars: "Sta toe dat avatars geupload kunnen worden"
|
allow_uploaded_avatars: "Sta toe dat avatars geupload kunnen worden"
|
||||||
|
allow_animated_avatars: "Gebruikers mogen een animated GIF gebruiken als avatar. LET OP: draai de rake task avatars:regenerate nadat je deze instelling hebt geactiveerd."
|
||||||
|
default_digest_email_frequency: "Hoe vaak ontvangen gebruikers standaard de digestmails. Ze kunnen dit in hun eigen instellingen nog aanpassen."
|
||||||
|
|
||||||
|
detect_custom_avatars: "Check of gebruikers een eigen avatar geupload hebben"
|
||||||
|
max_daily_gravatar_crawls: "Het maximum aantal keren per dag dat Discourse checkt of er nieuwe Gravatars zijn"
|
||||||
|
|
||||||
|
sequential_replies_threshold: "Het aantal reacties dat een gebruiker achter elkaar moet plaatsen in een topic om een melding te krijgen"
|
||||||
|
|
||||||
|
enable_mobile_theme: "Mobiele apparaten gebruiken een mobiel-vriendelijke theme met de mogelijkheid te schakelen naar de volledige site. Schakel deze optie uit als je een eigen stylesheet wil gebruiken die volledig responsive is."
|
||||||
|
|
||||||
|
dominating_topic_minimum_percent: "Vanaf welk percentage berichten dat een gebruiker plaatst in een topic vinden we de gebruiker dominant?"
|
||||||
|
|
||||||
|
enable_names: "Gebruikers mogen hun volledige naam laten zien"
|
||||||
|
display_name_on_posts: "Laat de volledige naam van een gebruiker ook bij zijn berichten zien"
|
||||||
|
|
||||||
notification_types:
|
notification_types:
|
||||||
mentioned: "%{display_username} heeft je genoemd in %{link}"
|
mentioned: "%{display_username} heeft je genoemd in %{link}"
|
||||||
|
@ -717,6 +780,7 @@ nl:
|
||||||
activate_email: "Je bent er bijna! We hebben een activatiemail verstuurd naar <b>%{email}</b>. Volg de instructies in de mail om je account te activeren."
|
activate_email: "Je bent er bijna! We hebben een activatiemail verstuurd naar <b>%{email}</b>. Volg de instructies in de mail om je account te activeren."
|
||||||
not_activated: "Je kan nog niet inloggen. We hebben je een activatiemail gestuurd. Volg de instructies in de mail om je account te activeren."
|
not_activated: "Je kan nog niet inloggen. We hebben je een activatiemail gestuurd. Volg de instructies in de mail om je account te activeren."
|
||||||
banned: "Je kan tot %{date} niet inloggen."
|
banned: "Je kan tot %{date} niet inloggen."
|
||||||
|
banned_with_reason: "Je kan tot %{date} niet inloggen. Je hebt een ban om de volgende reden: %{reden}"
|
||||||
errors: "%{errors}"
|
errors: "%{errors}"
|
||||||
not_available: "Niet beschikbaar. Probeer %{suggestion}?"
|
not_available: "Niet beschikbaar. Probeer %{suggestion}?"
|
||||||
something_already_taken: "Er ging iets mis, misschien zijn de gebruikersnaam en/of e-mailadres al in gebruik? Gebruik dan de 'wachtwoord vergeten' link"
|
something_already_taken: "Er ging iets mis, misschien zijn de gebruikersnaam en/of e-mailadres al in gebruik? Gebruik dan de 'wachtwoord vergeten' link"
|
||||||
|
@ -727,13 +791,15 @@ nl:
|
||||||
username:
|
username:
|
||||||
short: "moet langer zijn dan %{min} tekens"
|
short: "moet langer zijn dan %{min} tekens"
|
||||||
long: "moet korter zijn dan %{max} tekens"
|
long: "moet korter zijn dan %{max} tekens"
|
||||||
characters: "mag alleen nummers en letters bevatten"
|
characters: mag alleen nummers en letters bevatten
|
||||||
unique: "moet uniek zijn"
|
unique: moet uniek zijn
|
||||||
blank: "mag niet leeg zijn"
|
blank: mag niet leeg zijn
|
||||||
must_begin_with_alphanumeric: "moet met een letter of nummer beginnen"
|
must_begin_with_alphanumeric: "moet met een letter of nummer beginnen"
|
||||||
email:
|
email:
|
||||||
not_allowed: "is niet toegestaan vanaf die e-mailprovider. Gebruik een ander e-mailadres."
|
not_allowed: "is niet toegestaan vanaf die e-mailprovider. Gebruik een ander e-mailadres."
|
||||||
blocked: "is niet toegestaan."
|
blocked: is niet toegestaan.
|
||||||
|
ip_address:
|
||||||
|
blocked: is geblokkeerd.
|
||||||
|
|
||||||
invite_mailer:
|
invite_mailer:
|
||||||
subject_template: "[%{site_name}] %{invitee_name} heeft je uitgenodigd om op een privé-bericht te reageren op %{site_name}"
|
subject_template: "[%{site_name}] %{invitee_name} heeft je uitgenodigd om op een privé-bericht te reageren op %{site_name}"
|
||||||
|
@ -791,6 +857,17 @@ nl:
|
||||||
|
|
||||||
<small>Er zou een unsubscribe footer op elke email die je verstuurt moeten zitten zodat men direct kan afmelden mocht men deze mails niet willen ontvangen. Dus laten we er eentje opzetten!
|
<small>Er zou een unsubscribe footer op elke email die je verstuurt moeten zitten zodat men direct kan afmelden mocht men deze mails niet willen ontvangen. Dus laten we er eentje opzetten!
|
||||||
|
|
||||||
|
new_version_mailer:
|
||||||
|
subject_template: "[%{site_name}] Nieuwe updates beschikbaar"
|
||||||
|
text_body_template: |
|
||||||
|
Er is een nieuwe versie van Discourse beschikbaar.
|
||||||
|
|
||||||
|
**Nieuwe versie: %{new_version}**
|
||||||
|
|
||||||
|
Jouw versie: %{installed_version}
|
||||||
|
|
||||||
|
Werk zo snel mogelijk bij om de laatste oplossingen in mogelijkheden te krijgen.
|
||||||
|
|
||||||
system_messages:
|
system_messages:
|
||||||
post_hidden:
|
post_hidden:
|
||||||
subject_template: "Bericht van %{site_name}: je bericht is verborgen wegens meldingen uit de community"
|
subject_template: "Bericht van %{site_name}: je bericht is verborgen wegens meldingen uit de community"
|
||||||
|
@ -912,19 +989,23 @@ nl:
|
||||||
Kijk voor verdere uitleg in de [FAQ](%{base_url}/faq).
|
Kijk voor verdere uitleg in de [FAQ](%{base_url}/faq).
|
||||||
|
|
||||||
user_automatically_blocked:
|
user_automatically_blocked:
|
||||||
subject_template: "Nieuwe gebruiker %{username} was automatisch geblokkeerd"
|
subject_template: "Nieuwe gebruiker %{username} is door meldingen geblokkeerd"
|
||||||
text_body_template: |
|
text_body_template: |
|
||||||
Dit is een automatisch bericht om je te informeren dat de nieuwe gebruiker [%{username}](%{user_url}) automatisch geblokkeerd is, omdat meerdere gebruikers de berichten van %{username} gemarkeerd hebben.
|
Dit is een automatisch bericht om je te informeren dat de nieuwe gebruiker [%{username}](%{base_url}%{user_url}) automatisch geblokkeerd is, omdat meerdere gebruikers de berichten van %{username} gemarkeerd hebben.
|
||||||
|
|
||||||
Kijk hier voor [de markeringen](/admin/flags). Als %{username} ten onrechte geblokkeerd is, klik dan op de deblokkeerdknop op [de beheerpagina van deze gebruiker](%{user_url}).
|
Kijk hier voor [de markeringen](/admin/flags). Als %{username} ten onrechte geblokkeerd is, klik dan op de deblokkeerdknop op [de beheerpagina van deze gebruiker](%{user_url}).
|
||||||
|
|
||||||
|
De drempel hiervoor kan ingesteld worden met de `block_new_user` instelling.
|
||||||
|
|
||||||
spam_post_blocked:
|
spam_post_blocked:
|
||||||
subject_template: "Spam gedetecteerd in een bericht van %{username}"
|
subject_template: "Berichten van nieuwe gebruiker %{username} geblokkeerd door herhaalde links"
|
||||||
text_body_template: |
|
text_body_template: |
|
||||||
Dit is een automatisch bericht van %{site_name} om je te informeren dat [%{username}](%{user_url}) probeerde een bericht te plaatsen met links, maar gebaseerd op newuser_spam_host_threshold is dit gezien als spam.
|
Dit is een automatisch bericht van %{site_name} om je te informeren dat de nieuwe gebruiker [%{username}](%{base_url}%{user_url}) probeerde meerdere berichten te plaatsen met links naar %{domains}, maar deze berichten zijn geblokkeerd om spam tegen te gaan. De gebruiker kan nog steeds nieuwe berichten plaatsen die niet linken naar %{domains}.
|
||||||
|
|
||||||
Bekijk de gebruiker [hier](%{user_url}).
|
Bekijk de gebruiker [hier](%{user_url}).
|
||||||
|
|
||||||
|
De drempel hiervoor kan ingesteld worden met de `newuser_spam_host_threshold` instelling.
|
||||||
|
|
||||||
unblocked:
|
unblocked:
|
||||||
subject_template: Account gedeblokkeerd
|
subject_template: Account gedeblokkeerd
|
||||||
text_body_template: |
|
text_body_template: |
|
||||||
|
@ -934,6 +1015,15 @@ nl:
|
||||||
|
|
||||||
Je kunt weer berichten plaatsen
|
Je kunt weer berichten plaatsen
|
||||||
|
|
||||||
|
pending_users_reminder:
|
||||||
|
subject_template:
|
||||||
|
one: "1 gebruiker wacht op goedkeuring"
|
||||||
|
other: "%{count} gebruikers wachten op goedkeuring"
|
||||||
|
text_body_template: |
|
||||||
|
Er zijn nieuwe gebruikers die zich hebben ingeschreven en wachten op goedkeuring (of afwijzing) voor zij het forum op kunnen.
|
||||||
|
|
||||||
|
[Beoordeel deze gebruikers in het admingedeelte](/admin/users/list/pending).
|
||||||
|
|
||||||
unsubscribe_link: "Om deze e-mails niet langer willen ontvangen, ga naar [je gebruikersinstellingen](%{user_preferences_url})."
|
unsubscribe_link: "Om deze e-mails niet langer willen ontvangen, ga naar [je gebruikersinstellingen](%{user_preferences_url})."
|
||||||
|
|
||||||
user_notifications:
|
user_notifications:
|
||||||
|
@ -1000,7 +1090,7 @@ nl:
|
||||||
new_activity: "Nieuwe reacties op je topics en berichten:"
|
new_activity: "Nieuwe reacties op je topics en berichten:"
|
||||||
top_topics: "Veel besproken topics:"
|
top_topics: "Veel besproken topics:"
|
||||||
new_topics: "Nieuwe topics:"
|
new_topics: "Nieuwe topics:"
|
||||||
unsubscribe: "Deze samenvatting wordt door %{site_link} verstuurd als we je 7 dagen hebben gemist op onze site.\nMocht je dit uit willen zetten, of je e-mailvoorkeur willen veranderen, %{unsubscribe_link}."
|
unsubscribe: "Deze samenvatting wordt door %{site_link} verstuurd als we je 7 dagen hebben gemist op onze site. Mocht je dit uit willen zetten, of je e-mailvoorkeur willen veranderen, %{unsubscribe_link}."
|
||||||
click_here: klik hier
|
click_here: klik hier
|
||||||
from: "%{site_name} Digest"
|
from: "%{site_name} Digest"
|
||||||
read_more: Lees verder
|
read_more: Lees verder
|
||||||
|
@ -1083,3 +1173,7 @@ nl:
|
||||||
fetch_failure: "Er ging iets mis bij het opvragen van de afbeelding."
|
fetch_failure: "Er ging iets mis bij het opvragen van de afbeelding."
|
||||||
unknown_image_type: "Het bestand dat je wil uploaden is geen afbeelding."
|
unknown_image_type: "Het bestand dat je wil uploaden is geen afbeelding."
|
||||||
size_not_found: "Het is niet gelukt de afmetingen van de afbeelding te bepalen. Misschien is het bestand corrupt?"
|
size_not_found: "Het is niet gelukt de afmetingen van de afbeelding te bepalen. Misschien is het bestand corrupt?"
|
||||||
|
|
||||||
|
flag_reason:
|
||||||
|
sockpuppet: "Een nieuwe gebruiker maakte een nieuwe topic en een andere gebruiker reageerde - vanaf hetzelfde IP-adres. Zie de flag_sockpuppets instelling."
|
||||||
|
spam_hosts: "Deze gebruiker probeerde om meerdere berichten met links naar hetzelfde domein te plaatsen. Zie de newuser_spam_host_threshold instelling."
|
||||||
|
|
|
@ -24,20 +24,27 @@ module DiscourseUpdates
|
||||||
|
|
||||||
# Handle cases when version check data is old so we report something that makes sense
|
# Handle cases when version check data is old so we report something that makes sense
|
||||||
|
|
||||||
if (version_info.updated_at.nil? or
|
if (version_info.updated_at.nil? or # never performed a version check
|
||||||
(version_info.missing_versions_count == 0 and version_info.latest_version != version_info.installed_version) or
|
last_installed_version != Discourse::VERSION::STRING or # upgraded since the last version check
|
||||||
(version_info.missing_versions_count != 0 and version_info.latest_version == version_info.installed_version))
|
(version_info.missing_versions_count == 0 and version_info.latest_version != version_info.installed_version) or # old data
|
||||||
|
(version_info.missing_versions_count != 0 and version_info.latest_version == version_info.installed_version)) # old data
|
||||||
Jobs.enqueue(:version_check, all_sites: true)
|
Jobs.enqueue(:version_check, all_sites: true)
|
||||||
end
|
version_info.version_check_pending = true
|
||||||
|
unless version_info.updated_at.nil?
|
||||||
if !version_info.updated_at.nil? and version_info.latest_version == version_info.installed_version
|
|
||||||
version_info.missing_versions_count = 0
|
version_info.missing_versions_count = 0
|
||||||
|
version_info.critical_updates = false
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
version_info
|
version_info
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# last_installed_version is the installed version at the time of the last version check
|
||||||
|
def last_installed_version
|
||||||
|
$redis.get last_installed_version_key
|
||||||
|
end
|
||||||
|
|
||||||
def latest_version
|
def latest_version
|
||||||
$redis.get latest_version_key
|
$redis.get latest_version_key
|
||||||
end
|
end
|
||||||
|
@ -59,7 +66,7 @@ module DiscourseUpdates
|
||||||
$redis.set updated_at_key, time_with_zone.as_json
|
$redis.set updated_at_key, time_with_zone.as_json
|
||||||
end
|
end
|
||||||
|
|
||||||
['latest_version', 'missing_versions_count', 'critical_updates_available'].each do |name|
|
['last_installed_version', 'latest_version', 'missing_versions_count', 'critical_updates_available'].each do |name|
|
||||||
eval "define_method :#{name}= do |arg|
|
eval "define_method :#{name}= do |arg|
|
||||||
$redis.set #{name}_key, arg
|
$redis.set #{name}_key, arg
|
||||||
end"
|
end"
|
||||||
|
@ -68,6 +75,10 @@ module DiscourseUpdates
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
|
def last_installed_version_key
|
||||||
|
'last_installed_version'
|
||||||
|
end
|
||||||
|
|
||||||
def latest_version_key
|
def latest_version_key
|
||||||
'discourse_latest_version'
|
'discourse_latest_version'
|
||||||
end
|
end
|
||||||
|
|
|
@ -16,6 +16,11 @@ describe DiscourseUpdates do
|
||||||
|
|
||||||
subject { DiscourseUpdates.check_version.as_json }
|
subject { DiscourseUpdates.check_version.as_json }
|
||||||
|
|
||||||
|
context 'version check was done at the current installed version' do
|
||||||
|
before do
|
||||||
|
DiscourseUpdates.stubs(:last_installed_version).returns(Discourse::VERSION::STRING)
|
||||||
|
end
|
||||||
|
|
||||||
context 'a good version check request happened recently' do
|
context 'a good version check request happened recently' do
|
||||||
context 'and server is up-to-date' do
|
context 'and server is up-to-date' do
|
||||||
before { stub_data(Discourse::VERSION::STRING, 0, false, 12.hours.ago) }
|
before { stub_data(Discourse::VERSION::STRING, 0, false, 12.hours.ago) }
|
||||||
|
@ -72,19 +77,10 @@ describe DiscourseUpdates do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'installed version is newer' do
|
# These cases should never happen anymore, but keep the specs to be sure
|
||||||
before { stub_data('0.9.3', 0, false, 28.hours.ago) }
|
# they're handled in a sane way.
|
||||||
|
|
||||||
it 'queues a version check' do
|
|
||||||
Jobs.expects(:enqueue).with(:version_check, anything)
|
|
||||||
subject
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'old version check data' do
|
context 'old version check data' do
|
||||||
context 'installed is latest' do
|
shared_examples "queue version check and report that version is ok" do
|
||||||
before { stub_data(Discourse::VERSION::STRING, 1, false, 8.hours.ago) }
|
|
||||||
|
|
||||||
it 'queues a version check' do
|
it 'queues a version check' do
|
||||||
Jobs.expects(:enqueue).with(:version_check, anything)
|
Jobs.expects(:enqueue).with(:version_check, anything)
|
||||||
subject
|
subject
|
||||||
|
@ -93,16 +89,52 @@ describe DiscourseUpdates do
|
||||||
it 'reports 0 missing versions' do
|
it 'reports 0 missing versions' do
|
||||||
subject['missing_versions_count'].should == 0
|
subject['missing_versions_count'].should == 0
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'reports that a version check will be run soon' do
|
||||||
|
subject['version_check_pending'].should == true
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'installed is not latest' do
|
context 'installed is latest' do
|
||||||
before { stub_data('0.9.1', 0, false, 8.hours.ago) }
|
before { stub_data(Discourse::VERSION::STRING, 1, false, 8.hours.ago) }
|
||||||
|
include_examples "queue version check and report that version is ok"
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'installed does not match latest version, but missing_versions_count is 0' do
|
||||||
|
before { stub_data('0.10.10.123', 0, false, 8.hours.ago) }
|
||||||
|
include_examples "queue version check and report that version is ok"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'version check was done at a different installed version' do
|
||||||
|
before do
|
||||||
|
DiscourseUpdates.stubs(:last_installed_version).returns('0.9.1')
|
||||||
|
end
|
||||||
|
|
||||||
|
shared_examples "when last_installed_version is old" do
|
||||||
it 'queues a version check' do
|
it 'queues a version check' do
|
||||||
Jobs.expects(:enqueue).with(:version_check, anything)
|
Jobs.expects(:enqueue).with(:version_check, anything)
|
||||||
subject
|
subject
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'reports 0 missing versions' do
|
||||||
|
subject['missing_versions_count'].should == 0
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'reports that a version check will be run soon' do
|
||||||
|
subject['version_check_pending'].should == true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'missing_versions_count is 0' do
|
||||||
|
before { stub_data('0.9.7', 0, false, 8.hours.ago) }
|
||||||
|
include_examples "when last_installed_version is old"
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'missing_versions_count is not 0' do
|
||||||
|
before { stub_data('0.9.7', 1, false, 8.hours.ago) }
|
||||||
|
include_examples "when last_installed_version is old"
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -4,6 +4,7 @@ require_dependency 'version'
|
||||||
describe Admin::VersionsController do
|
describe Admin::VersionsController do
|
||||||
|
|
||||||
before do
|
before do
|
||||||
|
Jobs::VersionCheck.any_instance.stubs(:execute).returns(true)
|
||||||
DiscourseUpdates.stubs(:updated_at).returns(2.hours.ago)
|
DiscourseUpdates.stubs(:updated_at).returns(2.hours.ago)
|
||||||
DiscourseUpdates.stubs(:latest_version).returns('1.2.33')
|
DiscourseUpdates.stubs(:latest_version).returns('1.2.33')
|
||||||
DiscourseUpdates.stubs(:critical_updates_available?).returns(false)
|
DiscourseUpdates.stubs(:critical_updates_available?).returns(false)
|
||||||
|
|
|
@ -824,41 +824,84 @@ describe UsersController do
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '.update' do
|
describe '#update' do
|
||||||
|
context 'with guest' do
|
||||||
context 'not logged in' do
|
it 'raises an error' do
|
||||||
it 'raises an error when not logged in' do
|
|
||||||
expect do
|
expect do
|
||||||
xhr :put, :update, username: 'somename'
|
xhr :put, :update, username: 'guest'
|
||||||
end.to raise_error(Discourse::NotLoggedIn)
|
end.to raise_error(Discourse::NotLoggedIn)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'logged in' do
|
context 'with authenticated user' do
|
||||||
let!(:user) { log_in }
|
context 'with permission to update' do
|
||||||
|
it 'allows the update' do
|
||||||
|
user = Fabricate(:user, name: 'Billy Bob')
|
||||||
|
log_in_user(user)
|
||||||
|
|
||||||
|
put :update, username: user.username, name: 'Jim Tom'
|
||||||
|
|
||||||
|
expect(response).to be_success
|
||||||
|
expect(user.reload.name).to eq 'Jim Tom'
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'returns user JSON' do
|
||||||
|
user = log_in
|
||||||
|
|
||||||
context 'without a token' do
|
|
||||||
it 'should ensure you can update the user' do
|
|
||||||
Guardian.any_instance.expects(:can_edit?).with(user).returns(false)
|
|
||||||
put :update, username: user.username
|
put :update, username: user.username
|
||||||
response.should be_forbidden
|
|
||||||
|
json = JSON.parse(response.body)
|
||||||
|
expect(json['user']['id']).to eq user.id
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'as a user who can edit the user' do
|
context 'when website includes http' do
|
||||||
|
it 'does not add http before updating' do
|
||||||
|
user = log_in
|
||||||
|
|
||||||
before do
|
put :update, username: user.username, website: 'http://example.com'
|
||||||
put :update, username: user.username, bio_raw: 'brand new bio'
|
|
||||||
user.reload
|
expect(user.reload.website).to eq 'http://example.com'
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'updates the user' do
|
context 'when website does not include http' do
|
||||||
user.bio_raw.should == 'brand new bio'
|
it 'adds http before updating' do
|
||||||
|
user = log_in
|
||||||
|
|
||||||
|
put :update, username: user.username, website: 'example.com'
|
||||||
|
|
||||||
|
expect(user.reload.website).to eq 'http://example.com'
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'returns json success' do
|
context 'without permission to update any attributes' do
|
||||||
response.should be_success
|
it 'does not allow the update' do
|
||||||
|
user = Fabricate(:user, name: 'Billy Bob')
|
||||||
|
log_in_user(user)
|
||||||
|
guardian = Guardian.new(user)
|
||||||
|
guardian.stubs(:ensure_can_edit!).with(user).raises(Discourse::InvalidAccess.new)
|
||||||
|
Guardian.stubs(new: guardian).with(user)
|
||||||
|
|
||||||
|
put :update, username: user.username, name: 'Jim Tom'
|
||||||
|
|
||||||
|
expect(response).to be_forbidden
|
||||||
|
expect(user.reload.name).not_to eq 'Jim Tom'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'without permission to update title' do
|
||||||
|
it 'does not allow the user to update their title' do
|
||||||
|
user = Fabricate(:user, title: 'Emperor')
|
||||||
|
log_in_user(user)
|
||||||
|
guardian = Guardian.new(user)
|
||||||
|
guardian.stubs(can_grant_title?: false).with(user)
|
||||||
|
Guardian.stubs(new: guardian).with(user)
|
||||||
|
|
||||||
|
put :update, username: user.username, title: 'Minion'
|
||||||
|
|
||||||
|
expect(user.reload.title).not_to eq 'Minion'
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -1102,5 +1145,4 @@ describe UsersController do
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -77,8 +77,6 @@ Spork.prefork do
|
||||||
|
|
||||||
config.before(:all) do
|
config.before(:all) do
|
||||||
DiscoursePluginRegistry.clear
|
DiscoursePluginRegistry.clear
|
||||||
uncat_id = SiteSetting.uncategorized_category_id
|
|
||||||
|
|
||||||
Discourse.current_user_provider = TestCurrentUserProvider
|
Discourse.current_user_provider = TestCurrentUserProvider
|
||||||
|
|
||||||
# a bit odd, but this setting is actually preloaded
|
# a bit odd, but this setting is actually preloaded
|
||||||
|
|
|
@ -7,6 +7,7 @@ test('dataIsOld', function() {
|
||||||
|
|
||||||
dataIsOld({updated_at: moment().subtract('hours', 2).toJSON()}, false, '2 hours ago');
|
dataIsOld({updated_at: moment().subtract('hours', 2).toJSON()}, false, '2 hours ago');
|
||||||
dataIsOld({updated_at: moment().subtract('hours', 49).toJSON()}, true, '49 hours ago');
|
dataIsOld({updated_at: moment().subtract('hours', 49).toJSON()}, true, '49 hours ago');
|
||||||
|
dataIsOld({updated_at: moment().subtract('hours', 2).toJSON(), version_check_pending: true}, true, 'version check pending');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('staleData', function() {
|
test('staleData', function() {
|
||||||
|
@ -21,4 +22,5 @@ test('staleData', function() {
|
||||||
staleData({missing_versions_count: 0, installed_version: '0.9.4', latest_version: '0.9.3', updated_at: updatedAt(2)}, true, 'installed and latest do not match, but missing_versions_count is 0');
|
staleData({missing_versions_count: 0, installed_version: '0.9.4', latest_version: '0.9.3', updated_at: updatedAt(2)}, true, 'installed and latest do not match, but missing_versions_count is 0');
|
||||||
staleData({missing_versions_count: 1, installed_version: '0.9.3', latest_version: '0.9.3', updated_at: updatedAt(2)}, true, 'installed and latest match, but missing_versions_count is not 0');
|
staleData({missing_versions_count: 1, installed_version: '0.9.3', latest_version: '0.9.3', updated_at: updatedAt(2)}, true, 'installed and latest match, but missing_versions_count is not 0');
|
||||||
staleData({missing_versions_count: 0, installed_version: '0.9.3', latest_version: '0.9.3', updated_at: updatedAt(50)}, true, 'old version check data');
|
staleData({missing_versions_count: 0, installed_version: '0.9.3', latest_version: '0.9.3', updated_at: updatedAt(50)}, true, 'old version check data');
|
||||||
|
staleData({version_check_pending: true, missing_versions_count: 0, installed_version: '0.9.4', latest_version: '0.9.3', updated_at: updatedAt(2)}, true, 'version was upgraded, but no version check has been done since the upgrade');
|
||||||
});
|
});
|
||||||
|
|
|
@ -37,20 +37,19 @@
|
||||||
":-$" : 'blush'
|
":-$" : 'blush'
|
||||||
};
|
};
|
||||||
|
|
||||||
Object.keys(translations).forEach(function (code) {
|
emoji.forEach(function (e) {
|
||||||
|
Discourse.Dialect.inlineReplace(":" + e + ":", function(code) {
|
||||||
|
return imageFor(e);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
Object.keys(translations).forEach(function (code) {
|
||||||
var replacement = translations[code];
|
var replacement = translations[code];
|
||||||
Discourse.Dialect.inlineReplace(code, function (code) {
|
Discourse.Dialect.inlineReplace(code, function (code) {
|
||||||
return imageFor(replacement);
|
return imageFor(replacement);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
Discourse.Dialect.inlineBetween({
|
|
||||||
between: ':',
|
|
||||||
rawContents: true,
|
|
||||||
emitter: imageFor
|
|
||||||
});
|
|
||||||
|
|
||||||
if (Discourse && Discourse.ComposerView) {
|
if (Discourse && Discourse.ComposerView) {
|
||||||
Discourse.ComposerView.on("initWmdEditor", function(event){
|
Discourse.ComposerView.on("initWmdEditor", function(event){
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue