diff --git a/README.md b/README.md index 99d111b52..5eb073867 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,7 @@ Ongoing discussion: - [Diaspora Developer Google Group](http://groups.google.com/group/diaspora-dev) - [Diaspora Discussion Google Group](http://groups.google.com/group/diaspora-discuss) - [Diaspora Q&A site](http://diaspora.shapado.com/) +- [Diasproa on Get Satisfaction](http://getsatisfaction.com/diaspora/) - [#diaspora IRC channel](irc://irc.freenode.net/#diaspora) ([join via the web client](http://webchat.freenode.net?channels=diaspora)) - [#diaspora-dev IRC channel](irc://irc.freenode.net/#diaspora-dev) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 399419a11..0e16c5f27 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -3,8 +3,6 @@ # the COPYRIGHT file. class ApplicationController < ActionController::Base - clear_helpers - helper :layout, :error_messages has_mobile_fu protect_from_forgery :except => :receive diff --git a/app/controllers/aspect_memberships_controller.rb b/app/controllers/aspect_memberships_controller.rb index c4b1aad88..72631232b 100644 --- a/app/controllers/aspect_memberships_controller.rb +++ b/app/controllers/aspect_memberships_controller.rb @@ -4,7 +4,6 @@ # class AspectMembershipsController < ApplicationController - helper :aspects before_filter :authenticate_user! def destroy diff --git a/app/controllers/aspects_controller.rb b/app/controllers/aspects_controller.rb index c26e20c4c..c6282b1ff 100644 --- a/app/controllers/aspects_controller.rb +++ b/app/controllers/aspects_controller.rb @@ -3,7 +3,6 @@ # the COPYRIGHT file. class AspectsController < ApplicationController - helper :comments before_filter :authenticate_user! before_filter :save_sort_order, :only => :index before_filter :ensure_page, :only => :index diff --git a/app/controllers/comments_controller.rb b/app/controllers/comments_controller.rb index 18e0e7277..a8ef1c8b6 100644 --- a/app/controllers/comments_controller.rb +++ b/app/controllers/comments_controller.rb @@ -21,18 +21,7 @@ class CommentsController < ApplicationController Postzord::Dispatch.new(current_user, @comment).post respond_to do |format| - format.js{ - json = { :post_id => @comment.post_id, - :comment_id => @comment.id, - :html => render_to_string( - :partial => 'comments/comment', - :locals => { :comment => @comment, - :person => current_user.person, - } - ) - } - render(:json => json, :status => 201) - } + format.js{ render(:create, :status => 201)} format.html{ render :nothing => true, :status => 201 } format.mobile{ redirect_to @comment.post } end diff --git a/app/controllers/contacts_controller.rb b/app/controllers/contacts_controller.rb index 57f17356f..6dcad56dc 100644 --- a/app/controllers/contacts_controller.rb +++ b/app/controllers/contacts_controller.rb @@ -3,7 +3,6 @@ # the COPYRIGHT file. class ContactsController < ApplicationController - helper :aspects before_filter :authenticate_user! def new diff --git a/app/controllers/likes_controller.rb b/app/controllers/likes_controller.rb index 6eef3bebb..46c56fd0b 100644 --- a/app/controllers/likes_controller.rb +++ b/app/controllers/likes_controller.rb @@ -5,9 +5,9 @@ class LikesController < ApplicationController include ApplicationHelper before_filter :authenticate_user! - + respond_to :html, :mobile, :json - + def create target = current_user.find_visible_post_by_id params[:post_id] positive = (params[:positive] == 'true') ? true : false @@ -19,18 +19,7 @@ class LikesController < ApplicationController Postzord::Dispatch.new(current_user, @like).post respond_to do |format| - format.js { - json = { :post_id => @like.post_id, - :html => render_to_string( - :partial => 'likes/likes', - :locals => { - :likes => @like.post.likes, - :dislikes => @like.post.dislikes - } - ) - } - render(:json => json, :status => 201) - } + format.js { render :status => 201 } format.html { render :nothing => true, :status => 201 } format.mobile { redirect_to status_message_path(@like.post_id) } end @@ -41,4 +30,15 @@ class LikesController < ApplicationController render :nothing => true, :status => 422 end end + + def destroy + if @like = Like.where(:post_id => params[:post_id], :author_id => current_user.person.id).first + current_user.retract(@like) + else + respond_to do |format| + format.mobile {redirect_to :back} + format.js {render :nothing => true, :status => 403} + end + end + end end diff --git a/app/controllers/people_controller.rb b/app/controllers/people_controller.rb index 724ce994e..7b8b74df1 100644 --- a/app/controllers/people_controller.rb +++ b/app/controllers/people_controller.rb @@ -3,7 +3,6 @@ # the COPYRIGHT file. class PeopleController < ApplicationController - helper :comments, :aspects before_filter :authenticate_user!, :except => [:show] respond_to :html diff --git a/app/controllers/photos_controller.rb b/app/controllers/photos_controller.rb index 49adb5077..d74b1a5b4 100644 --- a/app/controllers/photos_controller.rb +++ b/app/controllers/photos_controller.rb @@ -3,7 +3,6 @@ # the COPYRIGHT file. class PhotosController < ApplicationController - helper :comments, :aspects before_filter :authenticate_user! respond_to :html, :json diff --git a/app/controllers/sockets_controller.rb b/app/controllers/sockets_controller.rb index 913ead739..7ed70b1cb 100644 --- a/app/controllers/sockets_controller.rb +++ b/app/controllers/sockets_controller.rb @@ -3,7 +3,6 @@ # the COPYRIGHT file. class SocketsController < ApplicationController - helper :comments include ApplicationHelper include SocketsHelper include Rails.application.routes.url_helpers diff --git a/app/controllers/status_messages_controller.rb b/app/controllers/status_messages_controller.rb index 2b0e89ace..37f71917b 100644 --- a/app/controllers/status_messages_controller.rb +++ b/app/controllers/status_messages_controller.rb @@ -3,7 +3,6 @@ # the COPYRIGHT file. class StatusMessagesController < ApplicationController - helper :comments before_filter :authenticate_user! respond_to :html diff --git a/app/controllers/tags_controller.rb b/app/controllers/tags_controller.rb index dbf1bb32a..85e30a34b 100644 --- a/app/controllers/tags_controller.rb +++ b/app/controllers/tags_controller.rb @@ -3,7 +3,6 @@ # the COPYRIGHT file. class TagsController < ApplicationController - helper :comments, :aspects skip_before_filter :set_invites skip_before_filter :which_action_and_user skip_before_filter :set_grammatical_gender @@ -40,6 +39,7 @@ class TagsController < ApplicationController end def show + @aspect = :tag if current_user @posts = StatusMessage.joins(:contacts).where(:pending => false).where( Contact.arel_table[:user_id].eq(current_user.id).or( diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 569eb2075..6f04621ea 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -2,7 +2,6 @@ # licensed under the Affero General Public License version 3 or later. See # the COPYRIGHT file. class UsersController < ApplicationController - helper :language require File.join(Rails.root, 'lib/diaspora/ostatus_builder') require File.join(Rails.root, 'lib/diaspora/exporter') require File.join(Rails.root, 'lib/collect_user_photos') diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 76547b8c3..a5da5dd7e 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -3,106 +3,20 @@ # the COPYRIGHT file. module ApplicationHelper - @@youtube_title_cache = Hash.new("no-title") + def how_long_ago(obj) + timeago(obj.created_at) + end - def timeago(time, options = {}) + def timeago(time, options={}) options[:class] ||= "timeago" content_tag(:abbr, time.to_s, options.merge(:title => time.iso8601)) if time end - def page_title text=nil - title = "" - if text.blank? - title = "#{current_user.name}" if current_user - else - title = "#{text}" - end - end - - def aspects_with_post aspects, post - aspects.select do |aspect| - AspectVisibility.exists?(:aspect_id => aspect.id, :post_id => post.id) - end - end - - def aspects_without_post aspects, post - aspects.reject do |aspect| - AspectVisibility.exists?(:aspect_id => aspect.id, :post_id => post.id) - end - end - - def aspect_badges aspects, opts = {} - str = '' - aspects.each do |aspect| - str << aspect_badge(aspect, opts) - end - str.html_safe - end - def bookmarklet "javascript:(function(){f='#{AppConfig[:pod_url]}bookmarklet?url='+encodeURIComponent(window.location.href)+'&title='+encodeURIComponent(document.title)+'¬es='+encodeURIComponent(''+(window.getSelection?window.getSelection():document.getSelection?document.getSelection():document.selection.createRange().text))+'&v=1&';a=function(){if(!window.open(f+'noui=1&jump=doclose','diasporav1','location=yes,links=no,scrollbars=no,toolbar=no,width=620,height=250'))location.href=f+'jump=yes'};if(/Firefox/.test(navigator.userAgent)){setTimeout(a,0)}else{a()}})()" end - def aspect_badge aspect, opts = {} - str = "" - link = opts.delete(:link) - if !link - str << link_to(aspect.name, "#", 'data-guid' => aspect.id, :class => 'hard_aspect_link').html_safe - else - str << link_for_aspect(aspect).html_safe - end - str << "" - end - - def aspect_links aspects, opts={} - str = "" - aspects.each do |aspect| - str << '
  • ' - str << link_for_aspect(aspect, :params => opts, 'data-guid' => aspect.id, :class => 'hard_aspect_link').html_safe - str << '
  • ' - end - str.html_safe - end - - def aspect_li aspect, opts= {} - param_string = "" - if opts.size > 0 - param_string << '?' - opts.each_pair do |k, v| - param_string << "#{k}=#{v}" - end - end -"
  • - - #{aspect.name} - -
  • ".html_safe - end - - def link_for_aspect(aspect, opts={}) - opts[:params] ||= {} - params ||= {} - opts[:params] = opts[:params].merge("a_ids[]" => aspect.id, :created_at => params[:created_at]) - opts[:class] ||= "" - opts[:class] << " hard_aspect_link" - opts['data-guid'] = aspect.id - - link_to aspect.name, aspects_path( opts[:params] ), opts - end - - def current_aspect?(aspect) - !@aspect.nil? && !@aspect.instance_of?(Symbol) && @aspect.id == aspect.id - end - - def aspect_or_all_path aspect - if @aspect.is_a? Aspect - aspect_path @aspect - else - aspects_path - end - end - - def object_path(object, opts = {}) + def object_path(object, opts={}) return "" if object.nil? object = object.person if object.is_a? User eval("#{object.class.name.underscore}_path(object, opts)") @@ -121,10 +35,6 @@ module ApplicationHelper "#{class_name.pluralize}/#{class_name}" end - def how_long_ago(obj) - timeago(obj.created_at) - end - def profile_photo(person) person_image_link(person, :size => :thumb_large, :to => :photos) end @@ -151,7 +61,7 @@ module ApplicationHelper link_to string, path, :rel => 'external' end - def person_image_link(person, opts = {}) + def person_image_link(person, opts={}) return "" if person.nil? || person.profile.nil? if opts[:to] == :photos link_to person_image_tag(person, opts[:size]), person_photos_path(person) @@ -166,136 +76,6 @@ module ApplicationHelper (':' + post.id.to_s).to_sym end - def markdownify(message, options = {}) - message = h(message).html_safe - - options[:newlines] = true if !options.has_key?(:newlines) - options[:emoticons] = true if !options.has_key?(:emoticons) - - message = process_links(message) - message = process_autolinks(message) - message = process_emphasis(message) - message = process_youtube(message, options[:youtube_maps]) - message = process_vimeo(message, options[:vimeo_maps]) - message = process_emoticons(message) if options[:emoticons] - - message.gsub!(/\n+/, '
    ') if options[:newlines] - - return message - end - - - def process_links(message) - message.gsub!(/\[([^\[]+)\]\(([^ ]+) \"(([^&]|(&[^q])|(&q[^u])|(&qu[^o])|(&quo[^t])|("[^;]))+)\"\)/) do |m| - escape = "\\" - link = $1 - url = $2 - title = $3 - url.gsub!("_", "\\_") - url.gsub!("*", "\\*") - protocol = (url =~ /^\w+:\/\//) ? '' :'http://' - res = "#{link}" - res - end - message.gsub!(/\[([^\[]+)\]\(([^ ]+)\)/) do |m| - escape = "\\" - link = $1 - url = $2 - url.gsub!("_", "\\_") - url.gsub!("*", "\\*") - protocol = (url =~ /^\w+:\/\//) ? '' :'http://' - res = "#{link}" - res - end - - return message - end - - def process_youtube(message, youtube_maps) - regex = /( |^)(https?:\/\/)?www\.youtube\.com\/watch[^ ]*v=([A-Za-z0-9_\-]+)(&[^ ]*)?(#[^ ]+)?/ - processed_message = message.gsub(regex) do |matched_string| - match_data = matched_string.match(regex) - video_id = match_data[3] - anchor = match_data[5] - anchor ||= '' - if youtube_maps && youtube_maps[video_id] - title = h(CGI::unescape(youtube_maps[video_id])) - else - title = I18n.t 'application.helper.video_title.unknown' - end - ' Youtube: ' + title + '' - end - return processed_message - end - - def process_autolinks(message) - message.gsub!(/( |^)(www\.[^\s]+\.[^\s])/, '\1http://\2') - message.gsub!(/(#{captures[2]}} - res.gsub!(/(\*|_)/) { |m| "\\#{$1}" } - res - end - end - return message - end - - def process_emphasis(message) - message.gsub!("\\**", "-^doublestar^-") - message.gsub!("\\__", "-^doublescore^-") - message.gsub!("\\*", "-^star^-") - message.gsub!("\\_", "-^score^-") - message.gsub!(/(\*\*\*|___)(.+?)\1/m, '\2') - message.gsub!(/(\*\*|__)(.+?)\1/m, '\2') - message.gsub!(/(\*|_)(.+?)\1/m, '\2') - message.gsub!("-^doublestar^-", "**") - message.gsub!("-^doublescore^-", "__") - message.gsub!("-^star^-", "*") - message.gsub!("-^score^-", "_") - return message - end - - def process_vimeo(message, vimeo_maps) - regex = /https?:\/\/(?:w{3}\.)?vimeo.com\/(\d{6,})/ - processed_message = message.gsub(regex) do |matched_string| - match_data = message.match(regex) - video_id = match_data[1] - if vimeo_maps && vimeo_maps[video_id] - title = h(CGI::unescape(vimeo_maps[video_id])) - else - title = I18n.t 'application.helper.video_title.unknown' - end - ' Vimeo: ' + title + '' - end - return processed_message - end - - def process_emoticons(message) - map = { - "<3" => "♥", - ":(" => "☹", - ":-(" => "☹", - ":)" => "☺", - ":-)" => "☺", - "->" => "→", - "<-" => "←", - "..." => "…", - "(tm)" => "™", - "(r)" => "®", - "(c)" => "©" - } - - map.each do |search, replace| - message.gsub!(search, replace) - end - message - end - def info_text(text) image_tag 'icons/monotone_question.png', :class => 'what_is_this', :title => text end @@ -312,7 +92,8 @@ module ApplicationHelper end def direction_for(string) - return (string.cleaned_is_rtl?) ? 'rtl' : '' + return '' unless string.respond_to?(:cleaned_is_rtl?) + string.cleaned_is_rtl? ? 'rtl' : '' end def rtl? diff --git a/app/helpers/aspect_global_helper.rb b/app/helpers/aspect_global_helper.rb new file mode 100644 index 000000000..65ecc4b12 --- /dev/null +++ b/app/helpers/aspect_global_helper.rb @@ -0,0 +1,84 @@ +# Copyright (c) 2010, Diaspora Inc. This file is +# licensed under the Affero General Public License version 3 or later. See +# the COPYRIGHT file. + +module AspectGlobalHelper + def aspects_with_post(aspects, post) + aspects.select do |aspect| + AspectVisibility.exists?(:aspect_id => aspect.id, :post_id => post.id) + end + end + + def aspects_without_post(aspects, post) + aspects.reject do |aspect| + AspectVisibility.exists?(:aspect_id => aspect.id, :post_id => post.id) + end + end + + def aspect_badges(aspects, opts={}) + str = '' + aspects.each do |aspect| + str << aspect_badge(aspect, opts) + end + str.html_safe + end + + def aspect_badge(aspect, opts={}) + str = "" + link = opts.delete(:link) + if !link + str << link_to(aspect.name, "#", 'data-guid' => aspect.id, :class => 'hard_aspect_link').html_safe + else + str << link_for_aspect(aspect).html_safe + end + str << "" + end + + def aspect_links(aspects, opts={}) + str = "" + aspects.each do |aspect| + str << '
  • ' + str << link_for_aspect(aspect, :params => opts, 'data-guid' => aspect.id, :class => 'hard_aspect_link').html_safe + str << '
  • ' + end + str.html_safe + end + + def aspect_li(aspect, opts={}) + param_string = "" + if opts.size > 0 + param_string << '?' + opts.each_pair do |k, v| + param_string << "#{k}=#{v}" + end + end +"
  • + + #{aspect.name} + +
  • ".html_safe + end + + def link_for_aspect(aspect, opts={}) + opts[:params] ||= {} + params ||= {} + opts[:params] = opts[:params].merge("a_ids[]" => aspect.id, :created_at => params[:created_at]) + opts[:class] ||= "" + opts[:class] << " hard_aspect_link" + opts['data-guid'] = aspect.id + + link_to aspect.name, aspects_path( opts[:params] ), opts + end + + def current_aspect?(aspect) + !@aspect.nil? && !@aspect.instance_of?(Symbol) && @aspect.id == aspect.id + end + + def aspect_or_all_path(aspect) + if @aspect.is_a? Aspect + aspect_path @aspect + else + aspects_path + end + end +end \ No newline at end of file diff --git a/app/helpers/aspects_helper.rb b/app/helpers/aspects_helper.rb index f2e16a5b9..42716f846 100644 --- a/app/helpers/aspects_helper.rb +++ b/app/helpers/aspects_helper.rb @@ -3,10 +3,6 @@ # the COPYRIGHT file. module AspectsHelper - def next_page_path - aspects_path(:max_time => @posts.last.send(session[:sort_order].to_sym).to_i, :a_ids => params[:a_ids]) - end - def remove_link(aspect) if aspect.contacts.size == 0 link_to I18n.t('aspects.helper.remove'), aspect, :method => :delete, :confirm => I18n.t('aspects.helper.are_you_sure') diff --git a/app/helpers/layout_helper.rb b/app/helpers/layout_helper.rb index e8707e412..211768ddb 100644 --- a/app/helpers/layout_helper.rb +++ b/app/helpers/layout_helper.rb @@ -12,6 +12,11 @@ module LayoutHelper @show_title = show_title end + def page_title(text=nil) + return text unless text.blank? + current_user ? current_user.name : t("application.helper.diaspora_alpha") + end + def show_title? @show_title end diff --git a/app/helpers/likes_helper.rb b/app/helpers/likes_helper.rb index fde7be672..cec61f5b4 100644 --- a/app/helpers/likes_helper.rb +++ b/app/helpers/likes_helper.rb @@ -3,8 +3,16 @@ # the COPYRIGHT file. module LikesHelper - def likes_list likes + def likes_list(likes) links = likes.collect { |like| link_to "#{h(like.author.name.titlecase)}", person_path(like.author) } links.join(", ").html_safe end + + def like_action(post, current_user=current_user) + if current_user.liked?(post) + link_to t('shared.stream_element.unlike'), like_path(:post_id => post.id, :id => 'xxx'), :method => :delete, :class => 'unlike', :remote => true + else + link_to t('shared.stream_element.like'), likes_path(:positive => 'true', :post_id => post.id ), :method => :post, :class => 'like', :remote => true + end + end end diff --git a/app/helpers/markdownify_helper.rb b/app/helpers/markdownify_helper.rb new file mode 100644 index 000000000..3fffdda30 --- /dev/null +++ b/app/helpers/markdownify_helper.rb @@ -0,0 +1,134 @@ +# Copyright (c) 2010, Diaspora Inc. This file is +# licensed under the Affero General Public License version 3 or later. See +# the COPYRIGHT file. + +module MarkdownifyHelper + def markdownify(message, options={}) + message = h(message).html_safe + + options[:newlines] = true if !options.has_key?(:newlines) + options[:emoticons] = true if !options.has_key?(:emoticons) + + message = process_links(message) + message = process_autolinks(message) + message = process_emphasis(message) + message = process_youtube(message, options[:youtube_maps]) + message = process_vimeo(message, options[:vimeo_maps]) + message = process_emoticons(message) if options[:emoticons] + + message.gsub!(/\n+/, '
    ') if options[:newlines] + + message + end + + def process_links(message) + message.gsub!(/\[([^\[]+)\]\(([^ ]+) \"(([^&]|(&[^q])|(&q[^u])|(&qu[^o])|(&quo[^t])|("[^;]))+)\"\)/) do |m| + escape = "\\" + link = $1 + url = $2 + title = $3 + url.gsub!("_", "\\_") + url.gsub!("*", "\\*") + protocol = (url =~ /^\w+:\/\//) ? '' :'http://' + res = "#{link}" + res + end + + message.gsub!(/\[([^\[]+)\]\(([^ ]+)\)/) do |m| + escape = "\\" + link = $1 + url = $2 + url.gsub!("_", "\\_") + url.gsub!("*", "\\*") + protocol = (url =~ /^\w+:\/\//) ? '' :'http://' + res = "#{link}" + res + end + + message + end + + def process_youtube(message, youtube_maps) + processed_message = message.gsub(YoutubeTitles::YOUTUBE_ID_REGEX) do |matched_string| + match_data = matched_string.match(YoutubeTitles::YOUTUBE_ID_REGEX) + video_id = match_data[1] + anchor = match_data[2] + anchor ||= '' + if youtube_maps && youtube_maps[video_id] + title = h(CGI::unescape(youtube_maps[video_id])) + else + title = I18n.t 'application.helper.video_title.unknown' + end + ' Youtube: ' + title + '' + end + processed_message + end + + def process_autolinks(message) + message.gsub!(/( |^)(www\.[^\s]+\.[^\s])/, '\1http://\2') + message.gsub!(/(#{captures[2]}} + res.gsub!(/(\*|_)/) { |m| "\\#{$1}" } + res + end + end + message + end + + def process_emphasis(message) + message.gsub!("\\**", "-^doublestar^-") + message.gsub!("\\__", "-^doublescore^-") + message.gsub!("\\*", "-^star^-") + message.gsub!("\\_", "-^score^-") + message.gsub!(/(\*\*\*|___)(.+?)\1/m, '\2') + message.gsub!(/(\*\*|__)(.+?)\1/m, '\2') + message.gsub!(/(\*|_)(.+?)\1/m, '\2') + message.gsub!("-^doublestar^-", "**") + message.gsub!("-^doublescore^-", "__") + message.gsub!("-^star^-", "*") + message.gsub!("-^score^-", "_") + message + end + + def process_vimeo(message, vimeo_maps) + regex = /https?:\/\/(?:w{3}\.)?vimeo.com\/(\d{6,})/ + processed_message = message.gsub(regex) do |matched_string| + match_data = message.match(regex) + video_id = match_data[1] + if vimeo_maps && vimeo_maps[video_id] + title = h(CGI::unescape(vimeo_maps[video_id])) + else + title = I18n.t 'application.helper.video_title.unknown' + end + ' Vimeo: ' + title + '' + end + processed_message + end + + def process_emoticons(message) + map = { + "<3" => "♥", + ":(" => "☹", + ":-(" => "☹", + ":)" => "☺", + ":-)" => "☺", + "->" => "→", + "<-" => "←", + "..." => "…", + "(tm)" => "™", + "(r)" => "®", + "(c)" => "©" + } + + map.each do |search, replace| + message.gsub!(search, replace) + end + message + end +end \ No newline at end of file diff --git a/app/helpers/notifications_helper.rb b/app/helpers/notifications_helper.rb index 8afc55b61..dbe6098ac 100644 --- a/app/helpers/notifications_helper.rb +++ b/app/helpers/notifications_helper.rb @@ -1,6 +1,6 @@ module NotificationsHelper def object_link(note) - target_type = note.translation_key + target_type = note.popup_translation_key if note.instance_of?(Notifications::Mentioned) post = Mention.find(note.target_id).post if post @@ -8,8 +8,6 @@ module NotificationsHelper else "#{translation(target_type)} #{t('notifications.deleted')} #{t('notifications.post')}" end - elsif note.instance_of?(Notifications::StartedSharing) - translation(target_type) elsif note.instance_of?(Notifications::CommentOnPost) post = Post.where(:id => note.target_id).first if post @@ -24,11 +22,13 @@ module NotificationsHelper else t('notifications.also_commented_deleted') end + else #Notifications:StartedSharing, Notifications::Liked, etc. + translation(target_type) end end def translation(target_type, post_author = nil) - t("notifications.#{target_type}", :post_author => post_author) + t("#{target_type}", :post_author => post_author) end diff --git a/app/helpers/people_helper.rb b/app/helpers/people_helper.rb index 490200756..b149abca8 100644 --- a/app/helpers/people_helper.rb +++ b/app/helpers/people_helper.rb @@ -27,8 +27,4 @@ module PeopleHelper I18n.l bday, :format => I18n.t('date.formats.birthday_with_year') end end - - def next_page_path - person_path(@person, :max_time => @posts.last.created_at.to_i) - end end diff --git a/app/helpers/stream_helper.rb b/app/helpers/stream_helper.rb new file mode 100644 index 000000000..3fe8aca2b --- /dev/null +++ b/app/helpers/stream_helper.rb @@ -0,0 +1,23 @@ +# Copyright (c) 2010, Diaspora Inc. This file is +# licensed under the Affero General Public License version 3 or later. See +# the COPYRIGHT file. + +module StreamHelper + def next_page_path + if controller.instance_of?(TagsController) + tag_path(@tag, :max_time => @posts.last.created_at.to_i) + elsif controller.instance_of?(PeopleController) + person_path(@person, :max_time => @posts.last.created_at.to_i) + elsif controller.instance_of?(AspectsController) + aspects_path(:max_time => @posts.last.send(session[:sort_order].to_sym).to_i, :a_ids => params[:a_ids]) + end + end + + def time_for_sort post + if controller.instance_of?(AspectsController) + post.send(session[:sort_order].to_sym) + else + post.created_at + end + end +end diff --git a/app/helpers/tags_helper.rb b/app/helpers/tags_helper.rb index ee29ec44e..d27480223 100644 --- a/app/helpers/tags_helper.rb +++ b/app/helpers/tags_helper.rb @@ -3,7 +3,4 @@ # the COPYRIGHT file. module TagsHelper - def next_page_path - tag_path(@tag, :max_time => @posts.last.created_at.to_i) - end end diff --git a/app/mailers/notifier.rb b/app/mailers/notifier.rb index 2088ee3fa..c7b10bcf3 100644 --- a/app/mailers/notifier.rb +++ b/app/mailers/notifier.rb @@ -35,6 +35,21 @@ class Notifier < ActionMailer::Base end end + def liked(recipient_id, sender_id, like_id) + @receiver = User.find_by_id(recipient_id) + @sender = Person.find_by_id(sender_id) + @like = Like.find(like_id) + + log_mail(recipient_id, sender_id, 'liked') + + attachments.inline['logo_caps.png'] = ATTACHMENT + + I18n.with_locale(@receiver.language) do + mail(:to => "\"#{@receiver.name}\" <#{@receiver.email}>", + :subject => I18n.t('notifier.liked.subject', :name => @sender.name), :host => AppConfig[:pod_uri].host) + end + end + def mentioned(recipient_id, sender_id, target_id) @receiver = User.find_by_id(recipient_id) @sender = Person.find_by_id(sender_id) diff --git a/app/models/jobs/mail_liked.rb b/app/models/jobs/mail_liked.rb new file mode 100644 index 000000000..5837619ae --- /dev/null +++ b/app/models/jobs/mail_liked.rb @@ -0,0 +1,9 @@ +module Job + class MailLiked < Base + @queue = :mail + def self.perform_delegate(recipient_id, sender_id, like_id) + Notifier.liked(recipient_id, sender_id, like_id).deliver + end + end +end + diff --git a/app/models/like.rb b/app/models/like.rb index 60ac461d9..a7363b60d 100644 --- a/app/models/like.rb +++ b/app/models/like.rb @@ -5,16 +5,16 @@ class Like < ActiveRecord::Base require File.join(Rails.root, 'lib/diaspora/web_socket') include ROXML - + include Diaspora::Webhooks include Diaspora::Relayable include Diaspora::Guid - + include Diaspora::Socketable - + xml_attr :positive xml_attr :diaspora_handle - + belongs_to :post belongs_to :author, :class_name => 'Person' @@ -23,20 +23,24 @@ class Like < ActiveRecord::Base def diaspora_handle self.author.diaspora_handle end - + def diaspora_handle= nh self.author = Webfinger.new(nh).fetch end - + def parent_class Post end - + def parent self.post end - + def parent= parent self.post = parent end + + def notification_type(user, person) + Notifications::Liked if self.post.author == user.person && user.person != person + end end diff --git a/app/models/notifications/also_commented.rb b/app/models/notifications/also_commented.rb index f31341cf5..61b1346d3 100644 --- a/app/models/notifications/also_commented.rb +++ b/app/models/notifications/also_commented.rb @@ -2,7 +2,7 @@ class Notifications::AlsoCommented < Notification def mail_job Job::MailAlsoCommented end - def translation_key - 'also_commented' + def popup_translation_key + 'notifications.also_commented' end end diff --git a/app/models/notifications/comment_on_post.rb b/app/models/notifications/comment_on_post.rb index 096b9d885..7235daadb 100644 --- a/app/models/notifications/comment_on_post.rb +++ b/app/models/notifications/comment_on_post.rb @@ -2,7 +2,7 @@ class Notifications::CommentOnPost < Notification def mail_job Job::MailCommentOnPost end - def translation_key - 'comment_on_post' + def popup_translation_key + 'notifications.comment_on_post' end end diff --git a/app/models/notifications/liked.rb b/app/models/notifications/liked.rb new file mode 100644 index 000000000..8b32b9eb5 --- /dev/null +++ b/app/models/notifications/liked.rb @@ -0,0 +1,8 @@ +class Notifications::Liked < Notification + def mail_job + Job::MailLiked + end + def popup_translation_key + 'notifications.liked' + end +end diff --git a/app/models/notifications/mentioned.rb b/app/models/notifications/mentioned.rb index 34cdb44c0..e7a2d3e75 100644 --- a/app/models/notifications/mentioned.rb +++ b/app/models/notifications/mentioned.rb @@ -2,7 +2,7 @@ class Notifications::Mentioned < Notification def mail_job Job::MailMentioned end - def translation_key - 'mentioned' + def popup_translation_key + 'notifications.mentioned' end end diff --git a/app/models/notifications/private_message.rb b/app/models/notifications/private_message.rb index 3044816c8..394442cba 100644 --- a/app/models/notifications/private_message.rb +++ b/app/models/notifications/private_message.rb @@ -2,8 +2,8 @@ class Notifications::PrivateMessage < Notification def mail_job Job::MailPrivateMessage end - def translation_key - 'private_message' + def popup_translation_key + 'notifications.private_message' end def self.make_notification(recipient, target, actor, notification_type) n = notification_type.new(:target => target, diff --git a/app/models/notifications/request_accepted.rb b/app/models/notifications/request_accepted.rb index 226c57f7a..4486a5021 100644 --- a/app/models/notifications/request_accepted.rb +++ b/app/models/notifications/request_accepted.rb @@ -2,7 +2,7 @@ class Notifications::RequestAccepted < Notification def mail_job Job::MailRequestAcceptance end - def translation_key - 'request_accepted' + def popup_translation_key + 'notifications.request_accepted' end end diff --git a/app/models/notifications/started_sharing.rb b/app/models/notifications/started_sharing.rb index 85c3dd5a4..a39f30b71 100644 --- a/app/models/notifications/started_sharing.rb +++ b/app/models/notifications/started_sharing.rb @@ -2,8 +2,9 @@ class Notifications::StartedSharing < Notification def mail_job Job::MailStartedSharing end - def translation_key - 'started_sharing' + + def popup_translation_key + 'notifications.started_sharing' end def email_the_user(target, actor) diff --git a/app/models/user_preference.rb b/app/models/user_preference.rb index e0fd0982a..468918621 100644 --- a/app/models/user_preference.rb +++ b/app/models/user_preference.rb @@ -8,7 +8,8 @@ class UserPreference < ActiveRecord::Base "comment_on_post", "private_message", "started_sharing", - "also_commented"] + "also_commented", + "liked"] def must_be_valid_email_type unless VALID_EMAIL_TYPES.include?(self.email_type) diff --git a/app/views/comments/create.js.erb b/app/views/comments/create.js.erb new file mode 100644 index 000000000..bc4bba110 --- /dev/null +++ b/app/views/comments/create.js.erb @@ -0,0 +1,5 @@ +WebSocketReceiver.processComment(<%= @comment.post_id %>, + <%= @comment.id %>, + "<%= escape_javascript(render(:partial => 'comments/comment', :locals => { :comment => @comment, :person => current_user.person}))%>", + false); + diff --git a/app/views/home/show.html.haml b/app/views/home/show.html.haml index 6cb05994b..c028942b2 100644 --- a/app/views/home/show.html.haml +++ b/app/views/home/show.html.haml @@ -2,10 +2,19 @@ -# licensed under the Affero General Public License version 3 or later. See -# the COPYRIGHT file. + + - content_for :page_title do DIASPORA* ALPHA - begin - = render :partial => 'home/show' + = render :partial => 'home/show' - rescue + :css + header{ + display:none; + } + body{ + margin-top: 20px; + } :erb <%= File.open(File.join(Rails.root, 'public/default.html')).read %> diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml index 0e22c2623..57beb0da9 100644 --- a/app/views/layouts/application.html.haml +++ b/app/views/layouts/application.html.haml @@ -14,7 +14,7 @@ %meta{"http-equiv"=>"Content-Type", :content=>"text/html; charset=utf-8"}/ - %link{:rel => 'shortcut icon', :href => '/favicon.ico'} + %link{:rel => 'shortcut icon', :href => '/favicon.png'} %link{:rel => 'apple-touch-icon', :href => '/apple-touch-icon.png'} / Social Media Icons are by Paul Robert Lloyd @ http://paulrobertlloyd.com/2009/06/social_media_icons diff --git a/app/views/layouts/application.mobile.haml b/app/views/layouts/application.mobile.haml index 5e260ff9f..85ef0d523 100644 --- a/app/views/layouts/application.mobile.haml +++ b/app/views/layouts/application.mobile.haml @@ -79,7 +79,11 @@ = link_to t('notifications.index.notifications'), notifications_path .ui-li-count = @notification_count - + %li + = link_to t('conversations.index.message_inbox'), conversations_path + .ui-li-count + = @unread_message_count + %h4 = t('.your_aspects') diff --git a/app/views/likes/_likes.haml b/app/views/likes/_likes.haml index 2c1ebe1e8..e8d61603f 100644 --- a/app/views/likes/_likes.haml +++ b/app/views/likes/_likes.haml @@ -2,16 +2,11 @@ -# licensed under the Affero General Public License version 3 or later. See -# the COPYRIGHT file. -- if likes.length > 0 - .likes - = image_tag('icons/happy_smiley.png') - = link_to t('.people_like_this', :count => likes.length), "#", :class => "expand_likes" - %span.hidden.likes_list - = likes_list(likes) +- if likes.size > 0 + .likes_container + .likes + = image_tag('icons/happy_smiley.png') + = link_to t('.people_like_this', :count => likes.length), "#", :class => "expand_likes" + %span.hidden.likes_list + = likes_list(likes) -- if dislikes.length > 0 - .dislikes - = image_tag('icons/sad_smiley.png') - = link_to t('.people_dislike_this', :count => dislikes.length), "#", :class => "expand_dislikes" - %span.hidden.dislikes_list - = likes_list(dislikes) diff --git a/app/views/likes/create.js.erb b/app/views/likes/create.js.erb new file mode 100644 index 000000000..b5486b8b4 --- /dev/null +++ b/app/views/likes/create.js.erb @@ -0,0 +1,4 @@ +$(".like_action", ".stream_element[data-guid=<%=@like.post_id%>]").html("<%= escape_javascript(like_action(@like.post))%>"); + +WebSocketReceiver.processLike("<%=@like.post_id%>", "<%= escape_javascript(render("likes/likes", :post_id => @like.post_id, :likes => @like.post.likes, :dislikes => @like.post.dislikes)) %>"); + diff --git a/app/views/likes/destroy.js.erb b/app/views/likes/destroy.js.erb new file mode 100644 index 000000000..7538c2113 --- /dev/null +++ b/app/views/likes/destroy.js.erb @@ -0,0 +1,3 @@ +$(".like_action", ".stream_element[data-guid=<%=@like.post_id%>]").html("<%= escape_javascript(like_action(@like.post))%>"); +WebSocketReceiver.processLike("<%=@like.post_id%>", "<%= escape_javascript(render("likes/likes", :post_id => @like.post_id, :likes => @like.post.likes, :dislikes => @like.post.dislikes)) %>"); + diff --git a/app/views/notifier/liked.html.haml b/app/views/notifier/liked.html.haml new file mode 100644 index 000000000..ca9300b72 --- /dev/null +++ b/app/views/notifier/liked.html.haml @@ -0,0 +1,16 @@ +%p + = t('notifier.hello', :name => @receiver.profile.first_name) +%p + = t('.liked', :name => "#{@sender.name} (#{@sender.diaspora_handle})") + +%p + = @like.post.formatted_message(:plain_text => true) +%p + + %br + = link_to t('.sign_in'), status_message_url(@like.post) + + %br + = t('notifier.love') + %br + = t('notifier.diaspora') diff --git a/app/views/notifier/liked.text.haml b/app/views/notifier/liked.text.haml new file mode 100644 index 000000000..4b2a4e642 --- /dev/null +++ b/app/views/notifier/liked.text.haml @@ -0,0 +1,8 @@ +!= t('notifier.hello', :name => @receiver.profile.first_name) + +!= t('notifier.liked.liked', :name => "#{@sender.name} (#{@sender.diaspora_handle})") + +!= @like.post.formatted_message(:plain_text => true) + +!= t('notifier.love') +!= t('notifier.diaspora') diff --git a/app/views/services/_remote_friend.html.haml b/app/views/services/_remote_friend.html.haml index d3d46b4fc..5f1462f72 100644 --- a/app/views/services/_remote_friend.html.haml +++ b/app/views/services/_remote_friend.html.haml @@ -29,7 +29,9 @@ - else = friend.name -- unless friend.person.nil? || (friend.contact && friend.contact.pending) || (friend.request && friend.request.sender_id != friend.person.id) +- unless friend.person.nil? + / should be dropdown + %li{:id => "options_" + friend.uid, :class => "share_with hidden", :style => "height:auto"} - contact = friend.contact - contact ||= Contact.new diff --git a/app/views/shared/_stream_element.html.haml b/app/views/shared/_stream_element.html.haml index 44ce12d3a..ad7e06344 100644 --- a/app/views/shared/_stream_element.html.haml +++ b/app/views/shared/_stream_element.html.haml @@ -21,7 +21,7 @@ .content .from = person_link(post.author, :class => 'author') - %time.time.timeago{:datetime => post.created_at, :integer => post.created_at.to_i} + %time.time.timeago{:datetime => post.created_at, :integer => time_for_sort(post).to_i} = render 'status_messages/status_message', :post => post, :photos => post.photos .info @@ -37,17 +37,14 @@ = link_to(how_long_ago(post), status_message_path(post)) - unless (defined?(@commenting_disabled) && @commenting_disabled) + | + %span.like_action + = like_action(post, current_user) + | = link_to t('comments.new_comment.comment'), '#', :class => 'focus_comment_textarea' - / TODO(likes) - /- if (defined?(current_user) && !current_user.liked?(post)) - / %span.like_links - / | - / = link_to t('.like'), likes_path(:positive => 'true', :post_id => post.id ), :method => :post, :class => "like_it", :remote => true - / | - / = link_to t('.dislike'), likes_path(:positive => 'false', :post_id => post.id), :method => :post, :class => "dislike_it", :remote => true - - /.likes_container - / = render "likes/likes", :post_id => post.id, :likes => post.likes, :dislikes => post.dislikes, :current_user => current_user + .likes + - if post.likes.count > 0 + = render "likes/likes", :post_id => post.id, :likes => post.likes, :dislikes => post.dislikes, :current_user => current_user = render "comments/comments", :post => post, :comments => post.comments, :current_user => current_user, :condensed => true, :commenting_disabled => (defined?(@commenting_disabled) && @commenting_disabled) diff --git a/app/views/users/edit.html.haml b/app/views/users/edit.html.haml index ee1d16934..54f960817 100644 --- a/app/views/users/edit.html.haml +++ b/app/views/users/edit.html.haml @@ -100,6 +100,11 @@ = type.label t('.started_sharing') = type.check_box :started_sharing, {:checked => @email_prefs['started_sharing']}, false, true + %br + %p.checkbox_select + = type.label t('.liked') + = type.check_box :liked, {:checked => @email_prefs['liked']}, false, true + %br = f.submit t('.change') diff --git a/config/assets.yml b/config/assets.yml index 5e314cf80..85d200199 100644 --- a/config/assets.yml +++ b/config/assets.yml @@ -32,8 +32,10 @@ javascripts: - public/javascripts/widgets/infinite-scroll.js - public/javascripts/widgets/directionDetector.js - public/javascripts/widgets/notifications.js + - public/javascripts/widgets/flashes.js - public/javascripts/view.js - public/javascripts/stream.js + - public/javascripts/content-updater.js - public/javascripts/search.js - public/javascripts/contact-edit.js mobile: diff --git a/config/locale_settings.yml b/config/locale_settings.yml index 636fe6e83..c0eff0d96 100644 --- a/config/locale_settings.yml +++ b/config/locale_settings.yml @@ -1,5 +1,6 @@ default: "en" available: + ar: "العربية" bg: "български език" br: "Brezhoneg" ca: "Català" diff --git a/config/locales/cldr/ar_plurals.rb b/config/locales/cldr/ar_plurals.rb new file mode 100644 index 000000000..21ae736b4 --- /dev/null +++ b/config/locales/cldr/ar_plurals.rb @@ -0,0 +1 @@ +{ :ar => { :i18n => {:plural => { :keys => [:zero, :one, :two, :few, :many, :other], :rule => lambda { |n| n == 0 ? :zero : n == 1 ? :one : n == 2 ? :two : [3, 4, 5, 6, 7, 8, 9, 10].include?(n % 100) ? :few : [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99].include?(n % 100) ? :many : :other } } } } } \ No newline at end of file diff --git a/config/locales/devise/devise.ar.yml b/config/locales/devise/devise.ar.yml index e7d70d31a..5877f16b3 100644 --- a/config/locales/devise/devise.ar.yml +++ b/config/locales/devise/devise.ar.yml @@ -6,92 +6,92 @@ ar: devise: confirmations: - confirmed: ".وأكد حسابك بنجاح. وقعت الآن دخولك" + confirmed: "تم تأكيد حسابك، وتسجيل دخولك" new: - resend_confirmation: "Resend confirmation instructions" - send_instructions: ".سوف تتلقى رسالة بريد إلكتروني مع تعليمات حول كيفية تأكيد الحساب الخاص بك في بضع دقائق" + resend_confirmation: "إعادة إرسال لتعليمات التأكيد" + send_instructions: "ستصلك في بضع دقائق دقائق رسالة إلكترونية تحوي تعليمات تأكيد الحساب الخاص بك" failure: - inactive: ".ولم يتم تفعيل حسابك بعد" - invalid: ".بريد إلكتروني غير صالح أو كلمة المرور" - invalid_token: ".المصادقة غير صالح الرمز المميز" - locked: ".مؤمن حسابك" - timeout: ".انتهت الدورة الخاصة بك ، الرجاء تسجيل الدخول مرة أخرى للمتابعة" - unauthenticated: ".تحتاج إلى تسجيل الدخول أو قم بالتسجيل قبل الشروع في الاستمرار" - unconfirmed: ".لديك لتأكيد الحساب الخاص بك قبل المتابعة" + inactive: ".لم يتم تفعيل حسابك بعد" + invalid: ".المعرف غير صالح أو كلمة المرور غير صحيحة" + invalid_token: ".مفتاح المصادقة غير صالح" + locked: ".تم وصد حسابك" + timeout: ".انقضت مدة جلستك، الرجاء تسجيل الدخول من جديد للمتابعة" + unauthenticated: ".يجب عليك تسجيل الدخول أو التسجيل قبل المتابعة" + unconfirmed: ".يجب عليك تأكيد الحساب الخاص بك قبل المتابعة" invitations: - invitation_token_invalid: "The invitation token provided is not valid!" - send_instructions: "Your invitation has been sent." - updated: "Your password was set successfully. You are now signed in." + invitation_token_invalid: "الدعوة المقدمة غير صالحة" + send_instructions: "تم إرسال دعوتك" + updated: "تم إنشاء كلمة المرور بنجاح، أنت الآن متصل" mailer: confirmation_instructions: - confirm: "Confirm my account" - subject: "Confirmation instructions" - you_can_confirm: "You can confirm your account through the link below:" - hello: "Hello %{email}!" + confirm: "تأكيد حسابي" + subject: "تعليمات التأكيد" + you_can_confirm: "يمكنك تأكيد حسابك عبر الرابط التالي" + hello: "مرحبا %{email}!" invitation: - accept: "Accept invitation" - ignore: "If you don't want to accept the invitation, please ignore this email." - no_account_till: "Your account won't be created until you access the link above and sign up." - subject: "A friend wants you to join Diaspora!" + accept: "قبول الدعوة" + ignore: "إذا كنت لا تريد قبول الدعوة, رجاء تجاهل هذه الرسالة" + no_account_till: "لن يتم إنشاء حسابك حتى تنقر على الرابط أعلاه وتسجل دخولك" + subject: "دعوة من صديق للإنضمام إلى دياسبرا" inviters: - accept_at: ", at %{url}, you can accept it through the link below." - has_invited_you: "%{name} has invited you to join Diaspora" - have_invited_you: "%{names} have invited you to join Diaspora" + accept_at: ", at %{url}, يمكنك قبولها عبر الرابط التالي." + has_invited_you: "%{name} يدعوك للإنضمام إلى دياسبرا" + have_invited_you: "%{names} يدعونك للإنضمام إلى دياسبرا" reset_password_instructions: - change: "Change my password" - ignore: "If you didn't request this, please ignore this email." - someone_requested: "Someone has requested a link to change your password, and you can do this through the link below." - subject: "Reset password instructions" - wont_change: "Your password won't change until you access the link above and create a new one." + change: "تغيير كلمة المرور" + ignore: "إذا لم تكن من طلب هذا، الرجاء تجاهل هذا البريد" + someone_requested: "أحدهم طلب رابطا لتغيير كلمة مرورك, ويمكنك فعل هذا عبر الرابط الآتي" + subject: "تعليمات إعادة إدخال كلمة المرور" + wont_change: "كلمة مرورك لن تتغير قبل أن تنقر الرابط التالي وتدخل كلمة مرور جديدة" unlock_instructions: - account_locked: "لقد تم غلق حسابك وقتيا بسبب الإفراط في محاولات الدخول الفاشلة." - click_to_unlock: "Click the link below to unlock your account:" - subject: "تعليمات إعادت فتح الحساب" - unlock: "إعادت فتح الحساب" - welcome: "Welcome" + account_locked: "لقد تم حظر حسابك ظرفيا بسبب العدد المفرط من محاولات الدخول الفاشلة" + click_to_unlock: "انقر الرابط التالي لإعادة فتح حسابك" + subject: "تعليمات إعادة فتح حسابك" + unlock: "إعادة فتح حسابك" + welcome: "مرحبا %{email} !" passwords: edit: - change_password: "Change my password" + change_password: "تغيير كلمة المرور" new: - forgot_password: "Forgot your password?" - no_account: "No account with this email exsists. If you are waiting for an invite, we are rolling them out as soon as possible" - send_password_instructions: "Send me reset password instructions" - send_instructions: ".سوف تتلقى رسالة بريد إلكتروني مع تعليمات حول كيفية إعادة تعيين كلمة السر الخاصة بك في بضع دقائق" - updated: ".تم تغيير كلمة السر الخاصة بك بنجاح. وقعت الآن دخولك" + forgot_password: "نسيت كلمة المرور؟" + no_account: "هذا البريد الإلكتروني غير مرتبط بأي حساب. إذا كنت تنتظر دعوة, فنحن نقوم بتوزيعها بأسرع وسيلة لتصل الجميع" + send_password_instructions: "إعادة تعيين كلمة مرور" + send_instructions: "ستصلك في بضع دقائق رسالة إلكترونية تحوي تعليمات إعادة تعيين كلمة المرور الخاصة بك" + updated: "تم تغيير كلمة السر خاصتك بنجاح. أنت الآن متصل" registrations: destroyed: ".وداعا! تم إلغاء حسابك بنجاح. ونأمل أن نراكم مرة أخرى قريبا" - signed_up: ".لقد قمت بتسجيل بنجاح. إذا مكن، وجهت رسالة تأكيد إلى البريد الإلكتروني الخاص بك" + signed_up: ".تمت عملية تسجيلك بنجاح. ستصلك رسالة إلكترونية حال تفعيله" updated: ".قمت بتحديث حسابك بنجاح" sessions: new: - alpha_software: "You are about to use alpha software." - bugs_and_feedback: "Be advised, you will experience bugs. We encourage you to use the Feedback button on the right hand side of your browser to report any hiccups! We will work as fast as we can to resolve any issues you report." - bugs_and_feedback_mobile: "لا تندهش،سوف تواجهكم مشكلة. نحن نشجعكم على استخدام زر ردود الفعل على الجانب الأيمن من المتصفح الخاص بك إلى تسجيل أي مشكلة! سوف نعمل بأسرع ما يمكن لحل المشاكل الواردةفي التقرير." - login: "Login" - modern_browsers: "only supports modern browsers." - password: "Password" - remember_me: "Remember me" - sign_in: "Sign in" - username: "Username" - signed_in: ".وقعت في بنجاح" - signed_out: ".بتسجيل الخروج بنجاح" + alpha_software: "أنت على وشك استخدام برنامج تجريبي ألفا" + bugs_and_feedback: "للتذكير، ستواجه خلال تجربتك بعض المشاكل التقنية. نشجعك على استخدام زر التبليغ -الموجود بالجانب الأيمن من متصفحك- من أجل تنبيه المطورين لأي معضلة واجهتها, وسنعمل بأسرع ما يمكن لحل أي مشكلة تقنية تم الإبلاغ عنها." + bugs_and_feedback_mobile: "للتذكير، ستواجه خلال تجربتك بعض المشاكل التقنية. نشجعك على استخدام زر التبليغ من أجل تنبيه المطورين لأي معضلة واجهتها, وسنعمل بأسرع ما يمكن لحل أي مشكلة تقنية تم الإبلاغ عنها" + login: "لُج" + modern_browsers: "الدعم حصري للمتصفحات الحديثة، لا أنترنت أكسبلورر" + password: "كلمة المرور" + remember_me: "تذكرني" + sign_in: "لُج" + username: "المعرف" + signed_in: "تم تسجيل الدخول بنجاح" + signed_out: "تم تسجيل الخروج بنجاح" shared: links: - forgot_your_password: "Forgot your password?" - receive_confirmation: "Didn't receive confirmation instructions?" - receive_unlock: "Didn't receive unlock instructions?" - sign_in: "Sign in" - sign_up: "Sign up" - sign_up_closed: "Open signups are closed at this time." + forgot_your_password: "نسيت كلمة المرور؟" + receive_confirmation: "لم تصلك تعليمات تأكيد حسابك؟" + receive_unlock: "لم تصلك تعليمات إعادة فتح حسابك؟" + sign_in: "لُج" + sign_up: "تسجيل" + sign_up_closed: "التسجيلات مغلقة حاليا" mail_signup_form: - sign_up_for_an_invite: "Sign up for an invite!" + sign_up_for_an_invite: "سجل في قائمة انتظار الدعوات" unlocks: new: - resend_unlock: "Resend unlock instructions" - send_instructions: ".سوف تتلقى رسالة بريد إلكتروني مع تعليمات حول كيفية فتح حساب في بضع دقائق" - unlocked: ".كان حسابك مقفلة بنجاح. وقعت الآن دخولك" + resend_unlock: "إعادة إرسال تعليمات إعادة فتح حسابك" + send_instructions: "ستصلك رسالة إلكترونية خلال لحظات تحوي تعليمات إعادة فتح حسابك" + unlocked: "تم إعادة فتح حسابك بنجاح، وتسجيل دخولك" errors: messages: - already_confirmed: "وقد أكد بالفعل" - not_found: "لم يتم العثور على" + already_confirmed: "تم تأكيد إعادة فتح حسابك مسبقا" + not_found: "غير موجود" not_locked: "لم يكن مغلق" diff --git a/config/locales/devise/devise.el.yml b/config/locales/devise/devise.el.yml index 6446d3b59..91aba34dc 100644 --- a/config/locales/devise/devise.el.yml +++ b/config/locales/devise/devise.el.yml @@ -87,9 +87,9 @@ el: sign_up_for_an_invite: "Εγγραφείτε για μια πρόσκληση!" unlocks: new: - resend_unlock: "Ξαναστείλε τις οδηγίες ξεκλειδώματος" + resend_unlock: "Ξαναστείλτε τις οδηγίες ξεκλειδώματος" send_instructions: "Σε λίγα λεπτά θα λάβετε ένα email με οδηγίες για το πως να ξεκλειδώσετε το λογαριασμό σας." - unlocked: "Ο λογαριασμός σας ξεκλειδώθηκε με επιτυχία. Έχετε πλέον συνδεθεί" + unlocked: "Ο λογαριασμός σας ξεκλειδώθηκε με επιτυχία. Έχετε πλέον συνδεθεί." errors: messages: already_confirmed: "έχει ήδη επιβεβαιωθεί" diff --git a/config/locales/devise/devise.fi.yml b/config/locales/devise/devise.fi.yml index f940d58c1..08f86c1d8 100644 --- a/config/locales/devise/devise.fi.yml +++ b/config/locales/devise/devise.fi.yml @@ -12,7 +12,7 @@ fi: send_instructions: "Saat hetken päästä sähköpostiisi ohjeet siitä, miten vahvistat käyttäjätilisi." failure: inactive: "Käyttätiliäsi ei ole vielä aktivoitu." - invalid: "Väärä sähköpostiosoite tai salasana." + invalid: "Virheellinen käyttäjätunnus tai salasana." invalid_token: "Virheellinen todennustunnus." locked: "Käyttäjätilisi on lukittu." timeout: "Istunto on vanhentunut, kirjaudu uudelleen jatkaaksesi." diff --git a/config/locales/devise/devise.ko.yml b/config/locales/devise/devise.ko.yml index 07f9e724c..06a080848 100644 --- a/config/locales/devise/devise.ko.yml +++ b/config/locales/devise/devise.ko.yml @@ -15,7 +15,7 @@ ko: invalid: "유효하지 않은 사용자명과 암호" invalid_token: "유효하지 않은 인증 토큰" locked: "계정이 잠겼습니다." - timeout: "세션이 만료되었습니다. 다시 로그인하십시오." + timeout: "세션이 만료되었습니다. 다시 로그인하세요." unauthenticated: "더 나아가려면 로그인하거나 가입해야 합니다." unconfirmed: "더 나아가기 전에 계정을 확인해야 합니다." invitations: @@ -30,7 +30,7 @@ ko: hello: "%{email} 님 환영합니다!" invitation: accept: "초대 수락하기" - ignore: "초대를 수락하지 않으려면 이 메일을 무시하십시오." + ignore: "초대를 수락하지 않으려면 이 메일을 무시하세요." no_account_till: "계정은 가입하지 않는 한 만들어지지 않습니다." subject: "디아스포라로 초대합니다!" inviters: @@ -39,7 +39,7 @@ ko: have_invited_you: "%{name} 님이 귀하를 디아스포라에 초대하였습니다." reset_password_instructions: change: "암호 바꾸기" - ignore: "암호 초기화를 요청하지 않았다면 이 메일을 무시하십시오." + ignore: "암호 초기화를 요청하지 않았다면 이 메일을 무시하세요." someone_requested: "아래 링크로 암호를 다시 정할 수 었습니다:" subject: "암호 초기화 안내" wont_change: "암호는 링크를 클릭해서 새 암호를 만들기 전까지 바뀌지 않습니다." @@ -65,8 +65,8 @@ ko: sessions: new: alpha_software: "이 소프트웨어는 알파 실험 단계입니다." - bugs_and_feedback: "여러 버그를 경험하실 수 있습니다. 오른쪽의 피드백 단추로 문제점을 보고해주십시오! 보고하신 문제점을 빠르게 해결하기 위해 최선을 다하겠습니다." - bugs_and_feedback_mobile: "여러 버그를 경험하실 수 있습니다. 문제점을 보고해주십시오! 보고하신 문제점을 빠르게 해결하기 위해 최선을 다하겠습니다." + bugs_and_feedback: "여러 버그를 경험하실 수 있습니다. 오른쪽의 피드백 단추로 문제점을 보고해주세요! 보고하신 문제점을 빠르게 해결하기 위해 최선을 다하겠습니다." + bugs_and_feedback_mobile: "여러 버그를 경험하실 수 있습니다. 문제점을 보고해주세요! 보고하신 문제점을 빠르게 해결하기 위해 최선을 다하겠습니다." login: "로그인" modern_browsers: "최신 브라우저만 지원합니다." password: "암호" @@ -84,7 +84,7 @@ ko: sign_up: "가입하기" sign_up_closed: "공개 가입이 닫혀있습니다." mail_signup_form: - sign_up_for_an_invite: "초대받고 싶으면 이메일 주소를 등록해두십시오!" + sign_up_for_an_invite: "초대받고 싶으면 이메일 주소를 등록해두세오!" unlocks: new: resend_unlock: "풀기 메일 다시 보내기" diff --git a/config/locales/devise/devise.ml.yml b/config/locales/devise/devise.ml.yml index 82acd053a..4de9dd3cc 100644 --- a/config/locales/devise/devise.ml.yml +++ b/config/locales/devise/devise.ml.yml @@ -6,7 +6,7 @@ ml: devise: confirmations: - confirmed: "താങ്കളുടെ അക്കൌണ്ട് വിജയകരമായി സ്ഥിതീകരിച്ചിരിക്കുന്നു. നിങ്ങള്‍ ഇപ്പൊള്‍ പ്രവേശിച്ചിരിക്കുന്നു." + confirmed: "താങ്കളുടെ അക്കൌണ്ട് വിജയകരമായി സ്ഥിരീകരിച്ചിരിക്കുന്നു. നിങ്ങള്‍ ഇപ്പോള്‍ പ്രവേശിച്ചിരിക്കുന്നു." new: resend_confirmation: "സ്ഥിരീകരിക്കുവാനുള്ള വിവരങ്ങള്‍ വീണ്ടും അയയ്ക്കുക" send_instructions: "താങ്കളുടെ അക്കൌണ്ട് സ്ഥിരീകരിക്കുന്നതിന് ആവശ്യമായ വിവരങ്ങള്‍ അടങ്ങിയ ഇമെയില്‍ അല്പസമയത്തിനകം ലഭിക്കുന്നതാണ്." @@ -19,7 +19,7 @@ ml: unauthenticated: "തുടരുന്നതിന് മുമ്പ് നിങ്ങള്‍ അകത്ത് പ്രവേശിക്കുകയോ അംഗത്വം എടുക്കുകയോ ചെയ്യണം." unconfirmed: "തുടരുന്നതിന് മുന്‍പ് താങ്കള്‍ താങ്കളുടെ അക്കൌണ്ട് സ്ഥിരീകരിക്കേണ്ടതാണ്." invitations: - invitation_token_invalid: "The invitation token provided is not valid!" + invitation_token_invalid: "താങ്കള്‍ നല്കിയ ക്ഷണം സാധുവല്ല!" send_instructions: "താങ്കളുടെ ക്ഷണം അയച്ചു." updated: "താങ്കളുടെ രഹസ്യവാക്ക് വിജയകരമായി രേഖപ്പെടുത്തിയിരിക്കുന്നു. താങ്കള്‍ ഇപ്പോള്‍ പ്രവേശിച്ചിരിക്കുന്നു." mailer: @@ -31,18 +31,18 @@ ml: invitation: accept: "ക്ഷണം സ്വീകരിക്കു" ignore: "താങ്കള്‍ക്ക് ഈ ക്ഷണം സ്വീകരിക്കേണ്ടെങ്കില്‍ ദയവായി ഈ കത്ത് അവഗണിക്കുക." - no_account_till: "മുകളിലുള്ള കണ്ണി ഉപയോഗിച്ച് ഇതില്‍ ചേരാതെ താങ്കളുടെ അക്കൌണ്ട് നിര്‍മ്മിക്കില്ല." + no_account_till: "മുകളില്‍ കാണുന്ന കണ്ണി ഉപയോഗിച്ച് താകളള്‍ ചേരുന്നതുവരെ താങ്കളുടെ പേരില്‍ അക്കൗണ്ട് സൃഷ്ടിക്കപ്പെടുകയില്ല." subject: "ഡയസ്പോറയില്‍ ചേരാന്‍ താങ്കളെ ക്ഷണിച്ചിരിക്കുന്നു!" inviters: - accept_at: ", at %{url}, you can accept it through the link below." - has_invited_you: "%{name} താങ്കളെ ഡയസ്പോറയില്‍ ചേരുന്നതിനായി ക്ഷണിച്ചിരിക്കുന്നു" - have_invited_you: "%{names} താങ്കളെ ഡയസ്പോറയില്‍ ചേരുന്നതിനായി ക്ഷണിച്ചിരിക്കുന്നു" + accept_at: ", at %{url}, താഴെ കാണുന്ന കണ്ണി ഉപയോഗിച്ച് താങ്കള്‍ക്ക് ക്ഷണം സ്വീകരിക്കാവുന്നതാണ്." + has_invited_you: "%{name} താങ്കളെ ഡയാസ്പോറയില്‍ ചേരാന്‍ ക്ഷണിച്ചിരിക്കുന്നു." + have_invited_you: "%{names} എന്നിവര്‍ താങ്കളെ ഡയാസ്പോറയില്‍ ചേരാന്‍ ക്ഷണിച്ചിരിക്കുന്നു." reset_password_instructions: change: "എന്റെ രഹസ്യവാക്ക് മാറ്റുക" ignore: "താങ്കള്‍ ഇത് ആവശ്യപ്പെട്ടിലെങ്കില്‍ ദയവായി അവഗണിക്കുക." - someone_requested: "താങ്കളുടെ രഹസ്യവാക്ക് മാറ്റുന്നതിന് ആരോ അപേക്ഷ നല്‍കിയിരിക്കുന്നു. മാറ്റുന്നതിനായി താഴെയുള്ള കണ്ണി തിരഞ്ഞെടുക്കാവുന്നതാണ്." - subject: "Reset password instructions" - wont_change: "മുകളിലുള്ള കണ്ണിയിലൂടെ പൂതിയ ഒരു രഹസ്യവാക്ക് നിര്‍മ്മിക്കാതെ അത് മാറ്റപ്പെടില്ല." + someone_requested: "താങ്കളുടെ അക്കൗണ്ടിന്റെ രഹസ്യവാക്ക് മാറ്റൂന്നതിനായി ആരോ അപേക്ഷിച്ചിരിക്കുന്നു. അത് താങ്കളായിരുന്നെങ്കില്‍ താഴെ കാണുന്ന കണ്ണിയുപയോഗിച്ച് താങ്കള്‍ക്ക് രഹസ്യവാക്ക് മാറ്റാവുന്നതാണ്." + subject: "രഹസ്യവാക്ക് മാറ്റാനുള്ള നിര്‍ദ്ദേശങ്ങള്‍" + wont_change: "മുകളില്‍ കൊടുത്തിരിക്കുന്ന കണ്ണിയുപയോഗിച്ച് ഒരു പുതിയ രഹസ്യവാക്ക് നല്‍കുന്നതുവരെ താങ്കളുടെ നിലവിലുള്ള രഹസ്യവാക്ക് മാറുന്നതല്ല." unlock_instructions: account_locked: "Your account has been locked due to an excessive amount of unsuccessful sign in attempts." click_to_unlock: "നിങ്ങളുടെ അക്കൌണ്ട് തുറക്കുന്നതിനായി താഴെയുള്ള കണ്ണി തെരഞ്ഞെടുക്കുക:" @@ -54,25 +54,25 @@ ml: change_password: "എന്റെ രഹസ്യവാക്ക് മാറ്റുക" new: forgot_password: "താങ്കളുടെ രഹസ്യവാക്ക് മറന്നോ?" - no_account: "No account with this email exists. If you are waiting for an invite, we are rolling them out as soon as possible" - send_password_instructions: "Send me reset password instructions" - send_instructions: "You will receive an email with instructions about how to reset your password in a few minutes." - updated: "Your password was changed successfully. You are now signed in." + no_account: "ഈ ഈമെയിലില്‍ ഒരക്കൗണ്ടും നിലവിലില്ല. താങ്കള്‍ ഒരു ക്ഷണം ലഭിക്കാന്‍ കാത്തിരിക്കുകയാണെങ്കില്‍ ഞങ്ങള്‍ അത് എത്രയും പെട്ടന്ന് അയക്കാന്‍ ശ്രമിക്കുന്നതാണ്." + send_password_instructions: "രഹസ്യവാക്ക് മാറ്റാനായുള്ള നിര്‍ദ്ദേശങ്ങള്‍ അയക്കുക" + send_instructions: "രഹസ്യവാക്ക് മാറ്റാനുള്ള നിര്‍ദ്ദേശങ്ങളടങ്ങുന്ന ഒരു ഇ-മെയില്‍ താങ്കള്‍ക്ക് ഏതാനും മിനിട്ടുകള്‍ക്കുള്ളില്‍ ലഭിക്കുന്നതാണ്." + updated: "താങ്കളുടെ രഹസ്യവാക്ക് വിജയകരമായി മാറ്റിയിരിക്കുന്നു. താങ്കള്‍ ഇപ്പോള്‍ ഡയസ്പോറയില്‍ പ്രവേശിച്ചിരിക്കുന്നു." registrations: destroyed: "Bye! Your account was successfully cancelled. We hope to see you again soon." - signed_up: "You have signed up successfully. If enabled, a confirmation was sent to your e-mail." + signed_up: "താങ്കള്‍ വിജയകരമായി ഡയസ്പോറയില്‍ ചേര്‍ന്നിരിക്കുന്നു. സജ്ജമാക്കിയിട്ടുണ്ടെങ്കില്‍ ഒരു സ്ഥിരീകരണം താങ്കള്‍ക്ക് ലഭിക്കുന്നതാണ്." updated: "താങ്കള്‍ അക്കൌണ്ട് വിജയകരമായി പുതുക്കി." sessions: new: alpha_software: "You are about to use alpha software." - bugs_and_feedback: "Be advised, you will experience bugs. We encourage you to use the Feedback button on the right hand side of your browser to report any hiccups! We will work as fast as we can to resolve any issues you report." + bugs_and_feedback: "താങ്കള്‍ക്ക് ഡയാസ്പോറ ഉപയോഗിക്കുന്നതില്‍ പ്രശ്നങ്ങള്‍ അനുഭവപ്പെടും അന്നു അറിഞ്ഞിക്കുക. എന്തെങ്കിലും പ്രശ്നം താങ്കളുടെ കണ്ണില്‍പെടുകയാണെങ്കില്‍ ബ്രൗസറിന്റെ വലതുവശത്ത് കാണുന്ന ബട്ടണുപയോഗിച്ച് ഞങ്ങളെ അറിയിക്കുക. പരമാവധി വേഗത്തില്‍ പ്രശ്നങ്ങള്‍ പരിഹരിക്കാന്‍ ഞങ്ങള്‍ ശ്രമിക്കുന്നതാണ്." bugs_and_feedback_mobile: "Be advised, you will experience bugs. We encourage you to report any hiccups! We will work as fast as we can to resolve any issues you report." login: "പ്രവേശിക്കു" modern_browsers: "ആധുനിക ബ്രൌസറുകള്‍ മാത്രം പിന്‍തുണയ്ക്കുന്നു." password: "രഹസ്യവാക്ക്" remember_me: "ഓര്‍മ്മിക്കു" sign_in: "പ്രവേശിക്കു" - username: "Username" + username: "ഉപയോക്തൃനാമം" signed_in: "വിജയകരമായി പ്രവേശിച്ചിരിക്കുന്നു." signed_out: "വിജയകരമായി പുറത്ത് കടന്നു." shared: @@ -82,7 +82,7 @@ ml: receive_unlock: "തുറക്കാനുള്ള വിവരങ്ങള്‍ ലഭിച്ചില്ലേ?" sign_in: "പ്രവേശിക്കു" sign_up: "ചേരു" - sign_up_closed: "Open signups are closed at this time." + sign_up_closed: "ക്ഷമിക്കണം. ക്ഷണം കൂടാതെ ഇപ്പോള്‍ ഡയാസ്പോറയില്‍ ചേരാന്‍ സാധിക്കില്ല." mail_signup_form: sign_up_for_an_invite: "ഒരു ക്ഷണത്തിനായി ചേരു!" unlocks: diff --git a/config/locales/diaspora/ar.yml b/config/locales/diaspora/ar.yml index 63936dda4..29ec52cbb 100644 --- a/config/locales/diaspora/ar.yml +++ b/config/locales/diaspora/ar.yml @@ -4,368 +4,369 @@ ar: - _comments: "Comments" - _home: "Home" - _photos: "fotos" - _services: "Servicios" - account: "Cuenta" + _comments: "تعليقات" + _home: "الرئيسية" + _photos: "صور" + _services: "خدمات" + account: "حساب" activerecord: errors: models: contact: attributes: person_id: - taken: "must be unique among this user's contacts." + taken: "يجب أن يكون خاصا من بين أصدقاء هذا العضو" person: attributes: diaspora_handle: - taken: "is already taken." + taken: "غير متاح" request: attributes: from_id: - taken: "is a duplicate of a pre-existing request." + taken: "نسخة من طلب سابق" user: attributes: email: - taken: "is already taken." + taken: "غير متاح" person: - invalid: "is invalid." + invalid: "غير صالح" username: - taken: "is already taken." - ago: "%{time} ago" - all_aspects: "All aspects" + taken: "غير متاح" + ago: "منذ %{time}" + all_aspects: "كل الفئات" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "شخص غير معروف" video_title: - unknown: "Unknown Video Title" - are_you_sure: "Are you sure?" + unknown: "عنوان فيديو غير محدد" + are_you_sure: "هل أنت متأكد؟" aspect_memberships: destroy: - failure: "Failed to remove person from aspect" - no_membership: "Could not find the selected person in that aspect" - success: "Successfully removed person from aspect" + failure: "فشل في حذف عضو من الفئة" + no_membership: "لم يتم إيجاد العضو المحدد في هذه الفئة" + success: "حذف العضو من الفئة بنجاح" aspects: add_to_aspect: - failure: "Failed to add friend to aspect." - success: "Successfully added friend to aspect." + failure: "فشل في إضافة صديق إلى الفئة" + success: "إضافة صديق إلى الفئة بنجاح" aspect_contacts: - done_editing: "done editing" + done_editing: "اتمام التغييرات" aspect_stream: - activity: "activity" - post_time: "post time" - sort_by: "sort by:" - contacts_not_visible: "Contacts in this aspect will not be able to see each other." - contacts_visible: "Contacts in this aspect will be able to see each other." + activity: "النشاط" + post_time: "زمن النشر" + sort_by: "تصنيف حسب" + contacts_not_visible: "رؤية عضو لآخر في هاته الفئة غير متاحة" + contacts_visible: "رؤية عضو لآخر في هاته الفئة متاحة" create: - failure: ".فشل إنشاء الجانب" - success: ".من الذي يمكنه مشاهدة مظهرك الجديد Diaspora انقر على علامة الزائد على الجانب الأيسر لتقول ل" + failure: "فشل إنشاء الفئة" + success: "تم إنشاء الفئة الجديدة %{name}" destroy: - failure: "%{name} is not empty and could not be removed." + failure: "%{name} ليس خاليا ولا يمكن حذفه" success: ".بنجاح %{name} تم إزالة" edit: - add_existing: "Add an existing contact" - aspect_list_is_not_visible: "aspect list is hidden to others in aspect" - aspect_list_is_visible: "aspect list is visible to others in aspect" - confirm_remove_aspect: "Are you sure you want to delete this aspect?" - done: "Done" - make_aspect_list_visible: "make aspect list visible?" - remove_aspect: "Delete this aspect" - rename: "rename" - update: "update" - updating: "updating" - few: "%{count} aspects" + add_existing: "إضافة عضو موجود مسبقا" + aspect_list_is_not_visible: "قائمة الفئة مخفية عن الأعضاء الأخرين في الفئة" + aspect_list_is_visible: "قائمة الفئة مرئية للأعضاء الآخرين في الفئة" + confirm_remove_aspect: "تأكيد حذف هذه الفئة؟" + done: "تم بنجاح" + make_aspect_list_visible: "تريدها فئة مرئية؟" + remove_aspect: "حذف هذه الفئة" + rename: "إعادة تسمية" + update: "تحديث" + updating: "تحديث" + few: "%{count} فئة" helper: - are_you_sure: "Are you sure you want to delete this aspect?" - aspect_not_empty: "الجانب ليس فارغ" + are_you_sure: "تأكيد حذف هذه الفئة؟" + aspect_not_empty: "الفئة ليست فارغة" remove: "حذف" index: - handle_explanation: "This is your diaspora handle. Like an email address, you can give this to people to reach you." - no_contacts: "No contacts" - post_a_message: "post a message >>" + handle_explanation: "هذا وسيط دياسبرا. مثل البريد الالكتروني, يمكنك منحه للأصدقاء حتى تستطيع التواصل معهم" + no_contacts: "لا أعضاء" + post_a_message: "انشر رسالة >>" manage: - add_a_new_aspect: "أضف جانبا جديدا" - add_a_new_contact: "Add a new contact" - drag_to_add: "Drag to add people" - manage_aspects: "Manage aspects" - no_requests: "No hay nuevas solicitudes" + add_a_new_aspect: "أضف فئة جديدة" + add_a_new_contact: "أضف عضوا جديدا" + drag_to_add: "اسحب لإضافة أعضاء" + manage_aspects: "إدارة الفئات" + no_requests: "لا طلبات إضافة جديدة" requests: "طلبات" - many: "%{count} aspects" + many: "%{count} فئات" move_contact: - error: "Error moving contact: %{inspect}" - failure: "didn't work %{inspect}" - success: "Person moved to new aspect" + error: "خطأ خلال تحريك عضو: %{inspect}" + failure: "لم يعمل %{inspect}" + success: "تم تحريك عضو إلى الفئة الجديدة" new_aspect: - create: "جديد" - name: "Nombre" + create: "إنشاء فئة جديدة" + name: "إسم الفئة" no_posts_message: - start_talking: "Nadie ha dicho nada todavía. ¡Empezá la conversación!" - one: "1 aspect" - other: "%{count} aspects" + start_talking: "لم تنشر أي رسالة بعد، إبدأ المحادثة" + one: "فئة" + other: "%{count} فئات" seed: - family: "Family" - work: "Work" + family: "العائلة" + work: "العمل" show: - edit_aspect: "edit aspect" + edit_aspect: "تحرير الفئة" update: - failure: "Your aspect, %{name}, had too long name to be saved." + failure: "فئتك, %{name}, اسمها طويل ولا يمكن حفظها." success: ".بنجاح %{name} تم تعديل" - zero: "no aspects" - back: "Back" + zero: "لا فئات" + back: "عودة" bookmarklet: - explanation: "%{link} from anywhere by bookmarking this link." - explanation_link_text: "Post to Diaspora" - post_something: "Post something to Diaspora" - post_success: "Posted! Closing!" - cancel: "Cancelar" + explanation: "%{link} من أي مكان بحفظ هذا الرابط في المفضلة" + explanation_link_text: "انشر على دياسبرا" + post_something: "انشر شيئا على دياسبرا" + post_success: "تم النشر, إغلاق" + cancel: "إلغاء" comments: - few: "%{count} comments" - many: "%{count} comments" + few: "%{count} تعليقات" + many: "%{count} تعليقات" new_comment: comment: "تعليق" - commenting: "Commenting..." - one: "1 comment" - other: "%{count} comments" - zero: "no comments" + commenting: "تعليق..." + one: "1 تعليق" + other: "%{count} تعليقات" + zero: "لا تعليقات" contacts: create: - failure: "Failed to create contact" + failure: "فشل في إنشاء الإتصال" destroy: - failure: "Failed to disconnect from %{name}" - success: "Successfully disconnected from %{name}" - few: "%{count} contacts" - many: "%{count} contacts" - one: "1 contact" - other: "%{count} contacts" + failure: "فشل في فصل اتصالك مع %{name}" + success: "تم فصل اتصالك مع %{name} بنجاح" + few: "%{count} أعضاء" + many: "%{count} أعضاء" + one: "1 عضو" + other: "%{count} أعضاء" share_with_pane: - accepts: "Once %{name} accepts, you'll start seeing each other's posts on Diaspora" - add_new_aspect: "add to new aspect" - share_with: "Start sharing with %{name}" - zero: "no contacts" + accepts: "حالما يقبل %{name}, ستتمكنان من رؤية رسائل بعضكما البعض" + add_new_aspect: "إضافة إلى فئة جديدة" + share_with: "ابدأ المشاركة مع %{name}" + zero: "لا يوجد أعضاء" conversations: create: - sent: "Message sent" + sent: "تم الإرسال" destroy: - success: "Conversation successfully removed" + success: "تم حذف المحادثة بنجاح" helper: new_messages: - few: "%{count} new messages" - many: "%{count} new messages" - one: "1 new messages" - other: "%{count} new messages" - zero: "no new messages" + few: "%{count} رسائل جديدة" + many: "%{count} رسائل جديدة" + one: "1 رسالة جديدة" + other: "%{count} رسائل جديدة" + zero: "لايوجد رسائل جديدة" index: - create_a_new_message: "create a new message" - inbox: "Inbox" - message_inbox: "Message Inbox" - new_message: "New Message" - no_conversation_selected: "no conversation selected" - no_messages: "no messages" + create_a_new_message: "إنشاء رسالة جديدة" + inbox: "الوارد" + message_inbox: "البريد الوارد" + new_message: "رسالة جديدة" + no_conversation_selected: "لم تحدد أية محادثة" + no_messages: "لا يوجد رسائل" new: - send: "Send" - subject: "subject" - to: "to" + send: "إرسال" + subject: "العنوان" + to: "إلى" show: - delete: "delete and block conversation" - reply: "reply" + delete: "حذف وحظر المحادثة" + reply: "رد" date: formats: birthday: "%B %d" birthday_with_year: "%B %d %Y" fullmonth_day: "%B %d" - delete: "Eliminar" - email: "Email" + delete: "حذف" + email: "بريد إلكتروني" error_messages: helper: - correct_the_following_errors_and_try_again: ".صحح الأخطاء التالية وحاول مرة أخرى" + correct_the_following_errors_and_try_again: ".صحح الأخطاء التالية ثم أعد المحاولة" invalid_fields: "مدخلات غير صحيحة" - fill_me_out: "Fill me out" - hide: "Hide" + fill_me_out: "إملأ" + hide: "إخفاء" home: show: - already_account: "already have an account?" - choice: "Choice" - choice_explanation: "Diaspora allows you to sort your connections into groups called Aspects. Unique to Diaspora, Aspects ensure your photos, stories and jokes are shared with only the people you want them to be." - learn_about_host: "Learn about how to host your own Diaspora server" - login_here: "log in here" - ownership: "Ownership" - ownership_explanation: "You own your pictures, and you shouldn’t have to give that up just in order to share them. You maintain ownership of everything you share on Diaspora, giving you full control over how it is distributed." - share_what_you_want: "Share what you want, with whom you want." - simplicity: "Simplicity" - simplicity_explanation: "Diaspora makes sharing clean and easy – this goes doubly so for privacy. Innherently private, Diaspora doesn’t have pages of settings and options to wade through to keep your profile secure and to your liking." - tagline_first_half: "Share what you want," - tagline_second_half: "with whom you want." + already_account: "لديك حساب؟" + choice: "خيار" + choice_explanation: "دياسبرا تسمح لك بتصنيف مراسليك إلى مجموعات تدعى الفئات. حصريا في دياسبرا، الفئات تضمن أن صورك، قصصك، طرائفك المنشورة لا تصل إلا إلى من تريد أنت أن تصلهم" + learn_about_host: "تعلم كيفية استضافة سيرفر دياسبرا الخاص بك" + login_here: "لُج هنا" + ownership: "ملكية" + ownership_explanation: "صورك هي ملكية خاصة لك، وليس عليك التخلي عن ملكيتها بمجرد مشاركتها. لك الملكية المطلقة لكل ما تشاركه في دياسبرا، نعطيك كل الصلاحيات في كيفية مشاركتها" + share_what_you_want: "شارك ما تريد، مع من تريد" + simplicity: "بساطة" + simplicity_explanation: "مع دياسبرا المشاركة والخصوصية هي ترادف للسهولة والشفافية. دياسبرا صنعت لاحترام الخصوصية، فليس وجوبا عليك الخوص في صفحات عديدة من الإعدادات والخيارات لتبقي حسابك آمنا وكما تريده." + tagline_first_half: "شارك ما تريد،" + tagline_second_half: "مع من تريد." invitations: check_token: - not_found: "Invitation token not found" + not_found: "الدعوة الرمزية غير موجودة" create: - already_contacts: "You are already connected with this person" - already_sent: "You already invited this person." - no_more: "No tenés más invitaciones." - rejected: "The following email addresses had problems: " - sent: "Your invitation has been sent." + already_contacts: "لقد قمت بإنشاء اتصال مع هذا العضو مسبقا" + already_sent: "لقد قمت بدعوة هذا الشخص مسبقا" + no_more: "لم يتبقى لك أية دعوات" + rejected: "واجه هذا البريد الإلكتروني مشاكلا: " + sent: "تم إرسال دعوتك" edit: - sign_up: "sign_up" + sign_up: "تسجيل" new: - already_invited: "Already invited" - aspect: "Aspect" - comma_seperated_plz: "You can enter multiple email addresses separated by commas." - if_they_accept_info: "if they accept, they will be added to the aspect you invited them." - invite_someone_to_join: "¡Invitá a alguien a unirse a Diaspora!" - personal_message: "Personal message" - resend: "Resend" - send_an_invitation: "Send an invitation" - send_invitation: "Send invitation" - to: "To" + already_invited: "تم دعوته مسبقا" + aspect: "فئة" + comma_seperated_plz: "يمكن إدخال أكثر من بريد إلكتروني واحد باستعمال علامة التوقف فاصلة, بين كل بريد وآخر" + if_they_accept_info: "إذا قبلوا دعوتك ، سيتم إضافتهم إلى الفئة التي دعوتهم إليها" + invite_someone_to_join: "دعوة صديق للإنضمام إلى دياسبرا" + personal_message: "رسالة شخصية" + resend: "إعادة إرسال" + send_an_invitation: "إرسال دعوة" + send_invitation: "إرسال الدعوة" + to: "إلى" layouts: application: - have_a_problem: "Have a problem? Find an answer here" - powered_by: "POWERED BY DIASPORA*" + have_a_problem: "واجهت مشكلة؟ اعثر على حل هنا" + powered_by: "بدعم DIASPORA*" public_feed: "Public Diaspora Feed for %{name}" - toggle: "toggle mobile site" - whats_new: "what's new?" - your_aspects: "your aspects" + toggle: "التحول إلى الموقع الخاص بالهواتف المحمولة" + whats_new: "ما الجديد؟" + your_aspects: "فئاتك" header: - blog: "blog" - code: "code" - login: "login" - logout: "logout" - profile: "profile" - settings: "settings" + blog: "مدونة" + code: "شيفرة" + login: "لُج" + logout: "خروج" + profile: "الحساب الشخصي" + settings: "إعدادات" likes: likes: people_dislike_this: - few: "%{count} people disliked this" - many: "%{count} people disliked this" - one: "1 person disliked this" - other: "%{count} people disliked this" - zero: "no people disliked this" + few: "%{count} أشخاص لم يعجبهم هذا" + many: "%{count} أشخاص لم يعجبهم هذا" + one: "1 لم يعجبه هذا" + other: "%{count} أشخاص لم يعجبهم هذا" + zero: "لا أحد يكره هذا" people_like_this: - few: "%{count} people liked this" - many: "%{count} people liked this" - one: "1 person liked this" - other: "%{count} people liked this" - zero: "no people liked this" - more: "More" - next: "next" - no_results: "No Results Found" + few: "%{count} أشخاص يعجبهم هذا" + many: "%{count} أشخاص يعجبهم هذا" + one: "1 أعجبه هذا" + other: "%{count} أشخاص أعجبهم هذا" + zero: "لا أحد أحب هذا" + more: "أكثر" + next: "التالي" + no_results: "لا نتائج موجودة" notifications: - also_commented: "also commented on" - also_commented_deleted: "commented on a deleted post" - comment_on_post: "commented on your" - deleted: "deleted" + also_commented: "أيضا علق على" + also_commented_deleted: "علق على منشور محذوف" + comment_on_post: "علق على" + deleted: "تم الحذف" helper: new_notifications: - few: "%{count} new notifications" - many: "%{count} new notifications" - one: "1 new notifications" - other: "%{count} new notifications" - zero: "no new notifications" + few: "%{count} تنبيهات جديدة" + many: "%{count} تنبيهات جديدة" + one: "1 تنبيه جديد" + other: "%{count} تنبيهات جديدة" + zero: "لا تنبيهات جديدة" index: - and: "and" - and_others: "and %{number} others" - mark_all_as_read: "Mark All as Read" - notifications: "Notifications" - mentioned: "has mentioned you in their" - new_request: "offered to share with you." - post: "post" - private_message: "sent you a message." - request_accepted: "accepted your share request." + and: "و" + and_others: "و %{number} آخرين" + mark_all_as_read: "وضع الجميع كمقروء" + notifications: "تنبيهات" + mentioned: "قام بذكرك في" + new_request: "عرض المشاركة معك" + post: "منشور" + private_message: "أرسل لك رسالة" + request_accepted: "وافق على عرضك للمشاركة" notifier: also_commented: - commented: "has also commented on %{post_author}'s post:" - sign_in: "Sign in to view it." - subject: "%{name} has also commented." + commented: "أيضا على مشاركة %{post_author}:" + sign_in: "لُج لمشاهدته" + subject: "%{name} أيضا علق" comment_on_post: - commented: "has commented on your post!" - sign_in: "Sign in to view it." - subject: "%{name} has commented on your post." - diaspora: "the diaspora email robot" - hello: "Hello %{name}!" - love: "love," - manage_your_email_settings: "manage your email settings" + commented: "علق على مشاركتك" + sign_in: "لُج لمشاهدته\"" + subject: "%{name} علق على مشاركتك" + diaspora: "البريد الآلي لدياسبرا\"" + hello: "مرحبا %{name}!" + love: "كل الود," + manage_your_email_settings: "إدارة إعدادات بريدك الإلكتروني" mentioned: - mentioned: "mentioned you in a post:" - sign_in: "Sign in to view it." - subject: "%{name} has mentioned you on Diaspora*" + mentioned: "قام بذكرك في مشاركة:" + sign_in: "لُج لمشاهدته" + subject: "%{name} قام بذكرك في دياسبرا" new_request: - just_sent_you: "just sent you a friend request on Diaspora*" - sign_in: "sign in here" - subject: "new Diaspora* friend request from %{from}" - try_it_out: "You should really think about checking it out." + just_sent_you: "أرسل لك لتوه طلب مشاركة*" + sign_in: "لُج هنا" + subject: "طلب مشاركة جديد بدياسبرا %{from}" + try_it_out: "ينصح بشدة الإطلاع عليه" private_message: - message_subject: "Subject: %{subject}" - private_message: "has sent you a private message:" - sign_in: "Sign in to view it." - subject: "%{name} has sent you a private message yon Diaspora*" + message_subject: "العنوان: %{subject}" + private_message: "راسلك برسالة خاصة:" + sign_in: "لُج لمشاهدته" + subject: "%{name} راسلك برسالة خاصة في دياسبرا" request_accepted: - accepted: "has accepted your friend request. They are now in your" - sign_in: "Sign in here" - subject: "%{name} has accepted your friend request on Diaspora*" + accepted: "وافق على عرضك للمشاركة" + sign_in: "لُج لمشاهدته" + subject: "%{name} وافق على عرضك للمشاركة في دياسبرا" single_admin: - admin: "Your Diaspora administrator" - subject: "A message from your Diaspora administrator:" - thanks: "Thanks," - ok: "OK" - or: "or" - password: "Password" - password_confirmation: "Password confirmation" + admin: "إدارة دياسبرا" + subject: "رسالة من إدارة دياسبرا:" + thanks: "شكرا," + ok: "حسنا" + or: "أو" + password: "كلمة المرور" + password_confirmation: "تأكيد كلمة المرور" people: add_contact_small: - add_contact_from_tag: "add contact from tag" + add_contact_from_tag: "إضافة مراسل من tag" aspect_list: - edit_membership: "edit aspect membership" - few: "%{count} people" + edit_membership: "تعديل العضويات بالفئات" + few: "%{count} أعضاء" helper: - people_on_pod_are_aware_of: " people on pod are aware of" - results_for: " results for %{params}" + people_on_pod_are_aware_of: " الأعضاء بالموقع مقبلون على" + results_for: " نتائج من أجل %{params}" index: - couldnt_find_them_send_invite: "Couldn't find them? Send an invite!" - no_one_found: "...and no one was found." - no_results: "Hey! You need to search for something." - results_for: "buscar resultados para" - many: "%{count} people" - one: "1 person" - other: "%{count} people" + couldnt_find_them_send_invite: "لم تجدهم؟ أرسل دعوة" + no_one_found: "...ولم يعثر على أحد" + no_results: "يجب تحديد شيء للبحث عنه" + results_for: "نتائج البحث عن" + many: "%{count} أعضاء" + one: "1 عضو" + other: "%{count} عضو" person: - add_contact: "add contact" - already_connected: "Already connected" + add_contact: "إضافة عضو" + already_connected: "أضيف مسبقا" pending_request: "طلبات معلقة" - thats_you: "¡Ese sos vos!" + thats_you: "هذا أنت" profile_sidebar: - bio: "bio" - born: "born" - cannot_remove: "Cannot remove %{name} from last aspect." - edit_my_profile: "Editar mi perfil" - gender: "gender" - in_aspects: "in aspects" - location: "location" - remove_contact: "remove contact" - remove_from: "Remove %{name} from %{aspect}?" + bio: "سيرة" + born: "ولد" + cannot_remove: "استحالة حذف %{name} من الفئة" + edit_my_profile: "تحرير صفحتي الشخصية" + gender: "جنس" + in_aspects: "في الفئة" + location: "المكان" + remove_contact: "حذف العضو" + remove_from: "حذف %{name} من %{aspect}?" show: - add_some: "add some" - does_not_exist: "¡Esa persona no existe!" - edit: "edit" - incoming_request: "You have an incoming request from this person." - mention: "Mention" - message: "Message" - no_posts: "¡No hay mensajes que mostrar!" - not_connected: "You are not connected with this person" - recent_posts: "Recent Posts" - recent_public_posts: "Recent Public Posts" - return_to_aspects: "Return to your aspects page" - see_all: "See all" - start_sharing: "start sharing" - to_accept_or_ignore: "to accept or ignore it." - you_have_no_tags: "you have no tags!" + add_some: "إضافة" + does_not_exist: "هذا العضو غير موجود" + edit: "تعديل" + incoming_request: "%{name} يريد المشاركة معك" + mention: "إشارة" + message: "رسالة" + no_posts: "لا يوجد رسائل لعرضها" + not_connected: "أنت لا تتشارك مع هذا العضو" + recent_posts: "منشورات حديثة" + recent_public_posts: "منشورات عامة حديثة" + return_to_aspects: "العودة إلى صفحة الفئات" + see_all: "مشاهدة الكل" + start_sharing: "بدء المشاركة" + to_accept_or_ignore: "للقبول أو التجاهل" + you_have_no_tags: "لم تستخدم أي tags!" webfinger: - fail: "Sorry, we couldn't find %{handle}." - zero: "no people" + fail: "للأسف، لم نجد %{handle}." + zero: "لا أحد" photos: create: - integrity_error: "Photo upload failed. Are you sure that was an image?" - runtime_error: "Photo upload failed. Are you sure that your seatbelt is fastened?" - type_error: "Photo upload failed. Are you sure an image was added?" + integrity_error: "فشل رفع الصورة، هل أنت متأكد أن نوع الملف صورة؟" + runtime_error: "فشل رفع الصورة، هل قمت بربطها مع نص؟" + type_error: "فشل رفع صورة، أمتأكد أنها صورة؟" destroy: notice: "تم حذف الصورة" edit: @@ -373,245 +374,245 @@ ar: new: back_to_list: "عودة إلى القائمة" new_photo: "صورة جديدة" - post_it: "!ألصقها" + post_it: "أنشرها" new_photo: - empty: "{file} is empty, please select files again without it." - invalid_ext: "{file} has invalid extension. Only {extensions} are allowed." - size_error: "{file} is too large, maximum file size is {sizeLimit}." + empty: "{file} فارغ، الرجاء إعادة تحديد الملفات بدون تحديده" + invalid_ext: "{file} له صيغة غير صالحة. {extensions} هي الصيغ الوحيدة المسموح بها" + size_error: "{file} ذو حجم كبير جدا, {sizeLimit} هو الحجم الأقصى المسموح به." new_profile_photo: - or_select_one: "or select one from your already existing" - upload: "Upload a new profile photo!" + or_select_one: "أو اختر واحدة من الموجودات مسبقا" + upload: "رفع صورة شخصية جديدة" photo: - view_all: "view all of %{name}'s photos" + view_all: "مشاهدة جميع صور %{name}" show: - collection_permalink: "collection permalink" + collection_permalink: "رابط دائم" delete_photo: "حذف الصورة" - edit: "edit" - edit_delete_photo: "Edit photo description / delete photo" - make_profile_photo: "make profile photo" - original_post: "Original Post" - permalink: "permalink" - update_photo: "Update Photo" - view: "view" + edit: "تعديل" + edit_delete_photo: "تعديل وصف الصورة / حذف الصورة" + make_profile_photo: "اجعلها صورة شخصية" + original_post: "منشور أصلي" + permalink: "رابط دائم" + update_photo: "تحديث صورة" + view: "مشاهدة" update: error: "فشل تحرير الصورة." notice: "تم تحديث الصورة بنجاح" post_visibilites: update: - post_hidden: "%{name}'s post has been hidden." + post_hidden: "تم إخفاء مشاركة %{name}" posts: - doesnt_exist: "that post does not exist!" - previous: "previous" - profile: "Perfil" + doesnt_exist: "هذه المشاركة غير موجودة" + previous: "السابق" + profile: "الصفحة الشخصية" profiles: edit: - allow_search: "Allow for people to search for you within Diaspora" - edit_profile: "Edit profile" - first_name: "First name" - last_name: "Last name" - update_profile: "Update Profile" - your_bio: "Your bio" - your_birthday: "Your birthday" - your_gender: "Your gender" - your_location: "Your location" - your_name: "Your name" - your_photo: "Your photo" - your_private_profile: "Your private profile" - your_public_profile: "Your public profile" - your_tags: "You: in 5 #tags" - your_tags_placeholder: "i.e. #diaspora #ironing #kittens #music" + allow_search: "السماح للجميع بالبحث عنك من خلال دياسبرا" + edit_profile: "تحرير الصفحة الشخصية" + first_name: "الإسم" + last_name: "اللقب" + update_profile: "تحديث الصفحة الشخصية" + your_bio: "سيرتك الشخصية" + your_birthday: "تاريخ الميلاد" + your_gender: "جنسك" + your_location: "مكانك" + your_name: "إسمك" + your_photo: "صورتك" + your_private_profile: "صفحتك الخاصة" + your_public_profile: "صفحتك العامة" + your_tags: "أنت: في 5 #tags" + your_tags_placeholder: "مثال: #diaspora #ironing #kittens #music" update: - failed: "Failed to update profile" - updated: "Profile updated" + failed: "فشل في تحديث حسابك الشخصي" + updated: "تم تحديث حسابك الشخصي" registrations: - closed: "Signups are closed on this Diaspora pod." + closed: "التسجيلات مغلقة على هذه المنصة" create: success: "!Diaspora سجل في" edit: - cancel_my_account: "Cancel my account" - edit: "Edit %{name}" - leave_blank: "(leave blank if you don't want to change it)" - password_to_confirm: "(we need your current password to confirm your changes)" - unhappy: "Unhappy?" - update: "Update" + cancel_my_account: "إلغاء حسابي" + edit: "تعديل %{name}" + leave_blank: "(اتركها فارغة في حال أردت عدم تغييرها)" + password_to_confirm: "(نحتاج لكلمة مرورك الحالية لتأكيد التغييرات)" + unhappy: "غير راض?" + update: "تحديث" new: - enter_email: "Enter an e-mail" - enter_password: "Enter a password" - enter_password_again: "Enter the same password as before" - enter_username: "Pick a username (only letters, numbers, and underscores)" + enter_email: "أدخل بريد إلكتروني" + enter_password: "أدخل كلمة مرور" + enter_password_again: "أعد إدخال كلمة المرور" + enter_username: "اختر معرف (فقط حروف, أرقام, و الإشارات الخطية)" sign_up: "التسجيل" - sign_up_for_diaspora: "Registrate en Diapora" + sign_up_for_diaspora: "التسجيل في دياسبرا" requests: create: - sending: "Sending..." - sent: "You've asked to share with %{name}. They should see it next time they log in to Diaspora." + sending: "إرسال..." + sent: "قمت بعرض المشاركة مع %{name}. سيصلهم طلبك فورا حال تسجيل دخولهم في دياسبرا" destroy: - error: "!الرجاء اختيار جانب" + error: "الرجاء تحديد فئة" ignore: ". تجاهل طلب الصداقة" success: ".أنتم الآن أصدقاء" helper: new_requests: - few: "%{count} new requests!" - many: "%{count} new requests!" - one: "new request!" - other: "%{count} new requests!" - zero: "no new requests" + few: "%{count} عروض مشاركة!" + many: "%{count} عروض مشاركة!" + one: "عرض مشاركة!" + other: "%{count} عروض مشاركة!" + zero: "لا يوجد عروض مشاركة جديدة" manage_aspect_contacts: - existing: "Existing contacts" - manage_within: "Manage contacts within" + existing: "عضو موجود مسبقا" + manage_within: "إدارة الأعضاء" new_request_to_person: - sent: "sent!" - search: "Search" + sent: "إرسال!" + search: "بحث" services: create: - success: "Authentication successful." + success: "تمت المصادقة بنجاح" destroy: - success: "Successfully destroyed authentication." + success: "تم مسح المصادقة بنجاح" failure: - error: "there was an error connecting that service" + error: "خطأ خلال محاولة الإتصال بالخدمة" finder: friends: - few: "%{count} friends" - many: "%{count} friends" - one: "1 friend" - other: "%{count} friends" - zero: "no friends" - invite_your_friends_from: "Invite your friends from %{service}" - not_connected: "not connected" + few: "%{count} أصدقاء" + many: "%{count} أصدقاء" + one: "1 أصدقاء" + other: "%{count} أصدقاء" + zero: "لا أصدقاء" + invite_your_friends_from: "دعوة أصدقائك من %{service}" + not_connected: "غير متصل" index: - connect_to_facebook: "Connect to facebook" - connect_to_twitter: "Connect to twitter" - disconnect: "disconnect" - edit_services: "Edit services" - logged_in_as: "logged in as" - really_disconnect: "disconnect %{service}?" + connect_to_facebook: "إتصل بـ فسبوك" + connect_to_twitter: "إتصل بتويتر" + disconnect: "فصل الإتصال" + edit_services: "تعديل الخدمات" + logged_in_as: "ولوج بـ" + really_disconnect: "فصل إتصال %{service}?" inviter: - click_link_to_accept_invitation: "Click this link to accept your invitation" - join_me_on_diaspora: "Join me on DIASPORA*" + click_link_to_accept_invitation: "إضغط على هذا الرابط لقبول دعوتك" + join_me_on_diaspora: "انضم إلي في DIASPORA*" remote_friend: - invite: "invite" - resend: "resend" - settings: "Settings" + invite: "دعوة" + resend: "إعادة إرسال" + settings: "إعدادات" shared: add_contact: - create_request: "Find by Diaspora handle" - diaspora_handle: "Diaspora handle" - enter_a_diaspora_username: "Enter a Diaspora username:" - know_email: "Know their email address? You should invite them" - your_diaspora_username_is: "Your Diaspora username is: %{diaspora_handle}" + create_request: "ابحث باستخدام وسيط دياسبرا" + diaspora_handle: "وسيط دياسبرا" + enter_a_diaspora_username: "أدخل معرف دياسبرا:" + know_email: "تعرف بريد الإلكتروني؟ يجدر بك دعوتهم" + your_diaspora_username_is: "معرف دياسبورا خاصتك هو: %{diaspora_handle}" contact_list: - all_contacts: "All contacts" - cannot_remove: "Cannot remove person from last aspect." + all_contacts: "جميع الأعضاء" + cannot_remove: "استحالة حذف هذا الشخص من الفئة" footer: - logged_in_as: "logged in as %{name}" - your_aspects: "your aspects" + logged_in_as: "ولوج بـ %{name}" + your_aspects: "الفئات خاصتك" invitations: - by_email: "by Email" - dont_have_now: "You don't have any right now, but more invites are coming soon!" - from_facebook: "From Facebook" - invitations_left: "(%{count} left)" - invite_someone: "Invite someone" - invite_your_friends: "Invite your friends" - invites: "Invites" - invites_closed: "Invites are currently closed on this Diaspora seed" + by_email: "عبر البريد الإلكتروني" + dont_have_now: "لا تملك دعوات حاليا، لكنها قادمة قريبا" + from_facebook: "عبر فسبوك" + invitations_left: "(%{count} متبقية)" + invite_someone: "دعوة شخص" + invite_your_friends: "دعوات لأصدقائك" + invites: "دعوات" + invites_closed: "الدعوات غير متاحة على هذه المنصة حاليا" notification: - new: "New %{type} from %{from}" + new: "جديد %{type} من %{from}" public_explain: - logged_in: "logged in to %{service}" - manage: "manage connected services" - outside: "Public messages will be available for others outside of Diaspora to see." - title: "You are about to post a public message!" + logged_in: "ولوج بـ %{service}" + manage: "إدارة الخدمات المتصلة" + outside: "الرسائل العامة، متاحة للجميع حتى لمن هم خارج دياسبرا" + title: "أنت على وشك نشر رسالة عامة" publisher: - add_photos: "add photos" - all: "all" - all_contacts: "all contacts" - click_to_share_with: "Click to share with: " - make_public: "make public" - post_a_message_to: "Post a message to %{aspect}" - posting: "Posting..." - public: "Public" - publishing_to: "publishing to: " + add_photos: "إضافة صورة" + all: "الجميع" + all_contacts: "جميع الفئات" + click_to_share_with: "إضغط للمشاركة مع: " + make_public: "عممها" + post_a_message_to: "انشر رسالة إلى %{aspect}" + posting: "نشر..." + public: "عام" + publishing_to: "نشر إلى: " share: "مشاركة" - share_with: "Share with %{aspect}" - whats_on_your_mind: "what's on your mind?" + share_with: "مشاركة مع %{aspect}" + whats_on_your_mind: "ما يجول في خاطرك؟" reshare: - reshare: "Reshare" + reshare: "إعادة مشاركة" stream_element: - dislike: "I dislike this" - like: "I like this" + dislike: "لم يعجبني هذا" + like: "أعجبني هذا" status_messages: create: - success: "Successfully mentioned: %{names}" + success: "ذكرت بنجاح: %{names}" destroy: - failure: "Failed to delete post" + failure: "فشل في حذف منشور" helper: - no_message_to_display: "لا يوجد رسالة لعرضها" + no_message_to_display: "لا يوجد رسائل لعرضها" new: - mentioning: "Mentioning: %{person}" + mentioning: "إشارة إلى: %{person}" show: destroy: "إزالة" - not_found: "Sorry, we couldn't find that post." - permalink: "permalink" + not_found: "للأسف، لم نجد هذا المنشور" + permalink: "رابط دائم" stream_helper: - hide_comments: "hide comments" - show_comments: "show comments" + hide_comments: "إخفاء التعليقات" + show_comments: "إظهار التعليقات" tags: show: - nobody_talking: "Nobody is talking about %{tag} yet." - people_tagged_with: "People tagged with %{tag}" - posts_tagged_with: "Posts tagged with #%{tag}" - the_world: "the world" - undo: "Undo?" - username: "Username" + nobody_talking: "لا أحد يتكلم %{tag} بعد" + people_tagged_with: "أشخاص tagged بـ %{tag}" + posts_tagged_with: "رسائل tagged بـ #%{tag}" + the_world: "العالم" + undo: "تراجع؟" + username: "معرف" users: - destroy: "Account successfully closed." + destroy: "تم إغلاق الحساب بنجاح" edit: - also_commented: "...someone also comments on your contact's post?" + also_commented: "...علق أحدهم على منشور مراسلك" change: "Change" - change_language: "Change Language" - change_password: "Cambiar Contraseña" - close_account: "Cerrar Cuenta" - comment_on_post: "...someone comments on your post?" - current_password: "Current password" - download_photos: "descargar mis fotos" - download_xml: "download my xml" - edit_account: "Edit account" - export_data: "Exportar datos" - mentioned: "...you are mentioned in a post?" - new_password: "Nueva Contraseña" - private_message: "...you receive a private message?" - receive_email_notifications: "Receive email notificaions?" - request_acceptence: "...your share request is accepted?" - request_received: "...you receive a new share request?" - your_email: "Your email" - your_handle: "Your diaspora handle" + change_language: "تغيير اللعة" + change_password: "تغيير كلمة المرور" + close_account: "غلق الحساب" + comment_on_post: "...علق أحدهم على رسالتك" + current_password: "كلمة المرور الحالية" + download_photos: "تحميل صوري" + download_xml: "تحميل xml خاصتي" + edit_account: "تعديل الحساب" + export_data: "تصدير البيانات" + mentioned: "...تم ذكرك في رسالة" + new_password: "كلمة مرور جديدة" + private_message: "...وصلتك راسلة خاصة" + receive_email_notifications: "استقبال تنبيهات عبر البريد الإلكتروني؟" + request_acceptence: "...عروض مشاركتك المقبولة" + request_received: "...استقبالك لعروض مشاركة" + your_email: "بريدك الإلكتروني" + your_handle: "وسيط دياسبرا خاصتك" getting_started: - connect_on_diaspora: "Connect on Diaspora" - connect_services: "Connect your services" - could_not_find_anyone: "Could not find any friends on Diaspora*. Use the friend finder to invite them." - edit_profile: "Editar tu perfil" - finished: "Finished!" - save_and_continue: "Save and continue" - signup_steps: "Complete your sign-up by doing these things:" - skip: "skip getting started" + connect_on_diaspora: "الإتصال بدياسبورا" + connect_services: "الإتصال بخدماتك" + could_not_find_anyone: "لم تجد أيا من أصدقاء في دياسبرا، إستخدم بحث الأصدقاء لدعوتهم" + edit_profile: "تعديل صفحتك الشخصية" + finished: "تم" + save_and_continue: "حفظ واستمرار" + signup_steps: "أكمل تسجيلك بالقيام بالتالي:" + skip: "تجاوز هذه المقدمة" step_2: - find_your_friends_on_diaspora: "Would you like to find your Facebook friends on Diaspora?" - skip: "Skip" + find_your_friends_on_diaspora: "هل تريد إيجاد أصدقائك على الفسبوك في دياسبرا" + skip: "تجاوز" step_3: - finish: "Finish" - people_already_on_diaspora: "People already on Diaspora" - welcome: "Welcome to Diaspora!" + finish: "تم" + people_already_on_diaspora: "أشخاص موجودين مسبقا في دياسبرا" + welcome: "مرحبا بك في دياسبرا!" public: - does_not_exist: "¡El usuario %{username} no existe!" + does_not_exist: "هذا المستخدم %{username} غير موجود" update: - email_notifications_changed: "Language Change Failed" - language_changed: "Language Changed" - language_not_changed: "Language Change Failed" - password_changed: "Password Changed" - password_not_changed: "Password Change Failed" + email_notifications_changed: "فشل تغيير اللغة" + language_changed: "تم تغيير اللغة" + language_not_changed: "فشل تغيير اللغة" + password_changed: "تم تغيير كلمة المرور" + password_not_changed: "فشل تغيير كلمة المرور" webfinger: - fetch_failed: "failed to fetch webfinger profile for %{profile_url}" - hcard_fetch_failed: "there was a problem fetching the hcard for #{@account}" - no_person_constructed: "No person could be constructed from this hcard." - not_enabled: "webfinger does not seem to be enabled for %{account}'s host" - xrd_fetch_failed: "there was an error getting the xrd from account %{account}" + fetch_failed: "فشل تحميل webfinger الحساب لـ %{profile_url}" + hcard_fetch_failed: "خطأ خلال تحميل hcard الخاص بـ #{@account}" + no_person_constructed: "هذا الـ hcard غير صالح." + not_enabled: "webfinger غير مفعل للمضيف %{account}" + xrd_fetch_failed: "خطأ خلال استرجاع xrd من الحساب %{account}" diff --git a/config/locales/diaspora/bg.yml b/config/locales/diaspora/bg.yml index ca353a089..d22d85a7e 100644 --- a/config/locales/diaspora/bg.yml +++ b/config/locales/diaspora/bg.yml @@ -36,6 +36,7 @@ bg: all_aspects: "Всички аспекти" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "непознато лице" video_title: unknown: "Unknown Video Title" @@ -184,15 +185,15 @@ bg: home: show: already_account: "вече имате акаунт?" - choice: "Choice" + choice: "Избор" choice_explanation: "Diaspora предоставя възможност за сортиране на контактите в групи наречени аспекти. Те са уникална функция, която позволява споделянето на снимки, истории и шеги само с хората, за които са предвидени." learn_about_host: "Научете как да стартирате Diaspora на собствен сървър." - login_here: "се впишете" + login_here: "впишете се от тук" ownership: "Собственост" ownership_explanation: "Вие притежавате снимките си и не е необходимо да се отказвате от това си право само за да ги споделите. Вие запазвате собствеността си върху всичко споделено в Diaspora - това ви осигурява контрол над разпространението." share_what_you_want: "Споделяйте каквото желаете, с когото пожелаете." simplicity: "Леснота" - simplicity_explanation: "Споделянето чрез Diaspora е просто и лесно. Характерно за Diaspora е че запазва личния ви живот поверителен без нужда от настройване различни страници с безброй опции." + simplicity_explanation: "Споделянето чрез Diaspora е просто и лесно. Характерно за Diaspora е, че запазва личния ви живот поверителен без нужда от настройване на различни страници с безброй опции." tagline_first_half: "Споделете каквото желаете," tagline_second_half: "с когото пожелаете." invitations: @@ -228,7 +229,7 @@ bg: header: blog: "блог" code: "код" - login: "Вписване" + login: "вписване" logout: "отписване" profile: "профил" settings: "настройки" @@ -251,7 +252,7 @@ bg: no_results: "Няма намерени резултати" notifications: also_commented: "also commented on %{post_author}'s" - also_commented_deleted: "добави коментар на вече изтрита публикация" + also_commented_deleted: "добави коментар на вече изтрита публикация." comment_on_post: "коментира ваша" deleted: "deleted" helper: @@ -268,7 +269,7 @@ bg: notifications: "Известия" mentioned: "ви спомена в" new_request: "ви предложи да споделяте." - post: "публикация" + post: "публикация." private_message: "ви изпрати съобщение." request_accepted: "прие поканата ви за споделяне." notifier: diff --git a/config/locales/diaspora/br.yml b/config/locales/diaspora/br.yml index d80de325c..e6eaa1357 100644 --- a/config/locales/diaspora/br.yml +++ b/config/locales/diaspora/br.yml @@ -36,6 +36,7 @@ br: all_aspects: "An Holl Arvezioù" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "den dianav" video_title: unknown: "Unknown Video Title" diff --git a/config/locales/diaspora/ca.yml b/config/locales/diaspora/ca.yml index 36e3b4080..1fb1d3149 100644 --- a/config/locales/diaspora/ca.yml +++ b/config/locales/diaspora/ca.yml @@ -75,6 +75,7 @@ ca: unknown_person: "persona desconeguda" video_title: unknown: "Títol del vídeo desconegut" + diaspora_alpha: "DIÀSPORA* ALFA" aspects: @@ -300,11 +301,11 @@ ca: new_request: "s'ha oferit a compartir amb vosaltres." private_message: "us ha enviat un missatge." comment_on_post: "ha comentat la vostra" - also_commented: "also commented on your contact's" - mentioned: "us ha mencionat a una publicació" - post: "publicació" + also_commented: "also commented on %{post_author}'s" + mentioned: "us ha mencionat a una " + post: "publicació." deleted: "suprimida" - also_commented_deleted: "ha comentat una publicació suprimida" + also_commented_deleted: "ha comentat una publicació suprimida." index: notifications: "Notificacions" mark_all_as_read: "Marca-les totes com a llegides" diff --git a/config/locales/diaspora/cs.yml b/config/locales/diaspora/cs.yml index b8336a00a..13e5a6bb8 100644 --- a/config/locales/diaspora/cs.yml +++ b/config/locales/diaspora/cs.yml @@ -36,6 +36,7 @@ cs: all_aspects: "Všechny aspekty" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "neznámá osoba" video_title: unknown: "Neznámý název videa" diff --git a/config/locales/diaspora/cy.yml b/config/locales/diaspora/cy.yml index 074d2cc63..933867708 100644 --- a/config/locales/diaspora/cy.yml +++ b/config/locales/diaspora/cy.yml @@ -36,6 +36,7 @@ cy: all_aspects: "All aspects" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "unknown person" video_title: unknown: "Unknown Video Title" diff --git a/config/locales/diaspora/da.yml b/config/locales/diaspora/da.yml index 869e56acb..f12cb97c6 100644 --- a/config/locales/diaspora/da.yml +++ b/config/locales/diaspora/da.yml @@ -36,6 +36,7 @@ da: all_aspects: "Alle aspekter" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "Ukendt person" video_title: unknown: "Ukendt videotitel" diff --git a/config/locales/diaspora/de.yml b/config/locales/diaspora/de.yml index 0d57f8490..485979056 100644 --- a/config/locales/diaspora/de.yml +++ b/config/locales/diaspora/de.yml @@ -36,6 +36,7 @@ de: all_aspects: "Alle Aspekte" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "unbekannte Person" video_title: unknown: "Unbekannter Video-Titel" @@ -266,7 +267,7 @@ de: and_others: "und %{number} andere" mark_all_as_read: "Markiere alle als gelesen" notifications: "Benachrichtigungen" - mentioned: "hat dich in einem Beitrag erwähnt" + mentioned: "hat dich erwähnt in einem" new_request: "hat angeboten mit dir zu teilen." post: "Beitrag" private_message: "hat dir eine Nachricht gesendet." diff --git a/config/locales/diaspora/el.yml b/config/locales/diaspora/el.yml index f57f9456e..f07345b5e 100644 --- a/config/locales/diaspora/el.yml +++ b/config/locales/diaspora/el.yml @@ -36,6 +36,7 @@ el: all_aspects: "Όλες οι πτυχές" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "άγνωστο άτομο" video_title: unknown: "Άγνωστος τίτλος video" @@ -251,7 +252,7 @@ el: no_results: "Δεν βρέθηκαν αποτελέσματα" notifications: also_commented: "επίσης σχολίασε τη %{post_author}" - also_commented_deleted: "σχολιάστηκε σε διαγεγραμμένη δημοσίευση" + also_commented_deleted: "σχολιάστηκε σε διαγεγραμμένη δημοσίευση." comment_on_post: "σχολίασε τη" deleted: "διαγράφηκε" helper: @@ -266,9 +267,9 @@ el: and_others: "και %{number} άλλοι" mark_all_as_read: "Σήμανση όλων ως διαβασμένα" notifications: "Ειδοποιήσεις" - mentioned: "σας ανέφερε στο" + mentioned: "σας ανέφερε σε" new_request: "προσφέρθηκε να μοιραστεί μαζί σας." - post: "δημοσίευση" + post: "δημοσίευση." private_message: "σας έστειλε ένα μήνυμα" request_accepted: "δέχτηκε το αίτημα σας για διαμοιρασμό. " notifier: diff --git a/config/locales/diaspora/en.yml b/config/locales/diaspora/en.yml index 7da244552..12b058625 100644 --- a/config/locales/diaspora/en.yml +++ b/config/locales/diaspora/en.yml @@ -74,6 +74,7 @@ en: unknown_person: "unknown person" video_title: unknown: "Unknown Video Title" + diaspora_alpha: "DIASPORA* ALPHA" aspects: zero: "no aspects" one: "1 aspect" @@ -161,7 +162,7 @@ en: many: "%{count} comments" other: "%{count} comments" new_comment: - comment: "comment" + comment: "Comment" commenting: "Commenting..." contacts: @@ -278,17 +279,17 @@ en: likes: likes: people_like_this: - zero: "no people liked this" - one: "1 person liked this" - few: "%{count} people liked this" - many: "%{count} people liked this" - other: "%{count} people liked this" + zero: "no likes" + one: "%{count} like" + few: "%{count} likes" + many: "%{count} likes" + other: "%{count} likes" people_dislike_this: - zero: "no people disliked this" - one: "1 person disliked this" - few: "%{count} people disliked this" - many: "%{count} people disliked this" - other: "%{count} people disliked this" + zero: "no dislikes" + one: "%{count} dislike" + few: "%{count} dislikes" + many: "%{count} dislikes" + other: "%{count} dislikes" notifications: started_sharing: "started sharing with you." @@ -297,6 +298,7 @@ en: comment_on_post: "commented on your" also_commented: "also commented on %{post_author}'s" mentioned: "has mentioned you in a " + liked: "has just liked your post" post: "post." deleted: "deleted" also_commented_deleted: "commented on a deleted post." @@ -343,6 +345,10 @@ en: private_message: "has sent you a private message:" message_subject: "Subject: %{subject}" sign_in: "Sign in to view it." + liked: + subject: "%{name} has just liked your post" + liked: "%{name} has just liked your post: " + sign_in: "Sign in to view it" people: zero: "no people" @@ -569,8 +575,9 @@ en: contact_list: all_contacts: "All contacts" stream_element: - like: "I like this" - dislike: "I dislike this" + like: "Like" + unlike: "Unlike" + dislike: "Dislike" footer: logged_in_as: "logged in as %{name}" your_aspects: "your aspects" @@ -617,6 +624,7 @@ en: mentioned: "...you are mentioned in a post?" started_sharing: "...someone starts sharing with you?" private_message: "...you receive a private message?" + liked: "...someone likes your post?" change: "Change" destroy: "Account successfully closed." getting_started: diff --git a/config/locales/diaspora/en_shaw.yml b/config/locales/diaspora/en_shaw.yml index b2a396ffe..700c1c204 100644 --- a/config/locales/diaspora/en_shaw.yml +++ b/config/locales/diaspora/en_shaw.yml @@ -36,6 +36,7 @@ en_shaw: all_aspects: "𐑷𐑤 𐑨𐑕𐑐𐑧𐑒𐑑𐑕" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "𐑩𐑯𐑯𐑴𐑯 𐑐𐑻𐑕𐑩𐑯" video_title: unknown: "𐑩𐑯𐑯𐑴𐑯 𐑝𐑦𐑛𐑦𐑴 𐑑𐑲𐑑𐑩𐑤" @@ -228,8 +229,8 @@ en_shaw: header: blog: "𐑚𐑤𐑪𐑜" code: "𐑒𐑴𐑛" - login: "𐑤𐑪𐑜𐑦𐑯" - logout: "𐑤𐑪𐑜𐑬𐑑" + login: "𐑤𐑪𐑜 𐑦𐑯" + logout: "𐑤𐑪𐑜 𐑬𐑑" profile: "𐑐𐑮𐑴𐑓𐑲𐑤" settings: "𐑕𐑧𐑑𐑦𐑙𐑟" likes: @@ -251,7 +252,7 @@ en_shaw: no_results: "𐑯𐑴 𐑮𐑦𐑟𐑫𐑤𐑑𐑕 𐑓𐑬𐑯𐑛" notifications: also_commented: "(e)k iruzkindu du %{post_author}(r)en mezuan ere" - also_commented_deleted: "𐑒𐑪𐑥𐑩𐑯𐑑𐑩𐑛 𐑪𐑯 𐑩 𐑛𐑦𐑤𐑰𐑑𐑩𐑛 𐑐𐑴𐑕𐑑" + also_commented_deleted: "𐑒𐑩𐑥𐑩𐑯𐑑𐑩𐑛 𐑪𐑯 𐑩 𐑛𐑦𐑤𐑰𐑑𐑩𐑛 𐑐𐑴𐑕𐑑" comment_on_post: "𐑒𐑪𐑥𐑩𐑯𐑑𐑩𐑛 𐑪𐑯 𐑿𐑼" deleted: "𐑛𐑦𐑤𐑰𐑑𐑩𐑛" helper: @@ -266,7 +267,7 @@ en_shaw: and_others: "𐑯 %{number} 𐑳𐑞𐑼𐑟" mark_all_as_read: "𐑥𐑸𐑒 𐑷𐑤 𐑨𐑟 𐑮𐑧𐑛" notifications: "𐑯𐑴𐑑𐑦𐑓𐑦𐑒𐑱𐑖𐑩𐑯𐑟" - mentioned: "𐑣𐑨𐑟 𐑥𐑧𐑯𐑖𐑩𐑯𐑛 𐑿 𐑦𐑯 𐑩 𐑐𐑴𐑕𐑑" + mentioned: "𐑣𐑨𐑟 𐑥𐑧𐑯𐑖𐑩𐑯𐑛 𐑿 𐑦𐑯 𐑩" new_request: "𐑪𐑓𐑼𐑛 𐑑 𐑖𐑺 𐑢𐑦𐑞 𐑿." post: "𐑐𐑴𐑕𐑑" private_message: "𐑕𐑧𐑯𐑑 𐑿 𐑩 𐑥𐑧𐑕𐑩𐑡." diff --git a/config/locales/diaspora/eo.yml b/config/locales/diaspora/eo.yml index 25c00ea86..290288f68 100644 --- a/config/locales/diaspora/eo.yml +++ b/config/locales/diaspora/eo.yml @@ -36,6 +36,7 @@ eo: all_aspects: "All aspects" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "nekonata persono" video_title: unknown: "Unknown Video Title" diff --git a/config/locales/diaspora/es-CL.yml b/config/locales/diaspora/es-CL.yml index 907d71d1e..40916f602 100644 --- a/config/locales/diaspora/es-CL.yml +++ b/config/locales/diaspora/es-CL.yml @@ -36,6 +36,7 @@ es-CL: all_aspects: "Todos los Aspectos" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "persona desconocida" video_title: unknown: "Titulo de vídeo desconocido" @@ -251,7 +252,7 @@ es-CL: no_results: "No se encontraron resultados" notifications: also_commented: "también comentó en el post de %{post_author}" - also_commented_deleted: "Comentó en un post eliminado" + also_commented_deleted: "Comentó en un post eliminado." comment_on_post: "comentó en tu" deleted: "Eliminado" helper: @@ -266,9 +267,9 @@ es-CL: and_others: "y otros %{number}" mark_all_as_read: "Marcar todo como leido" notifications: "Notificaciones" - mentioned: "te mencionó en un post" + mentioned: "te mencionó en un" new_request: "quiere compartir contigo." - post: "post" + post: "post." private_message: "te envió un mensaje." request_accepted: "aceptó tu solicitud de contacto." notifier: diff --git a/config/locales/diaspora/es.yml b/config/locales/diaspora/es.yml index 2eed19d3f..12a77f035 100644 --- a/config/locales/diaspora/es.yml +++ b/config/locales/diaspora/es.yml @@ -36,6 +36,7 @@ es: all_aspects: "Todos" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "persona desconocida" video_title: unknown: "Título de vídeo desconocido" @@ -268,7 +269,7 @@ es: notifications: "Notificaciones" mentioned: "te mencionó en una" new_request: "quisiera compartir contigo." - post: "publicación" + post: "publicación." private_message: "te envió un mensaje." request_accepted: "aceptó tu solicitud de contacto." notifier: diff --git a/config/locales/diaspora/eu.yml b/config/locales/diaspora/eu.yml index 818350088..94f9160f5 100644 --- a/config/locales/diaspora/eu.yml +++ b/config/locales/diaspora/eu.yml @@ -36,6 +36,7 @@ eu: all_aspects: "Alderdi guztiak" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "pertsona ezezaguna" video_title: unknown: "Bideo izen ezezaguna" @@ -250,8 +251,8 @@ eu: next: "hurrengoa" no_results: "Ez Da Ezer Aurkitu" notifications: - also_commented: "(e)k iruzkindu du baita zure kontaktuaren" - also_commented_deleted: "mezu ezabatu bat iruzkindu du" + also_commented: "(e)k ere iruzkindu du zure kontaktuaren" + also_commented_deleted: "mezu ezabatu bat iruzkindu du." comment_on_post: "(e)k iruzkindu du zure" deleted: "ezabatuta" helper: @@ -266,9 +267,9 @@ eu: and_others: "eta beste %{number}(e)k" mark_all_as_read: "Guztiak irakurrita" notifications: "Jakinarazpenak" - mentioned: "(e)k zu aipatu zaitu mezu batean" + mentioned: "(e)k zu aipatu zaitu hemen:" new_request: "(e)k zurekin partekatu nahi du." - post: "mezua" + post: "mezua." private_message: "(e)k mezu bat bidali dizu." request_accepted: "(e)k zure partekatze eskaera onartu du." notifier: diff --git a/config/locales/diaspora/fi.yml b/config/locales/diaspora/fi.yml index cdb50c6d9..dcaaf8e2d 100644 --- a/config/locales/diaspora/fi.yml +++ b/config/locales/diaspora/fi.yml @@ -33,9 +33,10 @@ fi: username: taken: "on jo varattu." ago: "%{time} sitten" - all_aspects: "All aspects" + all_aspects: "Kaikki näkymät" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "tuntematon henkilö" video_title: unknown: "Videon Otsikko Tuntematon" @@ -180,7 +181,7 @@ fi: correct_the_following_errors_and_try_again: "Korjaa seuraavat virheet ja yritä uudelleen." invalid_fields: "Vialliset arvot" fill_me_out: "Täytä tiedot" - hide: "Hide" + hide: "Piilota" home: show: already_account: "joko sinulla on käyttäjätili?" @@ -242,16 +243,16 @@ fi: zero: "no people disliked this" people_like_this: few: "%{count} people liked this" - many: "%{count} people liked this" + many: "%{count} ihmistä tykkää tästä" one: "1 person liked this" other: "%{count} people liked this" zero: "no people liked this" more: "Lisää" next: "seuraava" - no_results: "No Results Found" + no_results: "Tuloksia ei löytynyt" notifications: also_commented: "kommentoi myös %{post_author}:n" - also_commented_deleted: "kommentoi poistettuun viestiin" + also_commented_deleted: "kommentoi poistettuun viestiin." comment_on_post: "kommentoi sinun" deleted: "poistetut" helper: @@ -266,9 +267,9 @@ fi: and_others: "and %{number} others" mark_all_as_read: "Merkitse kaikki luetuiksi" notifications: "Ilmoitukset" - mentioned: "on maininnut sinut heidän" + mentioned: "on maininnut sinut " new_request: "haluaa jakaa kanssasi." - post: "viesti" + post: "viesti." private_message: "sent you a message." request_accepted: "hyväksyi jakopyyntösi." notifier: @@ -398,7 +399,7 @@ fi: notice: "Kuva päivitettiin onnistuneesti." post_visibilites: update: - post_hidden: "%{name}'s post has been hidden." + post_hidden: "Viesti käyttäjältä %{name} on piilotettu." posts: doesnt_exist: "that post does not exist!" previous: "edellinen" @@ -448,7 +449,7 @@ fi: destroy: error: "Ole hyvä, valitse näkymä!" ignore: "Hylätty kontaktipyyntö." - success: "Olette nyt ystäviä." + success: "Olet nyt jakamassa." helper: new_requests: few: "%{count} uutta pyyntöä!" @@ -503,15 +504,15 @@ fi: all_contacts: "Kaikki kontaktit" cannot_remove: "Henkilöä ei voitu poistaa viimeisestä näkymästä. (Jos haluat katkaista yhteyden tähän henkilöön, tulee sinun poistaa kontakti.)" footer: - logged_in_as: "logged in as %{name}" - your_aspects: "your aspects" + logged_in_as: "kirjauduttu sisään käyttäjällä %{name}" + your_aspects: "näkymäsi" invitations: by_email: "Sähköpostilla" dont_have_now: "Sinulla ei ole yhtään kutsua jäljellä, mutta lisää tulee pian!" from_facebook: "Facebookista" invitations_left: "(%{count} jäljellä)" invite_someone: "Kutsu joku" - invite_your_friends: "Kutsu kavereitasi" + invite_your_friends: "Etsi kavereitasi" invites: "Kutsut" invites_closed: "Kutsut on toistaiseksi suljettu tällä Diaspora-palvelimella" notification: @@ -537,8 +538,8 @@ fi: reshare: reshare: "Jaa uudelleen" stream_element: - dislike: "I dislike this" - like: "I like this" + dislike: "En tykkää" + like: "Tykkään" status_messages: create: success: "Successfully mentioned: %{names}" @@ -561,7 +562,7 @@ fi: people_tagged_with: "People tagged with %{tag}" posts_tagged_with: "Posts tagged with #%{tag}" the_world: "maailma" - undo: "Undo?" + undo: "Peruuta?" username: "Käyttäjätunnus" users: destroy: "Käyttäjätilin sulkeminen onnistui." diff --git a/config/locales/diaspora/fr.yml b/config/locales/diaspora/fr.yml index cdc7bb7d7..cf805386a 100644 --- a/config/locales/diaspora/fr.yml +++ b/config/locales/diaspora/fr.yml @@ -36,6 +36,7 @@ fr: all_aspects: "Tous les aspects" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "personne inconnue" video_title: unknown: "Titre de vidéo inconnu" @@ -251,7 +252,7 @@ fr: no_results: "Aucun résultat trouvé" notifications: also_commented: "a/ont également commenté le message de %{post_author} :" - also_commented_deleted: "a commenté un message supprimé" + also_commented_deleted: "a commenté un message supprimé." comment_on_post: "a/ont commenté votre" deleted: "supprimé" helper: @@ -266,9 +267,9 @@ fr: and_others: "et %{number} autres" mark_all_as_read: "Tout marquer comme lu" notifications: "Notifications" - mentioned: "vous a mentionné(e) dans une publication" + mentioned: "vous a mentionné(e) dans un" new_request: "a proposé de partager avec vous." - post: "message" + post: "message." private_message: "vous a envoyé un message." request_accepted: "a accepté votre demande de partage." notifier: diff --git a/config/locales/diaspora/ga.yml b/config/locales/diaspora/ga.yml index c1affa0ee..8aa68b4e0 100644 --- a/config/locales/diaspora/ga.yml +++ b/config/locales/diaspora/ga.yml @@ -36,6 +36,7 @@ ga: all_aspects: "All aspects" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "duine anaithnid" video_title: unknown: "Teideal Físeán Anaithnid" diff --git a/config/locales/diaspora/he.yml b/config/locales/diaspora/he.yml index 49351ec28..21901896f 100644 --- a/config/locales/diaspora/he.yml +++ b/config/locales/diaspora/he.yml @@ -36,6 +36,7 @@ he: all_aspects: "כל ההיבטים" application: helper: + diaspora_alpha: "דיאספורה* אלפא" unknown_person: "אדם לא ידוע" video_title: unknown: "כותרת הווידאו אינה ידועה" @@ -251,7 +252,7 @@ he: no_results: "לא נמצאו תוצאות" notifications: also_commented: "גם כן הגיב/ה על הפריט של %{post_author}" - also_commented_deleted: "הגיב/ה על רשומה שנמחקה" + also_commented_deleted: "הגיב/ה על רשומה שנמחקה." comment_on_post: "הגיב/ה על ה" deleted: "נמחקה" helper: @@ -266,9 +267,9 @@ he: and_others: "ו־%{number} אחרים" mark_all_as_read: "סימון הכול כלאחר קריאה" notifications: "התרעות" - mentioned: "הזכיר/ה אותך ברשומה" + mentioned: "הזכיר/ה אותך ב" new_request: "הציע/ה לשתף אתך." - post: "רשומה" + post: "רשומה." private_message: "שלח/ה לך הודעה." request_accepted: "קיבל/ה את בקשת השיתוף שלך." notifier: diff --git a/config/locales/diaspora/hu.yml b/config/locales/diaspora/hu.yml index 7c2c92045..c3ccf6de8 100644 --- a/config/locales/diaspora/hu.yml +++ b/config/locales/diaspora/hu.yml @@ -36,6 +36,7 @@ hu: all_aspects: "Összes csoport" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "ismeretlen személy" video_title: unknown: "Ismeretlen videó cím" @@ -228,8 +229,8 @@ hu: header: blog: "blog" code: "kód" - login: "belépés" - logout: "kilépés" + login: "bejelentkezés" + logout: "kijelentkezés" profile: "profil" settings: "beállítások" likes: @@ -251,7 +252,7 @@ hu: no_results: "Nincs eredmény" notifications: also_commented: "hozzászólt még az övéhez is:" - also_commented_deleted: "hozzászólt egy már törölt bejegyzéshez" + also_commented_deleted: "hozzászólt egy már törölt bejegyzéshez." comment_on_post: "hozzászólt a" deleted: "törölve" helper: @@ -266,9 +267,9 @@ hu: and_others: "és %{number} másik" mark_all_as_read: "Mind megjelölése olvasottként" notifications: "Értesítések" - mentioned: "megemlített téged egy bejegyzésben" + mentioned: "megemlített téged egy" new_request: "megosztást ajánlott neked." - post: "bejegyzés" + post: "bejegyzésben." private_message: "üzenetet küldött neked." request_accepted: "elfogadta a megosztási kérésed." notifier: diff --git a/config/locales/diaspora/id.yml b/config/locales/diaspora/id.yml index cad531019..5484c5235 100644 --- a/config/locales/diaspora/id.yml +++ b/config/locales/diaspora/id.yml @@ -36,6 +36,7 @@ id: all_aspects: "All aspects" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "orang tak dikenal" video_title: unknown: "Unknown Video Title" diff --git a/config/locales/diaspora/is.yml b/config/locales/diaspora/is.yml index f28d03786..739d70511 100644 --- a/config/locales/diaspora/is.yml +++ b/config/locales/diaspora/is.yml @@ -36,6 +36,7 @@ is: all_aspects: "All aspects" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "óþekkt manneskja" video_title: unknown: "Óþekktur vídeótitill" diff --git a/config/locales/diaspora/it.yml b/config/locales/diaspora/it.yml index e861fb5f7..e75f09d5b 100644 --- a/config/locales/diaspora/it.yml +++ b/config/locales/diaspora/it.yml @@ -36,6 +36,7 @@ it: all_aspects: "Tutti gli aspetti" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "persona sconosciuta" video_title: unknown: "Video Senza Nome" @@ -251,7 +252,7 @@ it: no_results: "Nessun Risultato Trovato" notifications: also_commented: "ha anche commentato su quello di %{post_author}" - also_commented_deleted: "hai commentato un post cancellato" + also_commented_deleted: "hai commentato un post cancellato." comment_on_post: "ha commentato sul tuo" deleted: "eliminato" helper: @@ -266,9 +267,9 @@ it: and_others: "e altri %{number}" mark_all_as_read: "Segna Tutti come Letti" notifications: "Notifiche" - mentioned: "ti ha menzionato in un post" + mentioned: "ti ha menzionato in un " new_request: "vuole condividere con te." - post: "post" + post: "post." private_message: "ti ha inviato un messaggio." request_accepted: "ha accettato la tua richiesta di condivisione." notifier: diff --git a/config/locales/diaspora/ja.yml b/config/locales/diaspora/ja.yml index af17b41ab..6700c141d 100644 --- a/config/locales/diaspora/ja.yml +++ b/config/locales/diaspora/ja.yml @@ -4,11 +4,11 @@ ja: - _comments: "Comments" - _home: "Home" + _comments: "コメント" + _home: "ホーム" _photos: "写真" - _services: "Services" - account: "Account" + _services: "サービス" + account: "アカウント" activerecord: errors: models: @@ -32,91 +32,92 @@ ja: invalid: "無効です。" username: taken: "既に使われています。" - ago: "%{time} ago" - all_aspects: "All Aspects" + ago: "%{time}前" + all_aspects: "全てのアスペクト" application: helper: - unknown_person: "unknown person" + diaspora_alpha: "ダイアスポラ*アルファ" + unknown_person: "不明な連絡先" video_title: - unknown: "Unknown Video Title" + unknown: "不明な動画タイトル" are_you_sure: "本当にいいですか。" aspect_memberships: destroy: - failure: "人をアスペクトから除外するのに失敗しました" - no_membership: "選択した人はそのアスペクト内に見つかりませんでした" - success: "人をアスペクトから除外するのに成功しました" + failure: "連絡先をアスペクトから除外するのに失敗しました。" + no_membership: "選択した連絡先はそのアスペクト内に見つかりませんでした" + success: "連絡先をアスペクトから除外するのに成功しました。" aspects: add_to_aspect: - failure: "Failed to add contact to aspect." - success: "Successfully added contact to aspect." + failure: "連絡先をアスペクトに追加するのに失敗しました。" + success: "連絡先をアスペクトに追加するのに成功しました。" aspect_contacts: - done_editing: "done editing" + done_editing: "編集完了" aspect_stream: - activity: "activity" - post_time: "post time" - sort_by: "sort by:" - contacts_not_visible: "Contacts in this aspect will not be able to see each other." - contacts_visible: "Contacts in this aspect will be able to see each other." + activity: "更新時" + post_time: "投稿時" + sort_by: "並び順" + contacts_not_visible: "このアスペクトの連絡先はお互いの存在が確認できません。" + contacts_visible: "このアスペクトの連絡先はお互いの存在が確認できます。" create: - failure: "Aspect creation failed." - success: "Your new aspect %{name} was created" + failure: "アスペクトを作成するのに失敗しました。" + success: "新しいアスペクト「%{name}」を作成しました。" destroy: - failure: "%{name} is not empty and could not be removed." - success: "%{name} was successfully removed." + failure: "%{name}に連絡先が残っているので削除できません。" + success: "%{name}さんを除外するのに成功しました。" edit: - add_existing: "Add an existing contact" - aspect_list_is_not_visible: "aspect list is hidden to others in aspect" - aspect_list_is_visible: "aspect list is visible to others in aspect" - confirm_remove_aspect: "Are you sure you want to delete this aspect?" - done: "Done" - make_aspect_list_visible: "make aspect list visible?" - remove_aspect: "Delete this aspect" - rename: "rename" - update: "update" - updating: "updating" - few: "%{count} aspects" + add_existing: "既存の連絡先を追加する" + aspect_list_is_not_visible: "このアスペクトのメンバー一覧はメンバーへ公開されていません" + aspect_list_is_visible: "このアスペクトのメンバー一覧はメンバーに公開されています" + confirm_remove_aspect: "このアスペクトを本当に削除していいですか。" + done: "完了" + make_aspect_list_visible: "アスペクトのメンバー一覧を公開しますか。" + remove_aspect: "このアスペクトを削除する" + rename: "名前の変更" + update: "更新" + updating: "更新中" + few: "アスペクト%{count}集" helper: - are_you_sure: "Are you sure you want to delete this aspect?" - aspect_not_empty: "Aspect not empty" - remove: "remove" + are_you_sure: "本当にこのアスペクトを削除しますか。" + aspect_not_empty: "アスペクトは空ではありません。" + remove: "削除" index: - handle_explanation: "This is your diaspora handle. Like an email address, you can give this to people to reach you." - no_contacts: "No contacts" - post_a_message: "post a message >>" + handle_explanation: "これがあなたのハンドル名です。メールアドレスと同じようにほかの人に教えて、ダイアスポラで連絡を取り合うことができます。" + no_contacts: "連絡先無し" + post_a_message: "投稿する" manage: - add_a_new_aspect: "Add a new aspect" - add_a_new_contact: "Add a new contact" - drag_to_add: "Drag to add people" - manage_aspects: "Manage aspects" - no_requests: "No new requests" - requests: "Requests" - many: "%{count} aspects" + add_a_new_aspect: "新しいアスペクトを追加する" + add_a_new_contact: "新しい連絡先を追加する" + drag_to_add: "追加したい連絡先をドラッグしてください" + manage_aspects: "アスペクトの管理" + no_requests: "新リクエスト無し" + requests: "リクエスト" + many: "アスペクト%{count}集" move_contact: - error: "Error moving contact: %{inspect}" - failure: "didn't work %{inspect}" - success: "Person moved to new aspect" + error: "連絡先の移動にエラーが発生しました: %{inspect}" + failure: "連絡先を移動させるのに失敗しました:%{inspect}" + success: "連絡先を新しいアスペクトに移動させました。" new_aspect: - create: "Create" - name: "Name" + create: "作成する" + name: "アスペクト名" no_posts_message: - start_talking: "Nobody has said anything yet. Get the conversation started!" - one: "1 aspect" - other: "%{count} aspects" + start_talking: "投稿がまだありません。会話を始めましょう!" + one: "アスペクト1集" + other: "アスペクト%{count}集" seed: - family: "Family" - work: "Work" + family: "家族" + work: "仕事" show: - edit_aspect: "edit aspect" + edit_aspect: "アスペクトを編集する" update: - failure: "Your aspect, %{name}, had too long name to be saved." - success: "Your aspect, %{name}, has been successfully edited." - zero: "no aspects" + failure: "アスペクト名「%{name}」は長すぎて保存できませんでした。" + success: "アスペクト「%{name}」の編集するのに成功しました。" + zero: "アスペクト無し" back: "前へ" bookmarklet: - explanation: "%{link} from anywhere by bookmarking this link." - explanation_link_text: "Post to Diaspora" - post_something: "Post something to Diaspora" - post_success: "Posted! Closing!" + explanation: "このリンクをお気に入りに登録すると、どこからでも%{link}できます。" + explanation_link_text: "ダイアスポラに投稿" + post_something: "ダイアスポラに投稿" + post_success: "投稿完了!ウィンドウを閉じます。" cancel: "取り消す" comments: few: "コメント%{count}件" @@ -129,105 +130,105 @@ ja: zero: "コメントがありません" contacts: create: - failure: "Failed to create contact" + failure: "連絡先を作成するのに失敗しました。" destroy: - failure: "Failed to disconnect from %{name}" - success: "Successfully disconnected from %{name}" - few: "%{count} contacts" - many: "%{count} contacts" - one: "1 contact" - other: "%{count} contacts" + failure: "%{name}さんの連絡先を削除するのに失敗しました。" + success: "%{name}さんの連絡先を削除するのに成功しました。" + few: "連絡先%{count}件" + many: "連絡先%{count}件" + one: "連絡先1件" + other: "連絡先%{count}件" share_with_pane: - accepts: "Once %{name} accepts, you'll start seeing each other's posts on Diaspora" - add_new_aspect: "add to new aspect" - share_with: "Start sharing with %{name}" - zero: "no contacts" + accepts: "%{name}さんが承諾したら、ダイアスポラ*投稿がお互いに見れるようになります。" + add_new_aspect: "新しいアスペクトに追加する" + share_with: "%{name}さんと共有を開始する" + zero: "連絡先無し" conversations: create: - sent: "Message sent" + sent: "メッセージを送信しました" destroy: - success: "Conversation successfully removed" + success: "会話を削除するのに成功しました。" helper: new_messages: - few: "%{count} new messages" - many: "%{count} new messages" - one: "1 new messages" - other: "%{count} new messages" - zero: "no new messages" + few: "新着メッセージ%{count}通" + many: "新着メッセージ%{count}通" + one: "新着メッセージ1通" + other: "新着メッセージ%{count}通" + zero: "新着メッセージ無し" index: - create_a_new_message: "create a new message" - inbox: "Inbox" - message_inbox: "Message Inbox" - new_message: "New Message" - no_conversation_selected: "no conversation selected" - no_messages: "no messages" + create_a_new_message: "新しいメッセージを作成する" + inbox: "受信トレイ" + message_inbox: "メッセージ受信トレイ" + new_message: "新しいメッセージ" + no_conversation_selected: "選択中の会話がありません" + no_messages: "メッセージがありません" new: - send: "Send" - subject: "subject" - to: "to" + send: "送信する" + subject: "件名" + to: "宛先" show: - delete: "delete and block conversation" - reply: "reply" + delete: "会話を削除して、ブロックする" + reply: "返信" date: formats: - birthday: "%B %d" - birthday_with_year: "%B %d %Y" - fullmonth_day: "%B %d" + birthday: "%m月%d日" + birthday_with_year: "%Y年%m月%d日" + fullmonth_day: "%m月%d日" delete: "削除" - email: "Email" + email: "メール" error_messages: helper: - correct_the_following_errors_and_try_again: "Correct the following errors and try again." - invalid_fields: "Invalid Fields" - fill_me_out: "Fill me out" + correct_the_following_errors_and_try_again: "次の問題を解決してからやり直してください。" + invalid_fields: "不正なフィールド名" + fill_me_out: "記入して" hide: "隠す" home: show: - already_account: "already have an account?" - choice: "Choice" - choice_explanation: "Diaspora lets you sort your connections into groups called aspects. Unique to Diaspora, aspects ensure that your photos, stories and jokes are shared only with the people you intend." - learn_about_host: "Learn about how to host your own Diaspora server." - login_here: "log in here" - ownership: "Ownership" - ownership_explanation: "You own your pictures, and you shouldn’t have to give that up just to share them. You maintain ownership of everything you share on Diaspora, giving you full control over how it's distributed." - share_what_you_want: "Share what you want, with whom you want." - simplicity: "Simplicity" - simplicity_explanation: "Diaspora makes sharing clean and easy – and this goes for privacy too. Inherently private, Diaspora doesn’t make you wade through pages of settings and options just to keep your profile secure." - tagline_first_half: "Share what you want," - tagline_second_half: "with whom you want." + already_account: "アカウントは既にお持ちですか。" + choice: "自由" + choice_explanation: "ダイアスポラ*で連絡先をアスペクトと呼ばれる集団に分けることができます。アスペクトはダイアスポラ*独特の機能で、これによってあなたの写真、話、冗談などが目的の知り合いだけに共有されることが保証されます。" + learn_about_host: "ダイアスポラ*サーバーの立ち上げ方をお教えします。" + login_here: "ここからログイン" + ownership: "所有" + ownership_explanation: "写真は自分の持ち物で、シェアしたいからと言って権利を譲る必要はありません。ダイアスポラでシェアしたものでも所有権は保全されますので、自由に配給などを制御することができます。" + share_what_you_want: "好きなものだけを、好きな人だけに。" + simplicity: "平易" + simplicity_explanation: "ダイアスポラ*は簡潔に共有を可能にしながら、プライバシーも簡潔にします。ダイアスポラ*は根本的なプライバシー主義で、プロフィールを保護するために何ページもの複雑な設定を使いこなす必要はありません。" + tagline_first_half: "好きなことだけ共有する" + tagline_second_half: "好きな人に。" invitations: check_token: - not_found: "Invitation token not found" + not_found: "招待トークンが見つかりません。" create: - already_contacts: "You are already connected with this person" - already_sent: "You already invited this person." - no_more: "You have no more invitations." - rejected: "The following email addresses had problems: " - sent: "Invitations have been sent to: " + already_contacts: "既に連絡先として登録しています。" + already_sent: "既に招待しました。" + no_more: "招待権がもう残っていません。" + rejected: "次のメールアドレスに問題が発生しました:" + sent: "次の人々に招待を送信しました:" edit: - sign_up: "sign_up" + sign_up: "新規登録" new: - already_invited: "Already invited" - aspect: "Aspect" - comma_seperated_plz: "You can enter multiple email addresses separated by commas." - if_they_accept_info: "if they accept, they will be added to the aspect you invited them." - invite_someone_to_join: "Invite someone to join Diaspora!" - personal_message: "Personal message" - resend: "Resend" - send_an_invitation: "Send an invitation" - send_invitation: "Send invitation" - to: "To" + already_invited: "招待済み" + aspect: "アスペクト" + comma_seperated_plz: "複数のメールアドレスはコンマ区切りで入力可能です。" + if_they_accept_info: "招待を承諾してくれた場合、招待時のアスペクトに追加されます。" + invite_someone_to_join: "知り合いをダイアスポラ*に招待しましょう!" + personal_message: "個人メッセージ" + resend: "再送する" + send_an_invitation: "招待を送信する" + send_invitation: "招待を送信する" + to: "宛先:" layouts: application: - have_a_problem: "Have a problem? Find an answer here" + have_a_problem: "質問がありましたら、ここからアンサーを" powered_by: "POWERED BY DIASPORA*" public_feed: "%{name}さんの公開ダイアスポラフィード" - toggle: "携帯サイトの切替え" - whats_new: "最新情報" + toggle: "携帯サイトを切替える" + whats_new: "更新履歴" your_aspects: "アスペクト" header: blog: "ブログ" - code: "code" + code: "ソース" login: "ログイン" logout: "ログアウト" profile: "プロフィール" @@ -235,132 +236,132 @@ ja: likes: likes: people_dislike_this: - few: "%{count} people disliked this" - many: "%{count} people disliked this" - one: "1 person disliked this" - other: "%{count} people disliked this" - zero: "no people disliked this" + few: "これが嫌いな人:%{count}人" + many: "これが嫌いな人:%{count}人" + one: "これが嫌いな人:1人" + other: "これが嫌いな人:%{count}人" + zero: "これが嫌いな人:0人" people_like_this: - few: "%{count} people liked this" - many: "%{count} people liked this" - one: "1 person liked this" - other: "%{count} people liked this" - zero: "no people liked this" - more: "More" - next: "next" - no_results: "No Results Found" + few: "これが好きな人:%{count}人" + many: "これが好きな人:%{count}人" + one: "これが好きな人:1人" + other: "これが好きな人:%{count}人" + zero: "これが好きな人:0人" + more: "続き" + next: "次へ" + no_results: "詮索結果はありません" notifications: - also_commented: "also commented on %{post_author}'s" - also_commented_deleted: "commented on a deleted post." - comment_on_post: "commented on your" - deleted: "deleted" + also_commented: "さんも%{post_author}さんの投稿にコメントしました:" + also_commented_deleted: "さんは削除された投稿にコメントしました。" + comment_on_post: "さんは次の投稿にコメントしました:" + deleted: "削除しました。" helper: new_notifications: - few: "%{count} new notifications" - many: "%{count} new notifications" - one: "1 new notifications" - other: "%{count} new notifications" - zero: "no new notifications" + few: "新着通知%{count}件" + many: "新着通知%{count}件" + one: "新着通知1件" + other: "新着通知%{count}件" + zero: "新着通知無し" index: - and: "and" - and_others: "and %{number} others" - mark_all_as_read: "Mark All as Read" - notifications: "Notifications" - mentioned: "has mentioned you in a " - new_request: "offered to share with you." - post: "post." - private_message: "sent you a message." - request_accepted: "accepted your share request." + and: "又は" + and_others: "他%{number}件" + mark_all_as_read: "全件を既読にする" + notifications: "通知" + mentioned: "さんはあなたをメンションしました。" + new_request: "さんは共有の許可を求めました。" + post: "(投稿で)" + private_message: "さんからメッセージが届いています。" + request_accepted: "さんは共有リクエストを承諾しました。" notifier: also_commented: - commented: "has also commented on %{post_author}'s post:" - sign_in: "Sign in to view it." - subject: "%{name} has also commented on %{post_author}'s post." + commented: "も%{post_author}さんの投稿にコメントしました:" + sign_in: "コメントを見るにはログインしてください。" + subject: "%{name}も%{post_author}さんの投稿にコメントしました。" comment_on_post: - commented: "has commented on your post:" - sign_in: "Sign in to view it." - subject: "%{name} has commented on your post." - diaspora: "the diaspora email robot" - hello: "Hello %{name}!" - love: "love," - manage_your_email_settings: "manage your email settings" + commented: "は次の投稿にコメントしました:" + sign_in: "見るにはログインしてください。" + subject: "%{name}は投稿にコメントしました。" + diaspora: "ダイアスポラ*メールロボット" + hello: "%{name}さん、こんにちは!" + love: "それでは、" + manage_your_email_settings: "メール設定を管理する" mentioned: - mentioned: "mentioned you in a post:" - sign_in: "Sign in to view it." - subject: "%{name} has mentioned you on Diaspora*" + mentioned: "さんは投稿であなたをメンションしました。" + sign_in: "見るのにログインして下さい。" + subject: "%{name}さんはダイアスポラ*であなたをメンションしました。" new_request: - just_sent_you: "just sent you a contact request on Diaspora*" - sign_in: "Sign in here" - subject: "new Diaspora* contact request from %{from}" - try_it_out: "You should really think about checking it out." + just_sent_you: "さんからダイアスポラ*の追加リクエストが届いています。" + sign_in: "ここからログイン" + subject: "%{from}さんの新しいダイアスポラ*追加リクエスト" + try_it_out: "是非お試しください。" private_message: - message_subject: "Subject: %{subject}" - private_message: "has sent you a private message:" - sign_in: "Sign in to view it." - subject: "%{name} has sent you a private message on Diaspora*" + message_subject: "件名:%{subject}" + private_message: "からメッセージが届いています。" + sign_in: "見るにはログインしてください。" + subject: "ダイアスポラ*で%{name}さんからの非公開メッセージが届いています。" request_accepted: - accepted: "has accepted your contact request!" - sign_in: "Sign in here" - subject: "%{name} has accepted your contact request on Diaspora*" + accepted: "さんは追加リクエストを承諾してくれました。" + sign_in: "ここからログインしてください。" + subject: "%{name}さんはダイアスポラ*の追加リクエストを承諾してくれました。" single_admin: - admin: "Your Diaspora administrator" - subject: "A message about your Diaspora account:" - thanks: "Thanks," - ok: "OK" - or: "or" - password: "Password" - password_confirmation: "Password confirmation" + admin: "ダイアスポラ*管理者" + subject: "ダイアスポラ*アカウントの重要なお知らせ:" + thanks: "ありがとうございます。" + ok: "了解" + or: "または" + password: "パスワード" + password_confirmation: "パスワード確認" people: add_contact_small: - add_contact_from_tag: "add contact from tag" + add_contact_from_tag: "タグより連絡先を追加する" aspect_list: - edit_membership: "edit aspect membership" - few: "%{count} people" + edit_membership: "アスペクト所属を編集する" + few: "%{count}人の連絡先" helper: - people_on_pod_are_aware_of: " people on pod are aware of" - results_for: " results for %{params}" + people_on_pod_are_aware_of: "人のポッドメンバーが知っています" + results_for: "%{params}の検索結果" index: - couldnt_find_them_send_invite: "Couldn't find them? Send an invite!" - no_one_found: "...and no one was found." - no_results: "Hey! You need to search for something." - results_for: "search results for" - many: "%{count} people" - one: "1 person" - other: "%{count} people" + couldnt_find_them_send_invite: "見つかりませんでしたか。招待メールを送信しましょう!" + no_one_found: "…1人も見つかりませんでした。" + no_results: "何かを検索しないといけません。" + results_for: "検索結果:" + many: "%{count}人の連絡先" + one: "1人の連絡先" + other: "%{count}人の連絡先" person: - add_contact: "add contact" - already_connected: "Already connected" - pending_request: "Pending request" - thats_you: "That's you!" + add_contact: "連絡先を追加する" + already_connected: "既につながっています" + pending_request: "共有の承認待ち" + thats_you: "あなた自身です!" profile_sidebar: - bio: "bio" - born: "birthday" - cannot_remove: "Cannot remove %{name} from last aspect. (If you want to disconnect from this person you must remove contact.)" - edit_my_profile: "Edit my profile" - gender: "gender" - in_aspects: "in aspects" - location: "location" - remove_contact: "remove contact" - remove_from: "Remove %{name} from %{aspect}?" + bio: "略歴" + born: "誕生日" + cannot_remove: "連絡先を最後のアスペクから除外することができません。(断絶したい場合は連絡先を削除してください。)" + edit_my_profile: "プロフィールを編集する" + gender: "性別" + in_aspects: "アスペクトで" + location: "所在地" + remove_contact: "連絡先を削除する" + remove_from: "%{name}さんを%{aspect}から除外しますか。" show: - add_some: "add some" - does_not_exist: "Person does not exist!" - edit: "edit" - incoming_request: "%{name} wants to share with you" - mention: "Mention" - message: "Message" - no_posts: "no posts to display!" - not_connected: "You are not sharing with this person" - recent_posts: "Recent Posts" - recent_public_posts: "Recent Public Posts" - return_to_aspects: "Return to your aspects page" - see_all: "See all" - start_sharing: "start sharing" - to_accept_or_ignore: "to accept or ignore it." - you_have_no_tags: "you have no tags!" + add_some: "追加する" + does_not_exist: "存在しない連絡先です!" + edit: "編集" + incoming_request: "%{name}さんは共有の許可を求めています" + mention: "メンション" + message: "メッセージ" + no_posts: "表示する投稿はありません!" + not_connected: "この連絡先と共有していません" + recent_posts: "最近の投稿" + recent_public_posts: "最近の公開投稿" + return_to_aspects: "アスペクトページに戻る" + see_all: "全て表示" + start_sharing: "共有を開始する" + to_accept_or_ignore: "承諾するか無視するか決めて下さい。" + you_have_no_tags: "タグを設定していません!" webfinger: - fail: "Sorry, we couldn't find %{handle}." - zero: "no people" + fail: "%{handle}が見つかりませんでした。" + zero: "連絡先無し" photos: create: integrity_error: "写真のアップロードに失敗しました。確かに画像ファイルだったのでしょうか。" @@ -375,12 +376,12 @@ ja: new_photo: "新しい写真" post_it: "投稿する!" new_photo: - empty: "{file} is empty, please select files again without it." - invalid_ext: "{file} has invalid extension. Only {extensions} are allowed." - size_error: "{file} is too large, maximum file size is {sizeLimit}." + empty: "{file}は空です。取り除いてファイルを選択しなおしてください。" + invalid_ext: "{file}のファイル名は不正です。{extensions}以外の拡張子は使えません。" + size_error: "{file}は大きすぎます。ファイルサイズの上限は{sizeLimit}です。" new_profile_photo: - or_select_one: "or select one from your already existing" - upload: "Upload a new profile photo!" + or_select_one: "或いは既存のから選択する" + upload: "新しいプロフィール写真をアップロードする!" photo: view_all: "%{name}の写真をすべてみる" show: @@ -394,19 +395,19 @@ ja: update_photo: "写真を更新する" view: "表示" update: - error: "Failed to edit photo." - notice: "Photo successfully updated." + error: "写真の編集に失敗しました。" + notice: "写真の更新に成功しました。" post_visibilites: update: - post_hidden: "%{name}'s post has been hidden." + post_hidden: "%{name}さんの投稿を非表示にしました。" posts: - doesnt_exist: "that post does not exist!" + doesnt_exist: "投稿が存在しません。" previous: "前へ" profile: "プロフィール" profiles: edit: allow_search: "ダイアスポラ内の検索を許可します" - edit_profile: "プロフィールの編集" + edit_profile: "プロフィールを編集する" first_name: "名" last_name: "姓" update_profile: "プロフィール更新" @@ -419,199 +420,199 @@ ja: your_private_profile: "非公開プロフィール" your_public_profile: "公開プロフィール" your_tags: "自分を表す5つの#タグ" - your_tags_placeholder: "例:#ダイアスポラ #家事 #子猫 #音楽" + your_tags_placeholder: "例:#diaspora #kaji #nyanko #ongaku" update: failed: "プロフィール更新に失敗しました" updated: "プロフィールを更新しました" registrations: - closed: "Signups are closed on this Diaspora pod." + closed: "このダイアスポラ*ポッドでは新規登録を受け付けていません。" create: - success: "You've joined Diaspora!" + success: "ダイアスポラの新規登録が完了しました!" edit: - cancel_my_account: "Cancel my account" - edit: "Edit %{name}" - leave_blank: "(leave blank if you don't want to change it)" - password_to_confirm: "(we need your current password to confirm your changes)" - unhappy: "Unhappy?" - update: "Update" + cancel_my_account: "アカウント登録を取り消す" + edit: "%{name}を編集する" + leave_blank: "(変更したくない場合は空白のままにしてください)" + password_to_confirm: "(確認のため、現パスワードも必要です)" + unhappy: "何かご不満ですか。" + update: "更新" new: - enter_email: "Enter an e-mail" - enter_password: "Enter a password" - enter_password_again: "Enter the same password as before" - enter_username: "Pick a username (only letters, numbers, and underscores)" - sign_up: "Sign up" - sign_up_for_diaspora: "Sign up for Diaspora" + enter_email: "メールアドレスを入力してください。" + enter_password: "パスワードを入力してください。" + enter_password_again: "もう一度同じパスワードを入力してください。" + enter_username: "ユーザ名を選択してください。(半角英数字とアンダーバーのみ)" + sign_up: "新規登録" + sign_up_for_diaspora: "ダイアスポラに新規登録する" requests: create: - sending: "Sending" - sent: "You've asked to share with %{name}. They should see it next time they log in to Diaspora." + sending: "送信中" + sent: "共有リクエストを送信しました。%{name}さんは次回のログイン時に見るでしょう。" destroy: - error: "Please select an aspect!" - ignore: "Ignored contact request." - success: "You are now sharing." + error: "アスペクトを選択して下さい。" + ignore: "共有リクエストを無視しました。" + success: "現在共有しています。" helper: new_requests: - few: "%{count} new requests!" - many: "%{count} new requests!" - one: "new request!" - other: "%{count} new requests!" - zero: "no new requests" + few: "新リクエスト%{count}件!" + many: "新リクエスト%{count}件!" + one: "新リクエスト!" + other: "新リクエスト%{count}件!" + zero: "新リクエスト無し" manage_aspect_contacts: - existing: "Existing contacts" - manage_within: "Manage contacts within" + existing: "現在の連絡先" + manage_within: "次のアスペクトの連絡先を管理:" new_request_to_person: - sent: "sent!" - search: "Search" + sent: "送信しました!" + search: "検索" services: create: - success: "Authentication successful." + success: "認証に成功しました。" destroy: - success: "Successfully deleted authentication." + success: "認証を削除するのに成功しました。" failure: - error: "there was an error connecting that service" + error: "サービスへ接続中にエラーが発生しました。" finder: friends: - few: "%{count} friends" - many: "%{count} friends" - one: "1 friend" - other: "%{count} friends" - zero: "no friends" - invite_your_friends_from: "Invite your friends from %{service}" - not_connected: "not connected" + few: "%{count}人の連絡先" + many: "%{count}人の連絡先" + one: "1人の連絡先" + other: "%{count}人の連絡先" + zero: "連絡先無し" + invite_your_friends_from: "%{service}の連絡先を招待する" + not_connected: "未接続" index: - connect_to_facebook: "Connect to facebook" - connect_to_twitter: "Connect to twitter" - disconnect: "disconnect" - edit_services: "Edit services" - logged_in_as: "logged in as" - really_disconnect: "disconnect %{service}?" + connect_to_facebook: "Facebookに接続する" + connect_to_twitter: "ツイッターに接続する" + disconnect: "切断" + edit_services: "サービスを編集する" + logged_in_as: "ログイン済みユーザ名:" + really_disconnect: "%{service}から切断しますか。" inviter: - click_link_to_accept_invitation: "Click this link to accept your invitation" - join_me_on_diaspora: "Join me on DIASPORA*" + click_link_to_accept_invitation: "招待を承諾するにはこのリンクにクリックしてください。" + join_me_on_diaspora: "ダイアスポラ*に参加しませんか。" remote_friend: - invite: "invite" - resend: "resend" - settings: "Settings" + invite: "招待" + resend: "再送" + settings: "設定" shared: add_contact: - create_request: "Find by Diaspora handle" + create_request: "ダイアスポラのハンドル名で検索" diaspora_handle: "diaspora@handle.org" - enter_a_diaspora_username: "Enter a Diaspora username:" - know_email: "Know their email address? You should invite them" - your_diaspora_username_is: "Your Diaspora username is: %{diaspora_handle}" + enter_a_diaspora_username: "ダイアスポラのユーザ名を入力してください。" + know_email: "メールアドレスをご存じなら招待しましょう!" + your_diaspora_username_is: "あなたのハンドル名は%{diaspora_handle}です。" contact_list: - all_contacts: "All contacts" - cannot_remove: "Cannot remove person from last aspect. (If you want to disconnect from this person you must remove contact.)" + all_contacts: "全ての連絡先" + cannot_remove: "連絡先を最後のアスペクトから除外することができません。(断絶したい場合は連絡先を削除してください。)" footer: - logged_in_as: "logged in as %{name}" - your_aspects: "your aspects" + logged_in_as: "%{name}としてログイン済" + your_aspects: "アスペクト" invitations: - by_email: "by Email" - dont_have_now: "You don't have any right now, but more invites are coming soon!" - from_facebook: "From Facebook" - invitations_left: "(%{count} left)" - invite_someone: "Invite someone" - invite_your_friends: "Find your friends" - invites: "Invites" - invites_closed: "Invites are currently closed on this Diaspora pod" + by_email: "メールで" + dont_have_now: "現在、招待権が残っていません。少々お待ち下さい。" + from_facebook: "Facebookから" + invitations_left: "(残り%{count}回)" + invite_someone: "誰かを招待する" + invite_your_friends: "知り合いを検索する" + invites: "招待" + invites_closed: "現在このダイアスポラポッドへの招待を締め切らせて頂いています" notification: - new: "New %{type} from %{from}" + new: "%{from}さんから新しい%{type}" public_explain: - logged_in: "logged in to %{service}" - manage: "manage connected services" - outside: "Public messages will be available for others outside of Diaspora to see." - title: "Set up connected services" + logged_in: "%{service}へログインしました。" + manage: "提携サービスを管理する" + outside: "公開投稿はダイアスポラ外の人にも表示されます。" + title: "提携サービスを設定する" publisher: - add_photos: "add photos" - all: "all" - all_contacts: "all contacts" - click_to_share_with: "Click to share with: " - make_public: "make public" - post_a_message_to: "Post a message to %{aspect}" - posting: "Posting..." - public: "Public" - publishing_to: "publishing to: " - share: "Share" - share_with: "share with" - whats_on_your_mind: "what's on your mind?" + add_photos: "写真を追加する" + all: "すべて" + all_contacts: "全ての連絡先" + click_to_share_with: "クリックして次のアスペクトに共有:" + make_public: "公開にする" + post_a_message_to: "%{aspect}に投稿する" + posting: "投稿中" + public: "公開" + publishing_to: "公開先:" + share: "共有" + share_with: "共有先:" + whats_on_your_mind: "いま何を考えている?" reshare: - reshare: "Reshare" + reshare: "再共有" stream_element: - dislike: "I dislike this" - like: "I like this" + dislike: "これ嫌い!" + like: "これ好き!" status_messages: create: - success: "Successfully mentioned: %{names}" + success: "%{names}を参照するのに成功しました。" destroy: - failure: "Failed to delete post" + failure: "投稿を削除するのに失敗しました。" helper: - no_message_to_display: "No message to display." + no_message_to_display: "表示するメッセージがありません。" new: - mentioning: "Mentioning: %{person}" + mentioning: "%{person}さんのメンション" show: - destroy: "Delete" - not_found: "Sorry, we couldn't find that post." - permalink: "permalink" + destroy: "削除" + not_found: "投稿が見つかりませんでした。" + permalink: "パーマリンク" stream_helper: - hide_comments: "コメント非表示" - show_comments: "すべてのコメント表示" + hide_comments: "コメントを非表示にする" + show_comments: "すべてのコメントを表示する" tags: show: - nobody_talking: "Nobody is talking about %{tag} yet." - people_tagged_with: "People tagged with %{tag}" - posts_tagged_with: "Posts tagged with #%{tag}" - the_world: "the world" - undo: "Undo?" - username: "Username" + nobody_talking: "%{tag}についての投稿はまだありません。" + people_tagged_with: "%{tag}とタグ付けられている人々" + posts_tagged_with: "#%{tag}とタグ付けられている投稿" + the_world: "全世界" + undo: "元に戻す" + username: "ユーザ名" users: - destroy: "Account successfully closed." + destroy: "アカウント閉鎖に成功しました。" edit: - also_commented: "...someone also comments on your contact's post?" - change: "Change" - change_language: "Change Language" - change_password: "Change Password" - close_account: "Close Account" - comment_on_post: "...someone comments on your post?" - current_password: "Current password" - download_photos: "download my photos" - download_xml: "download my xml" - edit_account: "Edit account" - export_data: "Export Data" - mentioned: "...you are mentioned in a post?" - new_password: "New Password" - private_message: "...you receive a private message?" - receive_email_notifications: "Receive email notifications when..." - request_acceptence: "...your share request is accepted?" - request_received: "...you receive a new share request?" - your_email: "Your email" - your_handle: "Your diaspora handle" + also_commented: "他の人も連絡先の投稿にコメントしたとき" + change: "変更" + change_language: "言語変更" + change_password: "パスワード変更" + close_account: "アカウント閉鎖" + comment_on_post: "自分の投稿にコメントがあったとき" + current_password: "現在のパスワード" + download_photos: "写真をダウンロードする" + download_xml: "XMLをダウンロードする" + edit_account: "アカウント編集" + export_data: "データ出力" + mentioned: "投稿に自分がメンションされたとき" + new_password: "新しいパスワード" + private_message: "非公開メッセージが届いたとき" + receive_email_notifications: "通知メールの送信設定" + request_acceptence: "共有リクエストが承諾されたとき" + request_received: "共有リクエストが届いたとき" + your_email: "メールアドレス" + your_handle: "ダイアスポラのユーザ名" getting_started: - connect_on_diaspora: "Connect on Diaspora" - connect_services: "Connect your other services" - could_not_find_anyone: "Could not find any friends on Diaspora*. Use the friend finder to invite them." - edit_profile: "Edit your profile" - finished: "Finished!" - save_and_continue: "Save and continue" - signup_steps: "Finish your sign up by completing these three steps:" - skip: "skip getting started" + connect_on_diaspora: "ダイアスポラでつながる" + connect_services: "他のサービスへ接続する" + could_not_find_anyone: "既にダイアスポラ*を使っている知り合いが見つかりません。招待してみませんか。" + edit_profile: "プロフィールを編集する" + finished: "完了!" + save_and_continue: "保存して次へ" + signup_steps: "次の3ステップで登録を完成しましょう" + skip: "初期設定をスキップする" step_2: - find_your_friends_on_diaspora: "Would you like to find your Facebook friends on Diaspora?" - skip: "Skip" + find_your_friends_on_diaspora: "ダイアスポラ*を使っているFacebook友達を検索してみませんか。" + skip: "スキップ" step_3: - finish: "Finish" - people_already_on_diaspora: "People already on Diaspora" - welcome: "Welcome to Diaspora!" + finish: "終了" + people_already_on_diaspora: "ダイアスポラを既に使っている連絡先" + welcome: "ダイアスポラへようこそ!" public: - does_not_exist: "User %{username} does not exist!" + does_not_exist: "ユーザ名「%{username}」は存在しません。" update: - email_notifications_changed: "Email notifications changed" - language_changed: "Language Changed" - language_not_changed: "Language Change Failed" - password_changed: "Password Changed" - password_not_changed: "Password Change Failed" + email_notifications_changed: "メール通知の設定を変更しました。" + language_changed: "言語の設定を変更しました" + language_not_changed: "言語の選択に失敗しました" + password_changed: "パスワードを変更しました" + password_not_changed: "パスワードの変更に失敗しました" webfinger: - fetch_failed: "failed to fetch webfinger profile for %{profile_url}" - hcard_fetch_failed: "there was a problem fetching the hcard for %{account}" - no_person_constructed: "No person could be constructed from this hcard." - not_enabled: "webfinger does not seem to be enabled for %{account}'s host" - xrd_fetch_failed: "there was an error getting the xrd from account %{account}" + fetch_failed: "%{profile_url} のwebfingerプロフィールの取得に失敗しました。" + hcard_fetch_failed: "%{account}のhcard取得に問題が発生しました。" + no_person_constructed: "このhcardから連絡先人を生成することができませんでした。" + not_enabled: "%{account}のポッドではwebfingerが無効になっているようです。" + xrd_fetch_failed: "%{account}のxrd取得にエラーが発生しました。" diff --git a/config/locales/diaspora/ko.yml b/config/locales/diaspora/ko.yml index cabd0d784..5485fadfc 100644 --- a/config/locales/diaspora/ko.yml +++ b/config/locales/diaspora/ko.yml @@ -36,6 +36,7 @@ ko: all_aspects: "모든 애스펙" application: helper: + diaspora_alpha: "디아스포라* 알파" unknown_person: "알 수 없는 사람" video_title: unknown: "알 수 없는 비디오 제목" diff --git a/config/locales/diaspora/lt.yml b/config/locales/diaspora/lt.yml index 5f82d097d..e4e4e3e57 100644 --- a/config/locales/diaspora/lt.yml +++ b/config/locales/diaspora/lt.yml @@ -36,6 +36,7 @@ lt: all_aspects: "All aspects" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "nežinomas asmuo" video_title: unknown: "Unknown Video Title" diff --git a/config/locales/diaspora/mk.yml b/config/locales/diaspora/mk.yml index 78529c29a..88ac70896 100644 --- a/config/locales/diaspora/mk.yml +++ b/config/locales/diaspora/mk.yml @@ -36,6 +36,7 @@ mk: all_aspects: "All aspects" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "непозната личност" video_title: unknown: "Unknown Video Title" diff --git a/config/locales/diaspora/ml.yml b/config/locales/diaspora/ml.yml index e47920b81..1ba34a657 100644 --- a/config/locales/diaspora/ml.yml +++ b/config/locales/diaspora/ml.yml @@ -8,14 +8,14 @@ ml: _home: "പൂമുഖം" _photos: "ചിത്രങ്ങള്‍" _services: "സേവനങ്ങള്‍" - account: "അക്കൌണ്ട്" + account: "അക്കൗണ്ട്" activerecord: errors: models: contact: attributes: person_id: - taken: "must be unique among this user's contacts." + taken: "ഈ ഉപയോകതാവിന്റെ സമ്പര്‍ക്കങ്ങളുടേതില്‍നിന്നും വ്യത്യസ്തമായിരിക്കണം." person: attributes: diaspora_handle: @@ -23,7 +23,7 @@ ml: request: attributes: from_id: - taken: "is a duplicate of a pre-existing request." + taken: "നിലവിലുള്ള ഒരു അപേക്ഷയുടെ പകര്‍പ്പാണ്." user: attributes: email: @@ -33,7 +33,7 @@ ml: username: taken: "നേരത്തേ എടുത്തിട്ടുണ്ട്." ago: "%{time} മുന്‍പ്" - all_aspects: "All aspects" + all_aspects: "എല്ലാ " application: helper: unknown_person: "അറിയാത്ത വ്യക്തി" @@ -53,10 +53,10 @@ ml: done_editing: "മാറ്റം വരുത്തി കഴിഞ്ഞു" aspect_stream: activity: "activity" - post_time: "post time" + post_time: "കുറിപ്പ് ചേര്‍ത്ത സമയം" sort_by: "sort by:" - contacts_not_visible: "Contacts in this aspect will not be able to see each other." - contacts_visible: "Contacts in this aspect will be able to see each other." + contacts_not_visible: "ഈ പരിചയത്തില്‍പ്പെട്ട സമ്പര്‍ക്കങ്ങള്‍ക്ക് പരസ്പരം കാണാന്‍ സാധിക്കുകയില്ല " + contacts_visible: "ഈ പരിചയത്തിലുള്ള സമ്പര്‍ക്കങ്ങള്‍ക്ക് പരസ്പരം കാണാന്‍ സാധിക്കുന്നതാണ്." create: failure: "പരിചയം സൃഷ്ടിക്കല്‍ പരാജയപ്പെട്ടു." success: "നിങ്ങളുടെ പുതിയ പരിചയം %{name} സൃഷ്ടിക്കപ്പെട്ടു." @@ -65,15 +65,15 @@ ml: success: "%{name} വിജയകരമായി നീക്കം ചെയ്തിരിക്കുന്നു." edit: add_existing: "നിലവിലുള്ള സമ്പര്‍ക്കം ചേര്‍കുക" - aspect_list_is_not_visible: "aspect list is hidden to others in aspect" - aspect_list_is_visible: "aspect list is visible to others in aspect" + aspect_list_is_not_visible: "പരിചയത്തിന്റെ പട്ടിക പരിചയത്തിലുള്ള മറ്റൂള്ളവരില്‍നിന്നും മറച്ചുവച്ചിരിക്കുന്നു" + aspect_list_is_visible: "പരിചയപട്ടിക പരിചയത്തിലുള്ളവര്‍ക്ക് ദൃശ്യമാണ്." confirm_remove_aspect: "Are you sure you want to delete this aspect?" done: "Done" - make_aspect_list_visible: "make aspect list visible?" - remove_aspect: "Delete this aspect" + make_aspect_list_visible: "പരിചയം ദൃശ്യമാക്കുക" + remove_aspect: "ഈ പരിചയം നീക്കം ചെയ്യുക" rename: "പേര് മാറ്റുക" update: "പുതുക്കു" - updating: "updating" + updating: "പുതുക്കുന്നു" few: "%{count} പരിചയങ്ങള്‍" helper: are_you_sure: "നിങ്ങള്‍ ഈ പരിചയം നീക്കം ചെയ്യുവാന്‍ ആഗ്രഹിക്കുന്നു, നിങ്ങള്‍ക്ക് തീര്‍ച്ചയാണോ?" @@ -92,9 +92,9 @@ ml: requests: "അഭ്യര്‍ത്ഥനകള്‍" many: "%{count} പരിചയങ്ങള്‍" move_contact: - error: "Error moving contact: %{inspect}" - failure: "didn't work %{inspect}" - success: "Person moved to new aspect" + error: "സമ്പര്‍ക്കം മാറ്റാന്‍ സാധിക് : %{inspect}" + failure: "ശരിയായില്ല. %{inspect}" + success: "വ്യക്തിയെ പുതിയ പരിചയത്തിലേക്ക് മാറ്റിയിരിക്കുന്നു" new_aspect: create: "ഉണ്ടാക്കു" name: "പേര്" @@ -108,25 +108,25 @@ ml: show: edit_aspect: "പരിചയം ചിട്ടപെടുത്തുക" update: - failure: "Your aspect, %{name}, had too long name to be saved." + failure: "താങ്കള്‍ നല്കിയ %{name} എന്ന പരിചയത്തിന്റെ പേര് അനുവദിനീയമായതിലും വലുതാണ്." success: "നിങ്ങളുടെ പരിചയം, %{name}, വിജയകരമായി ചിട്ടപ്പെടുത്തി." zero: "പരിചയങ്ങള്‍ ഇല്ല" back: "പിന്നോട്ട്" bookmarklet: - explanation: "%{link} from anywhere by bookmarking this link." + explanation: "%{link} ഡയാസ്പോറയില്‍ എവിടെനിന്നും കുറിക്കാന്‍ ഈ കണ്ണി ബുക്ക്മാര്‍ക്ക് ചെയ്യുക" explanation_link_text: "Post to Diaspora" post_something: "Post something to Diaspora" post_success: "Posted! Closing!" cancel: "റദ്ദാക്കുക" comments: - few: "%{count} comments" - many: "%{count} comments" + few: "%{count} അഭിപ്രായങ്ങള്‍" + many: "%{count} അഭിപ്രായങ്ങള്‍" new_comment: comment: "അഭിപ്രായം" commenting: "അഭിപ്രായം രേഖപ്പെടുത്തുന്നു..." - one: "1 comment" - other: "%{count} comments" - zero: "no comments" + one: "1 അഭിപ്രായം" + other: "%{count} അഭിപ്രായങ്ങള്‍" + zero: "അഭിപ്രായങ്ങളൊന്നുമില്ല." contacts: create: failure: "സമ്പര്‍ക്കം ഉണ്ടാക്കാനാകുന്നില്ല" @@ -138,15 +138,15 @@ ml: one: "ഒരു സമ്പര്‍ക്കം" other: "%{count} മറ്റു സമ്പര്‍ക്കങ്ങള്‍" share_with_pane: - accepts: "Once %{name} accepts, you'll start seeing each other's posts on Diaspora" + accepts: "%{name} താങ്കളുടെ ക്ഷണം സ്വീകരിച്ചതിനു ശേഷം ഡയാസ്പോറയില്‍ ചേര്‍ക്കുന്ന കുറിപ്പുകള്‍ ദൃശ്യമാവുന്നതാണ്." add_new_aspect: "പുതിയ പരിചയത്തിലേയ്ക്ക് ചേര്‍ക്കുക" share_with: "%{name} നോട് പങ്കിട്ട് തുടങ്ങുക" zero: "സമ്പര്‍ക്കമൊന്നുമില്ല" conversations: create: - sent: "സന്ദേശം അയച്ചിരിക്കുന്നു" + sent: "സന്ദേശം അയച്ചു." destroy: - success: "Conversation successfully removed" + success: "സംഭാഷണം വിജയകരമായി നീക്കം ചെയ്തിരിക്കുന്നു." helper: new_messages: few: "%{count} പുതിയ സന്ദേശങ്ങള്‍" @@ -160,13 +160,13 @@ ml: message_inbox: "Message Inbox" new_message: "പുതിയ സന്ദേശം" no_conversation_selected: "no conversation selected" - no_messages: "സന്ദേശങ്ങളൊന്നും ഇല്ല" + no_messages: "സന്ദേശങ്ങളൊന്നുമില്ല" new: send: "അയക്കു" subject: "വിഷയം" to: "to" show: - delete: "delete and block conversation" + delete: "സംഭാഷണം തടഞ്ഞ് നീക്കം ചെയ്യുക." reply: "മറുപടി" date: formats: @@ -203,7 +203,7 @@ ml: already_sent: "താങ്കള്‍ ഇതിനകം തന്നെ ഈ വ്യക്തിയെ ക്ഷണിച്ചു." no_more: "താങ്കള്‍ക്ക് ഇനി ക്ഷണങ്ങളൊന്നും ബാക്കിയില്ല." rejected: "ഈ ഇമെയില്‍ വിലാസങ്ങള്‍ക്ക് പ്രശ്നങ്ങളുണ്ട്: " - sent: "Invitations have been sent to: " + sent: "ക്ഷണങ്ങള്‍ അയച്ചിരിക്കുന്നു: " edit: sign_up: "ചേരുക" new: @@ -222,7 +222,7 @@ ml: have_a_problem: "പ്രശ്നമുണ്ടോ?" powered_by: "ഡയസ്പോറയാല്‍* ശക്തമാക്കിയത്" public_feed: "Public Diaspora Feed for %{name}" - toggle: "മൊബൈല്‍ സൈറ്റിലേക്ക് മാറുക" + toggle: "മൊബൈല്‍ കവാടത്തിലേക്ക് മാറുക" whats_new: "പുതിയത്?" your_aspects: "നിങ്ങളുടെ പരിചയങ്ങള്‍" header: @@ -230,25 +230,25 @@ ml: code: "കോഡ്" login: "അകത്ത് കടക്കുക" logout: "പുറത്ത് കടക്കു" - profile: "profile" + profile: "പ്രൊഫൈല്‍" settings: "ക്രമീകരണങ്ങള്‍" likes: likes: people_dislike_this: - few: "%{count} people disliked this" - many: "%{count} people disliked this" - one: "1 person disliked this" - other: "%{count} people disliked this" - zero: "no people disliked this" + few: "%{count} പേര്‍ ഇത് ഇഷ്ടപ്പെടുന്നില്ല" + many: "%{count} പേര്‍ ഇത് ഇഷ്ടപ്പെടുന്നില്ല." + one: "ഒരാള്‍ ഇതിഷ്ടപ്പെടുന്നില്ല." + other: "%{count} പേര്‍ ഇത് ഇഷ്ടപ്പെടുന്നില്ല" + zero: "ആരും ഇത് ഇഷ്ടപ്പെടുന്നില്ല" people_like_this: few: "%{count} ആളുകള്‍ ഇത് ഇഷ്ടപ്പെടുന്നു" - many: "%{count} ആളുകള്‍ ഇത് ഇഷ്ടപ്പെടുന്നു" + many: "%{count} ആളുകള്‍ ഇത് ഇഷ്ട്പ്പെടുന്നു" one: "ഒരാള്‍ ഇത് ഇഷ്ടപ്പെടുന്നു" other: "%{count} ആളുകള്‍ ഇത് ഇഷ്ടപ്പെടുന്നു" - zero: "no people liked this" + zero: "ആരും ഇതു ഇഷ്ടപ്പെടുന്നില്ല." more: "കൂടുതല്‍" next: "അടുത്തത്" - no_results: "No Results Found" + no_results: "ഫലങ്ങളൊന്നും കണ്ടെത്താനായില്ല." notifications: also_commented: "also commented on your contact's" also_commented_deleted: "നീക്കം ചെയ്ത കുറിപ്പില്‍ അഭിപ്രായം രേഖപ്പെടുത്തി" @@ -267,9 +267,9 @@ ml: mark_all_as_read: "എല്ലാം വായിച്ചതായി അടയാളപ്പെടുത്തുക" notifications: "അറിയിപ്പുകള്‍" mentioned: "has mentioned you in their" - new_request: "offered to share with you." + new_request: "താങ്കളുമായി പങ്കുവയ്ക്കാന്‍ തയ്യാറായിരിക്കുന്നു." post: "കുറിപ്പ്" - private_message: "sent you a message." + private_message: "താങ്കള്‍ക്ക് ഒരു സന്ദേശം അയച്ചിരിക്കുന്നു." request_accepted: "താങ്കളുടെ പങ്കിടല്‍ അഭ്യര്‍ത്ഥന അംഗീകരിച്ചു." notifier: also_commented: @@ -283,7 +283,7 @@ ml: diaspora: "ഡയസ്പോറ ഇമെയില്‍ ചാത്തന്‍" hello: "നമസ്‌കാരം %{name}!" love: "സ്നേഹപൂര്‍വ്വം," - manage_your_email_settings: "manage your email settings" + manage_your_email_settings: "ഈ-മെയില്‍ ക്രമീകരിക്കുക." mentioned: mentioned: "mentioned you in a post:" sign_in: "കാണാനായി അകത്ത് കയറുക." @@ -335,7 +335,7 @@ ml: profile_sidebar: bio: "സ്വയം വിവരണം" born: "ജന്മദിനം" - cannot_remove: "Cannot remove %{name} from last aspect. (If you want to disconnect from this person you must remove contact.)" + cannot_remove: "%{name}നെ പരിചയത്തില്‍നിന്ന് നീക്കം ചെയ്യാന്‍ സാധിക്കുന്നതല്ല.(ബന്ധം വിച്ഛേദിക്കണമെങ്കില്‍ താങ്കള്‍ %{name}-നെ സമ്പര്‍ക്കങ്ങളില്‍നിന്നും നീക്കം ചെയ്യേണ്ടതാണ്.)" edit_my_profile: "എന്റെ പ്രൊഫൈല്‍ തിരുത്തുക" gender: "ലിംഗം" in_aspects: "പരിചയത്തില്‍" @@ -363,9 +363,9 @@ ml: zero: "ആളുകളില്ല" photos: create: - integrity_error: "Photo upload failed. Are you sure that was an image?" + integrity_error: "ചിത്രം അപ്‌ലോഡ് പരാജയപ്പെട്ടു. അത് ഒരു ചിത്രം തന്നെയായിരുന്നോ?" runtime_error: "Photo upload failed. Are you sure that your seatbelt is fastened?" - type_error: "Photo upload failed. Are you sure an image was added?" + type_error: "ചിത്രം അപ്‌ലോഡ് പരാജയപ്പെട്ടു.. താങ്കള്‍ ഒരു ചിത്രം അപ്‌ലോഡ് ചെയ്യാന്‍ തിരഞ്ഞെടുത്തിരുന്നോ?" destroy: notice: "ചിത്രം നീക്കം ചെയ്തു." edit: @@ -398,7 +398,7 @@ ml: notice: "ചിത്രം വിജയകരമായി പുതുക്കി." post_visibilites: update: - post_hidden: "%{name}ന്റെ പോസ്റ്റ് മറച്ചിരിക്കുന്നു." + post_hidden: "%{name}ന്റെ കുറിപ്പ് മറച്ചിരിക്കുന്നു." posts: doesnt_exist: "ഈ കുറിപ്പ് നിലവിലില്ല!" previous: "മുന്‍‌പത്തെ" @@ -406,23 +406,23 @@ ml: profiles: edit: allow_search: "ഡയസ്പോറയ്ക്കകത്ത് മറ്റുള്ളവര്‍ എന്നെ കണ്ടെത്താന്‍ അനുവദിക്കുക" - edit_profile: "Edit profile" + edit_profile: "പ്രൊഫൈല്‍ തിരുത്തുക" first_name: "First name" last_name: "Last name" update_profile: "Update Profile" your_bio: "നിങ്ങളുടെ സ്വയം വിവരണം" your_birthday: "താങ്കളുടെ ജന്മദിനം" your_gender: "Your gender" - your_location: "Your location" + your_location: "താങ്കളുടെ സ്ഥലം" your_name: "താങ്കളുടെ പേര്" your_photo: "താങ്കളുടെ ചിത്രം" your_private_profile: "Your private profile" your_public_profile: "Your public profile" - your_tags: "You: in 5 #tags" - your_tags_placeholder: "i.e. #diaspora #ironing #kittens #music" + your_tags: "താങ്കളെക്കുറിച്ച്: 5 #ടാഗുകളില്‍" + your_tags_placeholder: "i.e. #ഡയസ്പോറ #സംഗീതം #മലയാളം #പൂച്ചകള്‍" update: - failed: "Failed to update profile" - updated: "Profile updated" + failed: "പ്രൊഫൈല്‍ തിരുത്തുന്നത് പരാജയപ്പെട്ടിരിക്കുന്നു." + updated: "പ്രൊഫൈല്‍ വിജയകരമായൊ തിരുത്തിയിരിക്കുന്നു." registrations: closed: "Signups are closed on this Diaspora pod." create: @@ -444,7 +444,7 @@ ml: requests: create: sending: "അയയ്ക്കുന്നു" - sent: "You've asked to share with %{name}. They should see it next time they log in to Diaspora." + sent: " %{name}-മായി പങ്കുവയ്ക്കാന്‍ താങ്കള്‍ അപേക്ഷിച്ചിരിക്കുന്നു. അടുത്ത തവണ ഡയസ്പോറയില്‍ %{name} പ്രവേശിക്കുമ്പോള്‍ താങ്കളുടെ അഭ്യര്‍ത്ഥന കാണുന്നതാണ്." destroy: error: "ദയവായി ഒരു പരിചയം തിരഞ്ഞെടുക്കുക!" ignore: "സമ്പര്‍ക്ക അഭ്യര്‍ത്ഥന അവഗണിച്ചു." @@ -503,8 +503,8 @@ ml: all_contacts: "എല്ലാ സമ്പര്‍ക്കവും" cannot_remove: "Cannot remove person from last aspect. (If you want to disconnect from this person you must remove contact.)" footer: - logged_in_as: "logged in as %{name}" - your_aspects: "your aspects" + logged_in_as: "%{name} ആയി പ്രവേശിച്ചിരിക്കുന്നു." + your_aspects: "നിങ്ങളുടെ പരിചയങ്ങള്‍" invitations: by_email: "ഇമെയില്‍ വഴി" dont_have_now: "താങ്കള്‍ക്ക് ക്ഷണമൊന്നും ബാക്കിയില്ല, പക്ഷേ കൂടുതല്‍ വരുന്നുണ്ട്!" @@ -537,8 +537,8 @@ ml: reshare: reshare: "വീണ്ടും പങ്കിടുക" stream_element: - dislike: "I dislike this" - like: "I like this" + dislike: "ഞാനിതിഷ്ടപ്പെടുന്നില്ല" + like: "ഞാനിതിഷ്ടപ്പെടുന്നു" status_messages: create: success: "Successfully mentioned: %{names}" @@ -550,21 +550,21 @@ ml: mentioning: "Mentioning: %{person}" show: destroy: "നീക്കം ചെയ്യുക" - not_found: "ക്ഷമിക്കണം, പോസ്റ്റ് കണ്ടെത്താനായില്ല." + not_found: "ക്ഷമിക്കണം, താങ്കള്‍ അന്വേഷിച്ച കുറിപ്പ് കണ്ടെത്താനായില്ല" permalink: "സ്ഥിരം കണ്ണി" stream_helper: hide_comments: "അഭിപ്രായങ്ങള്‍ മറയ്ക്കുക" show_comments: "എല്ലാ അഭിപ്രായവും കാണിക്കുക" tags: show: - nobody_talking: "Nobody is talking about %{tag} yet." - people_tagged_with: "People tagged with %{tag}" - posts_tagged_with: "Posts tagged with #%{tag}" + nobody_talking: "നിലവില്‍ ആരും %{tag}-നെ കുറിച്ച് സംസാരിക്കുന്നില്ല." + people_tagged_with: "%{tag} ചേര്‍ത്തിട്ടുള്ള ആളുകള്‍" + posts_tagged_with: "#%{tag} ചേര്‍ത്തിട്ടുള്ള കുറിപ്പുകള്‍" the_world: "ലോകം മുഴുവന്‍" undo: "Undo?" username: "ഉപയോക്തൃനാമം" users: - destroy: "Account successfully closed." + destroy: "അക്കൌണ്ട് വിജയകരമായി അവസാനിപ്പിച്ചു." edit: also_commented: "...someone also comments on your contact's post?" change: "മാറ്റുക" diff --git a/config/locales/diaspora/nb.yml b/config/locales/diaspora/nb.yml index 7ef93986e..bf4be313e 100644 --- a/config/locales/diaspora/nb.yml +++ b/config/locales/diaspora/nb.yml @@ -36,6 +36,7 @@ nb: all_aspects: "Alle aspekter" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "ukjent person" video_title: unknown: "Ukjent Videotittel" diff --git a/config/locales/diaspora/nl.yml b/config/locales/diaspora/nl.yml index efd75e466..b123007e2 100644 --- a/config/locales/diaspora/nl.yml +++ b/config/locales/diaspora/nl.yml @@ -36,6 +36,7 @@ nl: all_aspects: "Alle Aspecten" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "onbekend persoon" video_title: unknown: "Onbekende Videotitel" diff --git a/config/locales/diaspora/pa.yml b/config/locales/diaspora/pa.yml index 0495143c6..1c2cf8fb5 100644 --- a/config/locales/diaspora/pa.yml +++ b/config/locales/diaspora/pa.yml @@ -36,6 +36,7 @@ pa: all_aspects: "All aspects" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "unknown person" video_title: unknown: "Unknown Video Title" diff --git a/config/locales/diaspora/pl.yml b/config/locales/diaspora/pl.yml index 4d954ea8f..d138878d0 100644 --- a/config/locales/diaspora/pl.yml +++ b/config/locales/diaspora/pl.yml @@ -36,6 +36,7 @@ pl: all_aspects: "Wszystkie aspekty" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "nieznana osoba" video_title: unknown: "Wideo bez nazwy" diff --git a/config/locales/diaspora/pt-BR.yml b/config/locales/diaspora/pt-BR.yml index 51e3fc255..9511ebff4 100644 --- a/config/locales/diaspora/pt-BR.yml +++ b/config/locales/diaspora/pt-BR.yml @@ -36,6 +36,7 @@ pt-BR: all_aspects: "All aspects" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "pessoa desconhecida" video_title: unknown: "Vídeo sem título" diff --git a/config/locales/diaspora/pt-PT.yml b/config/locales/diaspora/pt-PT.yml index b696ca945..641419bbb 100644 --- a/config/locales/diaspora/pt-PT.yml +++ b/config/locales/diaspora/pt-PT.yml @@ -36,6 +36,7 @@ pt-PT: all_aspects: "All aspects" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "utilizador(a) desconhecido(a)" video_title: unknown: "Video sem título " diff --git a/config/locales/diaspora/ro.yml b/config/locales/diaspora/ro.yml index fdd285ca4..9e46661f8 100644 --- a/config/locales/diaspora/ro.yml +++ b/config/locales/diaspora/ro.yml @@ -36,6 +36,7 @@ ro: all_aspects: "All aspects" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "persoană necunoscută" video_title: unknown: "Unknown Video Title" diff --git a/config/locales/diaspora/ru.yml b/config/locales/diaspora/ru.yml index a25f28e10..1e108b2be 100644 --- a/config/locales/diaspora/ru.yml +++ b/config/locales/diaspora/ru.yml @@ -36,6 +36,7 @@ ru: all_aspects: "Все аспекты" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "неизвестная персона" video_title: unknown: "Неизвестное название видеозаписи" @@ -251,7 +252,7 @@ ru: no_results: "Результатов не найдено" notifications: also_commented: "прокомментировал %{post_author}" - also_commented_deleted: "прокомментировать удаленое сообщение" + also_commented_deleted: "прокомментировал удаленое сообщение." comment_on_post: "комментариев на " deleted: "удален" helper: @@ -266,9 +267,9 @@ ru: and_others: "и %{number} других" mark_all_as_read: "Отметить все как прочитанные" notifications: "Уведомления" - mentioned: "упомянул вас в своих сообщениях" + mentioned: "упомянул вас в" new_request: "предлагает поделиться с вами." - post: "сообщение" + post: "сообщение." private_message: "послал Вам сообщение." request_accepted: "ваше приглашение принял[-а]" notifier: diff --git a/config/locales/diaspora/sk.yml b/config/locales/diaspora/sk.yml index d27246bb6..0254aca0b 100644 --- a/config/locales/diaspora/sk.yml +++ b/config/locales/diaspora/sk.yml @@ -36,6 +36,7 @@ sk: all_aspects: "All aspects" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "neznáma osoba" video_title: unknown: "Neznámy názov videa" diff --git a/config/locales/diaspora/sl.yml b/config/locales/diaspora/sl.yml index 7cc62da08..1cb1d22d3 100644 --- a/config/locales/diaspora/sl.yml +++ b/config/locales/diaspora/sl.yml @@ -36,6 +36,7 @@ sl: all_aspects: "Vse skupine" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "neznana oseba" video_title: unknown: "Neznani video naslov" diff --git a/config/locales/diaspora/sv.yml b/config/locales/diaspora/sv.yml index f650ef3cd..5aba71c97 100644 --- a/config/locales/diaspora/sv.yml +++ b/config/locales/diaspora/sv.yml @@ -36,6 +36,7 @@ sv: all_aspects: "Alla Aspekter" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "okänd person" video_title: unknown: "Okänd videotitel" diff --git a/config/locales/diaspora/tr.yml b/config/locales/diaspora/tr.yml index effa57213..c2d58bce1 100644 --- a/config/locales/diaspora/tr.yml +++ b/config/locales/diaspora/tr.yml @@ -36,6 +36,7 @@ tr: all_aspects: "All aspects" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "bilinmiyen kişiler" video_title: unknown: "Unknown Video Title" diff --git a/config/locales/diaspora/zh-CN.yml b/config/locales/diaspora/zh-CN.yml index d8d8fff53..2103b78a6 100644 --- a/config/locales/diaspora/zh-CN.yml +++ b/config/locales/diaspora/zh-CN.yml @@ -33,84 +33,85 @@ zh-CN: username: taken: "已被注册。" ago: "%{time}前" - all_aspects: "所有情景" + all_aspects: "所有分类" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "未知用户" video_title: unknown: "未知影片标题" are_you_sure: "你确定吗?" aspect_memberships: destroy: - failure: "从情景中移除好友失败" - no_membership: "在情景中找不到选择的好友" - success: "从情景中移除好友成功" + failure: "从分类中移除好友失败" + no_membership: "在分类中找不到选择的好友" + success: "从分类中移除好友成功" aspects: add_to_aspect: - failure: "将好友添加到情景失败。" - success: "将好友添加到情景成功。" + failure: "将好友添加到分类失败。" + success: "将好友添加到分类成功。" aspect_contacts: done_editing: "编辑完成" aspect_stream: activity: "活跃程度" post_time: "发布时间" sort_by: "排序方式:" - contacts_not_visible: "此情景中的好友相互不可见。" - contacts_visible: "此情景中的好友相互可见。" + contacts_not_visible: "此分类中的好友相互不可见。" + contacts_visible: "此分类中的好友相互可见。" create: - failure: "添加情景失败。" - success: "添加新情景 %{name} 成功" + failure: "添加分类失败。" + success: "添加新分类 %{name} 成功" destroy: failure: "无法删除 %{name} ,它不是空的。" success: "删除 %{name} 成功。" edit: add_existing: "添加好友" - aspect_list_is_not_visible: "情景中的好友不能看见本情景的好友列表" - aspect_list_is_visible: "情景中的好友能够看见本情景的好友列表" - confirm_remove_aspect: "你确定要删除这个情景?" + aspect_list_is_not_visible: "分类中的好友不能看见本分类的好友列表" + aspect_list_is_visible: "分类中的好友能够看见本分类的好友列表" + confirm_remove_aspect: "你确定要删除这个分类?" done: "完成" - make_aspect_list_visible: "是否让其他人可以看见本情景的好友列表?" - remove_aspect: "删除这个情景" + make_aspect_list_visible: "是否让其他人可以看见本分类的好友列表?" + remove_aspect: "删除这个分类" rename: "重命名" update: "更新" updating: "更新中" - few: "%{count}个情景" + few: "%{count}个分类" helper: - are_you_sure: "您确定要删除这个情景?" - aspect_not_empty: "此情景不是空的" + are_you_sure: "您确定要删除这个分类?" + aspect_not_empty: "此分类不是空的" remove: "删除" index: handle_explanation: "这是您的 diaspora 帐号, 就像是邮箱一样,你可以把它提供给想好友您的人。" no_contacts: "没有任何好友" post_a_message: "发布站内信>>" manage: - add_a_new_aspect: "添加情景" + add_a_new_aspect: "添加分类" add_a_new_contact: "添加新的好友" drag_to_add: "拖动以添加好友" - manage_aspects: "情景管理" + manage_aspects: "分类管理" no_requests: "没有新请求" requests: "请求" - many: "%{count}个情景" + many: "%{count}个分类" move_contact: error: "好友移动错误:%{inspect}" failure: "%{inspect}没有成功" - success: "好友成功添加到新情景" + success: "好友成功添加到新分类" new_aspect: create: "添加" name: "名称" no_posts_message: start_talking: "还没人发布过内容。你发布第一条吧!" - one: "1个情景" - other: "%{count}个情景" + one: "1个分类" + other: "%{count}个分类" seed: family: "家人" work: "同事" show: - edit_aspect: "编辑情景" + edit_aspect: "编辑分类" update: - failure: "情景 %{name} 名称太长了,不能保存" - success: "情景 %{name} 编辑成功。" - zero: "没有情景" + failure: "分类 %{name} 名称太长了,不能保存" + success: "分类 %{name} 编辑成功。" + zero: "没有分类" back: "后退" bookmarklet: explanation: "%{link} 收藏这个链接,即可随时发布新内容" @@ -139,7 +140,7 @@ zh-CN: other: "%{count}个好友" share_with_pane: accepts: "当 %{name} 同意请求后,你们就开始看到彼此在Diaspora上发布的内容" - add_new_aspect: "添加到新的情景" + add_new_aspect: "添加到新的分类" share_with: "与 %{name} 分享" zero: "没有好友" conversations: @@ -185,7 +186,7 @@ zh-CN: show: already_account: "已经有帐号了吗?" choice: "选择" - choice_explanation: "Diaspora 让你将您的关系以\"情景\"分类。情景是Diaspora首创,用来确保您的照片,经历和笑话,只与您所希望的人分享。" + choice_explanation: "Diaspora 让你将您的关系分成多个部分,每个部分是您生活的不同部分。这是Diaspora首创,用来确保您的照片,经历和笑话,只与您所希望的人分享。" learn_about_host: "学习如何架设您自己的Diaspora服务器。" login_here: "从这里登录" ownership: "所有权" @@ -208,9 +209,9 @@ zh-CN: sign_up: "注册" new: already_invited: "已邀请过" - aspect: "情景" + aspect: "分类" comma_seperated_plz: "你可以输入多个邮箱,输入多个时以逗号分隔。" - if_they_accept_info: "如果他们接受,就会自动被加入到您所邀请的情景中。" + if_they_accept_info: "如果他们接受,就会自动被加入到您所邀请的分类中。" invite_someone_to_join: "邀请好友来加入到Diaspora!" personal_message: "个人信息" resend: "重寄" @@ -224,7 +225,7 @@ zh-CN: public_feed: "%{name} 的 Diaspora RSS Feed" toggle: "切换为手机网页" whats_new: "有什么新内容?" - your_aspects: "您的情景" + your_aspects: "您的分类" header: blog: "博客" code: "源码" @@ -251,7 +252,7 @@ zh-CN: no_results: "没有找到符合条件的内容" notifications: also_commented: "也在 %{post_author} 处发布了评论" - also_commented_deleted: "对已删除的内容发布了评论" + also_commented_deleted: "对已删除的内容发布了评论。" comment_on_post: "发布了评论,在您的" deleted: "删除成功" helper: @@ -268,7 +269,7 @@ zh-CN: notifications: "消息" mentioned: "在他发布的内容中提到了你" new_request: "想要与您分享。" - post: "日志" + post: "日志。" private_message: "写了一则消息给您。" request_accepted: "已同意和您分享。" notifier: @@ -314,7 +315,7 @@ zh-CN: add_contact_small: add_contact_from_tag: "从标签添加好友" aspect_list: - edit_membership: "编辑所属情景" + edit_membership: "编辑所属分类" few: "%{count}个好友" helper: people_on_pod_are_aware_of: " Pod上已知的人" @@ -335,10 +336,10 @@ zh-CN: profile_sidebar: bio: "自我介绍" born: "生日" - cannot_remove: "无法将好友从他所在的最后一个情景中移除。(如果你想与这个人断绝连接,你可以解除与他的好友关系。)" + cannot_remove: "无法将好友从他所在的最后一个分类中移除。(如果你想与这个人断绝连接,你可以解除与他的好友关系。)" edit_my_profile: "编辑我的个人档案" gender: "性别" - in_aspects: "所属情景" + in_aspects: "所属分类" location: "位置" remove_contact: "解除好友关系" remove_from: "要从 %{aspect} 删除 %{name} 吗?" @@ -353,7 +354,7 @@ zh-CN: not_connected: "你没有与他分享" recent_posts: "最近的内容" recent_public_posts: "最近的公开内容" - return_to_aspects: "回到您的情景主页" + return_to_aspects: "回到您的分类主页" see_all: "查看全部" start_sharing: "开始分享" to_accept_or_ignore: "接受或忽略它。" @@ -446,7 +447,7 @@ zh-CN: sending: "发送中" sent: "您已经请求与 %{name} 分享。他们下次登入 Diaspora 时就会看见您的请求。" destroy: - error: "请选择一个情景!" + error: "请选择一个分类!" ignore: "忽略建立好友的请求。" success: "你们现在互相分享了。" helper: @@ -501,10 +502,10 @@ zh-CN: your_diaspora_username_is: "您的 Diaspora 帐号是: %{diaspora_handle}" contact_list: all_contacts: "全部好友" - cannot_remove: "无法将好友从他所在的最后一个情景中移除。(如果你想与这个人断绝连结,你可以解除与他的好友关系。)" + cannot_remove: "无法将好友从他所在的最后一个分类中移除。(如果你想与这个人断绝连结,你可以解除与他的好友关系。)" footer: logged_in_as: "已用 %{name} 登录" - your_aspects: "您的情景" + your_aspects: "您的分类" invitations: by_email: "通过电子邮件" dont_have_now: "目前你还不能邀请任何人,但很快就可以了!" diff --git a/config/locales/diaspora/zh-TW.yml b/config/locales/diaspora/zh-TW.yml index f04bb23ca..c70cfc523 100644 --- a/config/locales/diaspora/zh-TW.yml +++ b/config/locales/diaspora/zh-TW.yml @@ -36,6 +36,7 @@ zh-TW: all_aspects: "所有面向" application: helper: + diaspora_alpha: "DIASPORA* ALPHA" unknown_person: "不明聯絡人" video_title: unknown: "影片標題不明" diff --git a/config/locales/javascript/javascript.ar.yml b/config/locales/javascript/javascript.ar.yml new file mode 100644 index 000000000..5495b261e --- /dev/null +++ b/config/locales/javascript/javascript.ar.yml @@ -0,0 +1,37 @@ +# Copyright (c) 2010, Diaspora Inc. This file is +# licensed under the Affero General Public License version 3 or later. See +# the COPYRIGHT file. + + +ar: + javascripts: + confirm_dialog: "هل أنت متأكد؟" + infinite_scroll: + no_more: "لا توجد أية رسائل أخرى" + publisher: + at_least_one_aspect: "عليك تحديد فئة واحدة على الأقل" + search_for: "إبحث عن {{name}}" + shared: + contact_list: + cannot_remove: "استحالة إخراج العضو من الفئة المحددة. (تريد قطع الاتصال مع هذا العضو، يجب عليك حذفه تماما)" + timeago: + day: "منذ يوم" + days: "منذ %d أيام" + hour: "منذ ساعة" + hours: "منذ %d ساعات" + minute: "منذ دقيقة" + minutes: "منذ %d دقائق" + month: "منذ شهر" + months: "منذ %d شهور" + prefixAgo: "منذ" + prefixFromNow: "منذ الآن" + seconds: "منذ أقل من دقيقة" + suffixAgo: "" + suffixFromNow: "" + year: "منذ عام" + years: "منذ %d أعوام" + videos: + unknown: "نوع فيديو غير معروف" + watch: "مشاهدة هذا الفيديو عبر {{provider}}" + web_sockets: + disconnected: "The websocket is closed; posts will no longer be streamed live." diff --git a/config/locales/javascript/javascript.de.yml b/config/locales/javascript/javascript.de.yml index 1ca5d0c93..fda3cdbc3 100644 --- a/config/locales/javascript/javascript.de.yml +++ b/config/locales/javascript/javascript.de.yml @@ -7,7 +7,7 @@ de: javascripts: confirm_dialog: "Bist du dir sicher?" infinite_scroll: - no_more: "No more posts." + no_more: "Keine weiteren Beiträge." publisher: at_least_one_aspect: "Du musst zumindest zu einem Aspekt posten" search_for: "Nach {{name}} suchen" @@ -34,4 +34,4 @@ de: unknown: "Unbekanntes Videoformat" watch: "Dieses Video auf {{provider}} ansehen" web_sockets: - disconnected: "The websocket is closed; posts will no longer be streamed live." + disconnected: "Der Websocket ist geschlossen. Beiträge werden nicht länger in Echtzeit aktualisiert." diff --git a/config/locales/javascript/javascript.el.yml b/config/locales/javascript/javascript.el.yml index f6e0d2f45..1d387f405 100644 --- a/config/locales/javascript/javascript.el.yml +++ b/config/locales/javascript/javascript.el.yml @@ -7,7 +7,7 @@ el: javascripts: confirm_dialog: "Είστε σίγουρος/η;" infinite_scroll: - no_more: "No more posts." + no_more: "Δεν υπάρχουν άλλες δημοσιεύσεις." publisher: at_least_one_aspect: "πρέπει να κάνετε δημοσίευση σε τουλάχιστον μια πτυχή" search_for: "Αναζήτηση για {{name}}" diff --git a/config/locales/javascript/javascript.en_shaw.yml b/config/locales/javascript/javascript.en_shaw.yml index 6ce50d51d..6aaf680ce 100644 --- a/config/locales/javascript/javascript.en_shaw.yml +++ b/config/locales/javascript/javascript.en_shaw.yml @@ -34,4 +34,4 @@ en_shaw: unknown: "𐑩𐑯𐑯𐑴𐑯 𐑝𐑦𐑛𐑦𐑴 𐑑𐑲𐑐" watch: "𐑢𐑷𐑗 𐑞𐑦𐑕 𐑝𐑦𐑛𐑦𐑴 𐑪𐑯 {{provider}}" web_sockets: - disconnected: "The websocket is closed; posts will no longer be streamed live." + disconnected: "𐑞 𐑢𐑧𐑚𐑕𐑪𐑒𐑩𐑑 𐑦𐑟 𐑒𐑤𐑴𐑟𐑛; 𐑐𐑴𐑕𐑑𐑕 𐑢𐑦𐑤 𐑯𐑴 𐑤𐑪𐑙𐑜𐑼 𐑚𐑰 𐑕𐑑𐑮𐑰𐑥𐑛 𐑤𐑲𐑝." diff --git a/config/locales/javascript/javascript.eu.yml b/config/locales/javascript/javascript.eu.yml index 13782b039..6ac6b55f2 100644 --- a/config/locales/javascript/javascript.eu.yml +++ b/config/locales/javascript/javascript.eu.yml @@ -34,4 +34,4 @@ eu: unknown: "Bideo mota ezezaguna" watch: "Ikusi bideo hau {{provider}}(e)n" web_sockets: - disconnected: "The websocket is closed; posts will no longer be streamed live." + disconnected: "Websocketa itxita dago; mezuak ez dira denbora errealean azalduko." diff --git a/config/locales/javascript/javascript.he.yml b/config/locales/javascript/javascript.he.yml index b6c8cb35a..8b6e2db0c 100644 --- a/config/locales/javascript/javascript.he.yml +++ b/config/locales/javascript/javascript.he.yml @@ -34,4 +34,4 @@ he: unknown: "סוג הווידאו אינו ידוע" watch: "צפייה בסרטון וידאו זה באתר {{provider}}" web_sockets: - disconnected: "The websocket is closed; posts will no longer be streamed live." + disconnected: "שקע הרשת סגור; ההודעות לא יישלחו עוד בזמן אמת." diff --git a/config/locales/javascript/javascript.hu.yml b/config/locales/javascript/javascript.hu.yml index a2753e7be..8ebb64e26 100644 --- a/config/locales/javascript/javascript.hu.yml +++ b/config/locales/javascript/javascript.hu.yml @@ -34,4 +34,4 @@ hu: unknown: "Ismeretlen videó tipus" watch: "Videó megtekintése itt: {{provider}}" web_sockets: - disconnected: "The websocket is closed; posts will no longer be streamed live." + disconnected: "A websocket zárolva van. A bejegyzések nem lesznek előben stream-elve." diff --git a/config/locales/javascript/javascript.it.yml b/config/locales/javascript/javascript.it.yml index b538f9c61..4881176ba 100644 --- a/config/locales/javascript/javascript.it.yml +++ b/config/locales/javascript/javascript.it.yml @@ -34,4 +34,4 @@ it: unknown: "Tipo di video sconosciuto" watch: "Guarda questo video su {{provider}}" web_sockets: - disconnected: "The websocket is closed; posts will no longer be streamed live." + disconnected: "Il websocket è chiuso; i post non saranno più ricevuti in tempo reale." diff --git a/config/locales/javascript/javascript.ja.yml b/config/locales/javascript/javascript.ja.yml index 8cc5332b8..5625b4988 100644 --- a/config/locales/javascript/javascript.ja.yml +++ b/config/locales/javascript/javascript.ja.yml @@ -7,13 +7,13 @@ ja: javascripts: confirm_dialog: "本当にいいですか。" infinite_scroll: - no_more: "投稿は以上です。" + no_more: "投稿はこれ以上ありません。" publisher: - at_least_one_aspect: "少なくても一つのアスペクトへ投稿しなければなりません" + at_least_one_aspect: "アスペクトを選択してから投稿してください。" search_for: "{{name}}を検索する" shared: contact_list: - cannot_remove: "残り最後のアスペクトから人を除外することができません。(人とのつながりを解除したい場合は連絡先を削除してください。)" + cannot_remove: "人を最後のアスペクトから除外することができません。(絶交したい場合は連絡先を削除してください。)" timeago: day: "1日" days: "%d日" diff --git a/config/locales/javascript/javascript.ko.yml b/config/locales/javascript/javascript.ko.yml index 26b2c809a..363eaa5b0 100644 --- a/config/locales/javascript/javascript.ko.yml +++ b/config/locales/javascript/javascript.ko.yml @@ -7,7 +7,7 @@ ko: javascripts: confirm_dialog: "확실합니까?" infinite_scroll: - no_more: "메시지가 더 없습디다." + no_more: "공유물이 더 없습니다." publisher: at_least_one_aspect: "공유하려면 적어도 한 애스펙을 골라야 합니다." search_for: "{{name}} 검색" diff --git a/config/locales/javascript/javascript.ml.yml b/config/locales/javascript/javascript.ml.yml index 645cb8cf7..ec96c1f3f 100644 --- a/config/locales/javascript/javascript.ml.yml +++ b/config/locales/javascript/javascript.ml.yml @@ -5,33 +5,35 @@ ml: javascripts: - confirm_dialog: "Are you sure?" + confirm_dialog: "താങ്കള്‍ക്ക് ഉറപ്പാണോ?" infinite_scroll: - no_more: "No more posts." + no_more: "കൂടുതല്‍ പോസ്റ്റുകളൊന്നുമില്ല." publisher: - at_least_one_aspect: "You must publish to at least one aspect" - search_for: "Search for {{name}}" + at_least_one_aspect: "താങ്കള്‍ ഒരു പരിചയത്തിമെങ്കിലും തിരഞ്ഞെടുക്കേണ്ടതാണ്." + search_for: "{{name}}നായി തിരയുക" shared: contact_list: - cannot_remove: "Cannot remove person from last aspect. (If you want to disconnect from this person you must remove contact.)" + cannot_remove: "ക്ഷമിക്കണം, വ്യക്തിയെ പരിചയത്തില്‍ നിന്ന് നീക്കം ചെയ്യാന്‍ സാധിക്കില്ല. (താങ്കള്‍ക്ക് ഈ വ്യക്തിയുമായുള്ള ബന്ധം വിച്ഛേദിക്കണമെങ്കില്‍ സമ്പര്‍ക്കം നീക്കം ചെയ്യേണ്ടതാണ്" timeago: - day: "a day" - days: "%d days" - hour: "about an hour" - hours: "about %d hours" - minute: "about a minute" - minutes: "%d minutes" - month: "about a month" - months: "%d months" + day: "ഒരു ദിവസം" + days: "%d ദിവസങ്ങള്‍" + hour: "ഉദ്ദേശം ഒരു മണീക്കൂര്‍" + hours: "ഉദ്ദേശം %d മണിക്കൂറുകള്‍" + minute: "ഉദ്ദേശം ഒരു മിനിട്ട്" + minutes: "%d മിനിട്ടുകള്‍" + month: "ഉദ്ദേശം ഒരു മാസം" + months: "%d മാസങ്ങള്‍" prefixAgo: "" - prefixFromNow: "" - seconds: "less than a minute" - suffixAgo: "ago" - suffixFromNow: "from now" - year: "about a year" - years: "%d years" + prefixFromNow: "ഇപ്പോള്‍ മുതല്‍" + seconds: "ഏതാനും നിമിഷങ്ങള്‍" + suffixAgo: "മുന്‍പ്" + suffixFromNow: "വരെ" + year: "ഉദ്ദേശം ഒരു വര്‍ഷം" + years: "%d വര്‍ഷങ്ങള്‍ക്ക്" videos: - unknown: "Unknown video type" - watch: "Watch this video on {{provider}}" + unknown: "അജ്ഞാതമായ തരം വീഡിയോ" + watch: "ഈ വീഡിയോ {{provider}}ല്‍ കാണുക" web_sockets: - disconnected: "The websocket is closed; posts will no longer be streamed live." + disconnected: + body: "പോസ്റ്റൂകള്‍ തത്സമയമായി കാണിക്കുന്നതല്ല." + title: "You have been disconnected." diff --git a/config/locales/javascript/javascript.ru.yml b/config/locales/javascript/javascript.ru.yml index 1f9e99644..60aa6aede 100644 --- a/config/locales/javascript/javascript.ru.yml +++ b/config/locales/javascript/javascript.ru.yml @@ -34,4 +34,4 @@ ru: unknown: "Неизвестный видеоформат" watch: "Смотреть это видео на {{provider}}" web_sockets: - disconnected: "The websocket is closed; posts will no longer be streamed live." + disconnected: "WebSocket закрыт; сообщения больше не будут транслироваться в прямом эфире." diff --git a/config/routes.rb b/config/routes.rb index c97396ac5..c195057af 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -20,8 +20,8 @@ Diaspora::Application.routes.draw do end resources :comments, :only => [:create, :destroy] - resource :like, :only => [:create] + resources :likes, :only => [:create, :destroy] resources :conversations do resources :messages, :only => [:create, :show] diff --git a/db/migrate/20110507212759_remove_type_null_notifications.rb b/db/migrate/20110507212759_remove_type_null_notifications.rb new file mode 100644 index 000000000..e2e023f9f --- /dev/null +++ b/db/migrate/20110507212759_remove_type_null_notifications.rb @@ -0,0 +1,13 @@ +class RemoveTypeNullNotifications < ActiveRecord::Migration + def self.up + execute < 20110421120744) do +ActiveRecord::Schema.define(:version => 20110507212759) do create_table "aspect_memberships", :force => true do |t| t.integer "aspect_id", :null => false diff --git a/features/comments.feature b/features/comments.feature index 55e2ccf9f..2c5742bbd 100644 --- a/features/comments.feature +++ b/features/comments.feature @@ -25,8 +25,8 @@ Feature: commenting And I am on "alice@alice.alice"'s page Then I should see "Look at this dog" When I focus the comment field - And I fill in "comment" with "is that a poodle?" - And I press "comment" + And I fill in "Comment" with "is that a poodle?" + And I press "Comment" Then I should see "is that a poodle?" within "li.comment div.content" And I should see "less than a minute ago" within "li.comment time" @@ -34,8 +34,8 @@ Feature: commenting When I sign in as "bob@bob.bob" And I am on the photo page for "alice@alice.alice"'s post "Look at this dog" And I focus the comment field - And I fill in "comment" with "hahahah" - And I press "comment" + And I fill in "Comment" with "hahahah" + And I press "Comment" Then I should see "hahaha" within "li.comment div.content" And I should see "less than a minute ago" within "li.comment time" @@ -43,8 +43,8 @@ Feature: commenting When I sign in as "alice@alice.alice" And I am on the photo page for "alice@alice.alice"'s post "Look at this dog" And I focus the comment field - And I fill in "comment" with "hahahah" - And I press "comment" + And I fill in "Comment" with "hahahah" + And I press "Comment" Then I should see "hahaha" within "li.comment div.content" And I should see "less than a minute ago" within "li.comment time" @@ -53,8 +53,8 @@ Feature: commenting And I am on "alice@alice.alice"'s page Then I should see "Look at this dog" When I focus the comment field - And I fill in "comment" with "is that a poodle?" - And I press "comment" + And I fill in "Comment" with "is that a poodle?" + And I press "Comment" And I wait for the ajax to finish When I hover over the comment And I preemptively confirm the alert @@ -75,3 +75,17 @@ Feature: commenting Then the first comment field should be closed When I focus the comment field Then the first comment field should be open + + Scenario: comment on a status show page + When I sign in as "bob@bob.bob" + And I am on "alice@alice.alice"'s page + Then I should see "Look at this dog" + When I follow "less than a minute ago" + Then I should see "Look at this dog" + And I fill in "text" with "I think thats a cat" + And I press "Comment" + And I wait for the ajax to finish + When I am on "alice@alice.alice"'s page + Then I should see "I think thats a cat" + + diff --git a/features/disconnects_users.feature b/features/disconnects_users.feature index c76de8afc..76f0ab9a4 100644 --- a/features/disconnects_users.feature +++ b/features/disconnects_users.feature @@ -12,33 +12,25 @@ Feature: disconnecting users And I add the person to my 1st aspect - Scenario Outline: remove non-mutual contact from the contact show page + Scenario: remove non-mutual contact from the contact show page When I am on "alice@alice.alice"'s page - And I follow "edit aspect membership" - And I preemptively the alert - And I follow "remove contact" in the modal window - And I wait for the ajax to finish - And I am on the manage aspects page - Then I should see in "Besties" + And I remove the person from my 1st aspect + And I am on the home page + + Then I should see "no contacts" within "#sharers" Then I go to the destroy user session page When I sign in as "alice@alice.alice" And I am on "bob@bob.bob"'s page - Then I should "is sharing with you." - - Examples: - | accept | contacts | see | - | confirm | no contacts | not see | - | reject | 1 contact | see | + Then I should not see "is sharing with you." Scenario Outline: remove a non-mutual contact from the last aspect on the contact show page When I am on "alice@alice.alice"'s page - And I follow "edit aspect membership" - And I press the first ".added" within "#facebox #aspects_list ul > li:first-child" - And I wait for the ajax to finish + And I remove the person from my 1st aspect + And I am on the manage aspects page Then I should see no contacts in "Besties" diff --git a/features/infinite_scroll.feature b/features/infinite_scroll.feature index 98181bff1..c0afdd52a 100644 --- a/features/infinite_scroll.feature +++ b/features/infinite_scroll.feature @@ -8,7 +8,39 @@ Feature: infinite scroll Given many posts from alice for bob When I sign in as "bob@bob.bob" - Scenario: on the main stream + Scenario: on the main stream by activity + Then I should see 15 posts + And I should see "alice - 26 - #seeded" + + When I scroll down + Then I should see 30 posts + And I should see "alice - 11 - #seeded" + + When I scroll down + Then I should see 40 posts + And I should see "alice - 1 - #seeded" + + When I scroll down + Then I should see "No more" + + When I follow "generic" + And I wait for the ajax to finish + Then I should see 15 posts + And I should see "alice - 26 - #seeded" + + When I scroll down + Then I should see 30 posts + And I should see "alice - 11 - #seeded" + + When I scroll down + Then I should see 40 posts + And I should see "alice - 1 - #seeded" + + When I scroll down + Then I should see "No more" + + Scenario: on the main stream post created time + When I follow "post time" Then I should see 15 posts And I should see "alice - 15 - #seeded" diff --git a/features/notifications.feature b/features/notifications.feature index a04059aea..7c94cb1ea 100644 --- a/features/notifications.feature +++ b/features/notifications.feature @@ -4,8 +4,18 @@ Feature: Notifications As a User I want to get notifications -Scenario: someone offers to share with me - Given I am signed in - And I have one follower +Background: + Given a user with email "bob@bob.bob" + And a user with email "alice@alice.alice" + When I sign in as "bob@bob.bob" + And I am on "alice@alice.alice"'s page + + And I add the person to my 1st aspect + + And I go to the destroy user session page + +Scenario: someone shares with me + When I sign in as "alice@alice.alice" And I follow "notifications" in the header + Then I should see "started sharing with you" diff --git a/features/posts.feature b/features/posts.feature index 24f89bec0..bcb3efc4b 100644 --- a/features/posts.feature +++ b/features/posts.feature @@ -24,6 +24,34 @@ Feature: posting And I follow "All Aspects" Then I should see "I am eating a yogurt" within ".stream_element" + Scenario: post a photo without text + Given I expand the publisher + And I attach the file "spec/fixtures/button.png" to hidden element "file" within "#file-upload" + And I press "Share" + And I wait for the ajax to finish + And I follow "All Aspects" + Then I should see a "img" within ".stream_element:first div.photo_attachments" + Then I log out + And I sign in as "alice@alice.alice" + And I go to "bob@bob.bob"'s page + Then I should see a "img" within ".stream_element:first div.photo_attachments" + + + Scenario: post a photo with text + Given I expand the publisher + And I attach the file "spec/fixtures/button.png" to hidden element "file" within "#file-upload" + And I fill in "status_message_fake_text" with "Look at this dog" + And I press "Share" + And I wait for the ajax to finish + And I follow "All Aspects" + Then I should see a "img" within ".stream_element:first div.photo_attachments" + And I should see "Look at this dog" within ".stream_element:first" + Then I log out + And I sign in as "alice@alice.alice" + And I go to "bob@bob.bob"'s page + Then I should see a "img" within ".stream_element:first div.photo_attachments" + And I should see "Look at this dog" within ".stream_element:first" + Scenario: hide a post Given I expand the publisher When I fill in "status_message_fake_text" with "Here is a post for you to hide" diff --git a/features/step_definitions/custom_web_steps.rb b/features/step_definitions/custom_web_steps.rb index 794977890..7b42e892a 100644 --- a/features/step_definitions/custom_web_steps.rb +++ b/features/step_definitions/custom_web_steps.rb @@ -159,28 +159,6 @@ Then /^I should( not)? see the contact dialog$/ do |not_see| end end -When /^I add the person to my ([\d])(nd|rd|st|th) aspect$/ do |aspect_number, nd| - steps %Q{ - And I press the first ".toggle.button" - And I press the #{aspect_number}#{nd} "li" within ".dropdown.active .dropdown_list" - And I wait for the ajax to finish - And I press the first ".toggle.button" - } -end - -When /^I add the person to a new aspect called "([^\"]*)"$/ do |aspect_name| - steps %Q{ - And I press the first ".toggle.button" - - And I press click ".new_aspect" within ".dropdown.active" - And I fill in "#aspect_name" with "#{aspect_name}" - And I submit the form - - And I wait for the ajax to finish - And I press the first ".toggle.button" - } -end - Then /^I should( not)? see an add contact button$/ do |not_see| expected_length = not_see ? 0 : 1 evaluate_script("$('.add_contact a').length == #{expected_length};") diff --git a/features/step_definitions/user_steps.rb b/features/step_definitions/user_steps.rb index e1f985464..d14830bb3 100644 --- a/features/step_definitions/user_steps.rb +++ b/features/step_definitions/user_steps.rb @@ -144,11 +144,12 @@ Given /^many posts from alice for bob$/ do alice = Factory(:user_with_aspect, :username => 'alice', :email => 'alice@alice.alice', :password => 'password', :getting_started => false) bob = Factory(:user_with_aspect, :username => 'bob', :email => 'bob@bob.bob', :password => 'password', :getting_started => false) connect_users_with_aspects(alice, bob) + time_fulcrum = Time.now - 40000 time_interval = 1000 (1..40).each do |n| post = alice.post :status_message, :text => "#{alice.username} - #{n} - #seeded", :to => alice.aspects.first.id - post.created_at = post.created_at - time_interval - post.updated_at = post.updated_at - time_interval + post.created_at = time_fulcrum - time_interval + post.updated_at = time_fulcrum + time_interval post.save time_interval += 1000 end @@ -165,3 +166,24 @@ Given /^I have (\d) contacts?$/ do |count| end end +When /^I (add|remove|toggle) the person (to|from) my ([\d])(nd|rd|st|th) aspect$/ do |word1, word2, aspect_number, nd| + steps %Q{ + And I press the first ".toggle.button" + And I press the #{aspect_number}#{nd} "li" within ".dropdown.active .dropdown_list" + And I wait for the ajax to finish + And I press the first ".toggle.button" + } +end + +When /^I add the person to a new aspect called "([^\"]*)"$/ do |aspect_name| + steps %Q{ + And I press the first ".toggle.button" + + And I press click ".new_aspect" within ".dropdown.active" + And I fill in "#aspect_name" with "#{aspect_name}" + And I submit the form + + And I wait for the ajax to finish + And I press the first ".toggle.button" + } +end diff --git a/lib/splunk_logging.rb b/lib/splunk_logging.rb index 53a79ecea..521631512 100644 --- a/lib/splunk_logging.rb +++ b/lib/splunk_logging.rb @@ -6,7 +6,7 @@ module SplunkLogging end def add_with_splunk(arg1, log_hash = nil, arg3 = nil, &block) string = format_hash(log_hash).dup - string << "pid=#{Process.pid} " + string << " pid=#{Process.pid} " add_without_splunk(arg1, string, arg3, &block) end def format_hash(hash) diff --git a/lib/youtube_titles.rb b/lib/youtube_titles.rb index 1ebe240ec..8530e8ad3 100644 --- a/lib/youtube_titles.rb +++ b/lib/youtube_titles.rb @@ -9,14 +9,16 @@ module YoutubeTitles end title || I18n.t('application.helper.video_title.unknown') end + def get_youtube_title text + youtube_match = text.enum_for(:scan, YOUTUBE_ID_REGEX).map { Regexp.last_match } + return if youtube_match.empty? + self.youtube_titles ||= {} - youtube_match = text.match(YOUTUBE_ID_REGEX) - return unless youtube_match - video_id = youtube_match[1] - unless self.youtube_titles[video_id] - self.youtube_titles[video_id] = CGI::escape(youtube_title_for(video_id)) + youtube_match.each do |match_data| + self.youtube_titles[match_data[1]] = CGI::escape(youtube_title_for(match_data[1])) end end - YOUTUBE_ID_REGEX = /youtube\.com.*?v=([A-Za-z0-9_\\\-]+)/ unless defined? YOUTUBE_ID_REGEX + + YOUTUBE_ID_REGEX = /(?:https?:\/\/)(?:youtu\.be\/|(?:[a-z]{2,3}\.)?youtube\.com\/watch(?:\?|#!|.+&|.+&)v=)([\w-]{11})(?:\S*(#[^ ]+)|\S+)?/im unless defined? YOUTUBE_ID_REGEX end diff --git a/public/default.html b/public/default.html index 81ae44233..dbf7bd3ef 100644 --- a/public/default.html +++ b/public/default.html @@ -2,212 +2,172 @@ Diaspora: Getting Started - - +
    -
    -