muck-activities 0.1.19 → 0.1.20

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. data/README.rdoc +5 -0
  2. data/VERSION +1 -1
  3. data/app/controllers/muck/activities_controller.rb +2 -2
  4. data/app/helpers/muck_activity_helper.rb +38 -13
  5. data/app/views/activities/_activity_feed.html.erb +2 -6
  6. data/app/views/activities/_activity_scripts.html.erb +5 -0
  7. data/app/views/activities/_cached_activities.html.erb +2 -3
  8. data/app/views/activities/_contribute.html.erb +22 -0
  9. data/app/views/activity_templates/_generic.html.erb +1 -1
  10. data/db/migrate/20090818204527_add_activity_indexes.rb +9 -0
  11. data/db/migrate/20090819030523_add_attachable_to_activities.rb +13 -0
  12. data/lib/active_record/acts/muck_activity.rb +4 -0
  13. data/lib/muck_activities/muck_activity_sources.rb +7 -2
  14. data/locales/ar.yml +15 -11
  15. data/locales/bg.yml +17 -13
  16. data/locales/ca.yml +18 -14
  17. data/locales/cs.yml +16 -12
  18. data/locales/da.yml +12 -8
  19. data/locales/de.yml +17 -13
  20. data/locales/el.yml +15 -11
  21. data/locales/en.yml +4 -0
  22. data/locales/es.yml +15 -11
  23. data/locales/et.yml +17 -13
  24. data/locales/fa.yml +17 -13
  25. data/locales/fi.yml +19 -15
  26. data/locales/fr.yml +15 -11
  27. data/locales/gl.yml +21 -17
  28. data/locales/hi.yml +11 -7
  29. data/locales/hr.yml +15 -11
  30. data/locales/hu.yml +18 -14
  31. data/locales/id.yml +19 -15
  32. data/locales/it.yml +20 -16
  33. data/locales/iw.yml +16 -12
  34. data/locales/ja.yml +17 -13
  35. data/locales/ko.yml +13 -9
  36. data/locales/lt.yml +13 -9
  37. data/locales/lv.yml +15 -11
  38. data/locales/mt.yml +20 -16
  39. data/locales/nl.yml +15 -11
  40. data/locales/no.yml +16 -12
  41. data/locales/pl.yml +13 -9
  42. data/locales/pt-PT.yml +17 -13
  43. data/locales/ro.yml +18 -14
  44. data/locales/ru.yml +14 -10
  45. data/locales/sk.yml +16 -12
  46. data/locales/sl.yml +17 -13
  47. data/locales/sq.yml +19 -15
  48. data/locales/sr.yml +20 -16
  49. data/locales/sv.yml +17 -13
  50. data/locales/th.yml +18 -14
  51. data/locales/tl.yml +12 -8
  52. data/locales/tr.yml +17 -13
  53. data/locales/uk.yml +15 -11
  54. data/locales/vi.yml +15 -11
  55. data/locales/zh-CN.yml +13 -9
  56. data/locales/zh-TW.yml +12 -8
  57. data/locales/zh.yml +13 -9
  58. data/muck-activities.gemspec +12 -5
  59. data/public/javascripts/muck_activities.js +1 -2
  60. data/test/rails_root/config/environment.rb +1 -1
  61. data/test/rails_root/config/global_config.yml +4 -0
  62. data/test/rails_root/db/migrate/20090818204527_add_activity_indexes.rb +9 -0
  63. data/test/rails_root/db/migrate/20090819030523_add_attachable_to_activities.rb +13 -0
  64. data/test/rails_root/test/unit/activity_test.rb +24 -1
  65. data/test/rails_root/test/unit/share_test.rb +1 -1
  66. metadata +14 -4
data/README.rdoc CHANGED
@@ -67,6 +67,11 @@ If you would like to add live updates to the user's activity feed you can do so
67
67
  enable_live_activity_updates: true
68
68
  live_activity_update_interval: 5
69
69
 
70
+ You can also use the 'contribute' helper method to render a richer status update if you have uploader installed and configured:
71
+ enable_activity_file_uploads: true # Turn on file uploads in the activity feed. Requires that uploader be installed.
72
+ enable_activity_image_uploads: true # Turn on image uploads in the activity feed. Requires that uploader and muck_albums be installed.
73
+ enable_activity_video_sharing: true # Turn on video sharing in the activity feed.
74
+
70
75
  Note that this will poll the server every 5 seconds and so will increase server load and bandwidth usage.
71
76
 
72
77
  == Development
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.19
1
+ 0.1.20
@@ -128,9 +128,9 @@ class Muck::ActivitiesController < ApplicationController
128
128
 
129
129
  protected
130
130
 
131
- def get_activities_html(activities)
131
+ def get_activities_html(activities, limited = false)
132
132
  render_as_html do
133
- render_to_string(:partial => "activities/cached_activities", :locals => {:activities => @activities})
133
+ render_to_string(:partial => "activities/cached_activities", :locals => {:activities => @activities, :limited => limited})
134
134
  end
135
135
  end
136
136
 
@@ -10,6 +10,20 @@ module MuckActivityHelper
10
10
  end
11
11
  end
12
12
 
13
+ def activity_scripts
14
+ render( :partial => "activities/activity_scripts")
15
+ time_scripts(I18n.locale)
16
+ end
17
+
18
+ # Renders an activity feed using the cache where possible
19
+ # activities: the activities for the feed
20
+ # limited: a value passed to each activity template which can result in a smaller amount of data
21
+ # being rendered
22
+ def cached_activities(activities, limited = false)
23
+ return '' if activities.blank?
24
+ render( :partial => "activities/cached_activities", :locals => {:activities => activities, :limited => limited})
25
+ end
26
+
13
27
  def has_comments_css(activity)
14
28
  if activity.has_comments?
15
29
  'activity-has-comments'
@@ -19,15 +33,21 @@ module MuckActivityHelper
19
33
  end
20
34
 
21
35
  # Renders an activity with only activities created by activities_object
22
- def limited_activity_feed_for(activities_object)
23
- activities = activities_object.activities.created_by(activities_object).only_public.find(:all, :include => ['comments']).paginate(:page => @page, :per_page => @per_page)
24
- render :partial => 'activities/activity_feed', :locals => { :activities_object => activities_object, :activities => activities }
36
+ # activities_object: object to get activities for
37
+ # limited: a value passed to each activity template which can result in a smaller amount of data
38
+ # being rendered
39
+ def limited_activity_feed_for(activities_object, limited = false)
40
+ activities = activities_object.activities.latest.created_by(activities_object).only_public.find(:all, :include => ['comments']).paginate(:page => @page, :per_page => @per_page)
41
+ render :partial => 'activities/activity_feed', :locals => { :activities_object => activities_object, :activities => activities, :limited => limited }
25
42
  end
26
43
 
27
44
  # Renders a full activity feed for activities_object
28
- def activity_feed_for(activities_object)
45
+ # activities_object: object to get activities for
46
+ # limited: a value passed to each activity template which can result in a smaller amount of data
47
+ # being rendered
48
+ def activity_feed_for(activities_object, limited = false)
29
49
  activities = get_activities(activities_object)
30
- render :partial => 'activities/activity_feed', :locals => { :activities_object => activities_object, :activities => activities }
50
+ render :partial => 'activities/activity_feed', :locals => { :activities_object => activities_object, :activities => activities, :limited => limited }
31
51
  end
32
52
 
33
53
  # Renders a status update form for activities_object
@@ -35,6 +55,11 @@ module MuckActivityHelper
35
55
  render :partial => 'activities/status_update', :locals => { :activities_object => activities_object }
36
56
  end
37
57
 
58
+ # Renders a status update form for activities_object that has photo and file upload as well as video sharing.
59
+ def contribute(activities_object)
60
+ render :partial => 'activities/contribute', :locals => { :activities_object => activities_object }
61
+ end
62
+
38
63
  # Renders the last status update made by activities_object
39
64
  def current_status(activities_object)
40
65
  render :partial => 'activities/current_status_wrapper', :locals => { :activities_object => activities_object }
@@ -43,10 +68,10 @@ module MuckActivityHelper
43
68
  # Renders a delete button for an activity
44
69
  def delete_activity(activity, button_type = :button, button_text = t("muck.activities.clear"))
45
70
  render :partial => 'shared/delete', :locals => { :delete_object => activity,
46
- :button_type => button_type,
47
- :button_text => button_text,
48
- :form_class => 'activity-delete',
49
- :delete_path => activity_path(activity, :format => 'js') }
71
+ :button_type => button_type,
72
+ :button_text => button_text,
73
+ :form_class => 'activity-delete',
74
+ :delete_path => activity_path(activity, :format => 'js') }
50
75
  end
51
76
 
52
77
  # Renders a delete button for a comment inside an activity feed
@@ -85,17 +110,17 @@ module MuckActivityHelper
85
110
 
86
111
  def get_profile_activities(activities_object)
87
112
  if !params[:latest_activity_id].blank?
88
- activities_object.activities.filter_by_template(params[:activity_filter]).after(params[:latest_activity_id]).only_public.created_by(activities_object).find(:all, :include => ['comments']).paginate(:page => @page, :per_page => @per_page)
113
+ activities_object.activities.latest.filter_by_template(params[:activity_filter]).after(params[:latest_activity_id]).only_public.created_by(activities_object).find(:all, :include => ['comments']).paginate(:page => @page, :per_page => @per_page)
89
114
  else
90
- activities_object.activities.filter_by_template(params[:activity_filter]).only_public.created_by(activities_object).find(:all, :include => ['comments']).paginate(:page => @page, :per_page => @per_page)
115
+ activities_object.activities.latest.filter_by_template(params[:activity_filter]).only_public.created_by(activities_object).find(:all, :include => ['comments']).paginate(:page => @page, :per_page => @per_page)
91
116
  end
92
117
  end
93
118
 
94
119
  def get_activities(activities_object)
95
120
  if !params[:latest_activity_id].blank?
96
- activities_object.activities.filter_by_template(params[:activity_filter]).after(params[:latest_activity_id]).find(:all, :include => ['comments']).paginate(:page => @page, :per_page => @per_page)
121
+ activities_object.activities.latest.filter_by_template(params[:activity_filter]).after(params[:latest_activity_id]).find(:all, :include => ['comments']).paginate(:page => @page, :per_page => @per_page)
97
122
  else
98
- activities_object.activities.filter_by_template(params[:activity_filter]).find(:all, :include => ['comments']).paginate(:page => @page, :per_page => @per_page)
123
+ activities_object.activities.latest.filter_by_template(params[:activity_filter]).find(:all, :include => ['comments']).paginate(:page => @page, :per_page => @per_page)
99
124
  end
100
125
  end
101
126
 
@@ -1,13 +1,9 @@
1
1
  <div id="activity-feed">
2
2
  <div id="activity-feed-content">
3
- <%= render( :partial => "activities/cached_activities", :locals => {:activities => activities}) %>
3
+ <%= cached_activities(activities, limited) %>
4
4
  </div>
5
5
  </div>
6
6
  <%= will_paginate activities, :previous_label => t('muck.activities.paging_newer'), :next_label => t('muck.activities.paging_older') -%>
7
- <% content_for :head do -%>
8
- <%= javascript_tag %[var COMMENT_PROMPT = '#{t('muck.activities.write_prompt')}';] %>
9
- <%= javascript_tag %[var ADD_COMMENT_MESSAGE = '#{t('muck.activities.adding_comment_message')}';] %>
10
- <% end -%>
11
7
  <% content_for :javascript do -%>
12
8
  jQuery(document).ready(function(){
13
9
  setup_submit_delete();
@@ -16,4 +12,4 @@
16
12
  <% end -%>
17
13
  });
18
14
  <% end -%>
19
- <%= javascript_include_tag 'muck_activities' %>
15
+ <%= activity_scripts %>
@@ -0,0 +1,5 @@
1
+ <% content_for :head do -%>
2
+ <%= javascript_include_tag 'muck_activities' %>
3
+ <%= javascript_tag %[var COMMENT_PROMPT = '#{t('muck.activities.write_prompt')}';] %>
4
+ <%= javascript_tag %[var ADD_COMMENT_MESSAGE = '#{t('muck.activities.adding_comment_message')}';] %>
5
+ <% end -%>
@@ -1,8 +1,7 @@
1
1
  <% if !activities.blank? -%>
2
2
  <% activities.each do |activity| -%>
3
- <% cache ("activities/#{I18n.locale}/#{activity.id}") do -%>
4
- <%= render( :partial => "activity_templates/#{activity.partial}", :locals => {:activity => activity}) %>
5
- <hr class="space">
3
+ <% cache ("activities/#{I18n.locale}/#{limited}/#{activity.cache_key}") do -%>
4
+ <%= render( :partial => "activity_templates/#{activity.partial}", :locals => {:activity => activity, :limited => limited}) %>
6
5
  <% end -%>
7
6
  <% end -%>
8
7
  <% end -%>
@@ -0,0 +1,22 @@
1
+ <div id="activity-status-control">
2
+ <div id="status-container" class="status-activity"><%= status_update(@user) %></div>
3
+ <% if GlobalConfig.enable_activity_image_uploads -%>
4
+ <div id="photos-container" class="status-activity" style="display:none;">
5
+ <%= upload_form(@user, true, 'photos', :file_types_description => 'Photos', :file_types => '*.jpg;*.gif;*.png;*.tif;*.jpeg', :transparent => true, :transparent_html => '<a href="#" class="upload-button">' + t('muck.activities.add_photos') + '</a>') %>
6
+ </div>
7
+ <% end -%>
8
+ <% if GlobalConfig.enable_activity_video_sharing -%>
9
+ <div id="videos-container" class="status-activity" style="display:none;"></div>
10
+ <% end -%>
11
+ <% if GlobalConfig.enable_activity_file_uploads -%>
12
+ <div id="files-container" class="status-activity" style="display:none;">
13
+ <%= upload_form(@user, false, 'files', :button_image_url => '/images/') %>
14
+ </div>
15
+ <% end -%>
16
+ <ul id="status-menu">
17
+ <li><a id="status-action" class="status-action" href="#"><%= t('muck.activities.write') %></a></li>
18
+ <% if GlobalConfig.enable_activity_image_uploads -%><li><a id="photos-action" class="status-action" href="#"><%= t('muck.activities.add_photos') %></a></li><% end -%>
19
+ <% if GlobalConfig.enable_activity_video_sharing -%><li><a id="videos-action" class="status-action" href="#"><%= t('muck.activities.add_videos') %></a></li><% end -%>
20
+ <% if GlobalConfig.enable_activity_file_uploads -%><li><a id="files-action" class="status-action" href="#"><%= t('muck.activities.upload_files') %></a></li><% end -%>
21
+ </ul>
22
+ </div>
@@ -5,7 +5,7 @@
5
5
  <%= body %>
6
6
  </p>
7
7
  <%= delete_activity(activity, :image) %>
8
- <span class="activity-time"><%= t("muck.general.time_ago", :time_in_words => time_ago_in_words(activity.created_at)) %></span>
8
+ <span class="activity-time readable-time"><%= I18n.l(activity.created_at) %></span>
9
9
  <% if !activity.has_comments? -%>
10
10
  <span><a id="make_comment_<%=activity.dom_id%>" class="make-comment" href="#"><%=t('muck.activities.make_comment')%></a></span>
11
11
  <% end -%>
@@ -0,0 +1,9 @@
1
+ class AddActivityIndexes < ActiveRecord::Migration
2
+ def self.up
3
+ add_index :activities, ["source_id", "source_type"]
4
+ end
5
+
6
+ def self.down
7
+ remove_index :activities, ["source_id", "source_type"]
8
+ end
9
+ end
@@ -0,0 +1,13 @@
1
+ class AddAttachableToActivities < ActiveRecord::Migration
2
+ def self.up
3
+ add_column :activities, :attachable_id, :integer
4
+ add_column :activities, :attachable_type, :string
5
+ add_index :activities, ["attachable_id", "attachable_type"]
6
+ end
7
+
8
+ def self.down
9
+ remove_column :activities, :attachable_id
10
+ remove_column :activities, :attachable_type
11
+ remove_index :activities, ["attachable_id", "attachable_type"]
12
+ end
13
+ end
@@ -11,6 +11,7 @@ module ActiveRecord
11
11
 
12
12
  belongs_to :item, :polymorphic => true
13
13
  belongs_to :source, :polymorphic => true
14
+ belongs_to :attachable, :polymorphic => true
14
15
  has_many :activity_feeds, :dependent => :destroy
15
16
 
16
17
  acts_as_commentable
@@ -20,11 +21,14 @@ module ActiveRecord
20
21
  named_scope :since, lambda { |time| {:conditions => ["activities.created_at > ?", time || DateTime.now] } }
21
22
  named_scope :before, lambda { |time| {:conditions => ["activities.created_at < ?", time || DateTime.now] } }
22
23
  named_scope :newest, :order => "activities.created_at DESC"
24
+ named_scope :oldest, :order => "activities.created_at ASC"
25
+ named_scope :latest, :order => "activities.updated_at DESC" # Using this we can bring activites back to the top of the feed
23
26
  named_scope :after, lambda { |id| {:conditions => ["activities.id > ?", id] } }
24
27
  named_scope :only_public, :conditions => ["activities.is_public = ?", true]
25
28
  named_scope :filter_by_template, lambda { |template| { :conditions => ["activities.template = ?", template] } unless template.blank? }
26
29
  named_scope :created_by, lambda { |activity_object| {:conditions => ["activities.source_id = ? AND activities.source_type = ?", activity_object.id, activity_object.class.to_s] } }
27
30
  named_scope :status_updates, :conditions => ["activities.is_status_update = ?", true]
31
+ named_scope :by_item, lambda { |item| { :conditions => ["activities.item_id = ? AND activities.item_type = ?", item.id, item.class.to_s] } unless item.blank? }
28
32
  class_eval <<-EOV
29
33
  attr_protected :created_at, :updated_at
30
34
  EOV
@@ -58,13 +58,18 @@ module MuckActivitySources # :nodoc:
58
58
  # * +check_method+: method that will be called on each item in the feed_to array. If the method evaluates
59
59
  # to false the activity won't be added to the object's activity feed. An example usage would be
60
60
  # letting users configure which items they want to have in their activity feed.
61
- def add_activity(feed_to, source, item, template, title = '', content = '', check_method = nil)
61
+ # * +attach_to: In addition, to item the activity can be attached to another object. This can help
62
+ # improve performance. For example, each time an 'entry' recieves a new comment a new comment activity is
63
+ # added to the muck activity feed. The comments are also rendered alongside the entries. By attaching the
64
+ # activity directly to the entry it is easy to pull up all related activities.
65
+ def add_activity(feed_to, source, item, template, title = '', content = '', check_method = nil, attach_to = nil)
62
66
  if feed_to.is_a?(Array)
67
+ feed_to.flatten!
63
68
  feed_to = feed_to & feed_to # eliminate duplicates from feed_to array
64
69
  else
65
70
  feed_to = [feed_to]
66
71
  end
67
- activity = Activity.create(:item => item, :source => source, :template => template, :title => title, :content => content)
72
+ activity = Activity.create(:item => item, :source => source, :template => template, :title => title, :content => content, :attachable => attach_to)
68
73
  feed_to.each do |ft|
69
74
  if check_method
70
75
  ft.activities << activity if ft.send(check_method)
data/locales/ar.yml CHANGED
@@ -2,29 +2,33 @@
2
2
  ar:
3
3
  muck:
4
4
  activities:
5
- activity_feed_title: "النشاط الأخير"
5
+ activity_feed_title: "النشاط في الآونة الأخيرة"
6
+ add_photos: "إضافة صور"
7
+ add_videos: "حصة كليب"
6
8
  adding_comment_message: "واضاف التعليق..."
7
9
  all_activities: "جميع الأنشطة"
8
10
  clear: واضح
9
- create_error: "هناك مشكلة في طلب واضاف ان النشاط : {{error}}"
11
+ create_error: "كانت هناك مشكلة واضاف ان النشاط المطلوب : {{error}}"
10
12
  delete: حذف
11
- invite_friends: "دعوة الأصدقاء"
13
+ invite_friends: "دعوة أصدقاء"
12
14
  item_could_not_be_removed: "البند لا يمكن شطبها من قائمة الأنشطة الأخيرة."
13
- item_created: "واضاف النشاط"
14
- item_removed: "البند بنجاح في الآونة الأخيرة من الأنشطة القائمة."
15
- joined_status: "{{name}} joined {{application_name}}"
15
+ item_created: "وأضاف النشاط"
16
+ item_removed: "نجحت في إزالة البند الأخير من الأنشطة القائمة."
17
+ joined_status: "{{name}}انضم {{application_name}}"
16
18
  make_comment: التعليق
17
19
  paging_newer: «أحدث
18
20
  paging_older: "أقدم »"
19
- permission_denied: "عذرا ، لا يمكنك فعل ذلك."
21
+ permission_denied: "آسف ، لا يمكنك فعل ذلك."
20
22
  post: مشاركة
21
- problem_with_status: "هناك مشكلة في تغيير حالتك"
23
+ problem_with_status: "كانت هناك مشكلة تغيير حالتك"
22
24
  status_indicator: يكون
23
25
  status_update_prompt: "ماذا تفعل الآن؟"
24
- template_or_item_required: "نشاط يتطلب القالب أو بندا لعرض بشكل صحيح"
26
+ template_or_item_required: "وهو نشاط يتطلب القالب أو عنصر لعرض بشكل صحيح"
25
27
  update_error: "عفوا... كانت هناك مشكلة. {{errors}}"
26
28
  update_status_message: "تحديث مركز!"
27
- updating_status_message: "تحديث حالتك. الرجاء الانتظار."
29
+ updating_status_message: "تحديث حالتك. يرجى الانتظار."
30
+ upload_files: "تحميل ملفات"
31
+ write: يكتب
28
32
  write_prompt: "كتابة تعليق..."
29
33
  activity_templates:
30
- status_update: "مركز والمستجدات"
34
+ status_update: "مركز التحديثات"
data/locales/bg.yml CHANGED
@@ -2,29 +2,33 @@
2
2
  bg:
3
3
  muck:
4
4
  activities:
5
- activity_feed_title: "Скорошна активност"
5
+ activity_feed_title: "Recent Activity"
6
+ add_photos: "Добавяне на снимки"
7
+ add_videos: "Сподели Видео"
6
8
  adding_comment_message: "Добавяне на коментар ..."
7
9
  all_activities: "Всички дейности"
8
10
  clear: Ясен
9
- create_error: "Имаше проблем при добавянето на исканата дейност: {{error}}"
11
+ create_error: "Имаше проблем при добавянето на замолената дейност: {{error}}"
10
12
  delete: Изтривам
11
13
  invite_friends: "Поканете приятели"
12
- item_could_not_be_removed: "Точка не могат да бъдат отстранени от последните дейности списък."
13
- item_created: "Добавен дейност"
14
- item_removed: "Позиция успешно отстранява от последните дейности списък."
15
- joined_status: "{{name}} joined {{application_name}}"
14
+ item_could_not_be_removed: "Позиция не може да бъде заличено от списъка на последните дейности."
15
+ item_created: "Added дейност"
16
+ item_removed: "Позиция успешно премахнат от списъка на последните дейности."
17
+ joined_status: "{{name}} Присъединиха {{application_name}}"
16
18
  make_comment: Коментар
17
19
  paging_newer: «По-нови
18
20
  paging_older: "По-стари »"
19
- permission_denied: "За съжаление, не можете да направите това."
21
+ permission_denied: "За съжаление, не можеш да направиш това."
20
22
  post: Дял
21
- problem_with_status: "Имаше проблем с промяна на статута"
23
+ problem_with_status: "Имаше проблем при промяната на статута"
22
24
  status_indicator: е
23
- status_update_prompt: "Какво правите в момента?"
24
- template_or_item_required: "Една дейност изисква шаблон или елемент да показва правилно"
25
- update_error: "Опа ... Имаше проблем. {{errors}}"
26
- update_status_message: "обновите своя статус!"
27
- updating_status_message: "Актуализиране на вашия статус. Моля, изчакайте."
25
+ status_update_prompt: "Какво правиш сега?"
26
+ template_or_item_required: "Дейността изисква шаблон или елемент да показва правилно"
27
+ update_error: "Ами ... Имаше проблем. {{errors}}"
28
+ update_status_message: "актуализиране състоянието си!"
29
+ updating_status_message: "Актуализиране на състоянието ви. Моля, изчакайте."
30
+ upload_files: "Upload Files"
31
+ write: Пиша
28
32
  write_prompt: "Напиши коментар ..."
29
33
  activity_templates:
30
34
  status_update: "Статус актуализации"
data/locales/ca.yml CHANGED
@@ -3,28 +3,32 @@ ca:
3
3
  muck:
4
4
  activities:
5
5
  activity_feed_title: "Activitat recent"
6
- adding_comment_message: "Afegint comentari ..."
7
- all_activities: "Totes les activitats"
8
- clear: Clar
9
- create_error: "Hi ha hagut un problema en afegir l&#39;activitat sol licitada: {{error}}"
6
+ add_photos: "Afegir fotografies"
7
+ add_videos: "Compartir vídeos"
8
+ adding_comment_message: "Afegir comentari ..."
9
+ all_activities: "Totes les Activitats"
10
+ clear: "És clar"
11
+ create_error: "Hi va haver un problema en afegir l&#39;activitat sol • licitada: {{error}}"
10
12
  delete: Esborrar
11
- invite_friends: "Convidar amics"
12
- item_could_not_be_removed: "Tema no pot ser eliminat de la llista d&#39;activitats recents."
13
- item_created: "Afegit activitat"
14
- item_removed: "Ha eliminat el tema de la recent llista d&#39;activitats."
15
- joined_status: "{{name}} joined {{application_name}}"
13
+ invite_friends: "Convidar els amics"
14
+ item_could_not_be_removed: "No s&#39;ha pogut treure de la llista d&#39;activitats recents."
15
+ item_created: "Alta activitat"
16
+ item_removed: "Article ha eliminat de la llista d&#39;activitats recents."
17
+ joined_status: "{{name}} Unió {{application_name}}"
16
18
  make_comment: Comentari
17
- paging_newer: "«Més recent"
18
- paging_older: "Més antic »"
19
+ paging_newer: "«Més recents"
20
+ paging_older: "Més antics »"
19
21
  permission_denied: "Ho sentim, no pots fer això."
20
22
  post: Compartir
21
- problem_with_status: "Hi ha hagut un problema de canviar el seu estatut"
23
+ problem_with_status: "Hi va haver un problema en canviar el seu estat de"
22
24
  status_indicator: és
23
25
  status_update_prompt: "Què estàs fent ara?"
24
26
  template_or_item_required: "Una activitat que requereix d&#39;una plantilla o un element per mostrar correctament"
25
27
  update_error: "Quin ... Hi ha hagut un problema. {{errors}}"
26
- update_status_message: "actualització del seu estat!"
28
+ update_status_message: "actualitzar el seu estatus!"
27
29
  updating_status_message: "L&#39;actualització del seu estat. Si us plau, espereu."
30
+ upload_files: "Carregar arxius"
31
+ write: Escriure
28
32
  write_prompt: "Vols escriure un comentari ..."
29
33
  activity_templates:
30
- status_update: "Actualitzacions d&#39;estat"
34
+ status_update: "Les actualitzacions d&#39;estat"
data/locales/cs.yml CHANGED
@@ -2,29 +2,33 @@
2
2
  cs:
3
3
  muck:
4
4
  activities:
5
- activity_feed_title: "Poslední aktivita"
5
+ activity_feed_title: "Nedávná činnost"
6
+ add_photos: "Přidat fotografie"
7
+ add_videos: "Share Video"
6
8
  adding_comment_message: "Přidání komentáře ..."
7
9
  all_activities: "Všechny aktivity"
8
10
  clear: Jasný
9
- create_error: "Došlo k problému přidáním požadovaných činností: {{error}}"
11
+ create_error: "Tam byl problém přidat požadované činnosti: {{error}}"
10
12
  delete: Odstranit
11
13
  invite_friends: "Pozvat přátele"
12
- item_could_not_be_removed: "Bod nemohl být odstraněn z posledních aktivit seznamu."
13
- item_created: "Přidáno činnost"
14
- item_removed: "Bod byl úspěšně odstraněn z posledních aktivit seznamu."
15
- joined_status: "{{name}} joined {{application_name}}"
14
+ item_could_not_be_removed: "Položka nemůže být odstraněna ze seznamu posledních aktivit."
15
+ item_created: "Added činnost"
16
+ item_removed: "Položka úspěšně odstraněna ze seznamu posledních aktivit."
17
+ joined_status: "{{name}} Připojil {{application_name}}"
16
18
  make_comment: Komentář
17
19
  paging_newer: «Novější
18
20
  paging_older: "Starší »"
19
- permission_denied: "Omlouváme se, ale nemůžete udělat."
21
+ permission_denied: "Je nám líto, nemůžete udělat."
20
22
  post: Sdílet
21
- problem_with_status: "Došlo k problému při změně stavu"
23
+ problem_with_status: "Došlo k problému změnou svého postavení"
22
24
  status_indicator: je
23
25
  status_update_prompt: "Co děláte teď?"
24
- template_or_item_required: "Činnost vyžaduje šablony nebo položky na displeji správně"
25
- update_error: "Jejda ... Došlo k problému. {{errors}}"
26
+ template_or_item_required: "Činnost vyžaduje šablonu, nebo položku správně zobrazí"
27
+ update_error: "Jejda ... Tam byl problém. {{errors}}"
26
28
  update_status_message: "aktualizovat svůj stav!"
27
- updating_status_message: "Aktualizaci stavu. Prosím čekejte."
28
- write_prompt: "Napište komentář ..."
29
+ updating_status_message: "Aktualizace váš status. Prosím čekejte."
30
+ upload_files: "Upload souborů"
31
+ write: Psát
32
+ write_prompt: "Napsat komentář ..."
29
33
  activity_templates:
30
34
  status_update: "Stav aktualizace"
data/locales/da.yml CHANGED
@@ -2,29 +2,33 @@
2
2
  da:
3
3
  muck:
4
4
  activities:
5
- activity_feed_title: "Seneste aktivitet"
6
- adding_comment_message: "Tilføje kommentarer ..."
5
+ activity_feed_title: "Recent Activity"
6
+ add_photos: "Tilføj fotos"
7
+ add_videos: "Aktie Videos"
8
+ adding_comment_message: "Tilføje kommentar ..."
7
9
  all_activities: "Alle aktiviteter"
8
10
  clear: Klar
9
11
  create_error: "Der var et problem at tilføje den ønskede aktivitet: {{error}}"
10
12
  delete: Slet
11
13
  invite_friends: "Inviter venner"
12
- item_could_not_be_removed: "Konto ikke kunne fjernes fra de seneste aktiviteter listen."
14
+ item_could_not_be_removed: "Emnet kunne ikke fjernes fra de seneste aktiviteter listen."
13
15
  item_created: "Lagt aktivitet"
14
- item_removed: "Konto held fjernet fra de seneste aktiviteter listen."
15
- joined_status: "{{name}} joined {{application_name}}"
16
+ item_removed: "Konto blevet fjernet fra de seneste aktiviteter listen."
17
+ joined_status: "{{name}} Tiltrådte {{application_name}}"
16
18
  make_comment: Kommentar
17
19
  paging_newer: «Nyere
18
20
  paging_older: "Ældre »"
19
- permission_denied: "Beklager, men du kan ikke gøre det."
21
+ permission_denied: "Undskyld, kan du ikke gøre det."
20
22
  post: Del
21
23
  problem_with_status: "Der var et problem at ændre din status"
22
24
  status_indicator: er
23
25
  status_update_prompt: "Hvad laver du lige nu?"
24
- template_or_item_required: "En aktivitet kræver en skabelon eller et emne til at vise korrekt"
26
+ template_or_item_required: "En aktivitet kræver en skabelon eller et emne for at vise korrekt"
25
27
  update_error: "Ups ... Der var et problem. {{errors}}"
26
28
  update_status_message: "opdatere din status!"
27
29
  updating_status_message: "Opdatering af din status. Vent venligst."
30
+ upload_files: "Upload filer"
31
+ write: Skrive
28
32
  write_prompt: "Skriv en kommentar ..."
29
33
  activity_templates:
30
- status_update: "Status Updates"
34
+ status_update: Statusopdateringer
data/locales/de.yml CHANGED
@@ -2,29 +2,33 @@
2
2
  de:
3
3
  muck:
4
4
  activities:
5
- activity_feed_title: "Letzte Aktivitäten"
5
+ activity_feed_title: "Recent Activity"
6
+ add_photos: "Fotos hinzufügen"
7
+ add_videos: "Sagen Videos"
6
8
  adding_comment_message: "Kommentar hinzufügen ..."
7
9
  all_activities: "Alle Aktivitäten"
8
10
  clear: Klar
9
- create_error: "Es wurde ein Problem, das Hinzufügen der beantragten Aktivität: {{error}}"
11
+ create_error: "Es gab ein Problem indem die gewünschte Aktivität: {{error}}"
10
12
  delete: Löschen
11
13
  invite_friends: "Freunde einladen"
12
- item_could_not_be_removed: "Punkt konnte nicht entfernt werden aus den jüngsten Aktivitäten Liste."
13
- item_created: "Hinzugefügt Tätigkeit"
14
- item_removed: "Posten erfolgreich aus der jüngsten Aktivitäten Liste."
15
- joined_status: "{{name}} joined {{application_name}}"
14
+ item_could_not_be_removed: "Artikel konnte nicht aus der jüngsten Aktivitäten von Liste gestrichen werden."
15
+ item_created: "Added Tätigkeit"
16
+ item_removed: "Artikel erfolgreich aus dem jüngsten Aktivitäten-Liste entfernt."
17
+ joined_status: "{{name}} Beigetreten {{application_name}}"
16
18
  make_comment: Kommentar
17
19
  paging_newer: «Neuere
18
- paging_older: "Ältere »"
19
- permission_denied: "Sorry, Sie können das nicht."
20
+ paging_older: "Older »"
21
+ permission_denied: "Leider können Sie nicht tun."
20
22
  post: Anteil
21
- problem_with_status: "Es gab ein Problem, wenn Sie Ihre Status"
23
+ problem_with_status: "Es gab ein Problem Ändern Ihres Status"
22
24
  status_indicator: ist
23
- status_update_prompt: "Was machst du jetzt?"
24
- template_or_item_required: "Eine Tätigkeit erfordert eine Vorlage oder ein Element, um korrekt"
25
+ status_update_prompt: "Was machst du gerade?"
26
+ template_or_item_required: "Eine Tätigkeit erfordert eine Vorlage oder ein Element, um korrekt angezeigt"
25
27
  update_error: "Ups ... Es gab ein Problem. {{errors}}"
26
28
  update_status_message: "aktualisieren Sie Ihren Status!"
27
- updating_status_message: "Aktualisieren Sie Ihren Status. Bitte warten."
28
- write_prompt: "Schreiben Sie einen Kommentar ..."
29
+ updating_status_message: "Update your status. Bitte warten."
30
+ upload_files: "Dateien hochladen"
31
+ write: Schreiben
32
+ write_prompt: "Schreibe einen Kommentar ..."
29
33
  activity_templates:
30
34
  status_update: "Status Updates"
data/locales/el.yml CHANGED
@@ -3,28 +3,32 @@ el:
3
3
  muck:
4
4
  activities:
5
5
  activity_feed_title: "Πρόσφατη δραστηριότητα"
6
- adding_comment_message: "Adding σχόλιο ..."
6
+ add_photos: "Προσθήκη Photos"
7
+ add_videos: "Μερίδιο Βίντεο"
8
+ adding_comment_message: "Προσθήκη σχόλιο ..."
7
9
  all_activities: "Όλες οι δραστηριότητες"
8
10
  clear: Καθαρός
9
- create_error: "Υπήρξε πρόβλημα στην προσθήκη του ζήτησε δραστηριότητα: {{error}}"
11
+ create_error: "Υπήρξε ένα πρόβλημα με προσθήκη του ζήτησε δραστηριότητα: {{error}}"
10
12
  delete: Διαγράφω
11
- invite_friends: "Πρόσκληση φίλων"
12
- item_could_not_be_removed: "Το σημείο δεν μπορούσε να αφαιρεθεί από τον κατάλογο πρόσφατες δραστηριότητες."
13
+ invite_friends: "Προσκαλέστε τους φίλους"
14
+ item_could_not_be_removed: "Το σημείο δεν μπορούσε να αφαιρεθεί από την πρόσφατη τον κατάλογο των δραστηριοτήτων."
13
15
  item_created: "Προστέθηκε δραστηριότητα"
14
- item_removed: "Θέση με επιτυχία από τις πρόσφατες δραστηριότητες λίστα."
15
- joined_status: "{{name}} joined {{application_name}}"
16
+ item_removed: "Θέση επιτυχώς αφαιρεθεί από την πρόσφατη κατάλογο των δραστηριοτήτων."
17
+ joined_status: "{{name}} Προσχώρησαν {{application_name}}"
16
18
  make_comment: Σχόλιο
17
- paging_newer: «Νεότερα
19
+ paging_newer: «Νεότερο
18
20
  paging_older: "Παλαιότερο »"
19
21
  permission_denied: "Λυπούμαστε, δεν μπορείτε να το κάνετε αυτό."
20
22
  post: Μοιράζομαι
21
- problem_with_status: "Υπήρξε πρόβλημα στην αλλαγή σας"
23
+ problem_with_status: "Υπήρξε ένα πρόβλημα αλλάζοντας την κατάστασή σας"
22
24
  status_indicator: είναι
23
25
  status_update_prompt: "Τι κάνεις τώρα;"
24
26
  template_or_item_required: "Μια δραστηριότητα απαιτεί ένα πρότυπο ή ένα στοιχείο για να εμφανιστεί σωστά"
25
27
  update_error: "Ωχ ... Υπήρξε ένα πρόβλημα. {{errors}}"
26
- update_status_message: "ενημέρωση σας!"
27
- updating_status_message: "Η ενημέρωση σας. Παρακαλώ περιμένετε."
28
+ update_status_message: "ενημερώσετε την κατάστασή σας!"
29
+ updating_status_message: "Ενημέρωση κατάστασή σας. Παρακαλώ περιμένετε."
30
+ upload_files: "Upload Files"
31
+ write: Γράφω
28
32
  write_prompt: "Γράψτε ένα σχόλιο ..."
29
33
  activity_templates:
30
- status_update: "Status Updates"
34
+ status_update: "Κατάσταση Updates"
data/locales/en.yml CHANGED
@@ -25,6 +25,10 @@ en:
25
25
  make_comment: Comment
26
26
  write_prompt: "Write a comment..."
27
27
  adding_comment_message: "Adding comment... "
28
+ write: "Write"
29
+ add_photos: Add Photos
30
+ add_videos: Share Videos
31
+ upload_files: Upload Files
28
32
  activity_templates:
29
33
  status_update: "Status Updates"
30
34