refinerycms-blog 2.0.4 → 4.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/.gitignore +6 -1
- data/.travis.yml +10 -14
- data/Gemfile +30 -50
- data/Rakefile +2 -1
- data/app/assets/javascripts/refinery/blog/backend.js +18 -59
- data/app/assets/stylesheets/refinery/blog/backend.css.scss +10 -61
- data/app/assets/stylesheets/refinery/blog/frontend.css.scss +87 -76
- data/app/controllers/refinery/blog/admin/categories_controller.rb +7 -1
- data/app/controllers/refinery/blog/admin/comments_controller.rb +19 -21
- data/app/controllers/refinery/blog/admin/posts_controller.rb +43 -15
- data/app/controllers/refinery/blog/blog_controller.rb +31 -5
- data/app/controllers/refinery/blog/categories_controller.rb +10 -3
- data/app/controllers/refinery/blog/posts_controller.rb +40 -26
- data/app/helpers/refinery/blog/controller_helper.rb +1 -22
- data/app/helpers/refinery/blog/posts_helper.rb +9 -4
- data/app/models/refinery/blog/categorization.rb +11 -0
- data/app/models/refinery/blog/category.rb +15 -5
- data/app/models/refinery/blog/comment.rb +17 -28
- data/app/models/refinery/blog/post.rb +100 -30
- data/app/views/refinery/blog/admin/_submenu.html.erb +1 -6
- data/app/views/refinery/blog/admin/categories/_category.html.erb +23 -10
- data/app/views/refinery/blog/admin/categories/_form.html.erb +10 -11
- data/app/views/refinery/blog/admin/categories/_sortable_list.html.erb +2 -4
- data/app/views/refinery/blog/admin/categories/edit.html.erb +1 -1
- data/app/views/refinery/blog/admin/categories/index.html.erb +9 -15
- data/app/views/refinery/blog/admin/categories/new.html.erb +1 -1
- data/app/views/refinery/blog/admin/comments/_comment.html.erb +4 -12
- data/app/views/refinery/blog/admin/comments/_sortable_list.html.erb +2 -4
- data/app/views/refinery/blog/admin/comments/index.html.erb +14 -23
- data/app/views/refinery/blog/admin/comments/show.html.erb +6 -4
- data/app/views/refinery/blog/admin/posts/_form.html.erb +31 -28
- data/app/views/refinery/blog/admin/posts/_form_part.html.erb +1 -1
- data/app/views/refinery/blog/admin/posts/_post.html.erb +28 -11
- data/app/views/refinery/blog/admin/posts/_sortable_list.html.erb +2 -4
- data/app/views/refinery/blog/admin/posts/_teaser_part.html.erb +1 -1
- data/app/views/refinery/blog/admin/posts/edit.html.erb +1 -1
- data/app/views/refinery/blog/admin/posts/index.html.erb +9 -15
- data/app/views/refinery/blog/admin/posts/new.html.erb +1 -1
- data/app/views/refinery/blog/admin/posts/uncategorized.html.erb +2 -2
- data/app/views/refinery/blog/admin/settings/notification_recipients.html.erb +5 -7
- data/app/views/refinery/blog/categories/show.html.erb +4 -4
- data/app/views/refinery/blog/comment_mailer/notification.html.erb +5 -0
- data/app/views/refinery/blog/posts/_comment.html.erb +4 -4
- data/app/views/refinery/blog/posts/_comments.html.erb +28 -31
- data/app/views/refinery/blog/posts/_nav.html.erb +6 -6
- data/app/views/refinery/blog/posts/_post.html.erb +9 -9
- data/app/views/refinery/blog/posts/archive.html.erb +7 -6
- data/app/views/refinery/blog/posts/index.html.erb +6 -6
- data/app/views/refinery/blog/posts/index.rss.builder +8 -2
- data/app/views/refinery/blog/posts/show.html.erb +5 -7
- data/app/views/refinery/blog/posts/tagged.html.erb +5 -5
- data/app/views/refinery/blog/shared/_body_content_right.html.erb +7 -7
- data/app/views/refinery/blog/shared/_categories.html.erb +4 -4
- data/app/views/refinery/blog/shared/_post.html.erb +18 -18
- data/app/views/refinery/blog/shared/_posts.html.erb +1 -1
- data/app/views/refinery/blog/shared/_rss_feed.html.erb +2 -0
- data/app/views/refinery/blog/shared/_tags.html.erb +1 -1
- data/app/views/refinery/shared/admin/_autocomplete.html.erb +44 -3
- data/bin/rails +11 -0
- data/bin/refinerycms +62 -0
- data/certs/parndt.pem +25 -0
- data/changelog.md +4 -1
- data/config/initializers/url_validator.rb +15 -11
- data/config/locales/bg.yml +8 -10
- data/config/locales/cs.yml +7 -9
- data/config/locales/de.yml +27 -8
- data/config/locales/en.yml +18 -12
- data/config/locales/es.yml +2 -4
- data/config/locales/fr.yml +34 -16
- data/config/locales/it.yml +8 -10
- data/config/locales/ja.yml +22 -11
- data/config/locales/nb.yml +154 -16
- data/config/locales/nl.yml +42 -7
- data/config/locales/pl.yml +6 -8
- data/config/locales/pt-BR.yml +39 -8
- data/config/locales/ru.yml +49 -5
- data/config/locales/sk.yml +59 -20
- data/config/locales/sv.yml +165 -0
- data/config/locales/uk.yml +172 -0
- data/config/locales/zh-CN.yml +34 -5
- data/config/locales/zh-TW.yml +160 -0
- data/config/routes.rb +11 -8
- data/db/migrate/20110803223522_create_blog_structure.rb +16 -15
- data/db/migrate/20110803223523_add_user_id_to_blog_posts.rb +3 -3
- data/db/migrate/20110803223524_acts_as_taggable_on_migration.rb +1 -1
- data/db/migrate/20110803223526_add_cached_slugs.rb +3 -3
- data/db/migrate/20110803223527_add_custom_url_field_to_blog_posts.rb +2 -2
- data/db/migrate/20110803223528_add_custom_teaser_field_to_blog_posts.rb +2 -2
- data/db/migrate/20110803223529_add_primary_key_to_categorizations.rb +5 -5
- data/db/migrate/20120103055909_add_source_url_to_blog_posts.rb +2 -2
- data/db/migrate/20120223022021_add_access_count_to_posts.rb +4 -4
- data/db/migrate/20120227022021_add_slug_to_posts_and_categories.rb +2 -2
- data/db/migrate/20120530102901_create_blog_translations.rb +17 -0
- data/db/migrate/20120531113632_delete_cached_slugs.rb +6 -0
- data/db/migrate/20120601151114_create_category_translations.rb +14 -0
- data/db/migrate/20140622132537_add_missing_unique_indices.acts_as_taggable_on_engine.rb +20 -0
- data/db/migrate/20140622132538_add_taggings_counter_cache_to_tags.acts_as_taggable_on_engine.rb +15 -0
- data/db/migrate/20160602042848_add_username_to_blog_posts.rb +5 -0
- data/db/migrate/20161223024527_create_multi_user_model.rb +13 -0
- data/db/migrate/20180420132008_remove_translated_columns_to_refinery_blog_categories.rb +5 -0
- data/db/seeds.rb +5 -5
- data/lib/generators/refinery/blog/templates/config/initializers/refinery/blog.rb.erb +6 -0
- data/lib/refinery/blog.rb +4 -1
- data/lib/refinery/blog/configuration.rb +25 -1
- data/lib/refinery/blog/engine.rb +9 -3
- data/readme.md +31 -5
- data/refinerycms-blog.gemspec +19 -15
- data/script/rails +1 -3
- data/spec/controllers/refinery/blog/admin/comments_controller_spec.rb +84 -0
- data/spec/controllers/refinery/blog/admin/posts_controller_spec.rb +35 -0
- data/spec/controllers/refinery/blog/posts_controller_spec.rb +24 -0
- data/spec/factories/blog_categories.rb +1 -1
- data/spec/factories/blog_comments.rb +1 -1
- data/spec/factories/blog_posts.rb +7 -3
- data/spec/factories/blog_test_users.rb +6 -0
- data/spec/features/refinery/blog/admin/categories_spec.rb +121 -0
- data/spec/{requests → features}/refinery/blog/admin/comments_spec.rb +30 -30
- data/spec/features/refinery/blog/admin/menu_spec.rb +19 -0
- data/spec/features/refinery/blog/admin/posts_spec.rb +365 -0
- data/spec/features/refinery/blog/categories_spec.rb +29 -0
- data/spec/features/refinery/blog/posts_spec.rb +171 -0
- data/spec/helpers/refinery/blog/posts_helper_spec.rb +23 -11
- data/spec/lib/refinery/blog/engine_spec.rb +1 -11
- data/spec/models/refinery/blog/category_spec.rb +18 -11
- data/spec/models/refinery/blog/comment_spec.rb +4 -4
- data/spec/models/refinery/blog/post_spec.rb +97 -60
- data/spec/spec_helper.rb +20 -46
- data/spec/support/refinery_blog_test_user.rb +2 -0
- metadata +168 -95
- metadata.gz.sig +0 -0
- data/Guardfile +0 -20
- data/app/assets/images/refinery/blog/icons/cog.png +0 -0
- data/app/assets/images/refinery/blog/icons/comment.png +0 -0
- data/app/assets/images/refinery/blog/icons/comment_cross.png +0 -0
- data/app/assets/images/refinery/blog/icons/comment_tick.png +0 -0
- data/app/assets/images/refinery/blog/icons/comments.png +0 -0
- data/app/assets/images/refinery/blog/icons/down.gif +0 -0
- data/app/assets/images/refinery/blog/icons/folder.png +0 -0
- data/app/assets/images/refinery/blog/icons/folder_add.png +0 -0
- data/app/assets/images/refinery/blog/icons/folder_edit.png +0 -0
- data/app/assets/images/refinery/blog/icons/page.png +0 -0
- data/app/assets/images/refinery/blog/icons/page_add.png +0 -0
- data/app/assets/images/refinery/blog/icons/page_copy.png +0 -0
- data/app/assets/images/refinery/blog/icons/up.gif +0 -0
- data/app/assets/images/refinerycms-blog/.gitkeep +0 -0
- data/app/assets/javascripts/refinerycms-blog/.gitkeep +0 -0
- data/app/assets/stylesheets/refinerycms-blog/.gitkeep +0 -0
- data/app/models/refinery/blog/comment_mailer.rb +0 -1
- data/app/models/refinery/categorization.rb +0 -10
- data/app/sweepers/refinery/blog_sweeper.rb +0 -26
- data/lib/refinery/blog/version.rb +0 -17
- data/spec/requests/refinery/blog/admin/categories_spec.rb +0 -20
- data/spec/requests/refinery/blog/admin/menu_spec.rb +0 -13
- data/spec/requests/refinery/blog/admin/posts_spec.rb +0 -175
- data/spec/requests/refinery/blog/categories_spec.rb +0 -24
- data/spec/requests/refinery/blog/posts_spec.rb +0 -160
- data/todo.md +0 -5
data/changelog.md
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
## 3.0.0 [UNRELEASED]
|
2
|
+
* Removed `Post#default_scope` in favour of opting in to `Post#newest_first`. [parndt](https://github.com/parndt)
|
3
|
+
|
1
4
|
## 1.6.3 [UNRELEASED]
|
2
5
|
* Bulgarian translations [mirosr](https://github.com/mirosr)
|
3
6
|
* posts/tagged... params[:tag_name] is optional [joemsak](https://github.com/joemsak)
|
@@ -66,4 +69,4 @@
|
|
66
69
|
* Rails 3 Support
|
67
70
|
* Archives
|
68
71
|
* Categories
|
69
|
-
* [See full list](https://github.com/resolve/refinerycms-blog/compare/1.0...1.1)
|
72
|
+
* [See full list](https://github.com/resolve/refinerycms-blog/compare/1.0...1.1)
|
@@ -4,7 +4,7 @@ class UrlValidator < ActiveModel::EachValidator
|
|
4
4
|
|
5
5
|
def validate_each(record, attribute, value)
|
6
6
|
url = value
|
7
|
-
|
7
|
+
|
8
8
|
# Regex code by 'Arsenic' from http://snippets.dzone.com/posts/show/3654
|
9
9
|
if url =~ /^
|
10
10
|
( (https?):\/\/ )?
|
@@ -21,21 +21,25 @@ $/ix
|
|
21
21
|
record.errors[attribute] << 'Not a valid URL'
|
22
22
|
end
|
23
23
|
|
24
|
-
if options[:verify]
|
25
|
-
begin
|
26
|
-
url_response = RedirectFollower.new(url).resolve
|
27
|
-
url = url_response.url if options[:verify] == [:resolve_redirects]
|
28
|
-
rescue RedirectFollower::TooManyRedirects
|
29
|
-
record.errors[attribute] << 'URL is redirecting too many times'
|
30
|
-
rescue
|
31
|
-
record.errors[attribute] << 'could not be resolved'
|
32
|
-
end
|
33
|
-
end
|
24
|
+
url = resolve_redirects_verify_url(url) if options[:verify]
|
34
25
|
|
35
26
|
if options[:update]
|
36
27
|
value.replace url
|
37
28
|
end
|
38
29
|
end
|
30
|
+
|
31
|
+
def resolve_redirects_verify_url(url)
|
32
|
+
begin
|
33
|
+
url_response = RedirectFollower.new(url).resolve
|
34
|
+
url = url_response.url if options[:verify] == [:resolve_redirects]
|
35
|
+
rescue RedirectFollower::TooManyRedirects
|
36
|
+
record.errors[attribute] << 'URL is redirecting too many times'
|
37
|
+
rescue
|
38
|
+
record.errors[attribute] << 'could not be resolved'
|
39
|
+
ensure
|
40
|
+
url
|
41
|
+
end
|
42
|
+
end
|
39
43
|
end
|
40
44
|
|
41
45
|
# Code below written by John Nunemaker
|
data/config/locales/bg.yml
CHANGED
@@ -35,9 +35,7 @@ bg:
|
|
35
35
|
approve: Одобряване на този коментар
|
36
36
|
posts:
|
37
37
|
form:
|
38
|
-
advanced_options: Разширени настройки
|
39
38
|
toggle_advanced_options: Натиснете, за да достъпите настройките за етикета "meta" и менюто
|
40
|
-
save_as_draft: Запис като чернова
|
41
39
|
published_at: Дата на публикуване
|
42
40
|
custom_url: Уеб адрес по избор
|
43
41
|
custom_url_help: Вместо от заглавието, генерирайте уеб адреса за тази публикация чрез този текст.
|
@@ -112,7 +110,7 @@ bg:
|
|
112
110
|
no_posts: Тук все още няма публикации.
|
113
111
|
posts:
|
114
112
|
post:
|
115
|
-
|
113
|
+
filled_in: Категория
|
116
114
|
comment: коментар
|
117
115
|
comments:
|
118
116
|
by: 'Публикувано от %{who}'
|
@@ -127,7 +125,7 @@ bg:
|
|
127
125
|
title: Коментари
|
128
126
|
add: Вашият коментар
|
129
127
|
other: Други публикации
|
130
|
-
|
128
|
+
filled_in: Категория
|
131
129
|
tagged: Отбелязано с
|
132
130
|
submit: Изпращане на коментар
|
133
131
|
name: Име
|
@@ -142,17 +140,17 @@ bg:
|
|
142
140
|
no_blog_articles_posted: 'Все още няма публикувани статии за %{date}. Очаквайте скоро.'
|
143
141
|
activerecord:
|
144
142
|
models:
|
145
|
-
refinery/
|
146
|
-
refinery/
|
147
|
-
refinery/
|
143
|
+
refinery/blog/category: Категория
|
144
|
+
refinery/blog/comment: Коментар
|
145
|
+
refinery/blog/post: Публикация
|
148
146
|
attributes:
|
149
|
-
refinery/
|
147
|
+
refinery/blog/category:
|
150
148
|
title: Заглавие
|
151
|
-
refinery/
|
149
|
+
refinery/blog/comment:
|
152
150
|
name: Име
|
153
151
|
email: Е-поща
|
154
152
|
message: Съобщение
|
155
|
-
refinery/
|
153
|
+
refinery/blog/post:
|
156
154
|
title: Заглавие
|
157
155
|
body: Съдържание
|
158
156
|
teaser: Извадка
|
data/config/locales/cs.yml
CHANGED
@@ -17,7 +17,7 @@ cs:
|
|
17
17
|
view_live_html: 'Zobrazit živý náhled <br/><em>(otevře nové okno)</em>'
|
18
18
|
read: Zobrazit komentář
|
19
19
|
reject: Zamítnout komentář
|
20
|
-
approve: Schválit
|
20
|
+
approve: Schválit
|
21
21
|
rejected: 'Komentář od "%{author}" byl zamítnut.'
|
22
22
|
index:
|
23
23
|
no_items_yet: 'Nejsou zde žádné %{type} komentáře.'
|
@@ -28,16 +28,14 @@ cs:
|
|
28
28
|
date: Datum
|
29
29
|
message: Komentář
|
30
30
|
details: Detaily
|
31
|
-
age: Věk
|
31
|
+
age: Věk
|
32
32
|
actions: Akce
|
33
33
|
back: Zpět na seznam komentářů
|
34
34
|
reject: Zamítnout komentář
|
35
35
|
approve: Schváliť komentář
|
36
36
|
posts:
|
37
37
|
form:
|
38
|
-
|
39
|
-
toggle_advanced_options: Klikni pro přístup k nastavením meta tagů a menu
|
40
|
-
save_as_draft: Uložit jako koncept
|
38
|
+
toggle_advanced_options: Klikni pro přístup k nastavením meta tagů a menu
|
41
39
|
published_at: Datum publikování
|
42
40
|
index:
|
43
41
|
no_items_yet: 'Nejsou žádné články na blogu. Klikni na "%{create}" pro přidání prvního.'
|
@@ -94,19 +92,19 @@ cs:
|
|
94
92
|
title: RSS zdroj článků
|
95
93
|
subscribe: Přihlásit k odběru
|
96
94
|
posts:
|
97
|
-
other: Další články
|
95
|
+
other: Další články
|
98
96
|
created_at: 'Publikován %{when}'
|
99
97
|
read_more: Celý článek
|
100
98
|
comments:
|
101
99
|
singular: komentář
|
102
|
-
none:
|
100
|
+
none: žádné komentáře
|
103
101
|
archives: Archiv
|
104
102
|
categories:
|
105
103
|
show:
|
106
104
|
no_posts: Nejsou zde žádné články.
|
107
105
|
posts:
|
108
106
|
post:
|
109
|
-
|
107
|
+
filled_in: Kategorie
|
110
108
|
comment: komentář
|
111
109
|
comments:
|
112
110
|
by: 'Odeslal %{who}'
|
@@ -121,7 +119,7 @@ cs:
|
|
121
119
|
title: Komentáře
|
122
120
|
add: Přidat komentář
|
123
121
|
other: Další články
|
124
|
-
|
122
|
+
filled_in: Podaný
|
125
123
|
submit: Odeslat komentář
|
126
124
|
archive:
|
127
125
|
blog_archive_for: 'Blog archiv pro %{date}'
|
data/config/locales/de.yml
CHANGED
@@ -14,7 +14,7 @@ de:
|
|
14
14
|
comments:
|
15
15
|
approved: 'Der Kommentar von "%{author}" wurde genehmigt.'
|
16
16
|
comment:
|
17
|
-
|
17
|
+
view_live_html: 'Diesen Kommentar live betrachten <br/><em>(öffnet sich in einem neuen Fenster)</em>'
|
18
18
|
read: Kommentar lesen
|
19
19
|
reject: Kommentar ablehnen
|
20
20
|
approve: Kommentar genehmigen
|
@@ -35,18 +35,27 @@ de:
|
|
35
35
|
approve: Kommentar genehmigen
|
36
36
|
posts:
|
37
37
|
form:
|
38
|
-
advanced_options: Erweiterte Optionen
|
39
38
|
toggle_advanced_options: 'Klicken, um auf Meta-Tag-Einstellungen und Menüoptionen zuzugreifen'
|
40
|
-
save_as_draft: Als Entwurf speichern
|
41
39
|
published_at: Veröffentlichungsdatum
|
40
|
+
custom_url: Eigene Url
|
41
|
+
custom_url_help: Url von disem Text generieren und nicht vom Titel.
|
42
|
+
source_url: Quell Url
|
43
|
+
source_url_help: Url für die Quelle dieses Artikels.
|
44
|
+
source_url_title: Quell Url Titel
|
45
|
+
source_url_title_help: Titel der Quelle dieses Artikels.
|
46
|
+
author: Autor
|
47
|
+
author_help: Legt fest welcher Benutzer als Autor angegeben wird.
|
48
|
+
copy_body: Kopiere Artikel zum Teaser
|
49
|
+
copy_body_help: Kopiert den Inhalt zum Teaser. Ist der Teaser nicht angegeben generiert Refinery einen.
|
42
50
|
index:
|
43
51
|
no_items_yet: 'Es sind noch keine Artikel vorhanden. Klicken Sie auf "%{create}", um Ihren ersten Artikel hinzuzufügen.'
|
44
52
|
uncategorized:
|
45
53
|
no_items_yet: 'Es sind keine unkategorisierten Artikel vorhanden.'
|
46
54
|
post:
|
47
|
-
|
55
|
+
view_live_html: 'Diesen Artikel live betrachten <br/><em>(öffnet sich in einem neuen Fenster)</em>'
|
48
56
|
edit: Diesen Artikel bearbeiten
|
49
57
|
delete: Diesen Artikel dauerhaft entfernen
|
58
|
+
draft: Entwurf
|
50
59
|
settings:
|
51
60
|
notification_recipients:
|
52
61
|
value: Sende Benachrichtigungen an
|
@@ -76,6 +85,7 @@ de:
|
|
76
85
|
moderation: Moderation
|
77
86
|
update_notified: Empfänger für Benachrichtigungen bearbeiten
|
78
87
|
comments: Kommentare
|
88
|
+
teasers: Teaser
|
79
89
|
comment_mailer:
|
80
90
|
notification:
|
81
91
|
greeting: Hallo
|
@@ -96,19 +106,19 @@ de:
|
|
96
106
|
posts:
|
97
107
|
other: Andere Artikel
|
98
108
|
created_at: 'Verfasst am %{when}'
|
99
|
-
read_more:
|
109
|
+
read_more: Weiterlesen
|
100
110
|
comments:
|
101
111
|
singular: Kommentar
|
102
112
|
none: Keine Kommentare
|
103
113
|
archives: Archiv
|
104
114
|
tags:
|
105
|
-
title:
|
115
|
+
title: Tags
|
106
116
|
categories:
|
107
117
|
show:
|
108
118
|
no_posts: Es sind noch keine Artikel vorhanden.
|
109
119
|
posts:
|
110
120
|
post:
|
111
|
-
|
121
|
+
filled_in: Gespeichert unter
|
112
122
|
comment: Kommentar
|
113
123
|
comments:
|
114
124
|
by: 'Verfasst von %{who}'
|
@@ -123,8 +133,17 @@ de:
|
|
123
133
|
title: Kommentare
|
124
134
|
add: Neuen Kommentar hinzufügen
|
125
135
|
other: Andere Artikel
|
126
|
-
|
136
|
+
filled_in: Gespeichert unter
|
137
|
+
tagged: Tagged
|
127
138
|
submit: Kommentar senden
|
139
|
+
name: Name
|
140
|
+
email: Email
|
141
|
+
message: Nachricht
|
142
|
+
by: von
|
143
|
+
source: Quelle
|
144
|
+
tagged:
|
145
|
+
no_blog_articles_yet: Es sind noch keine Artikel vorhanden.
|
146
|
+
posts_tagged: Artikel getagged
|
128
147
|
archive:
|
129
148
|
blog_archive_for: 'Blog Archiv für %{date}'
|
130
149
|
no_blog_articles_posted: 'Für %{date} wurden keine Artikel verfasst.'
|
data/config/locales/en.yml
CHANGED
@@ -35,9 +35,7 @@ en:
|
|
35
35
|
approve: Approve this comment
|
36
36
|
posts:
|
37
37
|
form:
|
38
|
-
advanced_options: Advanced Options
|
39
38
|
toggle_advanced_options: Click to access meta tag settings and menu options
|
40
|
-
save_as_draft: Save as Draft
|
41
39
|
published_at: Publish Date
|
42
40
|
custom_url: Custom Url
|
43
41
|
custom_url_help: Generate the url for the blog post from this text instead of the title.
|
@@ -57,6 +55,10 @@ en:
|
|
57
55
|
view_live_html: 'View this blog post live <br/><em>(opens in a new window)</em>'
|
58
56
|
edit: Edit this blog post
|
59
57
|
delete: Remove this blog post forever
|
58
|
+
delete_translation: Remove this translation
|
59
|
+
delete_translation_confirmation: Are you sure you want to remove this translation forever ?
|
60
|
+
delete_translation_success: The translation was successfully removed.
|
61
|
+
draft: Draft
|
60
62
|
settings:
|
61
63
|
notification_recipients:
|
62
64
|
value: Send notifications to
|
@@ -96,6 +98,10 @@ en:
|
|
96
98
|
from: From
|
97
99
|
email: Email
|
98
100
|
message: Message
|
101
|
+
approve: Approve
|
102
|
+
or: " or "
|
103
|
+
reject: reject
|
104
|
+
this_comment: " this comment."
|
99
105
|
closing_line: Kind Regards
|
100
106
|
ps: 'P.S. All your comments are stored in the "Blog" section of Refinery under the "Comments" submenu should you ever want to view it there later.'
|
101
107
|
shared:
|
@@ -105,7 +111,7 @@ en:
|
|
105
111
|
title: RSS Feed
|
106
112
|
subscribe: Subscribe
|
107
113
|
posts:
|
108
|
-
other:
|
114
|
+
other: Latest Posts
|
109
115
|
created_at: 'Posted on %{when}'
|
110
116
|
read_more: Read more
|
111
117
|
comments:
|
@@ -119,7 +125,7 @@ en:
|
|
119
125
|
no_posts: There are no posts here yet.
|
120
126
|
posts:
|
121
127
|
post:
|
122
|
-
|
128
|
+
filled_in: Filed in
|
123
129
|
comment: comment
|
124
130
|
comments:
|
125
131
|
by: 'Posted by %{who}'
|
@@ -133,8 +139,8 @@ en:
|
|
133
139
|
comments:
|
134
140
|
title: Comments
|
135
141
|
add: Make a Comment
|
136
|
-
other:
|
137
|
-
|
142
|
+
other: Latest Blog Posts
|
143
|
+
filled_in: Filed in
|
138
144
|
tagged: Tagged
|
139
145
|
submit: Send comment
|
140
146
|
name: Name
|
@@ -150,17 +156,17 @@ en:
|
|
150
156
|
no_blog_articles_posted: 'There are no blog articles posted for %{date}. Stay tuned.'
|
151
157
|
activerecord:
|
152
158
|
models:
|
153
|
-
refinery/
|
154
|
-
refinery/
|
155
|
-
refinery/
|
159
|
+
refinery/blog/category: Category
|
160
|
+
refinery/blog/comment: Comment
|
161
|
+
refinery/blog/post: Blog post
|
156
162
|
attributes:
|
157
|
-
refinery/
|
163
|
+
refinery/blog/category:
|
158
164
|
title: Title
|
159
|
-
refinery/
|
165
|
+
refinery/blog/comment:
|
160
166
|
name: Name
|
161
167
|
email: Email
|
162
168
|
message: Message
|
163
|
-
refinery/
|
169
|
+
refinery/blog/post:
|
164
170
|
title: Title
|
165
171
|
body: Body
|
166
172
|
teaser: Teaser
|
data/config/locales/es.yml
CHANGED
@@ -35,9 +35,7 @@ es:
|
|
35
35
|
approve: Aprovar este comentario
|
36
36
|
posts:
|
37
37
|
form:
|
38
|
-
advanced_options: Opciones avanzadas
|
39
38
|
toggle_advanced_options: Click para acceder a las opciones de menú y etiquetas
|
40
|
-
save_as_draft: Guardar Borrador
|
41
39
|
published_at: Fecha de publicación
|
42
40
|
index:
|
43
41
|
no_items_yet: 'Aún no hay entradas en el Blog. Haz click en "%{create}" para añadir el primero'
|
@@ -106,7 +104,7 @@ es:
|
|
106
104
|
no_posts: Todavía no hay entradas.
|
107
105
|
posts:
|
108
106
|
post:
|
109
|
-
|
107
|
+
filled_in: Archivado en
|
110
108
|
comment: comentario
|
111
109
|
comments:
|
112
110
|
by: 'Enviado por %{who}'
|
@@ -121,7 +119,7 @@ es:
|
|
121
119
|
title: Comentarios
|
122
120
|
add: 'Envía tu comentario'
|
123
121
|
other: Otros posts
|
124
|
-
|
122
|
+
filled_in: Archivado en
|
125
123
|
submit: Enviar comentario
|
126
124
|
archive:
|
127
125
|
blog_archive_for: 'Archivo del blog en %{date}'
|
data/config/locales/fr.yml
CHANGED
@@ -8,7 +8,7 @@ fr:
|
|
8
8
|
categories:
|
9
9
|
category:
|
10
10
|
edit: Modifier cette catégorie
|
11
|
-
delete: Supprimer
|
11
|
+
delete: Supprimer cette catégorie
|
12
12
|
index:
|
13
13
|
no_items_yet: 'Il n''y a aucune catégorie pour le moment. Cliquez sur "%{create}" pour ajouter votre première catégorie.'
|
14
14
|
comments:
|
@@ -35,10 +35,18 @@ fr:
|
|
35
35
|
approve: Approuver ce commentaire
|
36
36
|
posts:
|
37
37
|
form:
|
38
|
-
advanced_options: Options avancées
|
39
38
|
toggle_advanced_options: Cliquez ici pour accéder aux paramêtres des meta-tags et au menu des options
|
40
|
-
save_as_draft: Enregistrer comme Brouillon
|
41
39
|
published_at: Date de publication
|
40
|
+
custom_url: Adresse personnalisée
|
41
|
+
custom_url_help: Génère une adresse pour ce billet avec ce texte plutôt qu'avec le titre.
|
42
|
+
source_url: Adresse de la source
|
43
|
+
source_url_help: Conserve l'adresse de la source du billet.
|
44
|
+
source_url_title: Titre de l'adresse de la source
|
45
|
+
source_url_title_help: Titre pour l'adresse de la source de ce billet.
|
46
|
+
author: Auteur
|
47
|
+
author_help: Définit quel utilisateur apparaitra comme auteur de ce billet.
|
48
|
+
copy_body: Copier le contenu du billet dans le résumé
|
49
|
+
copy_body_help: Copie le contenu du billet dans le résumé. Laissez le résumé vide pour que Refinery génère automatiquement le résumé.
|
42
50
|
index:
|
43
51
|
no_items_yet: 'Il n''y a aucun article pour l''instant. Cliquez sur "%{create}" pour ajouter votre premier article.'
|
44
52
|
uncategorized:
|
@@ -47,6 +55,10 @@ fr:
|
|
47
55
|
view_live_html: 'Voir cet article sur le site<br/><em>(Ouvre une nouvelle fenêtre)</em>'
|
48
56
|
edit: Modifier cet article
|
49
57
|
delete: Supprimer cet article
|
58
|
+
delete_translation: Supprimer cette traduction
|
59
|
+
delete_translation_confirmation: Êtes-vous sûr de vouloir supprimer cette traduction ?
|
60
|
+
delete_translation_success: La traduction a été correctement supprimée.
|
61
|
+
draft: Brouillon
|
50
62
|
settings:
|
51
63
|
notification_recipients:
|
52
64
|
value: Envoyer les notifications à
|
@@ -70,12 +82,13 @@ fr:
|
|
70
82
|
title: Articles
|
71
83
|
manage: Gérer les articles
|
72
84
|
new: Créer un nouvel article
|
73
|
-
uncategorized:
|
85
|
+
uncategorized: Articles non catégorisés
|
74
86
|
settings:
|
75
|
-
title:
|
87
|
+
title: Paramètres
|
76
88
|
moderation: Modération
|
77
89
|
update_notified: Mettre à jour les personnes à notifier
|
78
90
|
comments: Commentaires
|
91
|
+
teasers: Résumés
|
79
92
|
comment_mailer:
|
80
93
|
notification:
|
81
94
|
greeting: Bonjour
|
@@ -85,6 +98,10 @@ fr:
|
|
85
98
|
from: De
|
86
99
|
email: Email
|
87
100
|
message: Message
|
101
|
+
approve: Approuver
|
102
|
+
or: " ou "
|
103
|
+
reject: rejeter
|
104
|
+
this_comment: " ce commentaire."
|
88
105
|
closing_line: Cordialement
|
89
106
|
ps: P.S. Tous les commentaires sont stockés dans la section "Blog" de Refinery dans le menu "Commentaires" si vous voulez les revoir plus tard.
|
90
107
|
shared:
|
@@ -97,7 +114,6 @@ fr:
|
|
97
114
|
other: Autres articles
|
98
115
|
created_at: 'Écrit le %{when}'
|
99
116
|
read_more: Lire la suite
|
100
|
-
by: 'par'
|
101
117
|
comments:
|
102
118
|
singular: commentaire
|
103
119
|
none: aucun commentaire
|
@@ -109,7 +125,7 @@ fr:
|
|
109
125
|
no_posts: 'Il n''y a aucun article pour cette catégorie.'
|
110
126
|
posts:
|
111
127
|
post:
|
112
|
-
|
128
|
+
filled_in: Classé dans
|
113
129
|
comment: commentaire
|
114
130
|
comments:
|
115
131
|
by: 'Écrit par %{who}'
|
@@ -124,31 +140,33 @@ fr:
|
|
124
140
|
title: Commentaires
|
125
141
|
add: Ajouter un commentaire
|
126
142
|
other: Autres articles
|
127
|
-
|
143
|
+
filled_in: Classé dans
|
128
144
|
tagged: Taggé
|
129
145
|
submit: Envoyer le commentaire
|
130
146
|
name: Nom
|
131
147
|
email: Email
|
132
148
|
message: Message
|
133
149
|
by: par
|
150
|
+
source: Source
|
134
151
|
tagged:
|
135
152
|
no_blog_articles_yet: "Il n'y a aucun article pour l'instant. Restez en alerte."
|
136
153
|
posts_tagged: Articles taggés
|
137
154
|
archive:
|
138
|
-
blog_archive_for: 'Archive du blog pour
|
139
|
-
no_blog_articles_posted: "Il n'y a aucun article pour
|
155
|
+
blog_archive_for: 'Archive du blog pour %{date}'
|
156
|
+
no_blog_articles_posted: "Il n'y a aucun article pour %{date}. Restez en alerte."
|
140
157
|
activerecord:
|
141
158
|
models:
|
142
|
-
refinery/
|
143
|
-
refinery/
|
144
|
-
refinery/
|
159
|
+
refinery/blog/category: Catégorie
|
160
|
+
refinery/blog/comment: Commentaire
|
161
|
+
refinery/blog/post: Article
|
145
162
|
attributes:
|
146
|
-
refinery/
|
163
|
+
refinery/blog/category:
|
147
164
|
title: Titre
|
148
|
-
refinery/
|
165
|
+
refinery/blog/comment:
|
149
166
|
name: Nom
|
150
167
|
email: Email
|
151
168
|
message: Message
|
152
|
-
refinery/
|
169
|
+
refinery/blog/post:
|
153
170
|
title: Titre
|
154
171
|
body: Corps
|
172
|
+
teaser: Résumé
|