diff --git a/Gemfile b/Gemfile
index 74c6d6a99f..9784a3ff5e 100644
--- a/Gemfile
+++ b/Gemfile
@@ -66,7 +66,7 @@ gem 'aws-sdk', require: false
gem 'excon', require: false
gem 'unf', require: false
-gem 'email_reply_trimmer', '0.1.2'
+gem 'email_reply_trimmer', '0.1.3'
# note: for image_optim to correctly work you need to follow
# https://github.com/toy/image_optim
diff --git a/Gemfile.lock b/Gemfile.lock
index d21aedc8e8..c94f88af50 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -76,7 +76,7 @@ GEM
docile (1.1.5)
domain_name (0.5.25)
unf (>= 0.0.5, < 1.0.0)
- email_reply_trimmer (0.1.2)
+ email_reply_trimmer (0.1.3)
ember-data-source (1.0.0.beta.16.1)
ember-source (~> 1.8)
ember-handlebars-template (0.1.5)
@@ -214,7 +214,7 @@ GEM
omniauth-twitter (1.2.1)
json (~> 1.3)
omniauth-oauth (~> 1.1)
- onebox (1.5.37)
+ onebox (1.5.38)
htmlentities (~> 4.3.4)
moneta (~> 0.8)
multi_json (~> 1.11)
@@ -415,7 +415,7 @@ DEPENDENCIES
byebug
certified
discourse-qunit-rails
- email_reply_trimmer (= 0.1.2)
+ email_reply_trimmer (= 0.1.3)
ember-rails
ember-source (= 1.12.2)
excon
diff --git a/README.md b/README.md
index 02ff312d2e..082d8939bb 100644
--- a/README.md
+++ b/README.md
@@ -15,8 +15,8 @@ To learn more about the philosophy and goals of the project, [visit **discourse.
-
-
+
+
Browse [lots more notable Discourse instances](http://www.discourse.org/faq/customers/).
@@ -40,8 +40,8 @@ Discourse is built for the *next* 10 years of the Internet, so our requirements
| Browsers | Tablets | Smartphones |
| -------- | ------- | ----------- |
-| Safari 5.1+| iPad 2+ | iOS 7+ |
-| Google Chrome 23+ | Android 4.1+ | Android 4.1+ |
+| Safari 6.1+| iPad 2+ | iOS 7+ |
+| Google Chrome 23+ | Android 4.3+ | Android 4.3+ |
| Internet Explorer 10+ | Windows 8 | Windows Phone 8 |
| Firefox 16+ | |
diff --git a/app/assets/javascripts/admin/templates/modal/admin_incoming_email.hbs b/app/assets/javascripts/admin/templates/modal/admin_incoming_email.hbs
index 6ba2b006f3..87f63b3a2f 100644
--- a/app/assets/javascripts/admin/templates/modal/admin_incoming_email.hbs
+++ b/app/assets/javascripts/admin/templates/modal/admin_incoming_email.hbs
@@ -10,78 +10,13 @@
{{#link-to "userActivity.replies" user class="more"}}{{i18n "user.summary.more_replies"}}{{/link-to}}
+ {{/if}} + {{else}} +{{i18n "user.summary.no_replies"}}
+ {{/if}} +{{#link-to "userActivity.topics" user class="more"}}{{i18n "user.summary.more_topics"}}{{/link-to}}
+ {{/if}} + {{else}} +{{i18n "user.summary.no_topics"}}
+ {{/if}} +{{i18n "user.summary.no_badges"}}
+ {{/each}} + {{#if moreBadges}} +{{#link-to "user.badges" user class="more"}}{{i18n "user.summary.more_badges"}}{{/link-to}}
+ {{/if}}{{username}} {{description}}
" quoted: "{{username}} {{description}}
" replied: "{{username}} {{description}}
" + posted: "{{username}} {{description}}
" edited: "{{username}} {{description}}
" liked: "{{username}} {{description}}
" + liked_2: "{{username}}, {{username2}} {{description}}
" private_message: "{{username}} {{description}}
" invited_to_private_message: "{{username}} {{description}}
" invited_to_topic: "{{username}} {{description}}
" @@ -1327,6 +1335,7 @@ da: about: "dette indlæg er en wiki" archetypes: save: 'Gem indstillinger' + few_likes_left: "Tak fordi du liker! Du har kun få likes tilbage i dag." controls: reply: "begynd at skrive et svar på dette indlæg" like: "like dette indlæg" @@ -1374,6 +1383,13 @@ da: like: "Undo like" vote: "Undo vote" people: + off_topic: "markerede dette som off-topic" + spam: "markerede dette som spam" + inappropriate: "markerede dette som upassende" + notify_moderators: "informerede moderatorer" + notify_user: "sendte en besked" + bookmark: "bogmærkede dette" + like: "likede dette" vote: "stemte for dette" by_you: off_topic: "Du flagede dette som off-topic" @@ -1446,6 +1462,7 @@ da: last: "Sidste udgave" hide: "Skjul udgave" show: "Vis udgave" + revert: "Gå tilbage til denne udgave" comparing_previous_to_current_out_of_total: "{{previous}} {{current}} / {{total}}" displays: inline: @@ -1537,6 +1554,7 @@ da: submit_tooltip: "Send privat markeringen" take_action_tooltip: "Nå til markerings niveauer med det samme, i stedet for at vente på flere markeringer fra fælleskabet" cant: "Beklager, du kan i øjeblikket ikke flage dette indlæg." + notify_staff: 'Informer staff privat' formatted_name: off_topic: "Det holder sig ikke til emnet" inappropriate: "Det er upassende" @@ -2058,6 +2076,9 @@ da: subject: "Emne" error: "Fejl" none: "Ingen indkommende emails fundet" + modal: + error: "Fejl" + subject: "Emne" filters: from_placeholder: "from@example.com" to_placeholder: "to@example.com" @@ -2422,6 +2443,7 @@ da: badge: Badge display_name: Vist navn description: Beskrivelse + long_description: Lang beskrivelse badge_type: Badge Type badge_grouping: Gruppe badge_groupings: @@ -2584,7 +2606,11 @@ da: earned_n_times: one: "Fortjente dette badge 1 gang" other: "Fortjente dette badge %{count} gange." + granted_on: "Tildelt %{date}" + others_count: "Andre med dette badge (%{count})" title: Badges + allow_title: "tilgængelig titel" + multiple_grant: "tildelt flere gange" badge_count: one: "1 Badge" other: "%{count} Badges" diff --git a/config/locales/client.de.yml b/config/locales/client.de.yml index d05ad339af..ccd9782174 100644 --- a/config/locales/client.de.yml +++ b/config/locales/client.de.yml @@ -600,6 +600,9 @@ de: email_always: "Benachrichtige mich per E-Mail auch während ich auf dieser Website aktiv bin" other_settings: "Andere" categories_settings: "Kategorien" + enable_mailing_list: + one: "Bist du dir sicher, dass du jeden neuen Post per E-Mail erhalten willst?" + other: "Bist du dir sicher, dass du jeden neuen Post per E-Mail erhalten willst?{{username}} {{description}}
" quoted: "{{username}} {{description}}
" replied: "{{username}} {{description}}
" + posted: "{{username}} {{description}}
" edited: "{{username}} {{description}}
" liked: "{{username}} {{description}}
" + liked_2: "{{username}}, {{username2}} {{description}}
" + liked_many: + one: "{{username}}, {{username2}} und 1 anderer {{description}}
" + other: "{{username}}, {{username2}} und {{count}} andere {{description}}
" private_message: "{{username}} {{description}}
" invited_to_private_message: "{{username}} {{description}}
" invited_to_topic: "{{username}} {{description}}
" @@ -1936,6 +1966,7 @@ de: is_disabled: "Wiederherstellung ist in den Website-Einstellungen deaktiviert." label: "Wiederherstellen" title: "Das Backup wiederherstellen" + confirm: "Bist du sicher, dass du dieses Backup wiederherstellen möchtest?" rollback: label: "Zurücksetzen" title: "Die Datenbank auf den letzten funktionierenden Zustand zurücksetzen" @@ -2080,11 +2111,6 @@ de: modal: title: "Details der eingehenden E-Mail" error: "Fehler" - references: "Referenzen" - date: "Datum" - from: "Von" - to: "An" - cc: "Cc" subject: "Betreff" body: "Nachrichtentext" filters: @@ -2334,7 +2360,7 @@ de: deactivate_explanation: "Ein deaktivierter Benutzer muss seine E-Mail-Adresse erneut bestätigen." suspended_explanation: "Ein gesperrter Benutzer kann sich nicht anmelden." block_explanation: "Ein geblockter Benutzer kann keine Themen erstellen oder Beiträge veröffentlichen." - stage_explanation: "Ein vorbereiteter Nutzer kann nur via E-Mail zu gewissen Themen beitragen." + stage_explanation: "Ein vorbereiteter Nutzer kann nur via E-Mail zu bestimmten Themen beitragen." trust_level_change_failed: "Beim Wechsel der Vertrauensstufe ist ein Fehler aufgetreten." suspend_modal_title: "Benutzer sperren" trust_level_2_users: "Benutzer mit Vertrauensstufe 2" @@ -2414,9 +2440,9 @@ de: revert_confirm: "Möchtest du wirklich deine Änderungen verwerfen?" go_back: "Zurück zur Suche" recommended: "Wir empfehlen, dass du den folgenden Text an deine Bedürfnisse anpasst:" - show_overriden: 'Nur geänderterte Texte anzeigen' + show_overriden: 'Nur geänderte Texte anzeigen' site_settings: - show_overriden: 'Nur geänderterte Einstellungen anzeigen' + show_overriden: 'Nur geänderte Einstellungen anzeigen' title: 'Einstellungen' reset: 'zurücksetzen' none: 'keine' diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml index 2fd92789a6..f3c5ca3f2f 100644 --- a/config/locales/client.en.yml +++ b/config/locales/client.en.yml @@ -734,17 +734,33 @@ en: summary: title: "Summary" stats: "Stats" - topic_count: "Topics Created" - post_count: "Posts Created" - likes_given: "Likes Given" - likes_received: "Likes Received" - days_visited: "Days Visited" - posts_read_count: "Posts Read" + time_read: "read time" + topic_count: + one: "topic created" + other: "topics created" + post_count: + one: "post created" + other: "posts created" + likes_given: + one: "like given" + other: "likes given" + likes_received: + one: "like received" + other: "likes received" + days_visited: + one: "day visited" + other: "days visited" + posts_read: + one: "post read" + other: "posts read" top_replies: "Top Replies" - top_topics: "Top Topics" - top_badges: "Top Badges" - more_topics: "More Topics" + no_replies: "No replies yet." more_replies: "More Replies" + top_topics: "Top Topics" + no_topics: "No topics yet." + more_topics: "More Topics" + top_badges: "Top Badges" + no_badges: "No badges yet." more_badges: "More Badges" @@ -2302,14 +2318,7 @@ en: modal: title: "Incoming Email Details" error: "Error" - return_path: "Return-Path" - message_id: "Message-Id" - in_reply_to: "In-Reply-To" - references: "References" - date: "Date" - from: "From" - to: "To" - cc: "Cc" + headers: "Headers" subject: "Subject" body: "Body" rejection_message: "Rejection Mail" diff --git a/config/locales/client.es.yml b/config/locales/client.es.yml index 963f84cabd..dab1a1b20d 100644 --- a/config/locales/client.es.yml +++ b/config/locales/client.es.yml @@ -665,17 +665,11 @@ es: summary: title: "Resumen" stats: "Estadísticas" - topic_count: "Temas creados" - post_count: "Posts publicados" - likes_given: "Me gusta dados" - likes_received: "Me gusta recibidos" - days_visited: "Visitas (en días)" - posts_read_count: "Posts leídos" top_replies: "Respuestas top" - top_topics: "Temas top" - top_badges: "Distintivos top" - more_topics: "Más temas" more_replies: "Más respuestas" + top_topics: "Temas top" + more_topics: "Más temas" + top_badges: "Distintivos top" more_badges: "Más distintivos" associated_accounts: "Inicios de sesión" ip_address: @@ -2110,14 +2104,6 @@ es: modal: title: "Detalles de emails entrantes" error: "Error" - return_path: "Ruta de retorno" - message_id: "Id del mensaje" - in_reply_to: "En respuesta a" - references: "Referencias" - date: "Fecha" - from: "De" - to: "Para" - cc: "Cc" subject: "Asunto" body: "Cuerpo" rejection_message: "Correo de rechazo" diff --git a/config/locales/client.fi.yml b/config/locales/client.fi.yml index 8a5c0ca68e..08f13c39dd 100644 --- a/config/locales/client.fi.yml +++ b/config/locales/client.fi.yml @@ -665,17 +665,11 @@ fi: summary: title: "Yhteenveto" stats: "Tilastot" - topic_count: "Luotuja ketjuja" - post_count: "Kirjoitettuja viestejä" - likes_given: "Annettuja tykkäyksiä" - likes_received: "Saatuja tykkäyksiä" - days_visited: "Päiviä vierailtu" - posts_read_count: "Luettuja viestejä" top_replies: "Parhaat viestit" - top_topics: "Parhaat ketjut" - top_badges: "Parhaat arvomerkit" - more_topics: "Lisää ketjuja" more_replies: "Lisää viestejä" + top_topics: "Parhaat ketjut" + more_topics: "Lisää ketjuja" + top_badges: "Parhaat arvomerkit" more_badges: "Lisää arvomerkkejä" associated_accounts: "Kirjautumiset" ip_address: @@ -2104,14 +2098,6 @@ fi: modal: title: "Saapuvan sähköpostin tiedot" error: "Virhe" - return_path: "Paluupolku" - message_id: "Viestin ID" - in_reply_to: "Vastauksena" - references: "Viittaukset" - date: "Päivämäärä" - from: "Lähettäjä" - to: "Vastaanottaja" - cc: "Kopio" subject: "Otsikko" body: "Leipäteksti" rejection_message: "Hylkäysviesti" diff --git a/config/locales/client.fr.yml b/config/locales/client.fr.yml index fcf9d7c7f2..faa544d11d 100644 --- a/config/locales/client.fr.yml +++ b/config/locales/client.fr.yml @@ -664,17 +664,11 @@ fr: summary: title: "Résumé" stats: "Statistiques" - topic_count: "Sujets créés" - post_count: "Messages crées" - likes_given: "J'aime donnés" - likes_received: "J'aime reçus" - days_visited: "Jours visités" - posts_read_count: "Messages lus" top_replies: "Réponses les plus référencés" - top_topics: "Sujets les plus référencés" - top_badges: "Badges les plus accordés" - more_topics: "Plus de sujets" more_replies: "Plus de réponses" + top_topics: "Sujets les plus référencés" + more_topics: "Plus de sujets" + top_badges: "Badges les plus accordés" more_badges: "Plus de badges" associated_accounts: "Connexions" ip_address: @@ -2102,14 +2096,6 @@ fr: modal: title: "Détails du courriel entrant" error: "Erreur" - return_path: "Return-Path" - message_id: "Message-Id" - in_reply_to: "In-Reply-To" - references: "References" - date: "Date" - from: "From" - to: "To" - cc: "Cc" subject: "Subject" body: "Body" rejection_message: "Courriel de refus" diff --git a/config/locales/client.gl.yml b/config/locales/client.gl.yml index a294fe96a6..97df985aed 100644 --- a/config/locales/client.gl.yml +++ b/config/locales/client.gl.yml @@ -664,17 +664,11 @@ gl: summary: title: "Resumo" stats: "Estatísticas" - topic_count: "Temas creados" - post_count: "Publicacións creadas" - likes_given: "Gústames dados" - likes_received: "Gústames recibidos" - days_visited: "Días visitado" - posts_read_count: "Publicacións lidas" top_replies: "Respostas destacadas" - top_topics: "Temas destacados" - top_badges: "Insignias principais" - more_topics: "Máis temas" more_replies: "Máis respostas" + top_topics: "Temas destacados" + more_topics: "Máis temas" + top_badges: "Insignias principais" more_badges: "Máis insignias" associated_accounts: "Accesos" ip_address: @@ -2102,14 +2096,6 @@ gl: modal: title: "Detalles dos correos-e entrantes" error: "Erro" - return_path: "Ruta de retorno" - message_id: "Id da mensaxe" - in_reply_to: "En resposta a" - references: "Referencias" - date: "Data" - from: "De" - to: "A" - cc: "Cc" subject: "Asunto" body: "Corpo" rejection_message: "Correo-e de rexeitamento" diff --git a/config/locales/client.it.yml b/config/locales/client.it.yml index 58e6d10646..ba6ef6b710 100644 --- a/config/locales/client.it.yml +++ b/config/locales/client.it.yml @@ -633,17 +633,11 @@ it: summary: title: "Riepilogo" stats: "Statistiche" - topic_count: "Argomenti Creati" - post_count: "Messaggi Creati" - likes_given: "\"Mi piace\" Assegnati" - likes_received: "\"Mi piace\" Ricevuti" - days_visited: "Giorni Visitati" - posts_read_count: "Messaggi Letti" top_replies: "Migliori Risposte" - top_topics: "Migliori Argomenti" - top_badges: "Migliori Targhette" - more_topics: "Altri Argomenti" more_replies: "Altre Risposte" + top_topics: "Migliori Argomenti" + more_topics: "Altri Argomenti" + top_badges: "Migliori Targhette" more_badges: "Altre Targhette" associated_accounts: "Login" ip_address: diff --git a/config/locales/client.ko.yml b/config/locales/client.ko.yml index e8b805cf06..759b44a521 100644 --- a/config/locales/client.ko.yml +++ b/config/locales/client.ko.yml @@ -621,17 +621,11 @@ ko: summary: title: "요약" stats: "통계" - topic_count: "새토픽 갯수" - post_count: "새글 갯수" - likes_given: "좋아요 눌러준 횟수" - likes_received: "좋아요 선물받은 횟수" - days_visited: "방문일수" - posts_read_count: "읽은글 갯수" top_replies: "인기 댓글" - top_topics: "인기 토픽" - top_badges: "인기 배지" - more_topics: "토픽 더 보기" more_replies: "답글 더 보기" + top_topics: "인기 토픽" + more_topics: "토픽 더 보기" + top_badges: "인기 배지" more_badges: "배지 더 보기" associated_accounts: "로그인" ip_address: @@ -1980,14 +1974,6 @@ ko: none: "수신된 이메일이 없습니다." modal: error: "에러" - return_path: "Return-Path" - message_id: "Message-Id" - in_reply_to: "In-Reply-To" - references: "레퍼런스" - date: "날짜" - from: "보내는사람" - to: "받는사람" - cc: "참조" subject: "제목" body: "본문" filters: diff --git a/config/locales/client.nb_NO.yml b/config/locales/client.nb_NO.yml index 58a46f3f82..d14a7cec02 100644 --- a/config/locales/client.nb_NO.yml +++ b/config/locales/client.nb_NO.yml @@ -565,12 +565,6 @@ nb_NO: summary: title: "Oppsummering" stats: "Statistikk" - topic_count: "Emner Startet" - post_count: "Innlegg Opprettet" - likes_given: "Likes Gitt" - likes_received: "Likes Mottatt" - days_visited: "Dager Besøkt" - posts_read_count: "Innlegg Lest" top_replies: "Mest Populære Svar" top_topics: "Mest Populære Emner" more_topics: "Flere Emner" diff --git a/config/locales/client.nl.yml b/config/locales/client.nl.yml index 4444ec15a0..509ec503ae 100644 --- a/config/locales/client.nl.yml +++ b/config/locales/client.nl.yml @@ -660,17 +660,11 @@ nl: summary: title: "Overzicht " stats: "Statistieken " - topic_count: "Topics gemaakt" - post_count: "Bericht aangemaakt" - likes_given: "'Vind ik leuks' gegeven" - likes_received: "'Vind ik leuks' ontvangen" - days_visited: "Dagen bezocht" - posts_read_count: "Berichten gelezen" top_replies: "Beste Reacties" - top_topics: "Top Topics" - top_badges: "Top Badges" - more_topics: "Meer Topics" more_replies: "Meer Antwoorden" + top_topics: "Top Topics" + more_topics: "Meer Topics" + top_badges: "Top Badges" more_badges: "Meer Badges" associated_accounts: "Logins" ip_address: @@ -2091,14 +2085,6 @@ nl: modal: title: "Inkomende Email Details" error: "Error" - return_path: "Teruggaan-Pad" - message_id: "Bericht-Id" - in_reply_to: "In-Reactie-Op" - references: "Referenties " - date: "Datum" - from: "Van" - to: "Naar" - cc: "Cc" subject: "Onderwerp" body: "Body" filters: diff --git a/config/locales/client.pl_PL.yml b/config/locales/client.pl_PL.yml index 60481f8a5d..fd308df18d 100644 --- a/config/locales/client.pl_PL.yml +++ b/config/locales/client.pl_PL.yml @@ -685,17 +685,11 @@ pl_PL: summary: title: "Podsumowanie" stats: "Statystyki" - topic_count: "Założone tematy" - post_count: "Napisane posty" - likes_given: "Polubione" - likes_received: "Otrzymane polubienia" - days_visited: "Dni odwiedzin" - posts_read_count: "Przeczytane wpisy" top_replies: "Najlepsze odpowiedzi" - top_topics: "Najlepsze tematy" - top_badges: "Najlepsze odznaki" - more_topics: "Więcej tematów" more_replies: "Więcej odpowiedzi" + top_topics: "Najlepsze tematy" + more_topics: "Więcej tematów" + top_badges: "Najlepsze odznaki" more_badges: "Więcej odznak" associated_accounts: "Powiązane konta" ip_address: @@ -2151,9 +2145,6 @@ pl_PL: error: "Błąd" modal: error: "Błąd" - date: "Data" - from: "Od" - to: "Do" subject: "Temat" body: "Treść" filters: diff --git a/config/locales/client.pt.yml b/config/locales/client.pt.yml index b2a3773560..490da9de51 100644 --- a/config/locales/client.pt.yml +++ b/config/locales/client.pt.yml @@ -665,17 +665,11 @@ pt: summary: title: "Sumário" stats: "Estatísticas" - topic_count: "Tópicos Criados" - post_count: "Mensagens Criadas" - likes_given: "Gostos Dados" - likes_received: "Gostos Recebidos" - days_visited: "Dias Visitados" - posts_read_count: "Mensagens Lidas" top_replies: "Respostas" - top_topics: "Melhores Tópicos" - top_badges: "Melhores Distintivos" - more_topics: "Mais Tópicos" more_replies: "Mais Respostas" + top_topics: "Melhores Tópicos" + more_topics: "Mais Tópicos" + top_badges: "Melhores Distintivos" more_badges: "Mais Distintivos" associated_accounts: "Contas associadas" ip_address: @@ -2104,14 +2098,6 @@ pt: modal: title: "Detalhes de emails recebidos." error: "Erro" - return_path: "Return-Path" - message_id: "Message-Id" - in_reply_to: "Em-Resposta-A" - references: "Referência" - date: "Data" - from: "De" - to: "Para" - cc: "Cc" subject: "Assunto" body: "Corpo" rejection_message: "Correio de rejeição" diff --git a/config/locales/client.pt_BR.yml b/config/locales/client.pt_BR.yml index 1528f3f94a..74cae231c1 100644 --- a/config/locales/client.pt_BR.yml +++ b/config/locales/client.pt_BR.yml @@ -635,12 +635,6 @@ pt_BR: instructions: "Deve ter pelo menos %{count} caracteres." summary: stats: "Estatísticas" - topic_count: "Tópicos Criados" - post_count: "Postagens Criadas" - likes_given: "Curtidas Dadas" - likes_received: "Curtidas Recebidas" - days_visited: "Dias Visitados" - posts_read_count: "Postagens Lidas" top_replies: "Mais Respondidos" more_topics: "Mais Tópicos" associated_accounts: "Logins" diff --git a/config/locales/client.ro.yml b/config/locales/client.ro.yml index 3987863a9e..27eac3046c 100644 --- a/config/locales/client.ro.yml +++ b/config/locales/client.ro.yml @@ -17,8 +17,8 @@ ro: units: byte: one: Byte - few: Byte - other: Byte + few: Bytes + other: Bytes gb: GB kb: KB mb: MB @@ -130,9 +130,9 @@ ro: google+: 'distribuie pe Google+' email: 'trimite această adresă peemail' action_codes: - split_topic: "desparțiți acest topic %{when}" + split_topic: "desparte acest topic %{when}" autoclosed: - enabled: 'închis %{count}' + enabled: 'închis %{when}' disabled: 'deschis %{when}' closed: enabled: 'închis %{when}' @@ -144,7 +144,7 @@ ro: enabled: 'Prins %{when}' disabled: 'desprinse %{when}' pinned_globally: - enabled: 'fixat global %{when}' + enabled: 'promovat global %{when}' disabled: 'desprins %{when}' visible: enabled: 'listat %{when}' @@ -190,13 +190,15 @@ ro: terms_of_service: "Termenii serviciului" mobile_view: "Ecran pentru mobil" desktop_view: "Ecran pentru desktop" - you: "Dumneavoastră" + you: "Tu" or: "sau" now: "Adineauri" read_more: 'citește mai mult' more: "Mai mult" less: "Mai puțin" never: "Niciodată" + every_30_minutes: "La fiecare 30 de minute" + every_hour: "La fiecare oră" daily: "Zilnic" weekly: "Săptămânal" every_two_weeks: "Odată la două săptamâni" @@ -204,18 +206,18 @@ ro: max_of_count: "max din {{count}}" alternation: "sau" character_count: - one: "{{count}} caracter" - few: "2 caractere" + one: "Un caracter" + few: "{{count}} caractere" other: "{{count}} caractere" suggested_topics: - title: "Subiecte Propuse" - pm_title: "Subiecte Propuse" + title: "Subiecte sugerate" + pm_title: "Mesaje sugerate" about: simple_title: "Despre" title: "Despre %{title}" - stats: "Statistica site-ului" - our_admins: "Doar administratorii" - our_moderators: "Doar moderatorii" + stats: "Statisticile site-ului" + our_admins: "Administratorii" + our_moderators: "Moderatorii" stat: all_time: "Tot timpul" last_7_days: "Ultimele 7 zile" @@ -225,8 +227,8 @@ ro: post_count: "Postări" user_count: "Utilizatori noi" active_user_count: "Utilizatori activi" - contact: "Contactați-ne" - contact_info: "În cazul în care o problemă critică sau alt aspect urgent afectează site-ul, va rugăm să ne contactaţi la %{contact_info}." + contact: "Contactează-ne" + contact_info: "În cazul în care o problemă critică sau alt aspect urgent afectează site-ul, contactează-ne la %{contact_info}." bookmarked: title: "Semn de carte" clear_bookmarks: "Șterge semnele de carte" @@ -239,19 +241,19 @@ ro: not_bookmarked: "Ai citit deja aceast mesaj; fă clic să adaugi semn de carte" last_read: "Acesta este ultimul mesaj citit de tine; fă click să adaugi semn de carte" remove: "Semn de carte înlăturat" - confirm_clear: "Sunteţi sigur că doriţi să ştergeţi toate bookmark-urile din acest subiect?" + confirm_clear: "Ești sigur că dorești să ştergi toate bookmark-urile din acest subiect?" topic_count_latest: one: "{{count}} subiect nou sau actualizat." few: "{{count}} subiecte noi sau actualizate." other: "{{count}} subiecte noi sau actualizate." topic_count_unread: - one: "{{count}} subiect necitit." + one: "Un subiect necitit." few: "{{count}} subiecte necitite." - other: "{{count}} subiecte necitite." + other: "{{count}} de subiecte necitite." topic_count_new: - one: "{{count}} subiect nou." + one: "Un subiect nou." few: "{{count}} subiecte noi." - other: "{{count}} subiecte noi." + other: "{{count}} de subiecte noi." click_to_show: "Click pentru vizualizare." preview: "vizualizează" cancel: "anulează" @@ -289,16 +291,17 @@ ro: view_pending: "vezi postările în aşteptare" has_pending_posts: one: "Această discuție are 1 postare în așteptare" - few: "Această discuție are 1 postare în așteptare" - other: "Această discuţie are {{count}} postări în aşteptare." + few: "Această discuţie are {{count}} postări în aşteptare." + other: "Această discuţie are {{count}} de postări în aşteptare." confirm: "Salvează Schimbările" + delete_prompt: "Ești sigur că vrei să ștergi utilizatorul %{username}? Vor fi șterse toate postările iar email-ul și IP-ul vor fi blocate." approval: title: "Necesită aprobare" description: "Am primit nouă postare dar trebuie să fie aprobată de un moderator înainte că ea să apară pe site. Va rugăm să aveţi răbdare." pending_posts: one: "Aveţi 1 postare în aşteptare." few: "Aveţi {{count}} postări în aşteptare." - other: "Aveţi {{count}} postări în aşteptare." + other: "Aveţi {{count}} de postări în aşteptare." ok: "OK" user_action: user_posted_topic: "{{user}} a postat discuția" @@ -336,7 +339,10 @@ ro: few: "%{count} utilizatori" other: "%{count} utilizatori" groups: - add: "Adăugați" + empty: + mentions: "Nu sunt mențiuni ale acestui grup." + messages: "Nu este nici un mesaj pentru acest grup." + add: "Adaugă" selector_placeholder: "Adaugă membri" owner: "proprietar" visible: "Grupul este vizibil tuturor utilizatorilor" @@ -345,6 +351,7 @@ ro: few: "grupuri" other: "grupuri" members: "Membri" + topics: "Discuții" posts: "Postări" mentions: "Mențiuni" messages: "Mesaje" @@ -361,7 +368,9 @@ ro: title: "Urmărit" regular: title: "Normal" - description: "Veți fi notificat dacă cineva vă menționează @numele sau vă scrie un reply." + description: "Vei fi notificat dacă cineva îți menționează @numele sau îți va scrie un reply." + muted: + title: "Mut" user_action_groups: '1': "Aprecieri Date" '2': "Aprecieri Primite" @@ -418,7 +427,7 @@ ro: read_time: "Timp de citire" topics_entered: "Discuții la care particip" post_count: "# postari" - confirm_delete_other_accounts: "Sunteți sigur că vreți să ștergeți aceste conturi?" + confirm_delete_other_accounts: "Ești sigur că vrei să ștergi aceste conturi?" user_fields: none: "(selecteaza o optiune)" user: @@ -438,9 +447,10 @@ ro: invited_by: "Invitat de" trust_level: "Nivel de Încredere" notifications: "Notificări" + statistics: "Statistici" desktop_notifications: label: "Notificari desktop" - not_supported: "Notificarile nu sunt suportate in acest browser. Scuze." + not_supported: "Notificarile nu sunt suportate in acest browser." perm_default: "Activeaza notificarile" perm_denied_btn: "Nu se permite accesul" disable: "Dezactiveaza notificarile" @@ -456,8 +466,8 @@ ro: change: "schimbă" moderator: "{{user}} este moderator" admin: "{{user}} este admin" - moderator_tooltip: "Acest user este moderator" - admin_tooltip: "Acest user este admin" + moderator_tooltip: "Acest utilizator este moderator" + admin_tooltip: "Acest utilizator este admin" blocked_tooltip: "Acest utilizator este blocat." suspended_notice: "Acest user este suspendat păna la {{date}}." suspended_reason: "Motiv: " @@ -467,7 +477,7 @@ ro: tracked_categories: "Tracked" muted_categories: "Muted" delete_account: "Șterge-mi contul" - delete_account_confirm: "Ești sigur că vrei sa ștergi contul? Această acțiune poate fi anulată!" + delete_account_confirm: "Ești sigur că vrei sa ștergi contul? Această acțiune nu este reversibilă!" deleted_yourself: "Contul tău a fost șters cu succes." delete_yourself_not_allowed: "Nu iți poți sterge contul deocamdată. Contactează administratorul pentru ștergerea contului." unread_message_count: "Mesaje" @@ -484,9 +494,14 @@ ro: warnings_received: "avertizări" messages: all: "Toate" + inbox: "Inbox" sent: "Trimise" archive: "Arhivează" + groups: "Grupurile Mele" + bulk_select: "Selectează mesaje" + move_to_inbox: "Mută în Inbox" move_to_archive: "Arhivează" + select_all: "Selectează tot" change_password: success: "(email trimis)" in_progress: "(se trimite email)" @@ -498,21 +513,21 @@ ro: error: "A apărut o eroare la schimbarea acestei valori" change_username: title: "Schimbă numele utilizatorului" - confirm: "Dacă schimbați numele utilizatorului, toate citatele din posturile precedente inclusiv mențiunile de nume vor fi anulate. Ești absolut sigur?" - taken: "Ne pare rău, acest nume de utilizator este deja folosit." + confirm: "Dacă schimbi numele utilizatorului, toate citatele din posturile precedente inclusiv @mențiunile nu vor mai funcționa. Ești absolut sigur?" + taken: "Acest nume de utilizator este deja folosit." error: "S-a intâmpinat o eroare pe parcursul schimbării numelui de utilizator." invalid: "Acest nume de utilizator este invalid. Trebuie să includă doar cifre și litere." change_email: title: "Schimbă Email" - taken: "Ne pare rău, acest email nu este disponibil." - error: "S-a întâmpinat o eroare la schimbarea de email. Poate această adresă este deja in folosința?" - success: "Am trimis un email către adresa respectivă. Urmați, vă rugăm, instrucțiunile de confirmare." + taken: "Acest email nu este disponibil." + error: "A apărut o eroare la schimbarea de email. Poate această adresă este deja in folosința?" + success: "Am trimis un email către adresa respectivă. Urmează instrucțiunile de confirmare." change_avatar: title: "Schimbă poză profilului personal" gravatar: "Gravatar, bazat pe" gravatar_title: "Schimbă avatarul de pe site-ul Gravatar." - refresh_gravatar_title: "Reîmprospatați Gravatarul" - letter_based: "Poză profilul atribuită de sistem." + refresh_gravatar_title: "Reactualizează Gravatarul" + letter_based: "Poză de profil atribuită de sistem." uploaded_avatar: "Poză preferată" uploaded_avatar_empty: "Adaugă poza preferată" upload_title: "Încarcă poza personală" @@ -527,10 +542,10 @@ ro: instructions: "Fundalul va fi centrat şi va avea o dimensiune standard de 590px." email: title: "Email" - instructions: "Emailul dumneavoastră nu va fi făcut public." - ok: "Arată bine. Vă trimitem un email pentru confirmare." + instructions: "Emailul nu va fi făcut public." + ok: "Îți vom trimite un email pentru confirmare." invalid: "introduceți o adresă validă pentru confirmare." - authenticated: "Emailul dumneavoastră a fost autentificat de către {{provider}}." + authenticated: "Emailul a fost autentificat de către {{provider}}." name: title: "Nume" instructions: "Versiunea lungă a numelui." @@ -555,7 +570,7 @@ ro: instructions: "Limba este folosită de interfața forumului. Schimbarea se va produce odată ce reîmprospatați pagina." default: "(din oficiu)" password_confirmation: - title: "Incă odată parola" + title: "Confirmă parola" last_posted: "Ultima postare" last_emailed: "Ultimul email dat" last_seen: "Văzut" @@ -566,8 +581,15 @@ ro: title: "Insignă utilizator" website: "Website" email_settings: "Email" + like_notification_frequency: + always: "Întotdeauna" + never: "Niciodată" + email_previous_replies: + always: "întotdeauna" + never: "niciodată" email_digests: title: "Cand nu vizitez site-ul, trimite-mi un email cu rezumatul noutăților:" + every_30_minutes: "La fiecare 30 de minute " daily: "zilnic" every_three_days: "la fiecare trei zile" weekly: "săptămânal" @@ -601,7 +623,11 @@ ro: title: "Invitații" user: "Utilizatori invitați" sent: "Trimis" - none: "Nu sunt invitatii in asteptare de afisat." + none: "Nu sunt invitații în așteptare." + truncated: + one: "Se arată prima invitație." + few: "Se arată primele {{count}} invitații." + other: "Se arată primele {{count}} de invitații." redeemed: "Invitații rascumpărate" redeemed_at: "Răscumpărate" pending: "Invitații in așteptare" @@ -619,11 +645,11 @@ ro: account_age_days: "Vârsta contului în zile" create: "Trimite o invitație" bulk_invite: - none: "Nu ai invitat încă pe nimeni. Poți trimite invitații individuale, sau mai multor oameni deodată prin incărcarea fișierului de invitație multiplă." + none: "Nu ai invitat încă pe nimeni. Poți trimite invitații individuale sau mai multor oameni deodată prin incărcarea fișierului de invitație multiplă." text: "Invitație multiplă din fișierul" uploading: "Incarcă" success: "Fişier încărcat cu succes, veţi fi înştiinţat printr-un mesaj când procesarea va fi completă." - error: "S-a întâmpinat o eroare la încărcarea fișierului '{{filename}}': {{message}}" + error: "A apărut o eroare la încărcarea fișierului '{{filename}}': {{message}}" password: title: "Parolă" too_short: "Parola este prea scurtă." @@ -633,8 +659,8 @@ ro: ok: "Parola dumneavoastră arată bine." instructions: "Trebuiesc minim %{count} de caractere." summary: - likes_given: "Aprecieri Date" - likes_received: "Aprecieri Primite" + title: "Sumar" + stats: "Statistici" associated_accounts: "Conectări" ip_address: title: "Ultima adresă de IP" @@ -660,11 +686,12 @@ ro: server: "Eroare de server: {{code}}" forbidden: "Acces nepermis" unknown: "Eroare" + not_found: "Pagina nu a fost găsită" desc: - network: "Verificați conexiunea." + network: "Te rugăm să verifici conexiunea." network_fixed: "Se pare ca și-a revenit." server: "Ceva nu a funcționat." - forbidden: "Nu sunteţi autorizat să vedeţi aceasta." + forbidden: "Nu ești autorizat să vezi această pagină." not_found: "Oops, aplicația încearcă să încarce un URL care nu există." unknown: "Ceva nu a funcționat." buttons: @@ -672,7 +699,7 @@ ro: again: "Încearcă din nou" fixed: "Încarcare pagină" close: "Închide" - assets_changed_confirm: "Acest site tocmai a fost updatat. Reîmprospătați pentru cea mai nouă versiune?" + assets_changed_confirm: "Acest site tocmai a fost actualizat. Reîmprospătați pentru cea mai nouă versiune?" logout: "Aţi fost deconectat." refresh: "Reîmprospătează" read_only_mode: @@ -785,6 +812,7 @@ ro: ctrl: 'Ctrl' alt: 'Alt' composer: + emoji: "Emoji :)" more_emoji: "mai multe..." options: "Optiuni" add_warning: "Această este o avertizare oficială." @@ -800,7 +828,7 @@ ro: title_too_long: "Titlul nu poate avea {{max}} de caractere" post_missing: "Postarea nu poate fi gol" post_length: "Postarea trebuie sa aibă minim {{min}} de caractere" - try_like: 'Aţi încercat butonul ?' + try_like: 'Ai încercat butonul ?' category_missing: "Trebuie să alegi o categorie" save_edit: "Salvează Editarea" reply_original: "Răspunde discuției originale" @@ -809,8 +837,8 @@ ro: cancel: "Anulează" create_topic: "Creează o Discuţie" create_pm: "Mesaj" - title: "sau apasă Ctrl+Enter" - users_placeholder: "adaugă un utilizator" + title: "Sau apasă Ctrl+Enter" + users_placeholder: "Adaugă un utilizator" title_placeholder: "Care este tema discuției într-o singură propoziție?" edit_reason_placeholder: "de ce editați?" show_edit_reason: "(adaugă motivul editării)" @@ -843,12 +871,12 @@ ro: list_item: "conținut de listă" heading_title: "Titlu" heading_text: "Titlu" - hr_title: "Regulă de ordonare orizontală" + hr_title: "Linie orizontală" help: "Ajutor de editare" - toggler: "ascunde sau arată panelul de compus" + toggler: "ascunde sau arată editorul" modal_ok: "Ok" modal_cancel: "Anuleaza" - cant_send_pm: "Scuze,nu poti trimite mesaje catre %{username}" + cant_send_pm: "Nu poți trimite mesaje către %{username}" admin_options_title: "Setări opționale ale discuției pentru moderatori" auto_close: label: "Închide automat discuţia după:" @@ -860,15 +888,21 @@ ro: units: "(# de ore)" examples: 'Introdu numărul de ore (24).' notifications: - title: "notifică menționarea @nume, răspunsuri la postări, discuții, mesaje private, etc" + title: "notifică menționarea @numelui, răspunsuri la postările mele, discuții, mesaje private, etc" none: "Nu pot încarcă notificările în acest moment." more: "vezi notificările mai vechi" total_flagged: "toate postările semnalate" mentioned: "@{{username}} {{description}}
" quoted: "{{username}} {{description}}
" replied: "{{username}} {{description}}
" + posted: "{{username}} {{description}}
" edited: "{{username}} {{description}}
" liked: "{{username}} {{description}}
" + liked_2: "{{username}}, {{username2}} {{description}}
" + liked_many: + one: "{{username}}, {{username2}} și încă cineva {{description}}
" + few: "{{username}}, {{username2}} și alți {{count}} {{description}}
" + other: "{{username}}, {{username2}} și alți {{count}} {{description}}
" private_message: "{{username}} {{description}}
" invited_to_private_message: "{{username}} {{description}}
" invited_to_topic: "{{username}} {{description}}
" @@ -882,12 +916,13 @@ ro: replied: "Raspuns" posted: "Postat de" popup: - mentioned: '{{username}} va menţionat în "{{topic}}" - {{site_title}}' - quoted: '{{username}} va citat în"{{topic}}" - {{site_title}}' - replied: '{{username}} va răspuns la "{{topic}}" - {{site_title}}' + mentioned: '{{username}} te-a menţionat în "{{topic}}" - {{site_title}}' + group_mentioned: '{{username}} te-a menţionat în "{{topic}}" - {{site_title}}' + quoted: '{{username}} te-a citat în "{{topic}}" - {{site_title}}' + replied: '{{username}} ți-a răspuns la "{{topic}}" - {{site_title}}' posted: '{{username}} a postal în "{{topic}}" - {{site_title}}' - private_message: '{{username}} va trimis un mesaj privat în "{{topic}}" - {{site_title}}' - linked: '{{username}} a făcut o legătură la post-ul dvs. din "{{topic}}" - {{site_title}}' + private_message: '{{username}} ți-a trimis un mesaj privat în "{{topic}}" - {{site_title}}' + linked: '{{username}} a făcut o legătură la post-ul tău din "{{topic}}" - {{site_title}}' upload_selector: title: "Adaugă o imagine" title_with_attachments: "adaugă o imagine sau un fișier" @@ -896,10 +931,22 @@ ro: remote_tip: "adresă către imagine http://example.com/image.jpg" hint: "(puteți să trageți și să aruncați în editor pentru a le încărca)" uploading: "Încarcă" + select_file: "Slectează fișier" image_link: "Adresa din imagine va duce la" search: + sort_by: "Sortează după" + relevance: "Relevanță" + latest_post: "Ultimele postări" + most_viewed: "Cele mai văzute" + most_liked: "Cele mai apreciate" + select_all: "Selectează tot" + result_count: + one: "Un rezultat pentru \"{{term}}\"" + few: "{{count}} rezultate pentru \"{{term}}\"" + other: "{{count}} de rezultate pentru \"{{term}}\"" title: "caută discuții ,postări sau categorii" no_results: "Fără rezultat." + search_help: Ajutor căutare searching: "Caută..." post_format: "#{{post_number}} de {{username}}" context: @@ -926,13 +973,13 @@ ro: selected: one: "Ai selectat un subiect." few: "Ai selectat {{count}} subiecte." - other: "Ai selectat {{count}} subiecte." + other: "Ai selectat {{count}} de subiecte." none: - unread: "Nu aveți discuții necitite." - new: "Nu aveți discuții noi." - read: "Nu ați citit nicio discuție încă." - posted: "Nu ați postat în nicio discuție încă." - latest: "Nu există nicio discuție nouă. Trist." + unread: "Nu sunt discuții necitite." + new: "Nu sunt discuții noi." + read: "Nu ai citit nicio discuție încă." + posted: "Nu ai postat în nicio discuție încă." + latest: "Nu există nicio discuție nouă." hot: "Nu există nicio discuție importantă." bookmarks: "Nu aveţi nici un semn de carte încă." category: "Nu există nicio discuție din categoria {{category}}." @@ -950,61 +997,67 @@ ro: bookmarks: "Nu mai sunt semne de carte." search: "Nu mai sunt rezultate." topic: - filter_to: "{{post_count}} de postări în discuție" - create: 'Creează discuție' + unsubscribe: + stop_notifications: "Vei primi mai puține notificări pentru {{title}}" + filter_to: "{{post_count}} postări în discuție" + create: 'Discuție Nouă' create_long: 'Creează discuție nouă' private_message: 'Scrie un mesaj.' archive_message: + help: 'Mută mesajul în arhivă' title: 'Arhivează' + move_to_inbox: + title: 'Mută în Inbox' + help: 'Mută mesajul în Inbox' list: 'Discuții' new: 'discuție nouă' unread: 'necitită' new_topics: one: 'Un subiect nou' few: '{{count}} subiecte noi' - other: '{{count}} subiecte noi' + other: '{{count}} de subiecte noi' unread_topics: - one: '1 subiect necitit' + one: 'Un subiect necitit' few: '{{count}} subiecte necitite' - other: '{{count}} subiecte necitite' + other: '{{count}} de subiecte necitite' title: 'Discuție' invalid_access: - title: "Discuție pirvată" + title: "Discuția este privată" description: "Ne pare rău nu ai acces la acea discuție!" login_required: "Trebuie să fii autentificat să poți vedea discuția." server_error: title: "Discuția nu s-a putut încărca" - description: "Ne pare rău, nu am putut încărca discuția, posibil din cauza unei probleme de conexiune. Încercați din nou. Dacă problema persistă, anunțați-ne." + description: "Ne pare rău, nu am putut încărca discuția, posibil din cauza unei probleme de conexiune. Încercați din nou. Dacă problema persistă, anunță-ne." not_found: title: "Discuție negăsită" description: "Ne pare rău, Nu am putut găsii discuția. Poate a fost ștearsă de un moderator?" total_unread_posts: - one: "aveţi 1 mesaj necitit în această discuţie." - few: "aveţi {{count}} mesaje necitite în această discuţie." - other: "aveţi {{count}} mesaje necitite în această discuţie." + one: "ai un mesaj necitit în această discuţie." + few: "ai {{count}} mesaje necitite în această discuţie." + other: "ai {{count}} de mesaje necitite în această discuţie." unread_posts: - one: "aveţi 1 mesaj vechi necitit în această discuţie." - few: "aveţi {{count}} mesaje vechi necitite în această discuţie." - other: "aveţi {{count}} mesaje vechi necitite în această discuţie." + one: "ai un mesaj vechi necitit în această discuţie." + few: "ai {{count}} mesaje vechi necitite în această discuţie." + other: "ai {{count}} de mesaje vechi necitite în această discuţie." new_posts: one: "este un mesaj nou în această discuţie de la ultima citire" few: "sunt {{count}} mesaje noi în această discuţie de la ultima citire" - other: "sunt {{count}} mesaje noi în această discuţie de la ultima citire" + other: "sunt {{count}} de mesaje noi în această discuţie de la ultima citire" likes: - one: "este 1 apreciere pentru această discuţie" + one: "există o apreciere pentru această discuţie" few: "sunt {{count}} aprecieri pentru această discuţie" - other: "sunt {{count}} aprecieri pentru această discuţie" + other: "sunt {{count}} de aprecieri pentru această discuţie" back_to_list: "Înapoi la lista de discuții" options: "Opțiunile discuției" - show_links: "arată adresele din această discuție" + show_links: "arată link-urile din această discuție" toggle_information: "activează detaliile discuției" read_more_in_category: "Vreți să citiți mai mult? Priviți alte discuții din {{catLink}} sau {{latestLink}}." read_more: "Vreți să citiți mai mult? {{catLink}} sau {{latestLink}}." browse_all_categories: Priviți toate categoriile - view_latest_topics: priviți ultimele discuții + view_latest_topics: arată ultimele discuții suggest_create_topic: De ce să nu creați o discuție? - jump_reply_up: răspundeți imediat - jump_reply_down: răspundeți mai târziu + jump_reply_up: sări la un răspuns mai vechi + jump_reply_down: sări la un răspuns mai nou deleted: "Discuția a fost ștearsă" auto_close_notice: "Această discuție va fi inchisă în %{timeLeft}." auto_close_notice_based_on_last_post: "Această discuţie se va închide %{duration} după ultimul răspuns." @@ -1013,7 +1066,7 @@ ro: auto_close_remove: "nu închide automat această discuție" progress: title: Progresul Discuției - go_top: "capăt" + go_top: "început" go_bottom: "sfârșit" go: "mergi" jump_bottom: "sări la ultimul mesaj" @@ -1023,70 +1076,70 @@ ro: position: "postarea %{current} din %{total}" notifications: reasons: - '3_6': 'Veți primi notificări deoarece priviți această categorie.' - '3_5': 'Veți primi notificări deoarece ați început să citiți această discuție automat.' - '3_2': 'Veți primi notificări fiindcă citiți această discuție.' - '3_1': 'Veți primi notificări fiindcă ați creat această discuție.' - '3': 'Veți primi notificări fiindcă priviți această discuție.' - '2_8': 'Veți primi notificări fiindcă urmăriți această categorie.' - '2_4': 'Veți primi notificări fiindcă ați postat un răspuns în această discuție.' - '2_2': 'Veți primi notificări fiindcă urmăriți această discuție.' - '2': 'Veți primi notificări fiindcă citiți această discuție.' - '1_2': 'Veți fi notificat dacă cineva vă menționează @numele sau vă scrie un reply.' - '1': 'Veți fi notificat dacă cineva vă menționează @numele sau vă scrie un reply.' - '0_7': 'Ignorați toate notificările din această categorie.' - '0_2': 'Ignorați toate notificările din această discuție.' - '0': 'Ignorați toate notificările din această discuție.' + '3_6': 'Vei primi notificări deoarece urmărești activ această categorie.' + '3_5': 'Vei primi notificări deoarece ai început să urmărești activ această discuție automat.' + '3_2': 'Vei primi notificări deoarece urmărești activ această discuție.' + '3_1': 'Vei primi notificări deoarece ați creat această discuție.' + '3': 'Vei primi notificări deoarece urmărești activ această discuție.' + '2_8': 'Vei primi notificări deoarece urmărești această categorie.' + '2_4': 'Vei primi notificări deoarece ai postat un răspuns în această discuție.' + '2_2': 'Vei primi notificări fiindcă urmărești această discuție.' + '2': 'Vei primi notificări fiindcă citești această discuție.' + '1_2': 'Vei fi notificat dacă cineva îți menționează @numele sau îți scrie un răspuns.' + '1': 'Vei fi notificat dacă cineva îți menționează @numele sau îți scrie un răspuns.' + '0_7': 'Ignori toate notificările din această categorie.' + '0_2': 'Ignori toate notificările din această discuție.' + '0': 'Ignori toate notificările din această discuție.' watching_pm: title: "Urmărit Activ" - description: "Numărul postărilor noi va fi arătat pentru acest mesaj și veți fi notificat pentru orice reply scris." + description: "Numărul postărilor noi va fi arătat pentru acest mesaj și vei fi notificat pentru orice răspuns scris." watching: title: "Urmărit Activ" - description: "Numărul postărilor noi va fi arătat pentru acest topic și veți fi notificat pentru orice reply scris." + description: "Numărul postărilor noi va fi arătat pentru această discuție și vei fi notificat pentru orice răspuns scris." tracking_pm: title: "Urmărit" - description: "Numărul postărilor noi va fi arătat pentru acest mesaj. Veți fi notificat dacă cineva vă menționează @numele sau vă scrie un reply." + description: "Numărul postărilor noi va fi arătat pentru acest mesaj. Vei fi notificat dacă cineva îți menționează @numele sau îți scrie un răspuns." tracking: title: "Urmărit" - description: "Numărul postărilor noi va fi arătat pentru acest topic. Veți fi notificat dacă cineva vă menționează @numele sau vă scrie un reply." + description: "Numărul postărilor noi va fi arătat pentru acest topic. Vei fi notificat dacă cineva îți menționează @numele sau îți scrie un răspuns." regular: title: "Normal" - description: "Veți fi notificat dacă cineva vă menționează @numele sau vă scrie un reply." + description: "Vei fi notificat dacă cineva îți menționează @numele sau îți scrie un răspuns." regular_pm: title: "Normal" - description: "Veți fi notificat dacă cineva vă menționează @numele sau vă scrie un reply." + description: "Vei fi notificat dacă cineva îți menționează @numele sau îți scrie un răspuns." muted_pm: title: "Silențios" - description: "Nu veţi fi niciodată notificat despre acest mesaj." + description: "Nu vei fi niciodată notificat despre acest mesaj." muted: title: "Silențios" - description: "Nu veți fi notificat de discuțiile noi din acest topic și nu vor apărea în tabul necitite." + description: "Nu vei fi notificat de răspunsurile noi din această discuție și nu vor apărea în tabul necitite." actions: - recover: "Rescrie discuție" + recover: "Restaurează discuția" delete: "Șterge Discuție" open: "Redeschide discuția" close: "Închide discuția" multi_select: "Selectează discuţiile ..." auto_close: "Închide automat" - pin: "Fixează discuţia pe pagină..." - unpin: "Anulează fixarea discuției" + pin: "Promovează discuţia pe pagină..." + unpin: "Anulează promovarea discuției" unarchive: "Dezarhivează discuția" archive: "Arhivează discuția" invisible: "Fă invizibil" visible: "Fă vizibil" reset_read: "Resetează informația citită" feature: - pin: "Fixează discuţia pe pagină..." - unpin: "Anulează fixarea discuției" - pin_globally: "Fixează discuţia pe site..." + pin: "Promovează discuţia pe pagină..." + unpin: "Anulează promovarea discuției" + pin_globally: "Promovează discuţia pe site..." make_banner: "Marchează discuție" remove_banner: "Demarchează discuție" reply: title: 'Răspunde' help: 'începe să compui un răspuns pentru această discuție' clear_pin: - title: "Înlătură fixarea" - help: "Înlătură statutul de fix al acestei discuții pentru a nu mai apărea în vârful listei de discuții" + title: "Înlătură promovarea" + help: "Înlătură promovarea acestei discuții pentru a nu mai apărea la începutul listei de discuții" share: title: 'Distribuie' help: 'distribuie o adresă acestei discuții' @@ -1095,16 +1148,19 @@ ro: help: 'marchează privat această discuție pentru atenție sau trimite o notificare privată despre ea' success_message: 'Ai marcat cu succes această discuție.' feature_topic: - title: "Promovează această discuţia" - confirm_pin: "Aveţi deja {{count}} discuţii promovate. Prea multe discuţii promovate pot fi deveni o problemă pentru utilizatorii noi sau anonimi. Sunteţi sigur că vrei să promovaţi o altă discuţie în această categorie?" + title: "Promovează această discuţie" + confirm_pin: "Ai deja {{count}} discuţii promovate. Prea multe discuţii promovate pot fi deveni o problemă pentru utilizatorii noi sau anonimi. Ești sigur că vrei să promovezi o altă discuţie în această categorie?" unpin: "Îndepărtează aceast mesaje din top-ul categoriei {{categoryLink}}" - pin_note: "Utilizatorii pot anula fixarea unui subiect individual pentru ei înșiși." - confirm_pin_globally: "Aveţi deja {{count}} discuţii promovate la nivel global. Prea multe discuţii promovate pot fi deveni o problemă pentru utilizatorii noi sau anonimi. Sunteţi sigur că vrei să promovaţi o altă discuţie la nivel global?" + pin_note: "Utilizatorii pot anula promovarea unui subiect individual pentru ei înșiși." + pin_validation: "Este nevoie de o dată pentru a putea promova această discuție." + not_pinned: "Nu sunt discuții promovate în {{categoryLink}}." + confirm_pin_globally: "Sunt {{count}} discuţii promovate la nivel global. Prea multe discuţii promovate pot fi deveni o problemă pentru utilizatorii noi sau anonimi. Ești sigur că vrei să promovezi o altă discuţie la nivel global?" unpin_globally: "Eliminați acest subiect din partea de sus a tuturor listelor de discuţii." - global_pin_note: "Utilizatorii pot anula fixarea unui subiect individual pentru ei înșiși." + global_pin_note: "Utilizatorii pot anula promovarea unui subiect individual pentru ei înșiși." + not_pinned_globally: "Nu există subiecte promovate global." make_banner: "Transformă acest subiect într-un banner care apare în partea de sus a tuturor paginilor." remove_banner: "Îndepărtaţi mesajul banner care apare în partea de sus a fiecărei pagini." - banner_note: "Utilizatorii pot îndepărta baner-ul închizându-l. Doar un singur mesaj poate fi folosit că bane într-un moment dat." + banner_note: "Utilizatorii pot îndepărta baner-ul închizându-l. Doar un singur mesaj poate fi folosit că baner într-un moment dat." inviting: "Invită..." automatically_add_to_groups_optional: "Aceasta invitație include și accesul la grupurile: (opțional, doar admin)" automatically_add_to_groups_required: "Aceasta invitație include și accesul la grupurile: (Neapărat, doar admin)" @@ -1114,27 +1170,27 @@ ro: email_or_username_placeholder: "adresa de email sau numele utilizatorului" action: "Invită" success: "Am invitat acest utilizator să participe la acest mesaj." - error: "Ne pare rău, s-a întâmpinat o eroare la trimiterea invitației către acel utilizator." + error: "Ne pare rău, a apărut o eroare la trimiterea invitației către acel utilizator." group_name: "numele grupului" invite_reply: title: 'Invitație' username_placeholder: "nume utilizator" action: 'Trimite o invitație' help: 'invită alţi utilizatori la această discuţie via email sau notificare' - to_forum: "Vom trimite un email scurt permițând prietenilor dumneavoastră să participe făcând click pe o adesă, nu necesită autentificare." - sso_enabled: "Introduceţi numele de utilizator al persoanei pe care doriţi să o invitaţi la acesta discuţie." - to_topic_blank: "Introduceţi numele de utilizator sau adresa de email a persoanei pe care doriţi să o invitaţi la acesta discuţie." - to_topic_email: "Aţi introdus o adresa de e-mail. Vom trimite via email o invitaţie, care permite prietenul dvs. să răspundă imediat la această discuţie." + to_forum: "Vom trimite un email scurt permițând prietenilor tăisă participe făcând click pe o adesă fără a necesita autentificare." + sso_enabled: "Introdu numele de utilizator al persoanei pe care dorești să o inviți la acesta discuţie." + to_topic_blank: "Introdu numele de utilizator sau adresa de email a persoanei pe care dorești să o inviți la acesta discuţie." + to_topic_email: "Ai introdus o adresa de e-mail. Vom trimite un email cu o invitaţie ce va permite prietenului tău să răspundă imediat la această discuţie." email_placeholder: 'exemplu@nume.com' - success_email: "Am trimis o invitaţie către {{emailOrUsername}}.. Va vom anunţă când invitaţia este folosită. Verificaţi fila invitaţii pe pagină dvs. de utilizator pentru a monitoriza invitaţiile. " + success_email: "Am trimis o invitaţie către {{emailOrUsername}}.. Te vom anunţă când invitaţia este folosită. Verifică tab-ul invitaţii pe pagină ta de utilizator pentru a monitoriza invitaţiile. " success_username: "Am invitat acest utilizator să participe la această discuţie." error: "Ne pare rău, nu am putut invită persoană indicată. Poate că a fost deja invitată? (Invitaţiile sunt limitate)" login_reply: 'Autentifică-te pentru a răspunde.' filters: n_posts: - one: "1 mesaj" + one: "O Postare" few: "{{count}} postări" - other: "{{count}} postări" + other: "{{count}} de postări" cancel: "Arată din nou toate postările din această discuție." split_topic: title: "Mutare în discuție nouă " @@ -1142,9 +1198,9 @@ ro: topic_name: "Numele noii discuții" error: "S-a semnalat o eroare la mutarea postărilor către discuția nouă." instructions: - one: "Veţi crea o nouă discuţie care va fi populată cu postarea selectată." - few: "Veţi crea o nouă discuţie care va fi populată cu cele {{count}} postări selectate." - other: "Veţi crea o nouă discuţie care va fi populată cu cele {{count}} postări selectate." + one: "Vei crea o nouă discuţie care va fi populată cu postarea selectată." + few: "Vei crea o nouă discuţie care va fi populată cu cele {{count}} postări selectate." + other: "Vei crea o nouă discuţie care va fi populată cu cele {{count}} de postări selectate." merge_topic: title: "Mută în discuție existentă" action: "mută în discuție existentă" @@ -1152,7 +1208,7 @@ ro: instructions: one: "Vă rugăm să alegeţi discuţia unde doriţi să mutaţi acest mesaj." few: "Vă rugăm să alegeţi discuţia unde doriţi să mutaţi aceste {{count}} mesaje." - other: "Vă rugăm să alegeţi discuţia unde doriţi să mutaţi aceste {{count}} mesaje." + other: "Vă rugăm să alegeţi discuţia unde doriţi să mutaţi aceste {{count}} de mesaje." change_owner: title: "Schimbă deținătorul postărilor" action: "Schimbă apartenența" @@ -1162,8 +1218,8 @@ ro: instructions: one: "Va rugăm să alegeţi noul propietar pentru mesajul postat de {{old_user}}." few: "Va rugăm să alegeţi noul propietar pentru cele {{count}} mesajele postate de {{old_user}}." - other: "Va rugăm să alegeţi noul propietar pentru cele {{count}} mesajele postate de {{old_user}}." - instructions_warn: " aveți în vedere că nicio notificare ce privește această postare nu va fi transferabilă retroactiv către noul utilizator.Fast fertig! Eine E-Mail mit einem Aktivierungscode wurde an Deine E-Mail-Adresse %{email} gesendet.
Dort findest du die Anleitung, um deinen Zugang zu aktivieren.
Solltest du die Mail nicht vorfinden, kontrolliere bitte auch den Spamverdachts-Ordner. Gegebenenfalls kannst du dir von hier eine weitere Aktivierungs-E-Mail zusenden lassen.
" @@ -1166,10 +1209,11 @@ de: omniauth_error_unknown: "Während des Anmeldens ist etwas schief gelaufen, bitte versuche es noch einmal." new_registrations_disabled: "Leider können derzeit keine neuen Konten registriert werden." password_too_long: "Passwörter sind beschränkt auf 200 Zeichen." - email_too_long: "Die von dir eingegebene E-Mail Adresse ist zu lang. E-Mail Adressen dürfen maximal 254 Zeichen lang sein und Domain Namen maximal 253 Zeichen." + email_too_long: "Die von dir eingegebene E-Mail-Adresse ist zu lang. E-Mail-Adressen dürfen maximal 254 Zeichen lang sein und Domain-Namen maximal 253 Zeichen." reserved_username: "Der Benutzername ist nicht erlaubt." missing_user_field: "Sie haben nicht alle Benutzerfelder ausgefüllt" close_window: "Authentifizierung abgeschlossen. Schließe das Fenster um fortzufahren." + already_logged_in: "Hoppla, es sieht so aus als ob du versuchst die Einladung für einen anderen Benutzer zu akzeptieren. Wenn du nicht %{current_user} bist, melde dich bitte ab und versuch es erneut." user: no_accounts_associated: "Es sind keine Konten zugeordnet" username: @@ -1181,25 +1225,25 @@ de: must_not_contain_two_special_chars_in_seq: "muss keine Reihenfolge von 2 oder mehr Sonderzeichen (.-_) haben" must_not_end_with_confusing_suffix: "Darf nicht mit einem Suffix wie json, png, etc. enden." email: - not_allowed: "ist für diesen Mailprovider nicht erlaubt. Bitte verwende eine andere Mailadresse." + not_allowed: "ist für diesen E-Mail-Provider nicht erlaubt. Bitte verwende eine andere E-Mail-Adresse." blocked: "ist nicht erlaubt." ip_address: - blocked: "Von Deiner IP Adresse aus ist es nicht erlaub sich zu registrieren." + blocked: "Neue Registrierungen sind von deiner IP-Adresse aus nicht erlaubt." max_new_accounts_per_registration_ip: "Weitere Registrierungen sind von deiner IP-Adresse aus nicht gestattet (limit erreicht). Kontaktiere einen Administrator mit dem Problem damit er dir helfen kann." flags_reminder: subject_template: one: "Eine Markierung wartet auf Bearbeitung" other: "%{count} Markierungen warten auf Bearbeitung" unsubscribe_mailer: - subject_template: "Bestätige, dass du nicht länger E-Mail Updates von %{site_title} erhalten möchtest" + subject_template: "Bestätige, dass du nicht länger E-Mail-Updates von %{site_title} erhalten möchtest" text_body_template: | - Jemand (wahrscheinlich du?) hat angefragt, nicht länger E-Mail Updates von %{site_domain_name} auf dieser Adresse zu erhalten. + Jemand (wahrscheinlich du?) hat angefragt, nicht länger E-Mail-Updates von %{site_domain_name} auf dieser Adresse zu erhalten. Wenn du nicht länger Benachrichtigungen erhalten möchtest, dann klicke bitte diesen Link: %{confirm_unsubscribe_link} - Wenn du weiterhin E-Mail Updates erhalten möchtest, dann kannst du diese E-Mail ignorieren. + Wenn du weiterhin E-Mail-Updates erhalten möchtest, dann kannst du diese E-Mail ignorieren. invite_mailer: subject_template: "%{invitee_name} hat dich zum Thema '%{topic_title}' auf %{site_domain_name} eingeladen" text_body_template: | @@ -1233,14 +1277,14 @@ de: invite_password_instructions: subject_template: "Lege ein Passwort für dein %{site_name}-Konto fest" text_body_template: | - Schön, dass du die Einladung zu %{site_name} angenommen hast-- Willkommen! + Schön, dass du die Einladung zu %{site_name} angenommen hast -- Willkommen! Klicke hier um jetzt dein Passwort festzulegen: %{base_url}/users/password-reset/%{email_token} - (Wenn der Link abgelaufen ist, wähle "Passwort vergessen" aus, wenn du dich mit deiner E-Mail Adresse einloggen möchtest.) + (Wenn der Link abgelaufen ist, wähle "Passwort vergessen" aus, wenn du dich mit deiner E-Mail-Adresse einloggen möchtest.) test_mailer: - subject_template: "[%{site_name}] Test der Mailzustellbarkeit" + subject_template: "[%{site_name}] Test der E-Mail-Zustellbarkeit" new_version_mailer: subject_template: "[%{site_name}] Neue Discourse Version, Update verfügbar" new_version_mailer_with_notes: @@ -1257,7 +1301,7 @@ de: flag_reasons: off_topic: "Dein Beitrag wurde als **Thema verfehlt** gemeldet: Die Community glaubt, dass er nicht zum Thema passt, wie es durch den Titel und den ersten Beitrag definiert wurde." inappropriate: "Dein Beitrag wurde als **unangemessen** gemeldet: die Community glaubt, dass er anstößig oder beleidigend ist oder einen Verstoß gegen [die Community Richtlinien](/guidelines) darstellt." - spam: "Dein Beitrag wurde als **Spam** geflaggt: Die Community denkt, dass es sich um Werbung handelt und nicht nützlich oder für das Diskussionsthema relevant ist." + spam: "Dein Beitrag wurde als **Spam** gemeldet: Die Community denkt, dass es sich um Werbung handelt, zu werblich in seiner Art und nicht nützlich oder für das Diskussionsthema relevant ist." notify_moderators: "Die Community denkt, dass etwas an deinem Beitrag das Eingreifen eines Moderator erfordert." flags_dispositions: agreed: "Danke, dass du uns Bescheid gegeben hast. Wir sind auch der Meinung, dass es ein Problem gibt und sehen uns das an." @@ -1272,17 +1316,17 @@ de: text_body_template: | Hallo, - dies ist eine automatische Nachricht von %{site_name}, um Dich darüber zu informieren, dass Dein Beitrag verborgen worden ist. + dies ist eine automatische Nachricht von %{site_name}, um dich darüber zu informieren, dass dein Beitrag verborgen worden ist. %{base_url}%{url} %{flag_reason} - Mehrere Mitglieder der Gemeinschaft haben Deinen Beitrag gemeldet, bevor er verborgen wurde. Du solltest also Deinen Beitrag gemäß deren Rückmeldungen überarbeiten. **Du kannst Deinen Beitrag nach %{edit_delay} Minuten ändern; danach wird er automatisch wieder erscheinen.** + Mehrere Mitglieder der Gemeinschaft haben deinen Beitrag gemeldet, bevor er verborgen wurde. Du solltest also deinen Beitrag gemäß deren Rückmeldungen überarbeiten. **Du kannst deinen Beitrag nach %{edit_delay} Minuten ändern; danach wird er automatisch wieder erscheinen.** - Falls Dein Beitrag jedoch ein weiteres Mal von der Gemeinschaft gemeldet und verborgen wird, wird der Beitrag verborgen bleiben, bis ein Mitglied des Teams dies ändert – in diesem Fall können auch weitere Konsequenzen folgen, bis hin zu einer möglichen Sperrung Deines Accounts. + Falls dein Beitrag jedoch ein weiteres Mal von der Gemeinschaft gemeldet und verborgen wird, bleibt der Beitrag verborgen, bis ein Mitglied des Teams dies ändert – in diesem Fall können auch weitere Konsequenzen folgen, bis hin zu einer möglichen Sperrung deines Accounts. - Für weitereOrientierungshilfen wirf bitte einen Blick in unsere [Community-Richtlinien](%{base_url}/guidelines). + Für weitere Orientierungshilfe wirf bitte einen Blick in unsere [Community-Richtlinien](%{base_url}/guidelines). welcome_user: subject_template: "Willkommen bei %{site_name}!" text_body_template: | @@ -1345,7 +1389,7 @@ de: ``` bulk_invite_succeeded: subject_template: "Masseneinladung von Benutzern erfolgreich verarbeitet" - text_body_template: "Deine Masseneinladung von Benutzern wurde erfolgreich verarbeitet, insgesamt wurden %{sent} Einladungen E-per Mail verschickt." + text_body_template: "Deine Masseneinladung von Benutzern wurde erfolgreich verarbeitet, insgesamt wurden %{sent} Einladungen per E-Mail verschickt." bulk_invite_failed: subject_template: "Bei der Verarbeitung der Masseneinladung von Benutzern sind Fehler aufgetreten" text_body_template: | @@ -1368,29 +1412,29 @@ de: subject_template: "Datenexport fehlgeschlagen" text_body_template: "Entschuldigung, beim Exportieren deiner Daten trat ein Fehler auf. Bitte kontaktiere einen Mitarbeiter oder sieh in die Logs." email_reject_insufficient_trust_level: - subject_template: "[%{site_name}] E-Mail Problem -- Unzureichendes Vertrauenslevel" + subject_template: "[%{site_name}] E-Mail-Problem -- Unzureichende Vertrauensstufe" text_body_template: | - Es tut uns leid, aber das Senden deiner E-Mail Nachricht an %{destination} (betitelt mit %{former_title}) hat nicht funktioniert. + Es tut uns leid, aber das Senden deiner E-Mail-Nachricht an %{destination} (betitelt mit %{former_title}) hat nicht funktioniert. - Dein Benutzerkonto hat nicht das benötigte Vertrauenslevel um neue Themen an diese E-Mail Adresse zu senden. Wenn du glaubst, dass dies ein Fehler ist, dann kontaktiere bitte einen Mitarbeiter. + Dein Benutzerkonto hat nicht die benötigte Vertrauensstufe, um neue Themen an diese E-Mail-Adresse zu senden. Wenn du glaubst, dass dies ein Fehler ist, dann kontaktiere bitte einen Mitarbeiter. email_reject_inactive_user: - subject_template: "[%{site_name}] E-Mail Problem -- Inaktiver Nutzer" + subject_template: "[%{site_name}] E-Mail-Problem -- Inaktiver Nutzer" text_body_template: | - Es tut uns leid, aber das Senden deiner E-Mail Nachricht an %{destination} (betitelt mit %{former_title}) hat nicht funktioniert. + Es tut uns leid, aber das Senden deiner E-Mail-Nachricht an %{destination} (betitelt mit %{former_title}) hat nicht funktioniert. - Dein Benutzerkonto, assoziiert mit dieser E-Mail Adresse ist nicht aktiviert. Bitte aktiviere dein Konto bevor du E-Mails sendest. + Dein mit dieser E-Mail-Adresse assoziiertes Benutzerkonto ist nicht aktiviert. Bitte aktiviere dein Konto bevor du E-Mails sendest. email_reject_reply_user_not_matching: - subject_template: "[%{site_name}] E-Mail Problem -- Antwort Nutzer stimmt nicht überein" + subject_template: "[%{site_name}] E-Mail-Problem -- Antwortender Nutzer stimmt nicht überein" text_body_template: | Es tut uns leid, aber deine E-Mail-Nachricht an %{destination} (mit dem Titel %{former_title}) hat nicht funktioniert. - Deine Antwort wurde von einer anderen E-Mail-Adresse versandt als wir erwartet haben, weshalb wir nicht sicher wissen ob das die gleiche Person ist. Probiere eine andere Absenderadresse oder wende dich an einen Mitarbeiter. + Deine Antwort wurde von einer anderen E-Mail-Adresse versandt als wir erwartet haben, weshalb wir nicht sicher wissen ob das die gleiche Person ist. Probiere eine andere Absende-Adresse oder wende dich an einen Mitarbeiter. email_reject_no_account: subject_template: "[%{site_name}] E-Mail-Problem -- Unbekanntes Konto" text_body_template: | Es tut uns leid, aber deine E-Mail-Nachricht an %{destination} (mit dem Titel %{former_title}) hat nicht funktioniert. - Wir konnten keinen Account finden, der zu deiner E-Mail-Adresse passt. Probiere eine andere Absenderadresse oder wende dich an einen Mitarbeiter. + Wir konnten keinen Account finden, der zu deiner E-Mail-Adresse passt. Probiere eine andere Absende-Adresse oder wende dich an einen Mitarbeiter. email_reject_empty: subject_template: "[%{site_name}] E-Mail-Problem -- Kein Inhalt" text_body_template: | @@ -1402,9 +1446,9 @@ de: email_reject_parsing: subject_template: "[%{site_name}] E-Mail-Problem -- Inhalt nicht erkannt" text_body_template: | - Entschuldigung, aber deine E-Mail Nachricht an %{destination} mit dem Titel (titled %{former_title}) konnte nicht zugestellt werden. + Entschuldigung, aber deine E-Mail-Nachricht an %{destination} mit dem Titel (titled %{former_title}) konnte nicht zugestellt werden. - Wir konnten keinen Inhalt in deiner E-Mail feststellen. **Versichere dich, dass du den Inhalt oberhalb der erhaltenen E-Mail eingegeben hast** -- Auf Inline-Antworten können wir nicht reagieren. + Wir konnten keinen Inhalt in deiner E-Mail feststellen. **Versichere dich, dass du den Inhalt oberhalb der erhaltenen E-Mail eingegeben hast** -- Eingebettete Antworten können wir nicht verarbeiten. email_reject_invalid_access: subject_template: "[%{site_name}] E-Mail-Problem -- Nicht erlaubt" text_body_template: | @@ -1429,6 +1473,10 @@ de: subject_template: "[%{site_name}] E-Mail-Problem -- Unbekannter Antwort-Schlüssel" email_reject_topic_not_found: subject_template: "[%{site_name}] E-Mail Problem -- Thema nicht gefunden" + text_body_template: | + Entschuldigung, aber mit deiner E-Mail-Nachricht an %{destination} (Titel: %{former_title}) gab es ein Problem. + + Das Thema existiert nicht mehr -- vielleicht wurde es gelöscht? Wenn du glaubst, dass dies ein Irrtum ist, nimm bitte Kontakt mit einem unserer Mitarbeiter auf. email_reject_topic_closed: subject_template: "[%{site_name}] E-Mail Problem -- Thema geschlossen" text_body_template: | @@ -1436,7 +1484,7 @@ de: Das Thema ist uns nicht bekannt oder es wurde gelöscht bzw. geschlossen. Wenn du glaubst, dass dies ein Irrtum ist, nimm bitte Kontakt mit einem unserer Mitarbeiter auf. email_reject_auto_generated: - subject_template: "[%{site_name}] E-Mail Problem -- Automatisch erzeugte Antwort" + subject_template: "[%{site_name}] E-Mail-Problem -- Automatisch erzeugte Antwort" email_error_notification: subject_template: "[%{site_name}] E-Mail-Problem -- POP-Authentifizierungsfehler" too_many_spam_flags: @@ -1474,13 +1522,17 @@ de: download_remote_images_disabled: subject_template: "Download von externen Bildern deaktiviert" text_body_template: "Die `download_remote_images_to_local` Einstellung wurde deaktiviert, da das Speicherplatz Limit von `download_remote_images_threshold` erreicht wurde." + unsubscribe_link: | + Um keine Benachrichtigungen mehr zu diesem Thema zu erhalten, bitte [hier klicken](%{unsubscribe_url}). Du kannst den Empfang von Benachrichtigungen per E-Mail auch in deinen [Profil-Eigenschaften](%{user_preferences_url}) deaktivieren + unsubscribe_via_email_link: | + oder [hier klicken](mailto:reply@%{hostname}?subject=unsubscribe) um per E-Mail abzubestellen. subject_re: "Re: " subject_pm: "[PN]" user_notifications: previous_discussion: "Vorangehende Antworten" unsubscribe: - title: "Mails Abbestellen" - description: "Nicht interessiert an diesen Mails? Kein Problem! Klicke unten um Dich abzumelden:" + title: "Abbestellen" + description: "Nicht interessiert an diesen E.Mails? Kein Problem! Klicke unten um dich abzumelden:" posted_by: "Erstellt von %{username} am %{post_date}" user_invited_to_private_message_pm: subject_template: "[%{site_name}] %{username} hat dich zur Unterhaltung '%{topic_title}' eingeladen" @@ -1593,8 +1645,6 @@ de: images: too_large: "Entschuldigung, das Bild das du hochladen möchtest, ist zu groß (maximale Dateigröße ist %{max_size_kb}KB). Bitte verkleinere es und versuche es erneut." size_not_found: "Entschuldige, aber wir konnten die Größe des Bildes nicht bestimmen. Vielleicht ist das Bild defekt?" - avatar: - missing: "Entschuldigung, aber der von dir ausgewählte Avatar befindet sich nicht auf dem Server. Versuche ihn erneut hochzuladen." flag_reason: sockpuppet: "Ein neuer Benutzer hat ein Thema erstellt und ein anderer neuer Benutzer mit der selben IP-Adresse hat darauf geantwortet. Beachte die flag_sockpuppets Einstellung." spam_hosts: "Dieser Benutzer hat versucht, mehrere Antworten mit Links zur selben Domain zu posten. Beachte die newuser_spam_host_threshold Einstellung." @@ -1604,11 +1654,12 @@ de: suspended_not_pm: "Benutzer ist gesperrt, keine Nachricht" seen_recently: "Benutzer war kürzlich online" post_not_found: "Kann Beitrag mit ID %{post_id} nicht finden" - notification_already_read: "Die Benachrichtigung dieser Mail wurde bereits gelesen" + notification_already_read: "Die Benachrichtigung zu dieser E-Mail wurde bereits gelesen" topic_nil: "post.topic is nil" post_deleted: "Beitrag wurde vom Autor entfernt" user_suspended: "Benutzer wurde gesperrt" already_read: "Benutzer hat diesen Beitrag bereits gelesen" + exceeded_limit: "max_emails_per_day_per_user überschritten" message_blank: "Nachricht ist leer" message_to_blank: "message.to ist leer" text_part_body_blank: "text_part.body ist leer" @@ -1630,6 +1681,15 @@ de: title: "Nutzungsbedingungen" privacy_topic: title: "Datenschutzrichtlinie" + badges: + basic_user: + description: Ermöglicht das Nutzen aller wesentlichen Community-Funktionen + member: + description: Ermöglicht das Versenden von Einladungen, Gruppen-Nachrichten, mehr Likes + regular: + description: Ermöglicht verschieben und umbenennen von Themen, veröffentlichen verfolgbarer Links, Aktivierung der Wiki-Funktion, mehr Likes + leader: + description: Ermöglicht bearbeiten aller Beiträge, anheften, schließen, archivieren, aufteilen und zusammenfügen von Themen, mehr Likes admin_login: success: "E-Mail gesendet" error: "Fehler!" @@ -1640,6 +1700,8 @@ de: performance_report: initial_post_raw: Dieser Beitrag enthält tägliche performance Berichte deiner Seite. initial_topic_title: Berichte zur Webseitengeschwindigkeit + topic_invite: + user_exists: "Entschuldige, dieser Benutzer ist bereits eingeladen worden. Du kannst einen Nutzer nur einmal zu einem Thema einladen." time: <<: *datetime_formats activemodel: diff --git a/config/locales/server.en.yml b/config/locales/server.en.yml index 0067f05574..70ff7b770c 100644 --- a/config/locales/server.en.yml +++ b/config/locales/server.en.yml @@ -207,6 +207,8 @@ en: private_posts: "Latest private messages" group_posts: "Latest posts from %{group_name}" group_mentions: "Latest mentions from %{group_name}" + user_posts: "Latest posts by @%{username}" + user_topics: "Latest topics by @%{username}" too_late_to_edit: "That post was created too long ago. It can no longer be edited or deleted." revert_version_same: "The current version is same as the version you are trying to revert to." @@ -1562,7 +1564,7 @@ en: new_version_mailer: subject_template: "[%{site_name}] New Discourse version, update available" text_body_template: | - Hooray, a new version of [Discourse](http://www.discourse.org) is available! :) + Hooray, a new version of [Discourse](http://www.discourse.org) is available! Your version: %{installed_version} New version: **%{new_version}** @@ -1576,7 +1578,7 @@ en: new_version_mailer_with_notes: subject_template: "[%{site_name}] update available" text_body_template: | - Hooray, a new version of [Discourse](http://www.discourse.org) is available! :) + Hooray, a new version of [Discourse](http://www.discourse.org) is available! Your version: %{installed_version} New version: **%{new_version}** diff --git a/config/locales/server.es.yml b/config/locales/server.es.yml index b2a17b830d..2265a587b2 100644 --- a/config/locales/server.es.yml +++ b/config/locales/server.es.yml @@ -925,9 +925,16 @@ es: tl2_requires_likes_given: "¿Cuántos 'me gusta' un usuario debe de dar antes de promoverlo a nivel de confianza 2?" tl2_requires_topic_reply_count: "¿Cuántos temas un usuario debe de contestar antes de promoverlo a nivel de confianza 2?" tl3_time_period: "Período de tiempo (en días) para los requisitos de nivel de confianza 3" + tl3_requires_days_visited: "Mínimo número de días que un usuario necesita haber visitado el sitio en los últimos (tl3 time period) días para poder ser promocionado a nivel de confianza 3. Establece un valor superior para desactivar la posibilidad de subir a nivel de confianza 3. (0 o más)" + tl3_requires_topics_replied_to: "Mínimo número de temas que un usuario necesita haber respondido en los últimos (tl3 time period) días para poder ser promocionado a nivel de confianza 3. (0 o más)" + tl3_requires_topics_viewed: "Porcentaje de temas creados en los últimos (tl3 time period) días para que un usuario sea tenido en cuenta para promocionar a nivel de confianza 3. (0 a 100)" + tl3_requires_posts_read: "El porcentaje de posts creados en los últimos (tl3 time period) días para que un usuario sea tenido en cuenta para promocionar a nivel de confianza 3. (0 a 100)" tl3_requires_topics_viewed_all_time: "El número total mínimo de temas que un usuario debió de haber visto para calificar a promoción de nivel de confianza 3." tl3_requires_posts_read_all_time: "El número mínimo total de posts que un usuario debió de haber leído para calificar a nivel de confianza 3." + tl3_requires_max_flagged: "El usuario no debe haber tenido más de x posts reportados por x diferentes usuarios en los últimos (tl3 time period) días para poder ser promocionado a nivel de confianza 3, donde x es el valor de esta opción. (0 o más)" tl3_promotion_min_duration: "El número mínimo de días que una promoción de nivel de confianza 3 dura antes que el usuario pueda ser degradado de vuelta a nivel de confianza 2." + tl3_requires_likes_given: "El mínimo número de me gusta que un usuario debe dar en los últimos (tl3 time period) días para promocionar a nivel de confianza 3." + tl3_requires_likes_received: "El mínimo número de me gusta que un usuario debe recibir en los últimos (tl3 time period) días para promocionar a nivel de confianza 3." tl3_links_no_follow: "No remover rel=nofollow de los enlaces publicados por usuarios con nivel de confianza 3." min_trust_to_create_topic: "El mínimo nivel de confianza requerido para crear un nuevo tema." min_trust_to_edit_wiki_post: "El mínimo nivel de confianza requerido para editar un post marcado como wiki." @@ -942,6 +949,7 @@ es: max_users_notified_per_group_mention: "Número de usuarios máximos que serán notificados si un grupo es mencionado (si se llega al límite no se mandarán más invitaciones)" create_thumbnails: "Crear miniaturas de imágenes y lightbox cuando estas son demasiado grandes para encajar en un post." email_time_window_mins: "Esperar (n) minutos antes de enviar cualquier email de notificación, para dar a los usuarios margen con el que editar y finalizar sus posts." + private_email_time_window_seconds: "Espera (n) segundos antes de enviar cualquier email de notificación, para dar a los usuarios margen con el que editar y finalizar sus mensajes." email_posts_context: "Cuántas respuestas previas se incluirán como contexto en los emails de notificación." flush_timings_secs: "Cuán frecuente, en segundos, se alinean los datos de sincronización con el servidor." title_max_word_length: "La longitud máxima permitida de una palabra, en caracteres, en el título del tema." @@ -999,7 +1007,9 @@ es: unsubscribe_via_email: "Permitir a los usuarios darse de baja de los emails respondiendo con el texto 'unsubscribe' en el asunto o el cuerpo del mensaje" unsubscribe_via_email_footer: "Adjuntar un enlace para darse de baja al pie de los emails enviados" delete_email_logs_after_days: "Eliminar logs de email después de (N) días. Si es 0 permanecerán de forma indefinida." + max_emails_per_day_per_user: "Máximo número de emails a enviar a los usuarios por día. Establece 0 para desactivar el límite" enable_staged_users: "Crear cuentas provisionales automáticamente al procesar emails entrantes." + manual_polling_enabled: "Lanza emails usando la API para las respuestas por email." pop3_polling_enabled: "Poll vía POP3 para respuestas de e-mail." pop3_polling_ssl: "Usar SSL mientras se conecta al servidor POP3. (Recomendado)" pop3_polling_period_mins: "El período en minutos entre revisiones de correo de la cuenta POP3. NOTA: requiere reiniciar." @@ -1027,6 +1037,7 @@ es: digest_topics: "El número máximo de temas a mostrar en el resumen por email." digest_min_excerpt_length: "La extensión mínima, en caracteres, del extracto de un post en el resumen por email." delete_digest_email_after_days: "Omitir los emails de resumen para usuarios que no hayan visto el sitio después de (n) días." + digest_suppress_categories: "Ocultar estas categorías de los emails de resumen." disable_digest_emails: "Inhabilitar e-mails de resumen para todos los usuarios." detect_custom_avatars: "Verificar o no que los usuarios han subido una imagen de perfil." max_daily_gravatar_crawls: "Máximo número de veces que Discourse comprobará Gravatar en busca de avatares personalizados en un día" @@ -1044,6 +1055,7 @@ es: disable_avatar_education_message: "Desactivar mensaje incentivador para que los usuarios se cambien su foto de perfil." daily_performance_report: "Analizar registros de NGINX diariamente y publicar un tema para Administradores con los detalles" suppress_uncategorized_badge: "No mostrar la etiqueta de los temas sin categoría en la lista de temas." + permalink_normalizations: "Aplicar la siguiente expresión regular antes de los enlaces, por ejemplo: /(topic.*)\\?.*/\\1 despojará las cadenas de consulta de las rutas de los temas. El formato es regex+string usa \\1 etc. para acceder a capturas" global_notice: "Mostrar una noticia de URGENCIA o EMERGENCIA para todos los visitantes, deja este campo en blanco para ocultarla (se puede utilizar código HTML)" disable_edit_notifications: "Inhabilitar editar notificaciones por el usuario system cuando 'download_remote_images_to_local' este activo." automatically_unpin_topics: "Quitar destacado automáticamente cuando el usuario llega al final del tema." @@ -1077,12 +1089,15 @@ es: enable_emoji: "Habilitar emoji" emoji_set: "¿De qué tipo os gustan los emoji?" enforce_square_emoji: "Forzar una relación de aspecto cuadrada para todos los emojis." + approve_post_count: "La cantidad de posts que deben ser aprobados de usuarios nuevos o de nivel básico" approve_unless_trust_level: "Los posts de usuarios con un nivel de confianza inferior a este deberán ser aprobados" notify_about_queued_posts_after: "Si hay posts esperando a ser revisados por este número de horas, se enviará un email al correo de contacto. Establece este valor a 0 para desactivar estos emails." default_email_digest_frequency: "Frecuencia por defecto con la que se reciben los emails resumen." + default_include_tl0_in_digests: "Incluir posts de nuevos usuarios en los emails de resumen por defecto. Los usuarios pueden cambiar esto en sus preferencias." default_email_private_messages: "Enviar un email cuando alguien envíe un mensaje al usuario por defecto." default_email_direct: "Enviar un email cuando alguien cite/responda/mencione o invite al usuario por defecto." default_email_mailing_list_mode: "Enviar un email por cada nuevo post por defecto." + disable_mailing_list_mode: "No permitir a los usuarios que activen el modo lista de correo." default_email_always: "Enviar una notificación por email aunque el usuario esté activo por defecto." default_email_previous_replies: "Incluir por defecto respuestas previas en los emails." default_email_in_reply_to: "Incluir por defecto un extracto del post al que se ha respondido en los emails." @@ -1093,6 +1108,7 @@ es: default_other_dynamic_favicon: "Mostrar temas nuevos/actualizados en el icono del navegador por defecto" default_other_disable_jump_reply: "No ir a un nuevo post tras publicarlo por defecto" default_other_edit_history_public: "Hacer la lista de ediciones pública por defecto." + default_other_like_notification_frequency: "Notificar a los usuarios de los me gusta por defecto" default_topics_automatic_unpin: "Quitar destacado automáticamente cuando el usuario llega al final del tema." default_categories_watching: "Lista de categorías que están vigiladas por defecto." default_categories_tracking: "Lista de categorías que están seguidas por defecto" @@ -1727,8 +1743,6 @@ es: images: too_large: "Lo sentimos, la imagen que estás intentando subir es demasiado grande (el tamaño máximo es %{max_size_kb}%KB). Por favor, modifica sus dimensiones y prueba otra vez." size_not_found: "Lo sentimos, pero no hemos podido determinar el tamaño de la imagen. ¿Quizás el archivo está corrupto?" - avatar: - missing: "Lo sentimos, pero el avatar que has elegido no está disponible en el servidor. ¿Puedes intentar subirlo de nuevo?" flag_reason: sockpuppet: "Un nuevo usuario ha creado un tema, y otro nuevo usuario con la misma dirección IP le ha respondido. Mira la opción flag_sockpuppets del sitio." spam_hosts: "Este nuevo usuario intentó crear varios posts con enlaces al mismo dominio. Mira la opción newuser_spam_host_threshold." diff --git a/config/locales/server.fi.yml b/config/locales/server.fi.yml index a49c66c4cf..275495e01d 100644 --- a/config/locales/server.fi.yml +++ b/config/locales/server.fi.yml @@ -1316,32 +1316,9 @@ fi: test_mailer: subject_template: "[%{site_name}] Sähköpostin toimitettavuustesti" new_version_mailer: - subject_template: "[%{site_name}] Uusi Discourse versio, päivitys saatavilla" - text_body_template: | - Uusi versio [Discoursesta](http://www.discourse.org) on saatavilla :) - - Sinun versiosi: %{installed_version} - Uusin versio: **%{new_version}** - - - Tarkastele, mitä uutta on [GitHubin muutoslokissa](https://github.com/discourse/discourse/commits/master). - - - Asenna päivitys vierailemalla osoitteessa [%{base_url}/admin/upgrade](%{base_url}/admin/upgrade). - - - Vieraile osoitteessa [meta.discourse.org](http://meta.discourse.org) englanninkielisten uutisten, keskustelun ja tuen Discourselle vuoksi. + subject_template: "[%{site_name}] Uusi Discourse-versio, päivitys saatavilla" new_version_mailer_with_notes: subject_template: "[%{site_name}] päivitys saatavilla" - text_body_template: |+ - Uusi versio [Discoursesta](http://www.discourse.org) on saatavilla - - Sinun versiosi: %{installed_version} - Uusin versio: **%{new_version}** - - - Tarkastele, mitä uutta on [GitHubin muutoslokissa](https://github.com/discourse/discourse/commits/master). - - - Asenna päivitys vierailemalla osoitteessa [%{base_url}/admin/upgrade](%{base_url}/admin/upgrade). - - - Vieraile osoitteessa [meta.discourse.org](http://meta.discourse.org) englanninkielisten uutisten, keskustelun ja tuen Discourselle vuoksi. - queued_posts_reminder: subject_template: one: "[%{site_name}] 1 viesti odottaa hyväksyntää" @@ -2007,8 +1984,6 @@ fi: images: too_large: "Pahoittelut, kuva jonka yritit ladata on liian suuri (suurin sallittu kuvakoko on %{max_size_kb}KB), pienennä kuvaa ja yritä uudestaan." size_not_found: "Pahoittelut, mutta emme pystyneet selvittämään kuvan kokoa. Ehkä kuvatiedosto on vahingoittunut?" - avatar: - missing: "Pahoittelut, mutta profiilikuvaa, jonka yritit valita ei ole palvelimella. Voitko yrittää ladata sen uudestaan?" flag_reason: sockpuppet: "Uusi käyttäjä loi ketjun ja toinen uusi käyttäjä samasta IP osoitteesta vastasi siihen. Katso asetus flag_sockpuppets." spam_hosts: "Tämä uusi käyttäjä yritti luoda useita viestejä, joissa oli linkkejä samaan verkkotunnukseen. Katso asetus newuser_spam_host_threshold." @@ -2190,30 +2165,48 @@ fi: regular: name: Mestari description: Myönnetty ketjujen siirto toiselle alueelle ja uudelleen nimeäminen, hakukoneiden seuraamat linkit, wiki-viestit ja lisää tykkäyksiä + long_description: | + Tämä arvomerkki myönnetään, kun nouset luottamustasolle 3. Kiitos kun olet ollut tärkeä osa yhteisöä kuukausien ajan. Olet yksi innokkaimmista lukijoista ja luotettava sisällön tuottaja, ja olet tekemässä yhteisöstä niin hienoa kuin se on. Voit nyt siirtää alueelta toiselle ja uudelleennimetä ketjuja, roskapostiliputuksesi ovat tehokkaampia, pääset lounge-alueelle ja käytössäsi on selvästi enemmän tykkäyksiä päivää kohden. leader: name: Johtaja description: Myönnetty minkä tahansa viestin muokkaaminen, kiinnittäminen, sulkeminen, arkistoiminen, pilkkominen ja yhdistäminen ja lisää tykkäyksiä + long_description: | + Tämä arvomerkki myönnetään, kun nouset luottamustasolle 4. Palstan henkilökunta on valinnut sinut johtajaksi. Näytät muille positiivista esimerkkiä sanoin ja teoin. Voit nyt muokata mitä tahansa viestiä ja käytössäsi on yleiset valvojatyökalut, joilla voit hallita ketjuja kuten kiinnittäminen, sulkeminen, listauksista poistaminen, arkistoiminen, pilkkominen ja yhdistäminen, ja käytössäsi on paljon enemmän tykkäyksiä päivää kohden. welcome: name: Tervetuloa description: Sai tykkäyksen + long_description: | + Tämä arvomerkki myönnetään, kun viestistäsi tykätään ensi kertaa. Onnittelut, olet tuottanut jotakin, mitä toinen käyttäjä on pitänyt mielenkiintoisena, hauskana tai hyödyllisenä! autobiographer: name: Omaelämäkerta description: Täytti käyttäjätiedot + long_description: | + Tämä arvomerkki myönnetään , kun täytät käyttäjätiedot ja valitset profiilikuvan. Kertomalla hieman itsestäsi ja kiinnostuksen kohteistasi edistät yhteisöllisyyttä. Liity meihin! anniversary: name: Vuosipäivä description: Aktiivinen jäsen vuoden ajan, kirjoittanut ainakin yhden viestin + long_description: | + Tämä arvomerkki myönnetään, kun olet ollut jäsen vuoden ajan ja kirjoittanut sinä aikana ainakin yhden viestin. Kiitos, kun olet yhä keskuudessamme ja antanut panoksesi yhteisön hyväksi. Emme pärjäisi ilman sinua. nice_post: name: Hyvä vastaus description: Vastaus sai 10 tykkäystä + long_description: | + Tämä arvomerkki myönnetään, kun vastauksesi saa 10 tykkäykstä. Teit sillä todellisen vaikutuksen yhteisöön ja edistit keskustelua! good_post: name: Erinomainen vastaus description: Vastaus sai 25 tykkäystä + long_description: | + Tämä arvomerkki myönnetään, kun vastauksesi saa 25 tykkäystä. Vastauksesi oli poikkeuksellinen ja teki keskustelusta todella paljon paremman! great_post: name: Loistava vastaus description: Vastaus sai 50 tykkäystä + long_description: | + Tämä arvomerkki myönnetään, kun vastauksesi saa 50 tykkäystä. Vau! Vastauksesi oli innoittava, hulvaton tai oivaltava, ja yhteisö rakasti sitä. nice_topic: name: Hyvä ketju description: Ketjunavaus sai 10 tykkäystä + long_description: | + Tämä arvomerkki myönnetään, kun luomasi ketju saa 10 tykkäystä. Aloitit kiintoisan keskustelun, josta yhteisö nautti! good_topic: name: Erinomainen ketju description: Ketjunavaus sai 25 tykkäystä diff --git a/config/locales/server.fr.yml b/config/locales/server.fr.yml index 355c0edc42..7f68d0d66d 100644 --- a/config/locales/server.fr.yml +++ b/config/locales/server.fr.yml @@ -1328,34 +1328,8 @@ fr: [mt]: http://www.mail-tester.com/ new_version_mailer: subject_template: "[%{site_name}] Nouvelle version de Discourse, mise à jour disponible" - text_body_template: | - Hourra, une nouvelle version de [Discourse](http://www.discourse.org) est disponible ! :) - - Votre version: %{installed_version} - Nouvelle version: **%{new_version}** - - - Consultez les nouveautés sur le [changelog GitHub](https://github.com/discourse/discourse/commits/master). - - - Mettez à jour depuis votre navigateur sur [%{base_url}/admin/upgrade](%{base_url}/admin/upgrade). - - - Visitez [meta.discourse.org](http://meta.discourse.org) pour des nouvelles, des discussions, et de l'aide concernant Discourse. new_version_mailer_with_notes: subject_template: "[%{site_name}] mise à jour disponible" - text_body_template: | - Hourra, une nouvelle version de [Discourse](http://www.discourse.org) est disponible ! :) - - Votre version: %{installed_version} - Nouvelle version: **%{new_version}** - - - Consultez les nouveautés sur le [changelog GitHub](https://github.com/discourse/discourse/commits/master). - - - Mettez à jour depuis votre navigateur sur [%{base_url}/admin/upgrade](%{base_url}/admin/upgrade). - - - Visitez [meta.discourse.org](http://meta.discourse.org) pour des nouvelles, des discussions, et de l'aide concernant Discourse. - - ### Notes de version - - %{notes} queued_posts_reminder: subject_template: one: "[%{site_name}] 1 message en attente de modération" @@ -1940,8 +1914,6 @@ fr: images: too_large: "Désolé, l'image que vous essayez d'envoyer est trop grande (taille maximum de %{max_size_kb}Ko), merci de le redimensionner et de réessayer." size_not_found: "Désolé, mais nous n'avons pas pu déterminer la taille de votre image. Peut-être est-elle corrompue ?" - avatar: - missing: "Désolé, l'avatar que vous avez séléctionné n'est pas sur le serveur. Veuillez ressayer de le télécharger." flag_reason: sockpuppet: "Un nouvel utilisateur a créé un sujet et un autre nouvel utilisateur avec la même adresse IP a répondu. Voir le paramétrage flag_sockpuppets." spam_hosts: "Cet utilisateur a essayé de créer plusieurs messages avec des liens vers le même domaine. Voir le paramétrage du site newuser_spam_host_threshold." diff --git a/config/locales/server.he.yml b/config/locales/server.he.yml index 1674c98ce0..d15f7b2b33 100644 --- a/config/locales/server.he.yml +++ b/config/locales/server.he.yml @@ -1391,8 +1391,6 @@ he: images: too_large: "סליחה, אך התמונה שאתה מנסה להעלות גדולה מידי. (הגודל המקסימלי הוא %{max_size_kb}KB), אנא שנה את הגודל ונסה שנית." size_not_found: "Sorry, but we couldn't determine the size of the image. Maybe your image is corrupted?" - avatar: - missing: "אנו מתנצלים, אך הסמל שבחרת לא נמצא על השרת. תוכל לנסות להעלותו שוב?" flag_reason: sockpuppet: "A new user created a topic, and another new user at the same IP address replied. See the flag_sockpuppets site setting." spam_hosts: "המשתמש/ת החדשים ניסו ליצור כמה פרסומים עם קישורים לאותו מתחם (domain)ץ ראו את הגדרות האתר (newuser_spam_host_threshold)." diff --git a/config/locales/server.nl.yml b/config/locales/server.nl.yml index 88e54a0aab..041b874c97 100644 --- a/config/locales/server.nl.yml +++ b/config/locales/server.nl.yml @@ -1246,34 +1246,8 @@ nl: subject_template: "[%{site_name}] E-mail Bezorgtest" new_version_mailer: subject_template: "[%{site_name}] Nieuwe Discourse-versie, update beschikbaar" - text_body_template: | - Hoera! Er is een nieuwe versie van [Discourse](http://www.discourse.org) beschikbaar! :) - - Jouw versie: %{installed_version} - Nieuwe versie: **%{new_version}** - - -Kijk wat er nieuw is in de [lijst met veranderingen op GitHub ](https://github.com/discourse/discourse/commits/master). - - - Werk Discourse bij door naar [%{base_url}/admin/upgrade](%{base_url}/admin/upgrade) te gaan. - - - Bezoek [meta.discourse.org](http://meta.discourse.org) voor nieuws, discussie en ondersteuning voor Discourse. new_version_mailer_with_notes: subject_template: "[%{site_name}] Update beschikbaar" - text_body_template: | - Hoera! Er is een nieuwe versie van [Discourse](http://www.discourse.org) beschikbaar! :) - - Jouw versie: %{installed_version} - Nieuwe versie: **%{new_version}** - - -Kijk wat er nieuw is in de [lijst met veranderingen op GitHub ](https://github.com/discourse/discourse/commits/master). - - - Werk Discourse bij door naar [%{base_url}/admin/upgrade](%{base_url}/admin/upgrade) te gaan. - - - Bezoek [meta.discourse.org](http://meta.discourse.org) voor nieuws, discussie en ondersteuning voor Discourse. - - ### Uitgaveopmerkingen - - %{notes} queued_posts_reminder: subject_template: one: "[%{site_name}] 1 bericht wacht op beoordeling" @@ -1615,8 +1589,6 @@ nl: images: too_large: "De afbeelding die je wil uploaden is te groot (maximum grootte is %{max_size_kb}%KB). Verklein de afbeelding en probeer het opnieuw." size_not_found: "Het is niet gelukt de afmetingen van de afbeelding te bepalen. Misschien is het bestand corrupt?" - avatar: - missing: "Sorry, maar de avatar die je hebt geselecteerd, staat niet op de server. Kan je hem nog een keer proberen te uploaden?" 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 nieuwe gebruiker probeerde om meerdere berichten met links naar hetzelfde domein te plaatsen. Zie de newuser_spam_host_threshold instelling." diff --git a/config/locales/server.pt.yml b/config/locales/server.pt.yml index a7a763a16d..9eac10487f 100644 --- a/config/locales/server.pt.yml +++ b/config/locales/server.pt.yml @@ -1321,34 +1321,8 @@ pt: text_body_template: "Este é um email de teste de\n\n[**%{base_url}**][0]\n\nA entrega do email é complicada. Aqui estão alguns pontos importantes a verificar primeiro:\n\n- *Certifique-se* que configurou o `email de notificação` de: endereço correto nas configurações do seu sítio. **O domínio especificado no endereço “de” nos emails que envia é o domínio que será validado**.\n\n- Conhecer como observar o código fonte dos emails no seu email cliente, de modo a que possa examinar cabeçalhos de email à procura de pistas importantes. No Gmail, é a opção “mostrar original” no menu drop down no canto superior direito de cada email.\n\n- **IMPORTANTE:** O seu ISP tem um registo de DNS inverso inserido para associar os nomes de domínio aos endereços IP de onde envia o seu email? [Teste o seu registo de PTR Inverso][2] aqui. Se o seu ISP não inserir o DNS inverso apropriado, é muito improvável que qualquer um dos seus emails seja entregue.\n\n- Estará o seu domínio [registo SPF][8] correto? [Teste o seu registo SPF][1] aqui. Note que TXT é o tipo de registo oficial para SPF.\n\n- Estará o seu domínio [registo DKIM][3] correto? Isto irá melhorar significativamente a entrega de emails. [Teste o seu registo DKIM][7] aqui.\n\n- Se correr o seu próprio servidor de email, certifique-se que os IPs do seu servidor de email não [estão em nenhuma lista negra de email] [4]. Verifique também que é enviado um nome de servidor qualificado que resolve o DNS na sua mensagem HELO. Se não for, isto irá fazer com que o seu email seja rejeitado por muitos serviços de email.\n\n- Recomendamos vivamente que **envie um email de teste para [mail-tester.com][mt]** para verificar que tudo mencionado em cima está a funcionar correctamente.\n\n(A maneira *fácil* é criar uma conta grátis em [SendGrid][sg], [SparkPost][sp], [Mailgun][mg] ou [Mailjet][mj], que fornecem grátis, generosamente grátis, pacotes de envio de emails e será suficiente para pequenas comunidades. Irá precisar na mesma de configurar os registos SPF e o DKIM no seu DNS!)\n\nEsperamos que tenha recebido este teste de entrega de email sem problemas!\n\nBoa sorte, \n\nDos seus amigos em [Discourse](http://www.discourse.org)\n\n[0]: %{base_url}\n[1]: http://www.kitterman.com/spf/validate.html\n[2]: http://mxtoolbox.com/ReverseLookup.aspx\n[3]: http://www.dkim.org/\n[4]: http://whatismyipaddress.com/blacklist-check\n[7]: http://dkimcore.org/tools/dkimrecordcheck.html\n[8]: http://www.openspf.org/SPF_Record_Syntax\n[sg]: https://sendgrid.com/\n[sp]: https://www.sparkpost.com/\n[mg]: http://www.mailgun.com/\n[mj]: https://www.mailjet.com/pricing\n[mt]: http://www.mail-tester.com/\n" new_version_mailer: subject_template: "[%{site_name}] Nova versão Discourse, atualização disponível" - text_body_template: | - Hurra, uma nova versão do [Discourse](http://www.discourse.org) está disponível :) - - A sua versão: %{installed_version} - A nova versão: **%{new_version}** - - - Ver o que há de novo em [GitHub changelog](https://github.com/discourse/discourse/commits/master). - - - Atualizar a partir do seu navegador em [%{base_url}/admin/upgrade](%{base_url}/admin/upgrade). - - - Visitar [meta.discourse.org](http://meta.discourse.org) para notícias, debates, e suporte para o Discourse. new_version_mailer_with_notes: subject_template: "[%{site_name}] atualização disponível" - text_body_template: | - Hurra, uma nova versão do [Discourse](http://www.discourse.org) está disponível :) - - A sua versão: %{installed_version} - A nova versão: **%{new_version}** - - - Ver o que há de novo em [GitHub changelog](https://github.com/discourse/discourse/commits/master). - - - Atualizar a partir do seu navegador em [%{base_url}/admin/upgrade](%{base_url}/admin/upgrade). - - - Visitar [meta.discourse.org](http://meta.discourse.org) para notícias, debates, e suporte para o Discourse. - - ### Notas da versão - - %{notes} queued_posts_reminder: subject_template: one: "[%{site_name}] 1 mensagem à espera de revisão" @@ -1888,8 +1862,6 @@ pt: images: too_large: "Pedimos desculpa, a imagem que está a tentar carregar é muito grande (o tamanho máximo é %{max_size_kb}KB), por favor redimensione-a e tente novamente." size_not_found: "Pedimos desculpa, mas não conseguimos determinar o tamanho da imagem. É possível que seu ficheiro de imagem esteja corrompido?" - avatar: - missing: "Desculpe, mas o avatar que selecionou não está presente no servidor. Pode tentar carregá-lo novamente?" flag_reason: sockpuppet: "Um novo utilizador criou um tópico, no qual um outro novo utilizador com o mesmo IP respondeu. Veja as configurações de flag_sockpuppets" spam_hosts: "Este novo utilizador tentou criar múltiplas mensagens com hiperligações ao mesmo domínio. Verifique as configurações do sítio em newuser_spam_host_threshold." diff --git a/config/locales/server.pt_BR.yml b/config/locales/server.pt_BR.yml index 8ee0083147..a4520fde35 100644 --- a/config/locales/server.pt_BR.yml +++ b/config/locales/server.pt_BR.yml @@ -1427,8 +1427,6 @@ pt_BR: images: too_large: "Desculpe, a imagem que você está tentando enviar é muito grande (o tamanho máximo é %{max_size_kb}KB), por favor a redimensione e tente novamente." size_not_found: "Desculpe, mas não conseguimos determinar o tamanho da imagem. É possível que seu arquivo de imagem esteja corrompido?" - avatar: - missing: "Desculpe, mas o avatar que você selecionou não está presente no servidor. Você pode tentar carregá-lo novamente?" flag_reason: sockpuppet: "Um novo usuário criou um tópico e outro novo usuário no mesmo endereço IP respondeu. Veja a configuração flag_sockpuppets." spam_hosts: "Esse novo usuário tentou criar múltiplas postagens com links do mesmo domínio. Veja a configuração newuser_spam_host_threshold do site." diff --git a/config/locales/server.sk.yml b/config/locales/server.sk.yml index 7461986996..4a6ad4d30e 100644 --- a/config/locales/server.sk.yml +++ b/config/locales/server.sk.yml @@ -1709,8 +1709,6 @@ sk: images: too_large: "Ľutujeme, obrázok, ktorý sa pokúšate nahrať, je príliš veľký (maximálna veľkosť je %{max_size_kb}KB), prosím zmenšite ho a skúste znovu. " size_not_found: "Ľutujeme, ale nepodarilo sa nám zistiť veľkosť obrázku. Nie je nahodou poškodený?" - avatar: - missing: "Ľutujeme, ale Vami vybraný avatar sa nenachádza na serveri. Môžte ho skúsiť znova nahrať?" flag_reason: sockpuppet: "Nový užívateľ vytvoril tému, a iný nový užívateľ odpovedal z tej istej adresy. Pozrite flag_sockpuppets v nastaveniach stránky." spam_hosts: "Tento nový užívateľ sa pokúsil vytvoriť viacero príspevkov s odkazom na rovnakú doménu. Pozrite newuser_spam_host_threshold v nastaveniach stránky." diff --git a/config/locales/server.tr_TR.yml b/config/locales/server.tr_TR.yml index 0090d73e28..e232bd02ef 100644 --- a/config/locales/server.tr_TR.yml +++ b/config/locales/server.tr_TR.yml @@ -1378,8 +1378,6 @@ tr_TR: images: too_large: "Üzgünüz, yüklemeye çalıştığınız resim çok büyük (en fazla %{max_size_kb}KB olabilir), lütfen küçültüp tekrar deneyin." size_not_found: "Üzgünüz, resminizin büyüklüğünü tespit edemedik. Dosya bozuk olabilir mi?" - avatar: - missing: "Üzgünüz, fakat seçmiş olduğunuz avatar sunucuda bulunamadı. Tekrar yüklemeyi deneyebilir misiniz?" flag_reason: sockpuppet: "Yeni bir kullanıcı bir konu oluşturdu ve aynı IP adresinden başka bir yeni kullanıcı cevap yazdı. Site ayarları sayfasında flag_sockpuppets değerine göz atın." spam_hosts: "Bu yeni kullanıcı aynı alan adına bağlantı içeren birden fazla gönderi oluşturmaya çalıştı. Site ayarları sayfasındaki newuser_spam_host_threshold değerine göz atın." diff --git a/config/locales/server.vi.yml b/config/locales/server.vi.yml index d62310340f..9951f5855e 100644 --- a/config/locales/server.vi.yml +++ b/config/locales/server.vi.yml @@ -1116,8 +1116,6 @@ vi: images: too_large: "Xin lỗi, hình bạn tải lên quá lớn (kích thước tối đa %{max_size_kb}KB), Vui lòng chỉnh lại kích thước và thử lại." size_not_found: "Xin lỗi, không thể xác định kích thước hình. Có thể hình của bạn bị lỗi?" - avatar: - missing: "Xin lỗi, hình đại diện bạn chọn không có sãn trên máy chủ. Bạn có thể tải lên lại?" email_log: no_user: "không tìm thấy người dùng với id %{user_id}" anonymous_user: "Người dùng là nặc danh" diff --git a/config/locales/server.zh_CN.yml b/config/locales/server.zh_CN.yml index 3e2d34d4f7..79675ff93b 100644 --- a/config/locales/server.zh_CN.yml +++ b/config/locales/server.zh_CN.yml @@ -160,6 +160,8 @@ zh_CN: private_posts: "最近的私信" group_posts: "%{group_name}组最近的帖子" group_mentions: "%{group_name}组最近的提及" + user_posts: "最新贴子由@%{username}发表" + user_topics: "最新主题由@%{username}发表" too_late_to_edit: "这个主题在很早之前创建。不能被编辑或者被删除。" revert_version_same: "目前的版本和你想要回退至的版本一样。" excerpt_image: "图片" @@ -1317,7 +1319,7 @@ zh_CN: new_version_mailer: subject_template: "[%{site_name}] 有新的 Discourse 版本,可供升级" text_body_template: | - 哇哦,有新版本的 [Discourse](http://www.discourse.org) 可以升级! :) + 哇哦,有新版本的 [Discourse](http://www.discourse.org) 可以升级! 你的版本:%{installed_version} 新的版本:**%{new_version}** @@ -1330,7 +1332,7 @@ zh_CN: new_version_mailer_with_notes: subject_template: "[%{site_name}] 可以升级" text_body_template: | - 哇哦,有新版本的 [Discourse](http://www.discourse.org) 可以升级! :) + 哇哦,有新版本的 [Discourse](http://www.discourse.org) 可以升级! 你的版本:%{installed_version} 新的版本:**%{new_version}** @@ -1340,10 +1342,6 @@ zh_CN: - 浏览器访问 [%{base_url}/admin/upgrade](%{base_url}/admin/upgrade) 升级。 - 访问 [meta.discourse.org(英文)](http://meta.discourse.org) 获取 Discourse 的最新资讯、讨论和支持。也可访问 [meta.discoursecn.org 非官方的中文支持论坛](http://meta.discoursecn.org) 获得支持。 - - ### 发行注记 - - %{notes} queued_posts_reminder: subject_template: other: "[%{site_name}] %{count} 个帖子等待审核" @@ -1557,7 +1555,7 @@ zh_CN: 与你账户关联的邮件地址没有激活,请先激活你的账号再发送邮件。 email_reject_blocked_user: - subject_template: "[%{site_name}] 电子邮件错误 -- 封禁的用户" + subject_template: "[%{site_name}] 电子邮件错误 -- 被封禁的用户" text_body_template: | 我们非常抱歉,但是你发送至 %{destination}(名为%{former_title}) 的邮件出问题了。 @@ -1601,13 +1599,13 @@ zh_CN: 你发邮件到的分类只接受已知邮件的合法账户。如果你坚信这是错误,联系管理人员。 email_reject_invalid_post: - subject_template: "[%{site_name}] 邮件问题 -- 发表错误" + subject_template: "[%{site_name}] 邮件问题 -- 发布时错误" text_body_template: | 我们非常抱歉,但是你发送至 %{destination}(名为%{former_title}) 的邮件出问题了。 可能的原因是:复杂的格式、消息超长、消息太短。请再试一次,如果还不行,使用网站发表。 email_reject_invalid_post_specified: - subject_template: "[%{site_name}] 邮件问题 -- 发表错误" + subject_template: "[%{site_name}] 邮件问题 -- 发布时错误" text_body_template: | 我们非常抱歉,但是你发送至 %{destination}(名为%{former_title}) 的邮件出问题了。 @@ -1740,8 +1738,8 @@ zh_CN: unsubscribe: title: "取消订阅" description: "不再对这些邮件感兴趣?没问题!点击下面按钮来立即取消订阅:" - reply_by_email: "访问[visit the topic](%{base_url}%{url})或回复邮件以回复" - reply_by_email_pm: "[访问消息](%{base_url}%{url})或者用邮件回复" + reply_by_email: "[访问主题](%{base_url}%{url})或者发邮件回复" + reply_by_email_pm: "[访问消息](%{base_url}%{url})或者发邮件回复" only_reply_by_email: "用邮件回复" visit_link_to_respond: "访问[Visit Topic](%{base_url}%{url})以回复" visit_link_to_respond_pm: "访问[Visit Message](%{base_url}%{url})以回复" @@ -2012,7 +2010,7 @@ zh_CN: too_large: "抱歉,你试图上传的图片太大了(最大限制为%{max_size_kb}%KB),请裁剪它并重试。" size_not_found: "抱歉,我们无法获取图片大小,请检查你的图片是否已损坏。" avatar: - missing: "抱歉,但是你选用的头像没有存储在服务器上。你能再重新上传一次么?" + missing: "抱歉,我们没法找到与你邮件地址关联的头像。你能再上传一次试试吗?" flag_reason: sockpuppet: "新用户创建了主题,而另外一个新用户以同一个 IP 在该主题回复。查看站点设置的 flag_sockpuppets。" spam_hosts: "新用户试图创建链接到同一个域名的多个帖子。查看站点设置的 newuser_spam_host_threshold。" @@ -2282,17 +2280,17 @@ zh_CN: 该徽章授予给用户等级达到 1 的成员。感谢你在社群里花了一些时间并且阅读了一些帖子,了解了我们的社群。你的新用户限制已经被取消;并且你已经被授予了所有基本的社群权限,必须个人消息、标记、维基编辑和发布多张图片和多个链接的能力。 member: name: 成员 - description: 授予 邀请、群组消息和更多的赞 + description: 授予邀请、群组消息和更多的赞 long_description: | 该徽章授予给达到用户等级 2 的你。感谢你在社群待了几周,真正融入到了社群中。你现在可以在你的用户页或者主题中邀请他人或者创建群组消息了。每天你也可以点更多次赞了。 regular: name: 活跃用户 - description: 授予 重分类、重命名、跟踪链接、维基功能和更多的赞 + description: 授予重分类、重命名、跟踪链接、维基功能和更多的赞 long_description: | 该徽章授予给达到用户等级 3 的你。感谢你在这几个月持续地参与社群。你现在是我们之中最活跃的读者之一了,你持续的贡献极大地帮助了我们的社群。你现在可以社群待了几周,真正融入到了社群中。你现在可以重新分类或者重命名主题、使用能力强大的垃圾标记功能以及访问隐藏的贵宾分类了。而且每天你可以点更多次赞了。 leader: name: 资深 - description: 授予 全局编辑、固定、关闭、存档、分割、合并和更多的赞 + description: 授予全局编辑、固定、关闭、存档、分割、合并和更多的赞 long_description: | 该徽章授予给达到用户等级 4 的你。你被管理人员选作了社群的领导力量,你用你的行动和言辞为社群树立了正面的形象。你现在可以修改所有帖子,使用常见的版主的主题管理功能,比如置顶、关闭、隐藏、存档、分割和合并功能。你每天可以点更多的赞了。 welcome: @@ -2434,9 +2432,8 @@ zh_CN: admired: name: 敬仰 description: 有 300 个帖子都被赞了 5 次 - long_description: |+ + long_description: | 该徽章授予给 300 个不同的帖子都收到了至少 5 个赞的你。哇!社群敬仰你在讨论中频繁和高质量的贡献。 - out_of_love: name: 热情 description: 1 天内赞了 50 次 @@ -2450,9 +2447,8 @@ zh_CN: crazy_in_love: name: 狂热 description: 20 天都赞过 50 次 - long_description: |+ + long_description: | 该徽章授予给 20 天赞过 50 次的你。哇!你为社群成员们树立了一个令人鼓舞的模范! - thank_you: name: 感谢你 description: 有 20 个被赞的帖子,给出过 10 个赞 diff --git a/config/routes.rb b/config/routes.rb index c8de5b6507..48e134e0d5 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -314,6 +314,11 @@ Discourse::Application.routes.draw do get "users/:username/invited/:filter" => "users#invited", constraints: {username: USERNAME_ROUTE_FORMAT} post "users/action/send_activation_email" => "users#send_activation_email" get "users/:username/summary" => "users#show", constraints: {username: USERNAME_ROUTE_FORMAT} + + # user activity RSS feed + get "users/:username/activity/topics.rss" => "list#user_topics_feed", format: :rss, constraints: {username: USERNAME_ROUTE_FORMAT} + get "users/:username/activity.rss" => "posts#user_posts_feed", format: :rss, constraints: {username: USERNAME_ROUTE_FORMAT} + get "users/:username/activity" => "users#show", constraints: {username: USERNAME_ROUTE_FORMAT} get "users/:username/activity/:filter" => "users#show", constraints: {username: USERNAME_ROUTE_FORMAT} get "users/:username/badges" => "users#show", constraints: {username: USERNAME_ROUTE_FORMAT} diff --git a/docs/INSTALL-cloud.md b/docs/INSTALL-cloud.md index 0bdcb17685..4c0faf053c 100644 --- a/docs/INSTALL-cloud.md +++ b/docs/INSTALL-cloud.md @@ -157,8 +157,10 @@ Do you want... - Users to post replies via email? [Configure reply via email](https://meta.discourse.org/t/set-up-reply-via-email-support/14003). - Automatic daily backups? [Configure backups](https://meta.discourse.org/t/configure-automatic-backups-for-discourse/14855). + +- Free HTTPS / SSL support? [Configure Let's Encrypt](https://meta.discourse.org/t/setting-up-lets-encrypt-cert-with-discourse-docker/40709) -- HTTPS / SSL support? [Configure SSL](https://meta.discourse.org/t/allowing-ssl-for-your-discourse-docker-setup/13847). +- Paid HTTPS / SSL support? [Configure SSL](https://meta.discourse.org/t/allowing-ssl-for-your-discourse-docker-setup/13847). - Multiple Discourse sites on the same server? [Configure multisite](https://meta.discourse.org/t/multisite-configuration-with-docker/14084). diff --git a/lib/email/receiver.rb b/lib/email/receiver.rb index 2211541e1c..f742733c6c 100644 --- a/lib/email/receiver.rb +++ b/lib/email/receiver.rb @@ -118,8 +118,9 @@ module Email end def is_auto_generated? - @mail[:precedence].to_s[/list|junk|bulk|auto_reply/] || - @mail.header.to_s[/auto-(submitted|replied|generated)/] + @mail[:precedence].to_s[/list|junk|bulk|auto_reply/i] || + @mail[:from].to_s[/(mailer-?daemon|postmaster|noreply)@/i] || + @mail.header.to_s[/auto[\-_]?(response|submitted|replied|reply|generated|respond)|holidayreply|machinegenerated/i] end def select_body @@ -161,12 +162,13 @@ module Email return fixed if fixed.present? end - # 2) default to UTF-8 - try_to_encode(string, "UTF-8") + # 2) try most used encodings + try_to_encode(string, "UTF-8") || try_to_encode(string, "ISO-8859-1") end def try_to_encode(string, encoding) - string.encode("UTF-8", encoding) + encoded = string.encode("UTF-8", encoding) + encoded.present? && encoded.valid_encoding? ? encoded : nil rescue Encoding::InvalidByteSequenceError, Encoding::UndefinedConversionError, Encoding::ConverterNotFoundError diff --git a/lib/es6_module_transpiler/tilt/es6_module_transpiler_template.rb b/lib/es6_module_transpiler/tilt/es6_module_transpiler_template.rb index b0d6f1b917..f827746ea7 100644 --- a/lib/es6_module_transpiler/tilt/es6_module_transpiler_template.rb +++ b/lib/es6_module_transpiler/tilt/es6_module_transpiler_template.rb @@ -29,7 +29,7 @@ module Tilt end def self.create_new_context - ctx = V8::Context.new(timeout: 5000) + ctx = V8::Context.new(timeout: 10000) ctx.eval("var self = this; #{File.read(Babel::Transpiler.script_path)}") ctx.eval("module = {}; exports = {};"); ctx.load("#{Rails.root}/lib/es6_module_transpiler/support/es6-module-transpiler.js") diff --git a/lib/javascripts/locale/fa_IR.js b/lib/javascripts/locale/fa_IR.js new file mode 100644 index 0000000000..a830b2cdc1 --- /dev/null +++ b/lib/javascripts/locale/fa_IR.js @@ -0,0 +1,3 @@ +MessageFormat.locale.fa_IR = function ( n ) { + return "other"; +}; diff --git a/lib/javascripts/locale/pl_PL.js b/lib/javascripts/locale/pl_PL.js new file mode 100644 index 0000000000..0543789316 --- /dev/null +++ b/lib/javascripts/locale/pl_PL.js @@ -0,0 +1,15 @@ +MessageFormat.locale.pl_PL = function (n) { + if (n == 1) { + return 'one'; + } + if ((n % 10) >= 2 && (n % 10) <= 4 && + ((n % 100) < 12 || (n % 100) > 14) && n == Math.floor(n)) { + return 'few'; + } + if ((n % 10) === 0 || n != 1 && (n % 10) == 1 || + ((n % 10) >= 5 && (n % 10) <= 9 || (n % 100) >= 12 && (n % 100) <= 14) && + n == Math.floor(n)) { + return 'many'; + } + return 'other'; +}; diff --git a/lib/javascripts/locale/tr_TR.js b/lib/javascripts/locale/tr_TR.js new file mode 100644 index 0000000000..83d9c02c96 --- /dev/null +++ b/lib/javascripts/locale/tr_TR.js @@ -0,0 +1,3 @@ +MessageFormat.locale.tr_TR = function(n) { + return 'other'; +}; diff --git a/lib/post_destroyer.rb b/lib/post_destroyer.rb index f0b188082e..9d35572f0f 100644 --- a/lib/post_destroyer.rb +++ b/lib/post_destroyer.rb @@ -65,6 +65,7 @@ class PostDestroyer def staff_recovered @post.recover! @post.publish_change_to_clients! :recovered + TopicTrackingState.publish_recover(@post.topic) if @post.topic && @post.post_number == 1 end # When a post is properly deleted. Well, it's still soft deleted, but it will no longer @@ -96,6 +97,7 @@ class PostDestroyer feature_users_in_the_topic if @post.topic @post.publish_change_to_clients! :deleted if @post.topic + TopicTrackingState.publish_delete(@post.topic) if @post.topic && @post.post_number == 1 end # When a user 'deletes' their own post. We just change the text. diff --git a/lib/post_revisor.rb b/lib/post_revisor.rb index ccd16c0878..9881274d72 100644 --- a/lib/post_revisor.rb +++ b/lib/post_revisor.rb @@ -175,6 +175,7 @@ class PostRevisor end def ninja_edit? + return false if @post.has_active_flag? @revised_at - @last_version_at <= SiteSetting.editing_grace_period.to_i end diff --git a/lib/pretty_text.rb b/lib/pretty_text.rb index 3f30fbd3f5..cfd9b53c27 100644 --- a/lib/pretty_text.rb +++ b/lib/pretty_text.rb @@ -78,7 +78,7 @@ module PrettyText def self.create_new_context # timeout any eval that takes longer that 5 seconds - ctx = V8::Context.new(timeout: 5000) + ctx = V8::Context.new(timeout: 10000) ctx["helpers"] = Helpers.new diff --git a/lib/version.rb b/lib/version.rb index 407ea4e310..48cc209af3 100644 --- a/lib/version.rb +++ b/lib/version.rb @@ -3,9 +3,9 @@ module Discourse unless defined? ::Discourse::VERSION module VERSION #:nodoc: MAJOR = 1 - MINOR = 5 + MINOR = 6 TINY = 0 - PRE = 'beta14' + PRE = 'beta1' STRING = [MAJOR, MINOR, TINY, PRE].compact.join('.') end diff --git a/script/import_scripts/mbox.rb b/script/import_scripts/mbox.rb index 7e93c9e5c6..cf50d1aed9 100755 --- a/script/import_scripts/mbox.rb +++ b/script/import_scripts/mbox.rb @@ -95,7 +95,28 @@ class ImportScripts::Mbox < ImportScripts::Base end def clean_title(title) - title.gsub(/^Re: */i, '') + #Strip mailing list name from subject + title = title.gsub(/\[[^\]]+\]+/, '').strip + + original_length = title.length + + #Strip Reply prefix from title (Standard and localized) + title = title.gsub(/^Re: */i, '') + title = title.gsub(/^R: */i, '') #Italian + title = title.gsub(/^RIF: */i, '') #Italian + + #Strip Forward prefix from title (Standard and localized) + title = title.gsub(/^Fwd: */i, '') + title = title.gsub(/^I: */i, '') #Italian + + title.strip + + #In case of mixed localized prefixes there could be many of them if the mail client didn't strip the localized ones + if original_length > title.length + clean_title(title) + else + title + end end def clean_raw(raw) @@ -156,7 +177,23 @@ class ImportScripts::Mbox < ImportScripts::Base raw = selected.force_encoding(selected.encoding).encode("UTF-8") - title = mail.subject.gsub(/\[[^\]]+\]+/, '').strip + title = mail.subject + + # import the attachments + mail.attachments.each do |attachment| + tmp = Tempfile.new("discourse-email-attachment") + begin + # read attachment + File.open(tmp.path, "w+b") { |f| f.write attachment.body.decoded } + # create the upload for the user + upload = Upload.create_for(user_id_from_imported_user_id(mail.from.first) || Discourse::SYSTEM_USER_ID, tmp, attachment.filename, tmp.size ) + if upload && upload.errors.empty? + raw << "\n\n#{receiver.attachment_markdown(upload)}\n\n" + end + ensure + tmp.try(:close!) rescue nil + end + end { id: t['id'], title: clean_title(title), @@ -197,6 +234,22 @@ class ImportScripts::Mbox < ImportScripts::Base selected = receiver.select_body raw = selected.force_encoding(selected.encoding).encode("UTF-8") + # import the attachments + mail.attachments.each do |attachment| + tmp = Tempfile.new("discourse-email-attachment") + begin + # read attachment + File.open(tmp.path, "w+b") { |f| f.write attachment.body.decoded } + # create the upload for the user + upload = Upload.create_for(user_id_from_imported_user_id(mail.from.first) || Discourse::SYSTEM_USER_ID, tmp, attachment.filename, tmp.size ) + if upload && upload.errors.empty? + raw << "\n\n#{receiver.attachment_markdown(upload)}\n\n" + end + ensure + tmp.try(:close!) rescue nil + end + end + { id: id, topic_id: topic_id, user_id: user_id_from_imported_user_id(mail.from.first) || Discourse::SYSTEM_USER_ID, diff --git a/script/import_scripts/phpbb3/database/database.rb b/script/import_scripts/phpbb3/database/database.rb index 731f05b8a1..b63d035633 100644 --- a/script/import_scripts/phpbb3/database/database.rb +++ b/script/import_scripts/phpbb3/database/database.rb @@ -34,6 +34,7 @@ module ImportScripts::PhpBB3 def create_database_client Mysql2::Client.new( host: @database_settings.host, + port: @database_settings.port, username: @database_settings.username, password: @database_settings.password, database: @database_settings.schema diff --git a/script/import_scripts/phpbb3/settings.yml b/script/import_scripts/phpbb3/settings.yml index 279900feef..4e7cb9bcb4 100644 --- a/script/import_scripts/phpbb3/settings.yml +++ b/script/import_scripts/phpbb3/settings.yml @@ -3,6 +3,7 @@ database: type: MySQL # currently only MySQL is supported - more to come soon host: localhost + port: 3306 username: root password: schema: phpbb diff --git a/script/import_scripts/phpbb3/support/settings.rb b/script/import_scripts/phpbb3/support/settings.rb index 1c68c5f8b7..e2182a0bc7 100644 --- a/script/import_scripts/phpbb3/support/settings.rb +++ b/script/import_scripts/phpbb3/support/settings.rb @@ -61,6 +61,7 @@ module ImportScripts::PhpBB3 class DatabaseSettings attr_reader :type attr_reader :host + attr_reader :port attr_reader :username attr_reader :password attr_reader :schema @@ -70,6 +71,7 @@ module ImportScripts::PhpBB3 def initialize(yaml) @type = yaml['type'] @host = yaml['host'] + @port = yaml['port'] @username = yaml['username'] @password = yaml['password'] @schema = yaml['schema'] diff --git a/spec/controllers/posts_controller_spec.rb b/spec/controllers/posts_controller_spec.rb index 635798e8d9..da23e399cf 100644 --- a/spec/controllers/posts_controller_spec.rb +++ b/spec/controllers/posts_controller_spec.rb @@ -108,6 +108,24 @@ describe PostsController do end end + describe 'user_posts_feed' do + let(:user) { log_in } + let!(:public_topic) { Fabricate(:topic) } + let!(:post) { Fabricate(:post, user: user, topic: public_topic) } + let!(:private_topic) { Fabricate(:topic, archetype: Archetype.private_message, category: nil) } + let!(:private_post) { Fabricate(:post, user: user, topic: private_topic) } + let!(:topicless_post) { Fabricate(:post, user: user, raw: 'Car 54, where are you?
') } + + it 'returns public posts with topic for rss' do + topicless_post.update topic_id: -100 + xhr :get, :user_posts_feed, username: user.username, format: :rss + expect(response).to be_success + expect(assigns(:posts)).to include post + expect(assigns(:posts)).to_not include private_post + expect(assigns(:posts)).to_not include topicless_post + end + end + describe 'cooked' do before do post = Post.new(cooked: 'wat') diff --git a/spec/models/post_spec.rb b/spec/models/post_spec.rb index 369763284e..33f9f7d4c2 100644 --- a/spec/models/post_spec.rb +++ b/spec/models/post_spec.rb @@ -137,11 +137,12 @@ describe Post do end describe 'flagging helpers' do - it 'isFlagged is accurate' do - post = Fabricate(:post) - user = Fabricate(:coding_horror) - PostAction.act(user, post, PostActionType.types[:off_topic]) + let(:post) { Fabricate(:post) } + let(:user) { Fabricate(:coding_horror) } + let(:admin) { Fabricate(:admin) } + it 'isFlagged is accurate' do + PostAction.act(user, post, PostActionType.types[:off_topic]) post.reload expect(post.is_flagged?).to eq(true) @@ -149,6 +150,16 @@ describe Post do post.reload expect(post.is_flagged?).to eq(false) end + + it 'has_active_flag is accurate' do + PostAction.act(user, post, PostActionType.types[:spam]) + post.reload + expect(post.has_active_flag?).to eq(true) + + PostAction.defer_flags!(post, admin) + post.reload + expect(post.has_active_flag?).to eq(false) + end end describe "maximum images" do