monologue 0.3.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +13 -5
- data/README.md +47 -23
- data/app/assets/javascripts/monologue/admin/application.js +2 -1
- data/app/assets/javascripts/monologue/blog/archive.js +11 -0
- data/app/assets/stylesheets/monologue/blog/monologue.css +27 -0
- data/app/controllers/monologue/admin/base_controller.rb +2 -8
- data/app/controllers/monologue/admin/posts_controller.rb +11 -9
- data/app/controllers/monologue/admin/users_controller.rb +6 -3
- data/app/controllers/monologue/application_controller.rb +16 -12
- data/app/controllers/monologue/controller_helpers/auth.rb +21 -0
- data/app/controllers/monologue/controller_helpers/user.rb +18 -0
- data/app/controllers/monologue/posts_controller.rb +1 -3
- data/app/controllers/monologue/tags_controller.rb +2 -3
- data/app/helpers/monologue/application_helper.rb +7 -7
- data/app/helpers/monologue/tags_helper.rb +1 -1
- data/app/models/monologue/post.rb +7 -9
- data/app/models/monologue/tag.rb +1 -3
- data/app/models/monologue/tagging.rb +1 -3
- data/app/models/monologue/user.rb +1 -3
- data/app/views/layouts/monologue/admin/_nav_bar.html.erb +1 -4
- data/app/views/layouts/monologue/application.html.erb +2 -2
- data/app/views/layouts/monologue/application/_disqus.html.erb +1 -1
- data/app/views/layouts/monologue/application/_disqus_embed.html.erb +1 -1
- data/app/views/layouts/monologue/application/_fb_open_graph.html.erb +3 -3
- data/app/views/layouts/monologue/application/_gauge_analytics.html.erb +2 -2
- data/app/views/layouts/monologue/application/_google_analytics.html.erb +2 -2
- data/app/views/layouts/monologue/application/_head.html.erb +1 -1
- data/app/views/layouts/monologue/application/_meta_description.html.erb +1 -1
- data/app/views/layouts/monologue/application/_sidebar.html.erb +2 -2
- data/app/views/layouts/monologue/application/_twitter_cards.html.erb +3 -3
- data/app/views/monologue/admin/comments/show.html.erb +1 -1
- data/app/views/monologue/posts/_social_sharing.html.erb +4 -4
- data/app/views/monologue/posts/feed.rss.builder +4 -4
- data/app/views/monologue/sidebar/_archive.html.erb +27 -0
- data/app/views/monologue/sidebar/_latest_tweets.html.erb +2 -2
- data/config/locales/de.yml +136 -0
- data/config/locales/en.yml +0 -12
- data/config/locales/fr.yml +1 -13
- data/config/locales/it.yml +0 -12
- data/config/locales/pt.yml +0 -12
- data/config/locales/ro.yml +0 -12
- data/config/locales/tr.yml +136 -0
- data/config/routes.rb +0 -3
- data/db/migrate/20130108123111_move_user_id_to_post.rb +0 -1
- data/db/migrate/20130509015400_merge_revisions_into_posts.rb +1 -2
- data/lib/monologue.rb +2 -36
- data/lib/monologue/configuration.rb +40 -0
- data/lib/monologue/configuration_extensions.rb +21 -0
- data/lib/monologue/engine.rb +8 -0
- data/lib/monologue/version.rb +1 -1
- data/vendor/assets/javascripts/monologue/bootstrap/bootstrap-datepicker-tr.js +7 -0
- metadata +56 -54
- data/app/controllers/monologue/admin/cache_controller.rb +0 -27
- data/app/sweepers/monologue/posts_sweeper.rb +0 -42
- data/app/sweepers/monologue/total_sweeper.rb +0 -5
- data/app/views/monologue/admin/cache/_config.html.erb +0 -18
- data/app/views/monologue/admin/cache/how_to_enable.html.erb +0 -6
- data/app/views/monologue/admin/cache/show.html.erb +0 -26
- 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
|
-
|
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
|
-
|
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.
|
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 =
|
43
|
+
offset = p * per_page
|
46
44
|
self.limit(per_page).offset(offset)
|
47
45
|
end
|
48
46
|
|
data/app/models/monologue/tag.rb
CHANGED
@@ -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,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,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&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&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."
|
data/config/locales/en.yml
CHANGED
@@ -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"
|