monologue 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +13 -5
  2. data/README.md +47 -23
  3. data/app/assets/javascripts/monologue/admin/application.js +2 -1
  4. data/app/assets/javascripts/monologue/blog/archive.js +11 -0
  5. data/app/assets/stylesheets/monologue/blog/monologue.css +27 -0
  6. data/app/controllers/monologue/admin/base_controller.rb +2 -8
  7. data/app/controllers/monologue/admin/posts_controller.rb +11 -9
  8. data/app/controllers/monologue/admin/users_controller.rb +6 -3
  9. data/app/controllers/monologue/application_controller.rb +16 -12
  10. data/app/controllers/monologue/controller_helpers/auth.rb +21 -0
  11. data/app/controllers/monologue/controller_helpers/user.rb +18 -0
  12. data/app/controllers/monologue/posts_controller.rb +1 -3
  13. data/app/controllers/monologue/tags_controller.rb +2 -3
  14. data/app/helpers/monologue/application_helper.rb +7 -7
  15. data/app/helpers/monologue/tags_helper.rb +1 -1
  16. data/app/models/monologue/post.rb +7 -9
  17. data/app/models/monologue/tag.rb +1 -3
  18. data/app/models/monologue/tagging.rb +1 -3
  19. data/app/models/monologue/user.rb +1 -3
  20. data/app/views/layouts/monologue/admin/_nav_bar.html.erb +1 -4
  21. data/app/views/layouts/monologue/application.html.erb +2 -2
  22. data/app/views/layouts/monologue/application/_disqus.html.erb +1 -1
  23. data/app/views/layouts/monologue/application/_disqus_embed.html.erb +1 -1
  24. data/app/views/layouts/monologue/application/_fb_open_graph.html.erb +3 -3
  25. data/app/views/layouts/monologue/application/_gauge_analytics.html.erb +2 -2
  26. data/app/views/layouts/monologue/application/_google_analytics.html.erb +2 -2
  27. data/app/views/layouts/monologue/application/_head.html.erb +1 -1
  28. data/app/views/layouts/monologue/application/_meta_description.html.erb +1 -1
  29. data/app/views/layouts/monologue/application/_sidebar.html.erb +2 -2
  30. data/app/views/layouts/monologue/application/_twitter_cards.html.erb +3 -3
  31. data/app/views/monologue/admin/comments/show.html.erb +1 -1
  32. data/app/views/monologue/posts/_social_sharing.html.erb +4 -4
  33. data/app/views/monologue/posts/feed.rss.builder +4 -4
  34. data/app/views/monologue/sidebar/_archive.html.erb +27 -0
  35. data/app/views/monologue/sidebar/_latest_tweets.html.erb +2 -2
  36. data/config/locales/de.yml +136 -0
  37. data/config/locales/en.yml +0 -12
  38. data/config/locales/fr.yml +1 -13
  39. data/config/locales/it.yml +0 -12
  40. data/config/locales/pt.yml +0 -12
  41. data/config/locales/ro.yml +0 -12
  42. data/config/locales/tr.yml +136 -0
  43. data/config/routes.rb +0 -3
  44. data/db/migrate/20130108123111_move_user_id_to_post.rb +0 -1
  45. data/db/migrate/20130509015400_merge_revisions_into_posts.rb +1 -2
  46. data/lib/monologue.rb +2 -36
  47. data/lib/monologue/configuration.rb +40 -0
  48. data/lib/monologue/configuration_extensions.rb +21 -0
  49. data/lib/monologue/engine.rb +8 -0
  50. data/lib/monologue/version.rb +1 -1
  51. data/vendor/assets/javascripts/monologue/bootstrap/bootstrap-datepicker-tr.js +7 -0
  52. metadata +56 -54
  53. data/app/controllers/monologue/admin/cache_controller.rb +0 -27
  54. data/app/sweepers/monologue/posts_sweeper.rb +0 -42
  55. data/app/sweepers/monologue/total_sweeper.rb +0 -5
  56. data/app/views/monologue/admin/cache/_config.html.erb +0 -18
  57. data/app/views/monologue/admin/cache/how_to_enable.html.erb +0 -6
  58. data/app/views/monologue/admin/cache/show.html.erb +0 -26
  59. data/lib/tasks/monologue_cache.rake +0 -26
@@ -5,7 +5,7 @@ module Monologue
5
5
  NUMBER_OF_LABEL_SIZES = 5
6
6
 
7
7
  def tag_url(tag)
8
- "#{Monologue::Engine.routes.url_helpers.root_path}tags/#{tag.name.downcase}"
8
+ "#{Monologue::Engine.routes.url_helpers.root_path}tags/#{URI.encode(tag.name.mb_chars.to_s.downcase)}"
9
9
  end
10
10
 
11
11
  def label_for_tag(tag, min, max)
@@ -1,15 +1,13 @@
1
1
  class Monologue::Post < ActiveRecord::Base
2
2
  has_many :taggings
3
- has_many :tags, through: :taggings, dependent: :destroy
3
+ has_many :tags, -> { order "id ASC" }, through: :taggings, dependent: :destroy
4
4
  before_validation :generate_url
5
5
  belongs_to :user
6
6
 
7
- attr_accessible :title, :content, :url, :published, :published_at, :tag_list
7
+ scope :default, -> {order("published_at DESC, monologue_posts.created_at DESC, monologue_posts.updated_at DESC") }
8
+ scope :published, -> { default.where(published: true).where("published_at <= ?", DateTime.now) }
8
9
 
9
- scope :default, order("published_at DESC, monologue_posts.created_at DESC, monologue_posts.updated_at DESC")
10
- scope :published, lambda { default.where(published: true).where("published_at <= ?", DateTime.now) }
11
-
12
- default_scope includes(:tags)
10
+ default_scope{includes(:tags)}
13
11
 
14
12
  validates :user_id, presence: true
15
13
  validates :title, :content, :url, :published_at, presence: true
@@ -26,7 +24,7 @@ class Monologue::Post < ActiveRecord::Base
26
24
 
27
25
  def tag!(tags_attr)
28
26
  self.tags = tags_attr.map(&:strip).reject(&:blank?).map do |tag|
29
- Monologue::Tag.find_or_create_by_name(tag)
27
+ Monologue::Tag.where(name: tag).first_or_create
30
28
  end
31
29
  end
32
30
 
@@ -39,10 +37,10 @@ class Monologue::Post < ActiveRecord::Base
39
37
  end
40
38
 
41
39
  def self.page p
42
- per_page = Monologue.posts_per_page || 10
40
+ per_page = Monologue::Config.posts_per_page || 10
43
41
  set_total_pages(per_page)
44
42
  p = (p.nil? ? 0 : p.to_i - 1)
45
- offset = p * per_page
43
+ offset = p * per_page
46
44
  self.limit(per_page).offset(offset)
47
45
  end
48
46
 
@@ -1,6 +1,4 @@
1
1
  class Monologue::Tag < ActiveRecord::Base
2
- attr_accessible :name
3
-
4
2
  validates :name, uniqueness: true,presence: true
5
3
  has_many :taggings
6
4
  has_many :posts,through: :taggings
@@ -12,4 +10,4 @@ class Monologue::Tag < ActiveRecord::Base
12
10
  def frequency
13
11
  posts_with_tag.size
14
12
  end
15
- end
13
+ end
@@ -1,6 +1,4 @@
1
1
  class Monologue::Tagging < ActiveRecord::Base
2
2
  belongs_to :post
3
3
  belongs_to :tag
4
-
5
- attr_accessible :tag_id
6
- end
4
+ end
@@ -1,8 +1,6 @@
1
1
  class Monologue::User < ActiveRecord::Base
2
2
  has_many :posts
3
3
 
4
- attr_accessible :name, :email, :password, :password_confirmation
5
-
6
4
  has_secure_password
7
5
 
8
6
  validates_presence_of :password, on: :create
@@ -15,4 +13,4 @@ class Monologue::User < ActiveRecord::Base
15
13
  return false if user.posts.any?
16
14
  true
17
15
  end
18
- end
16
+ end
@@ -10,9 +10,6 @@
10
10
 
11
11
  <ul class="nav pull-right" data-monologue="nav-bar-right">
12
12
  <%= activable_li_tag_with_link t(".users"), admin_users_path %>
13
- <% if ActionController::Base.perform_caching %>
14
- <%= activable_li_tag_with_link t(".cache"), admin_cache_path %>
15
- <% end %>
16
13
  <li id="fat-menu" class="dropdown">
17
14
  <a href="#" id="settings" data-toggle="dropdown"><%= t(".settings") %> <b class="caret"></b></a>
18
15
  <ul class="dropdown-menu" role="menu" aria-labelledby="settings">
@@ -24,4 +21,4 @@
24
21
 
25
22
  </div>
26
23
  </div>
27
- </div>
24
+ </div>
@@ -10,8 +10,8 @@
10
10
  <div class="container">
11
11
  <header class="main-header sixteen columns clearfix">
12
12
  <%= rss_icon %>
13
- <h1><a href="<%= root_path %>"><%=Monologue.site_name%></a></h1>
14
- <h2><%=Monologue.site_subtitle%></h2>
13
+ <h1><a href="<%= root_path %>"><%=Monologue::Config.site_name%></a></h1>
14
+ <h2><%=Monologue::Config.site_subtitle%></h2>
15
15
  <%= render partial: "layouts/monologue/application/social_icons" %>
16
16
  </header>
17
17
 
@@ -1,6 +1,6 @@
1
1
  <script type="text/javascript">
2
2
  /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
3
- var disqus_shortname = '<%= Monologue.disqus_shortname%>'; // required: replace example with your forum shortname
3
+ var disqus_shortname = '<%= Monologue::Config.disqus_shortname%>'; // required: replace example with your forum shortname
4
4
 
5
5
  <% if Rails.env.development? %>
6
6
  var disqus_developer = 1; // developer mode is on
@@ -1,6 +1,6 @@
1
1
  <script type="text/javascript">
2
2
  /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
3
- var disqus_shortname = '<%= Monologue.disqus_shortname%>'; // required: replace example with your forum shortname
3
+ var disqus_shortname = '<%= Monologue::Config.disqus_shortname%>'; // required: replace example with your forum shortname
4
4
 
5
5
  <% if Rails.env.development? %>
6
6
  var disqus_developer = 1; // developer mode is on
@@ -1,7 +1,7 @@
1
1
  <meta property="og:title" content="<%= monologue_accurate_title %>"/>
2
2
  <meta property="og:type" content="<%= controller.action_name == "show" ? "article" : "blog" %>"/>
3
3
  <meta property="og:url" content="<%= request.protocol %><%= request.host_with_port %><%= request.path.gsub("//","/") %>"/>
4
- <meta property="og:site_name" content="<%= Monologue.site_name %>"/>
5
- <% if Monologue.facebook_logo%>
6
- <meta property="og:image" content="<%= absolute_image_url(image_path(Monologue.facebook_logo)) %>" />
4
+ <meta property="og:site_name" content="<%= Monologue::Config.site_name %>"/>
5
+ <% if Monologue::Config.facebook_logo%>
6
+ <meta property="og:image" content="<%= absolute_image_url(image_path(Monologue::Config.facebook_logo)) %>" />
7
7
  <% end %>
@@ -1,4 +1,4 @@
1
- <% unless Monologue.gauge_analytics_site_id.nil? %>
1
+ <% unless Monologue::Config.gauge_analytics_site_id.nil? %>
2
2
  <script type="text/javascript">
3
3
  var _gauges = _gauges || [];
4
4
  (function() {
@@ -6,7 +6,7 @@
6
6
  t.type = 'text/javascript';
7
7
  t.async = true;
8
8
  t.id = 'gauges-tracker';
9
- t.setAttribute('data-site-id', '<%= Monologue.gauge_analytics_site_id %>');
9
+ t.setAttribute('data-site-id', '<%= Monologue::Config.gauge_analytics_site_id %>');
10
10
  t.src = '//secure.gaug.es/track.js';
11
11
  var s = document.getElementsByTagName('script')[0];
12
12
  s.parentNode.insertBefore(t, s);
@@ -1,8 +1,8 @@
1
- <% unless Monologue.google_analytics_id.nil? %>
1
+ <% unless Monologue::Config.google_analytics_id.nil? %>
2
2
  <script type="text/javascript">
3
3
 
4
4
  var _gaq = _gaq || [];
5
- _gaq.push(['_setAccount', '<%= Monologue.google_analytics_id %>']);
5
+ _gaq.push(['_setAccount', '<%= Monologue::Config.google_analytics_id %>']);
6
6
  _gaq.push(['_trackPageview']);
7
7
 
8
8
  (function() {
@@ -3,7 +3,7 @@
3
3
  <%= render "layouts/monologue/application/meta_description" %>
4
4
  <%= render "layouts/monologue/application/fb_open_graph" %>
5
5
  <%= render "layouts/monologue/application/twitter_cards" %>
6
- <meta name="keyword" content="<%=Monologue.meta_keyword%>">
6
+ <meta name="keyword" content="<%=Monologue::Config.meta_keyword%>">
7
7
 
8
8
  <meta http-equiv="content-type" content="text/html;charset=utf-8">
9
9
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
@@ -1 +1 @@
1
- <meta name="description" content="<%= content_for?(:meta_description) ? yield(:meta_description) : Monologue.meta_description %>" />
1
+ <meta name="description" content="<%= content_for?(:meta_description) ? yield(:meta_description) : Monologue::Config.meta_description %>" />
@@ -1,6 +1,6 @@
1
- <% if Monologue.sidebar %>
1
+ <% if Monologue::Config.sidebar %>
2
2
  <aside class="sidebar four columns">
3
- <% Monologue.sidebar.each do |ext| %>
3
+ <% Monologue::Config.sidebar.each do |ext| %>
4
4
  <%= render partial: "monologue/sidebar/#{ext}" %>
5
5
  <% end %>
6
6
  </aside>
@@ -1,7 +1,7 @@
1
1
  <meta name="twitter:card" content="summary">
2
- <% if Monologue.twitter_username %>
3
- <meta name="twitter:site" content="<%= Monologue.twitter_username %>">
2
+ <% if Monologue::Config.twitter_username %>
3
+ <meta name="twitter:site" content="<%= Monologue::Config.twitter_username %>">
4
4
  <% end %>
5
5
  <meta name="twitter:url" content="<%= request.protocol %><%= request.host_with_port %><%= request.path.gsub("//","/") %>">
6
6
  <meta name="twitter:title" content="<%= monologue_accurate_title %>">
7
- <meta name="twitter:description" content="<%= content_for?(:meta_description) ? yield(:meta_description) : Monologue.meta_description %>">
7
+ <meta name="twitter:description" content="<%= content_for?(:meta_description) ? yield(:meta_description) : Monologue::Config.meta_description %>">
@@ -1,4 +1,4 @@
1
1
  <div id="recentcomments" class="dsq-widget">
2
2
  <h1 class="dsq-widget-title"><%= t(".recent_comments") %></h1>
3
- <script type="text/javascript" src="//<%= Monologue.disqus_shortname%>.disqus.com/recent_comments_widget.js?num_items=20&hide_avatars=0&avatar_size=48&excerpt_length=500"></script>
3
+ <script type="text/javascript" src="//<%= Monologue::Config.disqus_shortname%>.disqus.com/recent_comments_widget.js?num_items=20&hide_avatars=0&avatar_size=48&excerpt_length=500"></script>
4
4
  </div>
@@ -8,7 +8,7 @@
8
8
 
9
9
  <!-- Placez cet appel d'affichage à l'endroit approprié. -->
10
10
  <script type="text/javascript">
11
- window.___gcfg = {lang: '<%=Monologue.google_plusone_locale || "en" %>'};
11
+ window.___gcfg = {lang: '<%=Monologue::Config.google_plusone_locale || "en" %>'};
12
12
 
13
13
  (function() {
14
14
  var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
@@ -21,9 +21,9 @@
21
21
  <div id="twitter">
22
22
  <!-- TWITTER -->
23
23
  <a href="https://twitter.com/share" class="twitter-share-button"
24
- data-lang="<%= Monologue.twitter_locale || "en" %>"
24
+ data-lang="<%= Monologue::Config.twitter_locale || "en" %>"
25
25
  data-url="<%= request.protocol %><%= request.host_with_port %><%= request.path.gsub("//","/") %>"
26
- data-via="<%=Monologue.twitter_username%>"
26
+ data-via="<%=Monologue::Config.twitter_username%>"
27
27
  data-text="<%=@post.title%>"
28
28
  data-count="horizontal">Tweet</a>
29
29
 
@@ -39,7 +39,7 @@
39
39
  var js, fjs = d.getElementsByTagName(s)[0];
40
40
  if (d.getElementById(id)) return;
41
41
  js = d.createElement(s); js.id = id;
42
- js.src = "//connect.facebook.net/<%= Monologue.facebook_like_locale || "en_US" %>/all.js#xfbml=1&appId=288133081204194";
42
+ js.src = "//connect.facebook.net/<%= Monologue::Config.facebook_like_locale || "en_US" %>/all.js#xfbml=1&appId=288133081204194";
43
43
  fjs.parentNode.insertBefore(js, fjs);
44
44
  }(document, 'script', 'facebook-jssdk'));</script>
45
45
  <div class="fb-like" data-send="false" data-width="450" data-show-faces="false"></div>
@@ -1,8 +1,8 @@
1
1
  xml.instruct! :xml, version: "1.0"
2
2
  xml.rss version: "2.0" do
3
3
  xml.channel do
4
- xml.title Monologue.site_name
5
- xml.description Monologue.meta_description
4
+ xml.title Monologue::Config.site_name
5
+ xml.description Monologue::Config.meta_description
6
6
  xml.link root_url
7
7
 
8
8
  for post in @posts
@@ -10,8 +10,8 @@ xml.rss version: "2.0" do
10
10
  xml.title post.title
11
11
  xml.description raw(post.content)
12
12
  xml.pubDate post.published_at.to_s(:rfc822)
13
- xml.link Monologue.site_url + post.full_url
14
- xml.guid Monologue.site_url + post.full_url
13
+ xml.link Monologue::Config.site_url + post.full_url
14
+ xml.guid Monologue::Config.site_url + post.full_url
15
15
  end
16
16
  end
17
17
  end
@@ -0,0 +1,27 @@
1
+ <%= sidebar_section_for(t(".archive")) do %>
2
+ <div class="archive">
3
+ <ul>
4
+ <% DateTime.now.year.downto(@first_post_year) do |year| %>
5
+ <li>
6
+ <span class="js-year blog-year" ><%= year %></span>
7
+ <ul class="js-months" style="display:none">
8
+ <% 12.downto(1) do |month|
9
+ year_month = "#{year} #{month}"
10
+ %>
11
+ <% if @archive_posts[year_month]%>
12
+ <li>
13
+ <span class="js-month blog-month" ><%= Date::MONTHNAMES[month] %></span>
14
+ <ul class="js-posts" style="display:none">
15
+ <% @archive_posts[year_month].sort.reverse.each do |post| %>
16
+ <li><%= link_to post.title, post.full_url %></li>
17
+ <% end %>
18
+ </ul>
19
+ </li>
20
+ <% end %>
21
+ <% end %>
22
+ </ul>
23
+ </li>
24
+ <% end %>
25
+ </ul>
26
+ </div>
27
+ <% end %>
@@ -1,8 +1,8 @@
1
- <% unless Monologue.twitter_username.nil? %>
1
+ <% unless Monologue::Config.twitter_username.nil? %>
2
2
  <%= sidebar_section_for(t(".title")) do %>
3
3
  <ul id="latest_tweets">
4
4
  <li id="tweet_template" style="display:none;">{{text}}</li>
5
5
  </ul>
6
- <script type="text/javascript" src="https://api.twitter.com/1/statuses/user_timeline/<%= Monologue.twitter_username %>.json?callback=TwitterWidget.callback&amp;count=5"></script>
6
+ <script type="text/javascript" src="https://api.twitter.com/1/statuses/user_timeline/<%= Monologue::Config.twitter_username %>.json?callback=TwitterWidget.callback&amp;count=5"></script>
7
7
  <% end %>
8
8
  <% end %>
@@ -0,0 +1,136 @@
1
+ de:
2
+ monologue:
3
+ posts:
4
+ pagination:
5
+ older_posts: "Ältere Beitrag"
6
+ newer_posts: "Neuere Beitrag"
7
+ social_sharing:
8
+ tagline: "Magst du was du liest? Teile es!"
9
+ post:
10
+ readmore: "Lese mehr"
11
+ "404":
12
+ title: "Die Seite nach dem Sie gesucht haben existiert nicht."
13
+ message: "Vielleicht haben Sie die falsche Adresse eingegeben oder sie wurde verschoben."
14
+ sidebar:
15
+ categories:
16
+ title: "Kategorien"
17
+ latest_posts:
18
+ title: "Letzte Beiträge"
19
+ latest_tweets:
20
+ title: "Letzte Tweets"
21
+ tag_cloud:
22
+ title: "Tags"
23
+ tags:
24
+ show:
25
+ showing_post_with_tag: "Zeige alle Beiträge mit tag"
26
+ show_all_posts: "Zeige alle Beiträge"
27
+ admin:
28
+ login:
29
+ need_auth: "Sie müssen sich erst anmelden um in den Admin-Bereich zu kommen"
30
+ users:
31
+ form:
32
+ email: "Email"
33
+ name: "Name"
34
+ password: "Passwort"
35
+ password_confirmation: "Password Bestätigung"
36
+ edit:
37
+ header: "Bearbeite dein Zugang"
38
+ save: "Speichern"
39
+ new:
40
+ create: "Erstelle"
41
+ header: "Benutzer hinzufügen"
42
+ create:
43
+ success: "Benutzer erstellt"
44
+ delete:
45
+ removed: "Benutzer '%{user}' erfolgreich entfernt"
46
+ failed: "Benutzer '%{user}' konnte nicht entfernt werden"
47
+ index:
48
+ email: "Email"
49
+ name: "Name"
50
+ edit: "Bearbeiten"
51
+ delete: "Löschen"
52
+ create: "Erstellen"
53
+ posts:
54
+ index:
55
+ title: "Titel"
56
+ edit: "Bearbeiten"
57
+ delete: "Löschen"
58
+ published: "Yes"
59
+ not_published: "Nicht veröffentlicht"
60
+ status: "Veröffentlichen ?"
61
+ new:
62
+ header: "Neuer Monologue"
63
+ create:
64
+ saved: "Monologue erstellt"
65
+ saved_with_future_date_and_cache: "Monologue erstellt: Beiträge mit Zukunft Veröffentlichungsdatum wird nicht angezeigt, es sei denn, der Cache wird am selben Tag gelöscht. Wahrscheinlich wird der Cache vorher erzeugt und wird nicht automatisch aktualisiert."
66
+ edit:
67
+ header: "bearbeiten"
68
+ update:
69
+ saved_with_future_date_and_cache: "Monologue gespeichert: Beiträge mit Zukunft Veröffentlichungsdatum wird nicht angezeigt, es sei denn, der Cache wird am selben Tag gelöscht. Wahrscheinlich wird der Cache vorher erzeugt und wird nicht automatisch aktualisiert."
70
+ saved: "Monologue gespeichert"
71
+ delete:
72
+ removed: "Monologue entfernt"
73
+ fail: "Entfernt von monologue fehlgeschlagen!"
74
+ form:
75
+ title: "Titel"
76
+ content: "Inhalt"
77
+ url:
78
+ caption: "URL<br/><i> Dies wird mit dem Stadard URL befüllt. '%{default_url}'. Sie können sich Ihr eigene URL einfügen. Fügen sie kein '%{root}' am Anfang ihrer URL.</i>"
79
+ generated_title: "ihr-beitrags-titel"
80
+ published_at: "veröffentlicht am"
81
+ published: "Veröffentlicht"
82
+ save: "Speichern"
83
+ preview: "Vorschau"
84
+ close: "Schliesen"
85
+ tags: "Tags"
86
+ comments:
87
+ show:
88
+ recent_comments: "Neuste Kommentare"
89
+ sessions:
90
+ new:
91
+ title: "Anmelden"
92
+ email: "Email"
93
+ password: "Passwort"
94
+ button: "anmelden"
95
+ messages:
96
+ invalid: "Fehlerhafte Email oder Passwort"
97
+ logged_in: "Angemeldet!"
98
+ logged_out: "Abgemeldet!"
99
+ layouts:
100
+ monologue:
101
+ admin:
102
+ nav_bar:
103
+ add_a_monologue: "Monologue hinzufügen"
104
+ list_monologues: "Liste der Monologue"
105
+ comments: "Kommentare"
106
+ cache: "Cache managen"
107
+ edit_user_info: "Mein Zugang"
108
+ settings: "Einstellung"
109
+ log_out: "Abmelden"
110
+ users: "Benutzer"
111
+ activerecord:
112
+ attributes:
113
+ monologue/user:
114
+ password_digest: "Password bestätigung"
115
+ errors:
116
+ format: "%{message}"
117
+ errors:
118
+ full_messages: "%{message}"
119
+ errors:
120
+ models:
121
+ full_messages: "%{message}"
122
+ monologue/post:
123
+ blank: "%{attribute} ist benötigt"
124
+ taken: "%{attribute} wurde schon in einem anderen Beitrag von einem anderen Benutzer verwendet"
125
+ attributes:
126
+ published_at:
127
+ blank: "'Veröffentlichen am' wird benötigt"
128
+ url:
129
+ start_with_slash: "URL darf nicht mit einem Schrägstrich anfangen ('/')"
130
+
131
+ monologue/user:
132
+ blank: "%{attribute} wird benötigt"
133
+ taken: "%{attribute} wurde schon benutzt"
134
+ attributes:
135
+ password:
136
+ confirmation: "Passwort und Bestätigung stimmen nicht überein."
@@ -86,18 +86,6 @@ en:
86
86
  comments:
87
87
  show:
88
88
  recent_comments: "Recent comments"
89
- cache:
90
- show:
91
- title: "Manage cache"
92
- description: "You can completely wipe cache here."
93
- files_in_cache: "Here are the files actually cached:"
94
- no_files_are_cached: "There are actually no file in cache."
95
- delete: "Completely wipe cache?"
96
- confirm: 'Are you sure you want to completely clear cache?'
97
- cache_wiped: "Cache was wiped!"
98
- how_to_enable:
99
- warning: "You can't manage cache!"
100
- explanations: "There are certain settings that are not set correctly to be able to use Monologue's basic cache. Please review configuration documentation."
101
89
  sessions:
102
90
  new:
103
91
  title: "Sign in"