monologue 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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"