Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/diaspora/diaspora.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Neff <benjamin@coding4coffee.ch>2022-02-12 02:03:02 +0300
committerBenjamin Neff <benjamin@coding4coffee.ch>2022-02-12 02:06:20 +0300
commit82291ed7e7dc4620d376089b83a0ce0d610a06a1 (patch)
tree143f7952f9ee74c9de1ad653f8a8c2f3ef0ff39d
parent1d0982822b0278525b4d5be881114ff0977ea9df (diff)
parentd7fb7405aef0f91f73ded9c638bdc38555aa95ab (diff)
Merge branch 'next-minor'v0.7.16.0
-rw-r--r--.github/workflows/ci.yml2
-rw-r--r--.rubocop.yml6
-rw-r--r--Changelog.md31
-rw-r--r--Gemfile107
-rw-r--r--Gemfile.lock500
-rw-r--r--README.md2
-rw-r--r--app/assets/javascripts/app/helpers/handlebars-helpers.js2
-rw-r--r--app/assets/javascripts/app/helpers/text_formatter.js3
-rw-r--r--app/assets/javascripts/app/views/hovercard_view.js32
-rw-r--r--app/assets/javascripts/app/views/locator.js2
-rw-r--r--app/assets/javascripts/app/views/publisher_view.js2
-rw-r--r--app/assets/javascripts/main.js1
-rw-r--r--app/assets/javascripts/mobile/mobile_comments.js10
-rw-r--r--app/assets/javascripts/mobile/publisher.js2
-rw-r--r--app/assets/stylesheets/color_themes/_color_theme_override_dark.scss4
-rw-r--r--app/assets/stylesheets/gallery.scss1
-rw-r--r--app/assets/stylesheets/header.scss13
-rw-r--r--app/assets/stylesheets/hovercard.scss11
-rw-r--r--app/assets/stylesheets/people.scss12
-rw-r--r--app/assets/stylesheets/profile.scss5
-rw-r--r--app/assets/templates/aspect_membership_dropdown_tpl.jst.hbs10
-rw-r--r--app/assets/templates/comment-stream_tpl.jst.hbs2
-rw-r--r--app/assets/templates/comment_tpl.jst.hbs4
-rw-r--r--app/assets/templates/header_tpl.jst.hbs2
-rw-r--r--app/assets/templates/hovercard_tpl.jst.hbs17
-rw-r--r--app/assets/templates/photo_tpl.jst.hbs4
-rw-r--r--app/assets/templates/pod_table_entry_tpl.jst.hbs6
-rw-r--r--app/assets/templates/reshare_tpl.jst.hbs2
-rw-r--r--app/assets/templates/single-post-viewer/single-post-content_tpl.jst.hbs14
-rw-r--r--app/assets/templates/stream-element_tpl.jst.hbs2
-rw-r--r--app/controllers/people_controller.rb9
-rw-r--r--app/helpers/interim_stream_hackiness_helper.rb11
-rw-r--r--app/models/account_migration.rb21
-rw-r--r--app/models/block.rb2
-rw-r--r--app/models/person.rb3
-rw-r--r--app/models/services/tumblr.rb111
-rw-r--r--app/models/user.rb15
-rw-r--r--app/presenters/node_info_presenter.rb18
-rw-r--r--app/presenters/person_presenter.rb2
-rw-r--r--app/serializers/export/aspect_serializer.rb2
-rw-r--r--app/serializers/export/user_serializer.rb7
-rw-r--r--app/serializers/federation_entity_serializer.rb15
-rw-r--r--app/uploaders/exported_user.rb2
-rw-r--r--app/uploaders/processed_image.rb2
-rw-r--r--app/uploaders/unprocessed_image.rb2
-rw-r--r--app/views/devise/mailer/confirmation_instructions.markerb4
-rw-r--r--app/views/devise/mailer/reset_password_instructions.markerb6
-rw-r--r--app/views/devise/mailer/unlock_instructions.markerb4
-rw-r--r--app/views/posts/show.mobile.haml2
-rw-r--r--app/views/registrations/_form.haml2
-rw-r--r--app/views/registrations/_registrations_closed.haml2
-rw-r--r--app/views/services/_add_remove_services.haml2
-rw-r--r--app/views/shared/_links.haml2
-rw-r--r--app/views/streams/main_stream.html.haml2
-rw-r--r--app/workers/fetch_webfinger.rb4
-rw-r--r--app/workers/receive_base.rb1
-rw-r--r--config/defaults.yml2
-rw-r--r--config/environments/production.rb2
-rw-r--r--config/initializers/carrierwave.rb2
-rw-r--r--config/initializers/diaspora_federation.rb4
-rw-r--r--config/initializers/jsroutes.rb2
-rw-r--r--config/locales/devise/devise.ar.yml44
-rw-r--r--config/locales/devise/devise.art-nvi.yml4
-rw-r--r--config/locales/devise/devise.bg.yml4
-rw-r--r--config/locales/devise/devise.br.yml4
-rw-r--r--config/locales/devise/devise.bs.yml4
-rw-r--r--config/locales/devise/devise.ca.yml4
-rw-r--r--config/locales/devise/devise.cs.yml4
-rw-r--r--config/locales/devise/devise.cy.yml4
-rw-r--r--config/locales/devise/devise.da.yml5
-rw-r--r--config/locales/devise/devise.de.yml5
-rw-r--r--config/locales/devise/devise.de_formal.yml5
-rw-r--r--config/locales/devise/devise.de_moo.yml (renamed from config/locales/devise/devise.de-moo.yml)7
-rw-r--r--config/locales/devise/devise.el.yml4
-rw-r--r--config/locales/devise/devise.en.yml5
-rw-r--r--config/locales/devise/devise.en_1337.yml4
-rw-r--r--config/locales/devise/devise.en_shaw.yml4
-rw-r--r--config/locales/devise/devise.en_valspeak.yml4
-rw-r--r--config/locales/devise/devise.eo.yml9
-rw-r--r--config/locales/devise/devise.es-AR.yml4
-rw-r--r--config/locales/devise/devise.es-CL.yml4
-rw-r--r--config/locales/devise/devise.es-MX.yml4
-rw-r--r--config/locales/devise/devise.es-VE.yml4
-rw-r--r--config/locales/devise/devise.es.yml5
-rw-r--r--config/locales/devise/devise.et.yml10
-rw-r--r--config/locales/devise/devise.eu.yml4
-rw-r--r--config/locales/devise/devise.fi.yml4
-rw-r--r--config/locales/devise/devise.fil.yml2
-rw-r--r--config/locales/devise/devise.fr.yml4
-rw-r--r--config/locales/devise/devise.fy.yml4
-rw-r--r--config/locales/devise/devise.ga.yml4
-rw-r--r--config/locales/devise/devise.gl.yml5
-rw-r--r--config/locales/devise/devise.he.yml4
-rw-r--r--config/locales/devise/devise.hi.yml10
-rw-r--r--config/locales/devise/devise.hu.yml4
-rw-r--r--config/locales/devise/devise.hye-classical.yml4
-rw-r--r--config/locales/devise/devise.hye.yml4
-rw-r--r--config/locales/devise/devise.ia.yml5
-rw-r--r--config/locales/devise/devise.id.yml4
-rw-r--r--config/locales/devise/devise.is.yml4
-rw-r--r--config/locales/devise/devise.it.yml4
-rw-r--r--config/locales/devise/devise.ja.yml4
-rw-r--r--config/locales/devise/devise.ka.yml4
-rw-r--r--config/locales/devise/devise.ko.yml4
-rw-r--r--config/locales/devise/devise.lt.yml4
-rw-r--r--config/locales/devise/devise.mk.yml4
-rw-r--r--config/locales/devise/devise.ml.yml4
-rw-r--r--config/locales/devise/devise.ms.yml4
-rw-r--r--config/locales/devise/devise.nb.yml4
-rw-r--r--config/locales/devise/devise.nds.yml4
-rw-r--r--config/locales/devise/devise.ne.yml4
-rw-r--r--config/locales/devise/devise.nl.yml4
-rw-r--r--config/locales/devise/devise.nn.yml4
-rw-r--r--config/locales/devise/devise.oc.yml4
-rw-r--r--config/locales/devise/devise.pa.yml4
-rw-r--r--config/locales/devise/devise.pl.yml4
-rw-r--r--config/locales/devise/devise.pt-BR.yml4
-rw-r--r--config/locales/devise/devise.pt-PT.yml4
-rw-r--r--config/locales/devise/devise.ro.yml4
-rw-r--r--config/locales/devise/devise.ru.yml4
-rw-r--r--config/locales/devise/devise.sc.yml4
-rw-r--r--config/locales/devise/devise.si.yml4
-rw-r--r--config/locales/devise/devise.sk.yml4
-rw-r--r--config/locales/devise/devise.sl.yml4
-rw-r--r--config/locales/devise/devise.sq.yml4
-rw-r--r--config/locales/devise/devise.sr.yml4
-rw-r--r--config/locales/devise/devise.sv.yml5
-rw-r--r--config/locales/devise/devise.te.yml4
-rw-r--r--config/locales/devise/devise.tr.yml4
-rw-r--r--config/locales/devise/devise.uk.yml4
-rw-r--r--config/locales/devise/devise.vi.yml85
-rw-r--r--config/locales/devise/devise.wo.yml4
-rw-r--r--config/locales/devise/devise.zh-CN.yml4
-rw-r--r--config/locales/devise/devise.zh-TW.yml4
-rw-r--r--config/locales/diaspora/ar.yml590
-rw-r--r--config/locales/diaspora/bs.yml14
-rw-r--r--config/locales/diaspora/ca.yml11
-rw-r--r--config/locales/diaspora/cs.yml16
-rw-r--r--config/locales/diaspora/da.yml131
-rw-r--r--config/locales/diaspora/de.yml119
-rw-r--r--config/locales/diaspora/de_formal.yml111
-rw-r--r--config/locales/diaspora/de_moo.yml (renamed from config/locales/diaspora/de-moo.yml)133
-rw-r--r--config/locales/diaspora/el.yml3
-rw-r--r--config/locales/diaspora/en.yml3
-rw-r--r--config/locales/diaspora/en_valspeak.yml4
-rw-r--r--config/locales/diaspora/eo.yml85
-rw-r--r--config/locales/diaspora/es-AR.yml180
-rw-r--r--config/locales/diaspora/es-MX.yml77
-rw-r--r--config/locales/diaspora/es.yml99
-rw-r--r--config/locales/diaspora/et.yml4
-rw-r--r--config/locales/diaspora/fi.yml12
-rw-r--r--config/locales/diaspora/fr.yml124
-rw-r--r--config/locales/diaspora/gl.yml192
-rw-r--r--config/locales/diaspora/hi.yml8
-rw-r--r--config/locales/diaspora/hu.yml4
-rw-r--r--config/locales/diaspora/hye-classical.yml15
-rw-r--r--config/locales/diaspora/hye.yml16
-rw-r--r--config/locales/diaspora/ia.yml129
-rw-r--r--config/locales/diaspora/it.yml12
-rw-r--r--config/locales/diaspora/ja.yml16
-rw-r--r--config/locales/diaspora/ms.yml26
-rw-r--r--config/locales/diaspora/nb.yml15
-rw-r--r--config/locales/diaspora/nds.yml3
-rw-r--r--config/locales/diaspora/ne.yml55
-rw-r--r--config/locales/diaspora/nl.yml29
-rw-r--r--config/locales/diaspora/nn.yml2
-rw-r--r--config/locales/diaspora/oc.yml22
-rw-r--r--config/locales/diaspora/pl.yml44
-rw-r--r--config/locales/diaspora/pt-BR.yml31
-rw-r--r--config/locales/diaspora/pt-PT.yml6
-rw-r--r--config/locales/diaspora/ru.yml16
-rw-r--r--config/locales/diaspora/sc.yml122
-rw-r--r--config/locales/diaspora/scn.yml274
-rw-r--r--config/locales/diaspora/sl.yml2
-rw-r--r--config/locales/diaspora/sq.yml286
-rw-r--r--config/locales/diaspora/sv.yml127
-rw-r--r--config/locales/diaspora/te.yml4
-rw-r--r--config/locales/diaspora/uk.yml71
-rw-r--r--config/locales/diaspora/vi.yml1229
-rw-r--r--config/locales/diaspora/zh-CN.yml11
-rw-r--r--config/locales/diaspora/zh-TW.yml17
-rw-r--r--config/locales/javascript/javascript.ar.yml200
-rw-r--r--config/locales/javascript/javascript.cs.yml2
-rw-r--r--config/locales/javascript/javascript.da.yml6
-rw-r--r--config/locales/javascript/javascript.de.yml2
-rw-r--r--config/locales/javascript/javascript.de_formal.yml4
-rw-r--r--config/locales/javascript/javascript.de_moo.yml (renamed from config/locales/javascript/javascript.de-moo.yml)10
-rw-r--r--config/locales/javascript/javascript.eo.yml45
-rw-r--r--config/locales/javascript/javascript.es-AR.yml3
-rw-r--r--config/locales/javascript/javascript.es.yml6
-rw-r--r--config/locales/javascript/javascript.et.yml8
-rw-r--r--config/locales/javascript/javascript.fi.yml2
-rw-r--r--config/locales/javascript/javascript.fr.yml2
-rw-r--r--config/locales/javascript/javascript.gl.yml2
-rw-r--r--config/locales/javascript/javascript.hu.yml2
-rw-r--r--config/locales/javascript/javascript.hye-classical.yml2
-rw-r--r--config/locales/javascript/javascript.hye.yml2
-rw-r--r--config/locales/javascript/javascript.ia.yml2
-rw-r--r--config/locales/javascript/javascript.ja.yml2
-rw-r--r--config/locales/javascript/javascript.nb.yml2
-rw-r--r--config/locales/javascript/javascript.nl.yml2
-rw-r--r--config/locales/javascript/javascript.oc.yml2
-rw-r--r--config/locales/javascript/javascript.pl.yml3
-rw-r--r--config/locales/javascript/javascript.pt-BR.yml2
-rw-r--r--config/locales/javascript/javascript.pt-PT.yml2
-rw-r--r--config/locales/javascript/javascript.ru.yml2
-rw-r--r--config/locales/javascript/javascript.sc.yml2
-rw-r--r--config/locales/javascript/javascript.sq.yml41
-rw-r--r--config/locales/javascript/javascript.sv.yml2
-rw-r--r--config/locales/javascript/javascript.uk.yml3
-rw-r--r--config/locales/javascript/javascript.vi.yml252
-rw-r--r--config/locales/javascript/javascript.zh-TW.yml3
-rw-r--r--config/routes.rb13
-rw-r--r--db/migrate/0000_create_schema.rb4
-rw-r--r--db/migrate/20211024142641_add_signature_to_account_migration.rb7
-rw-r--r--db/migrate/20211027230348_add_remote_photo_path_to_account_migration.rb7
-rw-r--r--docker/develop/Dockerfile3
-rw-r--r--features/desktop/hovercards.feature18
-rw-r--r--features/support/webmock.rb2
-rw-r--r--lib/bookmarklet_renderer.rb2
-rw-r--r--lib/diaspora/federation.rb4
-rw-r--r--lib/diaspora/federation/entities.rb5
-rw-r--r--lib/diaspora/federation/receive.rb26
-rw-r--r--lib/diaspora/message_renderer.rb37
-rw-r--r--lib/schemas/archive-format.json10
-rw-r--r--lib/stream/aspect.rb9
-rw-r--r--lib/stream/base.rb15
-rw-r--r--lib/stream/public.rb4
-rw-r--r--log/.gitkeep0
-rw-r--r--spec/controllers/jasmine_fixtures/aspects_spec.rb18
-rw-r--r--spec/federation_callbacks_spec.rb11
-rw-r--r--spec/fixtures/public_posts.json2
-rw-r--r--spec/helpers/interim_stream_hackiness_helper_spec.rb35
-rw-r--r--spec/integration/account_migration_spec.rb41
-rw-r--r--spec/integration/exporter_spec.rb6
-rw-r--r--spec/integration/federation/receive_federation_messages_spec.rb4
-rw-r--r--spec/javascripts/app/app_spec.js2
-rw-r--r--spec/javascripts/app/views/hovercard_view_spec.js51
-rw-r--r--spec/javascripts/app/views_spec.js8
-rw-r--r--spec/javascripts/mobile/mobile_comments_spec.js4
-rw-r--r--spec/javascripts/support/jasmine_helper.rb3
-rw-r--r--spec/lib/account_deleter_spec.rb3
-rw-r--r--spec/lib/diaspora/federation/entities_spec.rb13
-rw-r--r--spec/lib/diaspora/federation/receive_spec.rb71
-rw-r--r--spec/lib/stream/base_spec.rb33
-rw-r--r--spec/models/account_migration_spec.rb32
-rw-r--r--spec/models/open_graph_cache_spec.rb2
-rw-r--r--spec/models/services/tumblr_spec.rb39
-rw-r--r--spec/models/user_spec.rb11
-rw-r--r--spec/serializers/export/aspect_serializer_spec.rb3
-rw-r--r--spec/serializers/export/others_data_serializer_spec.rb11
-rw-r--r--spec/serializers/export/user_serializer_spec.rb3
-rw-r--r--spec/workers/fetch_webfinger_spec.rb2
-rw-r--r--spec/workers/reset_password_spec.rb1
254 files changed, 5239 insertions, 1971 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index f801ecc92..8c0964a1a 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -44,7 +44,7 @@ jobs:
- 5432:5432
steps:
- name: Install system dependencies
- run: sudo apt-get install -y build-essential curl git gsfonts imagemagick libcurl4-openssl-dev libidn11-dev libmagickwand-dev libssl-dev libxml2-dev libxslt1-dev
+ run: sudo apt update && sudo apt install -y build-essential curl git gsfonts imagemagick libcurl4-openssl-dev libidn11-dev libmagickwand-dev libssl-dev libxml2-dev libxslt1-dev
- name: Start MySQL
run: sudo systemctl start mysql.service
if: matrix.db == 'mysql'
diff --git a/.rubocop.yml b/.rubocop.yml
index 71c3b4bd0..e1a7219a2 100644
--- a/.rubocop.yml
+++ b/.rubocop.yml
@@ -179,8 +179,6 @@ Layout/DotPosition:
Style/HashEachMethods:
Enabled: true
-# TODO: Enable with Ruby 2.5
-Style/HashTransformKeys:
- Enabled: false
-Style/HashTransformValues:
+# It makes more sense to allow to structure and group them how it makes sense in the code
+Style/AccessorGrouping:
Enabled: false
diff --git a/Changelog.md b/Changelog.md
index abe0252aa..7514bf999 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,3 +1,34 @@
+# 0.7.16.0
+
+## Security
+
+* Update rails to fix [CVE-2022-23633](https://github.com/advisories/GHSA-wh98-p28r-vrc9) [#8336](https://github.com/diaspora/diaspora/pull/8336)
+
+## Refactor
+* Cache local posts/comments count for statistics [#8241](https://github.com/diaspora/diaspora/pull/8241)
+* Fix html-syntax in some handlebars templates [#8251](https://github.com/diaspora/diaspora/pull/8251)
+* Remove `chat_enabled` flag from archive export [#8265](https://github.com/diaspora/diaspora/pull/8265)
+* Change thumbnails in image slideshow to squares [#8275](https://github.com/diaspora/diaspora/pull/8275)
+* Replace uglifier with terser for JS compression [#8268](https://github.com/diaspora/diaspora/pull/8268)
+
+## Bug fixes
+* Ensure the log folder exists [#8287](https://github.com/diaspora/diaspora/pull/8287)
+* Limit name length in header [#8313](https://github.com/diaspora/diaspora/pull/8313)
+* Fix fallback avatar in hovercards [#8316](https://github.com/diaspora/diaspora/pull/8316)
+* Use old person private key for export if relayable author migrated away [#8310](https://github.com/diaspora/diaspora/pull/8310)
+
+## Features
+* Add tags to tumblr posts [#8244](https://github.com/diaspora/diaspora/pull/8244)
+* Add blocks to the archive export [#8263](https://github.com/diaspora/diaspora/pull/8263)
+* Allow points and dashes in the username [#8266](https://github.com/diaspora/diaspora/pull/8266)
+* Add support for footnotes in markdown [#8277](https://github.com/diaspora/diaspora/pull/8277)
+* Send `AccountMigration` if receiving message to a migrated account [#8288](https://github.com/diaspora/diaspora/pull/8288)
+* Add podmin mail address to the footer [#8242](https://github.com/diaspora/diaspora/pull/8242)
+* Add username to password-reset mail [#8037](https://github.com/diaspora/diaspora/pull/8037)
+* Resend account migration and deletion for closed recipients [#8309](https://github.com/diaspora/diaspora/pull/8309)
+* Add sharing status to hovercards [#8317](https://github.com/diaspora/diaspora/pull/8317)
+* Migrate photo URLs and cleanup old uploaded photos [#8314](https://github.com/diaspora/diaspora/pull/8314)
+
# 0.7.15.0
## Refactor
diff --git a/Gemfile b/Gemfile
index ac98f6f82..7dbd9f939 100644
--- a/Gemfile
+++ b/Gemfile
@@ -2,7 +2,7 @@
source "https://rubygems.org"
-gem "rails", "5.2.5"
+gem "rails", "5.2.6.2"
# Legacy Rails features, remove me!
# responders (class level)
@@ -15,8 +15,8 @@ gem "unicorn-worker-killer", "0.4.5"
# Federation
-gem "diaspora_federation-json_schema", "0.2.6"
-gem "diaspora_federation-rails", "0.2.6"
+gem "diaspora_federation-json_schema", "0.2.7"
+gem "diaspora_federation-rails", "0.2.7"
# API and JSON
@@ -26,10 +26,10 @@ gem "json-schema", "2.8.1"
# Authentication
-gem "devise", "4.7.3"
-gem "devise-two-factor", "4.0.0"
+gem "devise", "4.8.0"
gem "devise_lastseenable", "0.0.6"
-gem "rqrcode", "1.1.2"
+gem "devise-two-factor", "4.0.1"
+gem "rqrcode", "2.1.0"
# Captcha
@@ -37,8 +37,8 @@ gem "simple_captcha2", "0.5.0", require: "simple_captcha"
# Background processing
-gem "redis", "4.2.5"
-gem "sidekiq", "6.2.1"
+gem "redis", "4.5.1"
+gem "sidekiq", "6.2.2"
# Scheduled processing
@@ -46,12 +46,12 @@ gem "sidekiq-cron", "1.2.0"
# Compression
-gem "uglifier", "4.2.0"
+gem "terser", "1.1.7"
# Configuration
gem "configurate", "0.5.0"
-gem "toml-rb", "2.0.1"
+gem "toml-rb", "2.1.0"
# Cross-origin resource sharing
@@ -59,12 +59,12 @@ gem "rack-cors", "1.1.1", require: "rack/cors"
# CSS
-gem "autoprefixer-rails", "10.2.4.0"
+gem "autoprefixer-rails", "10.3.3.0"
gem "bootstrap-sass", "3.4.1"
gem "bootstrap-switch-rails", "3.3.3" # 3.3.4 and 3.3.5 is broken, see https://github.com/Bttstrp/bootstrap-switch/issues/691
gem "compass-rails", "3.1.0"
gem "sass-rails", "5.0.7"
-gem "sprockets-rails", "3.2.1"
+gem "sprockets-rails", "3.2.2"
# Database
@@ -75,14 +75,13 @@ group :postgresql, optional: true do
gem "pg", "1.2.3"
end
-
-gem "activerecord-import", "1.0.4"
+gem "activerecord-import", "1.1.0"
# File uploading
-gem "carrierwave", "1.3.2"
-gem "fog-aws", "3.5.2"
-gem "mini_magick", "4.10.1"
+gem "carrierwave", "2.2.2"
+gem "fog-aws", "3.12.0"
+gem "mini_magick", "4.11.0"
# GUID generation
gem "uuid", "2.3.9"
@@ -93,21 +92,22 @@ gem "entypo-rails", "3.0.0"
# JavaScript
-gem "handlebars_assets", "0.23.8"
-gem "jquery-rails", "4.3.5"
-gem "js-routes", "1.4.9"
+gem "handlebars_assets", "0.23.9"
+gem "jquery-rails", "4.4.0"
+gem "js-routes", "2.1.2"
gem "js_image_paths", "0.1.1"
source "https://gems.diasporafoundation.org" do
- gem "rails-assets-jquery", "3.4.1" # Should be kept in sync with jquery-rails
+ gem "rails-assets-jquery", "3.5.1" # Should be kept in sync with jquery-rails
gem "rails-assets-jquery.ui", "1.11.4"
gem "rails-assets-highlightjs", "9.12.0"
gem "rails-assets-markdown-it", "8.4.2"
- gem "rails-assets-markdown-it-hashtag", "0.4.0"
gem "rails-assets-markdown-it-diaspora-mention", "1.2.0"
- gem "rails-assets-markdown-it-sanitizer", "0.4.3"
+ gem "rails-assets-markdown-it-footnote", "3.0.3"
+ gem "rails-assets-markdown-it-hashtag", "0.4.0"
gem "rails-assets-markdown-it--markdown-it-for-inline", "0.1.1"
+ gem "rails-assets-markdown-it-sanitizer", "0.4.3"
gem "rails-assets-markdown-it-sub", "1.0.0"
gem "rails-assets-markdown-it-sup", "1.0.0"
@@ -139,14 +139,14 @@ gem "rails-i18n", "5.1.3"
gem "markerb", "1.1.0"
# Map
-gem "leaflet-rails", "1.6.0"
+gem "leaflet-rails", "1.7.0"
# Parsing
-gem "nokogiri", "1.11.3"
-gem "open_graph_reader", "0.7.1" # also update User-Agent in features/support/webmock.rb and open_graph_cache_spec.rb
+gem "nokogiri", "1.12.5"
+gem "open_graph_reader", "0.7.2" # also update User-Agent in features/support/webmock.rb and open_graph_cache_spec.rb
gem "redcarpet", "3.5.1"
-gem "ruby-oembed", "0.12.0"
+gem "ruby-oembed", "0.15.0"
gem "twitter-text", "1.14.7"
# RTL support
@@ -155,18 +155,19 @@ gem "string-direction", "1.2.2"
# Security Headers
-gem "secure_headers", "6.3.2"
+gem "secure_headers", "6.3.3"
# Services
-gem "omniauth", "1.9.1"
-gem "omniauth-tumblr", "1.2"
-gem "omniauth-twitter", "1.4.0"
-gem "omniauth-wordpress", "0.2.2"
-gem "twitter", "7.0.0"
+gem "omniauth", "2.0.4"
+gem "omniauth-rails_csrf_protection", "1.0.0"
+gem "omniauth-tumblr", "1.2"
+gem "omniauth-twitter", "1.4.0"
+gem "omniauth-wordpress", "0.2.2"
+gem "twitter", "7.0.0"
# OpenID Connect
-gem "openid_connect", "1.1.8"
+gem "openid_connect", "1.3.0"
# Serializers
@@ -178,23 +179,23 @@ gem "rails-assets-diaspora_jsxc", "0.1.5.develop.7", source: "https://gems.diasp
# Tags
-gem "acts-as-taggable-on", "6.5.0"
+gem "acts-as-taggable-on", "8.1.0"
# URIs and HTTP
-gem "addressable", "2.7.0", require: "addressable/uri"
-gem "faraday", "0.15.4"
-gem "faraday_middleware", "0.13.1"
-gem "faraday-cookie_jar", "0.0.6"
+gem "addressable", "2.8.0", require: "addressable/uri"
+gem "faraday", "0.17.4"
+gem "faraday-cookie_jar", "0.0.7"
+gem "faraday_middleware", "0.14.0"
gem "typhoeus", "1.4.0"
# Views
-gem "gon", "6.3.2"
-gem "hamlit", "2.14.6"
+gem "gon", "6.4.0"
+gem "hamlit", "2.15.1"
gem "mobile-fu", "1.4.0"
-gem "rails-timeago", "2.18.0"
-gem "will_paginate", "3.3.0"
+gem "rails-timeago", "2.19.1"
+gem "will_paginate", "3.3.1"
# Logging
@@ -202,7 +203,7 @@ gem "logging-rails", "0.6.0", require: "logging/rails"
# Reading and writing zip files
-gem "rubyzip", "2.3.0", require: "zip"
+gem "rubyzip", "2.3.2", require: "zip"
# Prevent occasions where minitest is not bundled in
# packaged versions of ruby. See following issues/prs:
@@ -237,12 +238,12 @@ group :production do # we don"t install these on travis to speed up test runs
# Third party asset hosting
- gem "asset_sync", "2.11.0", require: false
+ gem "asset_sync", "2.15.0", require: false
end
group :development do
# Linters
- gem "haml_lint", "0.37.0", require: false
+ gem "haml_lint", "0.37.1", require: false
gem "pronto", "0.11.0", require: false
gem "pronto-eslint", "0.11.0", require: false
gem "pronto-haml", "0.11.0", require: false
@@ -275,7 +276,7 @@ group :test do
gem "apparition", "0.6.0"
gem "capybara", "3.35.3"
- gem "database_cleaner-active_record", "1.8.0"
+ gem "database_cleaner-active_record", "2.0.1"
gem "cucumber-api-steps", "0.14", require: false
@@ -284,25 +285,25 @@ group :test do
gem "factory_girl_rails", "4.9.0"
gem "shoulda-matchers", "4.5.1"
gem "timecop", "0.9.4"
- gem "webmock", "3.12.2", require: false
+ gem "webmock", "3.14.0", require: false
- gem "diaspora_federation-test", "0.2.6"
+ gem "diaspora_federation-test", "0.2.7"
end
group :development, :test do
# RSpec (unit tests, some integration tests)
- gem "rspec-rails", "5.0.1"
+ gem "rspec-rails", "5.0.2"
# Cucumber (integration tests)
- gem "cucumber-rails", "2.3.0", require: false
+ gem "cucumber-rails", "2.4.0", require: false
# Jasmine (client side application tests (JS))
gem "chrome_remote", "0.3.0"
- gem "jasmine", "3.7.0"
+ gem "jasmine", "3.10.0"
gem "jasmine-jquery-rails", "2.0.3"
gem "rails-assets-jasmine-ajax", "4.0.0", source: "https://gems.diasporafoundation.org"
gem "sinon-rails", "1.15.0"
# For `assigns` in controller specs
- gem "rails-controller-testing", "1.0.4"
+ gem "rails-controller-testing", "1.0.5"
end
diff --git a/Gemfile.lock b/Gemfile.lock
index 730320fb3..ae2d48981 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -2,25 +2,25 @@ GEM
remote: https://rubygems.org/
remote: https://gems.diasporafoundation.org/
specs:
- actioncable (5.2.5)
- actionpack (= 5.2.5)
+ actioncable (5.2.6.2)
+ actionpack (= 5.2.6.2)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
- actionmailer (5.2.5)
- actionpack (= 5.2.5)
- actionview (= 5.2.5)
- activejob (= 5.2.5)
+ actionmailer (5.2.6.2)
+ actionpack (= 5.2.6.2)
+ actionview (= 5.2.6.2)
+ activejob (= 5.2.6.2)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0)
- actionpack (5.2.5)
- actionview (= 5.2.5)
- activesupport (= 5.2.5)
+ actionpack (5.2.6.2)
+ actionview (= 5.2.6.2)
+ activesupport (= 5.2.6.2)
rack (~> 2.0, >= 2.0.8)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.2)
- actionview (5.2.5)
- activesupport (= 5.2.5)
+ actionview (5.2.6.2)
+ activesupport (= 5.2.6.2)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
@@ -28,40 +28,40 @@ GEM
active_model_serializers (0.9.7)
activemodel (>= 3.2)
concurrent-ruby (~> 1.0)
- activejob (5.2.5)
- activesupport (= 5.2.5)
+ activejob (5.2.6.2)
+ activesupport (= 5.2.6.2)
globalid (>= 0.3.6)
- activemodel (5.2.5)
- activesupport (= 5.2.5)
- activerecord (5.2.5)
- activemodel (= 5.2.5)
- activesupport (= 5.2.5)
+ activemodel (5.2.6.2)
+ activesupport (= 5.2.6.2)
+ activerecord (5.2.6.2)
+ activemodel (= 5.2.6.2)
+ activesupport (= 5.2.6.2)
arel (>= 9.0)
- activerecord-import (1.0.4)
+ activerecord-import (1.1.0)
activerecord (>= 3.2)
- activestorage (5.2.5)
- actionpack (= 5.2.5)
- activerecord (= 5.2.5)
+ activestorage (5.2.6.2)
+ actionpack (= 5.2.6.2)
+ activerecord (= 5.2.6.2)
marcel (~> 1.0.0)
- activesupport (5.2.5)
+ activesupport (5.2.6.2)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2)
minitest (~> 5.1)
tzinfo (~> 1.1)
- acts-as-taggable-on (6.5.0)
- activerecord (>= 5.0, < 6.1)
+ acts-as-taggable-on (8.1.0)
+ activerecord (>= 5.0, < 6.2)
acts_as_api (1.0.1)
activemodel (>= 3.0.0)
activesupport (>= 3.0.0)
rack (>= 1.1.0)
- addressable (2.7.0)
+ addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0)
aes_key_wrap (1.1.0)
apparition (0.6.0)
capybara (~> 3.13, < 4)
websocket-driver (>= 0.6.5)
arel (9.0.0)
- asset_sync (2.11.0)
+ asset_sync (2.15.0)
activemodel (>= 4.1.0)
fog-core
mime-types (>= 2.99)
@@ -70,10 +70,10 @@ GEM
attr_encrypted (3.1.0)
encryptor (~> 3.0.0)
attr_required (1.0.1)
- autoprefixer-rails (10.2.4.0)
- execjs
+ autoprefixer-rails (10.3.3.0)
+ execjs (~> 2)
bcrypt (3.1.16)
- bindata (2.4.8)
+ bindata (2.4.10)
bootstrap-sass (3.4.1)
autoprefixer-rails (>= 5.2.1)
sassc (>= 2.0.0)
@@ -89,10 +89,13 @@ GEM
rack-test (>= 0.6.3)
regexp_parser (>= 1.5, < 3.0)
xpath (~> 3.2)
- carrierwave (1.3.2)
- activemodel (>= 4.0.0)
- activesupport (>= 4.0.0)
- mime-types (>= 1.16)
+ carrierwave (2.2.2)
+ activemodel (>= 5.0.0)
+ activesupport (>= 5.0.0)
+ addressable (~> 2.6)
+ image_processing (~> 1.1)
+ marcel (~> 1.0.0)
+ mini_mime (>= 0.1.3)
ssrf_filter (~> 1.0)
celluloid (0.17.4)
celluloid-essentials
@@ -136,63 +139,65 @@ GEM
compass (~> 1.0.0)
sass-rails (< 5.1)
sprockets (< 4.0)
- concurrent-ruby (1.1.8)
+ concurrent-ruby (1.1.9)
configurate (0.5.0)
- connection_pool (2.2.3)
+ connection_pool (2.2.5)
crack (0.4.5)
rexml
crass (1.0.6)
- cucumber (5.3.0)
+ cucumber (7.1.0)
builder (~> 3.2, >= 3.2.4)
- cucumber-core (~> 8.0, >= 8.0.1)
- cucumber-create-meta (~> 2.0, >= 2.0.2)
- cucumber-cucumber-expressions (~> 10.3, >= 10.3.0)
- cucumber-gherkin (~> 15.0, >= 15.0.2)
- cucumber-html-formatter (~> 9.0, >= 9.0.0)
- cucumber-messages (~> 13.1, >= 13.1.0)
- cucumber-wire (~> 4.0, >= 4.0.1)
+ cucumber-core (~> 10.1, >= 10.1.0)
+ cucumber-create-meta (~> 6.0, >= 6.0.1)
+ cucumber-cucumber-expressions (~> 14.0, >= 14.0.0)
+ cucumber-gherkin (~> 22.0, >= 22.0.0)
+ cucumber-html-formatter (~> 17.0, >= 17.0.0)
+ cucumber-messages (~> 17.1, >= 17.1.1)
+ cucumber-wire (~> 6.2, >= 6.2.0)
diff-lcs (~> 1.4, >= 1.4.4)
+ mime-types (~> 3.3, >= 3.3.1)
multi_test (~> 0.1, >= 0.1.2)
- sys-uname (~> 1.2, >= 1.2.1)
+ sys-uname (~> 1.2, >= 1.2.2)
cucumber-api-steps (0.14.0)
cucumber (>= 2.0.2)
jsonpath (>= 0.1.2)
- cucumber-core (8.0.1)
- cucumber-gherkin (~> 15.0, >= 15.0.2)
- cucumber-messages (~> 13.0, >= 13.0.1)
- cucumber-tag-expressions (~> 2.0, >= 2.0.4)
- cucumber-create-meta (2.0.4)
- cucumber-messages (~> 13.1, >= 13.1.0)
- sys-uname (~> 1.2, >= 1.2.1)
- cucumber-cucumber-expressions (10.3.0)
- cucumber-gherkin (15.0.2)
- cucumber-messages (~> 13.0, >= 13.0.1)
- cucumber-html-formatter (9.0.0)
- cucumber-messages (~> 13.0, >= 13.0.1)
- cucumber-messages (13.2.1)
- protobuf-cucumber (~> 3.10, >= 3.10.8)
- cucumber-rails (2.3.0)
+ cucumber-core (10.1.0)
+ cucumber-gherkin (~> 22.0, >= 22.0.0)
+ cucumber-messages (~> 17.1, >= 17.1.1)
+ cucumber-tag-expressions (~> 4.0, >= 4.0.2)
+ cucumber-create-meta (6.0.2)
+ cucumber-messages (~> 17.1, >= 17.1.1)
+ sys-uname (~> 1.2, >= 1.2.2)
+ cucumber-cucumber-expressions (14.0.0)
+ cucumber-gherkin (22.0.0)
+ cucumber-messages (~> 17.1, >= 17.1.1)
+ cucumber-html-formatter (17.0.0)
+ cucumber-messages (~> 17.1, >= 17.1.0)
+ cucumber-messages (17.1.1)
+ cucumber-rails (2.4.0)
capybara (>= 2.18, < 4)
- cucumber (>= 3.0.2, < 6)
- mime-types (~> 3.2)
- nokogiri (~> 1.8)
+ cucumber (>= 3.2, < 8)
+ mime-types (~> 3.3)
+ nokogiri (~> 1.10)
railties (>= 5.0, < 7)
- cucumber-tag-expressions (2.0.4)
- cucumber-wire (4.0.1)
- cucumber-core (~> 8.0, >= 8.0.1)
- cucumber-cucumber-expressions (~> 10.3, >= 10.3.0)
- cucumber-messages (~> 13.0, >= 13.0.1)
- database_cleaner (1.8.5)
- database_cleaner-active_record (1.8.0)
- activerecord
- database_cleaner (~> 1.8.0)
- devise (4.7.3)
+ rexml (~> 3.0)
+ webrick (~> 1.7)
+ cucumber-tag-expressions (4.1.0)
+ cucumber-wire (6.2.0)
+ cucumber-core (~> 10.1, >= 10.1.0)
+ cucumber-cucumber-expressions (~> 14.0, >= 14.0.0)
+ cucumber-messages (~> 17.1, >= 17.1.1)
+ database_cleaner-active_record (2.0.1)
+ activerecord (>= 5.a)
+ database_cleaner-core (~> 2.0.0)
+ database_cleaner-core (2.0.1)
+ devise (4.8.0)
bcrypt (~> 3.0)
orm_adapter (~> 0.1)
railties (>= 4.1.0)
responders
warden (~> 1.2.3)
- devise-two-factor (4.0.0)
+ devise-two-factor (4.0.1)
activesupport (< 6.2)
attr_encrypted (>= 1.3, < 4, != 2)
devise (~> 4.0)
@@ -202,22 +207,22 @@ GEM
devise
rails (>= 3.0.4)
diaspora-prosody-config (0.0.7)
- diaspora_federation (0.2.6)
- faraday (>= 0.9.0, < 0.16.0)
- faraday_middleware (>= 0.10.0, < 0.14.0)
+ diaspora_federation (0.2.7)
+ faraday (>= 0.9.0, < 1.0)
+ faraday_middleware (>= 0.10.0, < 1.0)
nokogiri (~> 1.6, >= 1.6.8)
typhoeus (~> 1.0)
valid (~> 1.0)
- diaspora_federation-json_schema (0.2.6)
- diaspora_federation-rails (0.2.6)
+ diaspora_federation-json_schema (0.2.7)
+ diaspora_federation-rails (0.2.7)
actionpack (>= 4.2, < 6)
- diaspora_federation (= 0.2.6)
- diaspora_federation-test (0.2.6)
- diaspora_federation (= 0.2.6)
+ diaspora_federation (= 0.2.7)
+ diaspora_federation-test (0.2.7)
+ diaspora_federation (= 0.2.7)
fabrication (~> 2.16)
uuid (~> 2.3, >= 2.3.8)
diff-lcs (1.4.4)
- docile (1.3.5)
+ docile (1.4.0)
domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0)
encryptor (3.0.0)
@@ -229,12 +234,12 @@ GEM
execjs
multi_json (>= 1.3)
rake
- et-orbi (1.2.4)
+ et-orbi (1.2.6)
tzinfo
- ethon (0.12.0)
- ffi (>= 1.3.0)
- excon (0.79.0)
- execjs (2.7.0)
+ ethon (0.15.0)
+ ffi (>= 1.15.0)
+ excon (0.88.0)
+ execjs (2.8.1)
eye (0.10.0)
celluloid (~> 0.17.3)
celluloid-io (~> 0.17.0)
@@ -247,14 +252,14 @@ GEM
factory_girl_rails (4.9.0)
factory_girl (~> 4.9.0)
railties (>= 3.0.0)
- faraday (0.15.4)
+ faraday (0.17.4)
multipart-post (>= 1.2, < 3)
- faraday-cookie_jar (0.0.6)
- faraday (>= 0.7.4)
+ faraday-cookie_jar (0.0.7)
+ faraday (>= 0.8.0)
http-cookie (~> 1.0.0)
- faraday_middleware (0.13.1)
+ faraday_middleware (0.14.0)
faraday (>= 0.7.4, < 1.0)
- ffi (1.15.0)
+ ffi (1.15.4)
ffi-compiler (1.0.1)
ffi (>= 1.0.0)
rake
@@ -262,12 +267,12 @@ GEM
activerecord (>= 2)
activesupport (>= 2)
hashdiff
- fog-aws (3.5.2)
+ fog-aws (3.12.0)
fog-core (~> 2.1)
fog-json (~> 1.1)
fog-xml (~> 0.1)
ipaddress (~> 0.8)
- fog-core (2.2.3)
+ fog-core (2.2.4)
builder
excon (~> 0.71)
formatador (~> 0.2)
@@ -275,11 +280,11 @@ GEM
fog-json (1.2.0)
fog-core
multi_json (~> 1.10)
- fog-xml (0.1.3)
+ fog-xml (0.1.4)
fog-core
nokogiri (>= 1.5.11, < 2.0.0)
- formatador (0.2.5)
- fugit (1.4.4)
+ formatador (0.3.0)
+ fugit (1.5.2)
et-orbi (~> 1.1, >= 1.1.8)
raabro (~> 1.4)
fuubar (2.5.1)
@@ -290,27 +295,27 @@ GEM
gitlab (4.17.0)
httparty (~> 0.18)
terminal-table (~> 1.5, >= 1.5.1)
- globalid (0.4.2)
- activesupport (>= 4.2.0)
- gon (6.3.2)
+ globalid (1.0.0)
+ activesupport (>= 5.0)
+ gon (6.4.0)
actionpack (>= 3.0.20)
i18n (>= 0.7)
multi_json
request_store (>= 1.0)
- haml (5.2.1)
+ haml (5.2.2)
temple (>= 0.8.0)
tilt
- haml_lint (0.37.0)
+ haml_lint (0.37.1)
haml (>= 4.0, < 5.3)
parallel (~> 1.10)
rainbow
rubocop (>= 0.50.0)
sysexits (~> 1.1)
- hamlit (2.14.6)
+ hamlit (2.15.1)
temple (>= 0.8.2)
thor
tilt
- handlebars_assets (0.23.8)
+ handlebars_assets (0.23.9)
execjs (~> 2.0)
sprockets (>= 2.0.0)
tilt (>= 1.2)
@@ -321,18 +326,18 @@ GEM
http-cookie (~> 1.0)
http-form_data (~> 2.2)
http-parser (~> 1.2.0)
- http-cookie (1.0.3)
+ http-cookie (1.0.4)
domain_name (~> 0.5)
http-form_data (2.3.0)
http-parser (1.2.3)
ffi-compiler (>= 1.0, < 2.0)
http_accept_language (2.1.1)
http_parser.rb (0.6.0)
- httparty (0.18.1)
+ httparty (0.20.0)
mime-types (~> 3.0)
multi_xml (>= 0.5.2)
httpclient (2.8.3)
- i18n (1.8.10)
+ i18n (1.9.1)
concurrent-ruby (~> 1.0)
i18n-inflector (2.6.7)
i18n (>= 0.4.1)
@@ -340,21 +345,24 @@ GEM
actionpack (>= 3.0.0)
i18n-inflector (~> 2.6)
railties (>= 3.0.0)
+ image_processing (1.12.1)
+ mini_magick (>= 4.9.5, < 5)
+ ruby-vips (>= 2.0.17, < 3)
ipaddress (0.8.3)
- jasmine (3.7.0)
- jasmine-core (~> 3.7.0)
+ jasmine (3.10.0)
+ jasmine-core (~> 3.10.0)
phantomjs
- rack (>= 1.2.1)
+ rack (>= 2.1.4)
rake
- jasmine-core (3.7.1)
+ webrick
+ jasmine-core (3.10.1)
jasmine-jquery-rails (2.0.3)
- jquery-rails (4.3.5)
+ jquery-rails (4.4.0)
rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0)
thor (>= 0.14, < 2.0)
- js-routes (1.4.9)
+ js-routes (2.1.2)
railties (>= 4)
- sprockets-rails
js_image_paths (0.1.1)
rails (>= 4.0, < 6.0)
sprockets (>= 3.0.0)
@@ -370,10 +378,10 @@ GEM
rspec
jsonpath (1.1.0)
multi_json
- jwt (2.2.2)
- kgio (2.11.3)
- kostya-sigar (2.0.8)
- leaflet-rails (1.6.0)
+ jwt (2.3.0)
+ kgio (2.11.4)
+ kostya-sigar (2.0.10)
+ leaflet-rails (1.7.0)
rails (>= 4.2.0)
listen (3.5.1)
rb-fsevent (~> 0.10, >= 0.10.3)
@@ -384,27 +392,26 @@ GEM
multi_json (~> 1.14)
logging-rails (0.6.0)
logging (>= 1.8)
- loofah (2.9.1)
+ loofah (2.14.0)
crass (~> 1.0.2)
nokogiri (>= 1.5.9)
macaddr (1.7.2)
systemu (~> 2.6.5)
mail (2.7.1)
mini_mime (>= 0.1.1)
- marcel (1.0.1)
+ marcel (1.0.2)
markdown-it-html5-embed (1.0.0)
markerb (1.1.0)
memoizable (0.4.2)
thread_safe (~> 0.3, >= 0.3.1)
method_source (1.0.0)
- middleware (0.1.0)
mime-types (3.3.1)
mime-types-data (~> 3.2015)
- mime-types-data (3.2021.0225)
- mini_magick (4.10.1)
- mini_mime (1.1.0)
- mini_portile2 (2.5.0)
- minitest (5.14.4)
+ mime-types-data (3.2021.0901)
+ mini_magick (4.11.0)
+ mini_mime (1.1.2)
+ mini_portile2 (2.6.1)
+ minitest (5.15.0)
mobile-fu (1.4.0)
rack-mobile-detect
rails
@@ -414,29 +421,33 @@ GEM
multipart-post (2.1.1)
mysql2 (0.5.3)
naught (1.1.0)
- nio4r (2.5.7)
- nokogiri (1.11.3)
- mini_portile2 (~> 2.5.0)
+ nio4r (2.5.8)
+ nokogiri (1.12.5)
+ mini_portile2 (~> 2.6.1)
racc (~> 1.4)
- oauth (0.5.6)
+ oauth (0.5.7)
oauth2 (1.4.7)
faraday (>= 0.8, < 2.0)
jwt (>= 1.0, < 3.0)
multi_json (~> 1.3)
multi_xml (~> 0.5)
rack (>= 1.2, < 3)
- octokit (4.20.0)
+ octokit (4.21.0)
faraday (>= 0.9)
sawyer (~> 0.8.0, >= 0.5.3)
- omniauth (1.9.1)
+ omniauth (2.0.4)
hashie (>= 3.4.6)
rack (>= 1.6.2, < 3)
+ rack-protection
omniauth-oauth (1.2.0)
oauth
omniauth (>= 1.0, < 3)
- omniauth-oauth2 (1.7.1)
+ omniauth-oauth2 (1.7.2)
oauth2 (~> 1.4)
omniauth (>= 1.9, < 3)
+ omniauth-rails_csrf_protection (1.0.0)
+ actionpack (>= 4.2)
+ omniauth (~> 2.0)
omniauth-tumblr (1.2)
multi_json
omniauth-oauth (~> 1.0)
@@ -445,10 +456,10 @@ GEM
rack
omniauth-wordpress (0.2.2)
omniauth-oauth2 (>= 1.1.0)
- open_graph_reader (0.7.1)
+ open_graph_reader (0.7.2)
faraday (>= 0.9.0)
nokogiri (~> 1.6)
- openid_connect (1.1.8)
+ openid_connect (1.3.0)
activemodel
attr_required (>= 1.0.0)
json-jwt (>= 1.5.0)
@@ -459,8 +470,8 @@ GEM
validate_url
webfinger (>= 1.0.1)
orm_adapter (0.5.0)
- parallel (1.20.1)
- parser (3.0.1.0)
+ parallel (1.21.0)
+ parser (3.0.2.0)
ast (~> 2.4.1)
pg (1.2.3)
phantomjs (2.1.1.0)
@@ -485,20 +496,15 @@ GEM
pronto-scss (0.11.0)
pronto (~> 0.11.0)
scss_lint (~> 0.43, >= 0.43.0)
- protobuf-cucumber (3.10.8)
- activesupport (>= 3.2)
- middleware
- thor
- thread_safe
- pry (0.13.1)
+ pry (0.14.1)
coderay (~> 1.1)
method_source (~> 1.0)
- pry-byebug (3.9.0)
+ pry-byebug (3.8.0)
byebug (~> 11.0)
- pry (~> 0.13.0)
+ pry (~> 0.10)
public_suffix (4.0.6)
raabro (1.4.0)
- racc (1.5.2)
+ racc (1.6.0)
rack (2.2.3)
rack-cors (1.1.1)
rack (>= 2.0.0)
@@ -507,30 +513,32 @@ GEM
activesupport
rack-mobile-detect (0.4.0)
rack
- rack-oauth2 (1.16.0)
+ rack-oauth2 (1.19.0)
activesupport
attr_required
httpclient
json-jwt (>= 1.11.0)
rack (>= 2.1.0)
rack-piwik (0.3.0)
+ rack-protection (2.1.0)
+ rack
rack-rewrite (1.5.1)
rack-ssl (1.4.1)
rack
rack-test (1.1.0)
rack (>= 1.0, < 3)
- rails (5.2.5)
- actioncable (= 5.2.5)
- actionmailer (= 5.2.5)
- actionpack (= 5.2.5)
- actionview (= 5.2.5)
- activejob (= 5.2.5)
- activemodel (= 5.2.5)
- activerecord (= 5.2.5)
- activestorage (= 5.2.5)
- activesupport (= 5.2.5)
+ rails (5.2.6.2)
+ actioncable (= 5.2.6.2)
+ actionmailer (= 5.2.6.2)
+ actionpack (= 5.2.6.2)
+ actionview (= 5.2.6.2)
+ activejob (= 5.2.6.2)
+ activemodel (= 5.2.6.2)
+ activerecord (= 5.2.6.2)
+ activestorage (= 5.2.6.2)
+ activesupport (= 5.2.6.2)
bundler (>= 1.3.0)
- railties (= 5.2.5)
+ railties (= 5.2.6.2)
sprockets-rails (>= 2.0.0)
rails-assets-autosize (4.0.2)
rails-assets-backbone (1.3.3)
@@ -556,7 +564,7 @@ GEM
rails-assets-jasmine (3.4.0)
rails-assets-jasmine-ajax (4.0.0)
rails-assets-jasmine (~> 3)
- rails-assets-jquery (3.4.1)
+ rails-assets-jquery (3.5.1)
rails-assets-jquery-colorbox (1.6.4)
rails-assets-jquery (>= 1.3.2)
rails-assets-jquery-fullscreen-plugin (0.5.0)
@@ -572,41 +580,42 @@ GEM
rails-assets-markdown-it--markdown-it-for-inline (0.1.1)
rails-assets-markdown-it (8.4.2)
rails-assets-markdown-it-diaspora-mention (1.2.0)
+ rails-assets-markdown-it-footnote (3.0.3)
rails-assets-markdown-it-hashtag (0.4.0)
rails-assets-markdown-it-sanitizer (0.4.3)
rails-assets-markdown-it-sub (1.0.0)
rails-assets-markdown-it-sup (1.0.0)
rails-assets-underscore (1.9.1)
rails-assets-utatti-perfect-scrollbar (1.4.0)
- rails-controller-testing (1.0.4)
- actionpack (>= 5.0.1.x)
- actionview (>= 5.0.1.x)
- activesupport (>= 5.0.1.x)
+ rails-controller-testing (1.0.5)
+ actionpack (>= 5.0.1.rc1)
+ actionview (>= 5.0.1.rc1)
+ activesupport (>= 5.0.1.rc1)
rails-dom-testing (2.0.3)
activesupport (>= 4.2.0)
nokogiri (>= 1.6)
- rails-html-sanitizer (1.3.0)
+ rails-html-sanitizer (1.4.2)
loofah (~> 2.3)
rails-i18n (5.1.3)
i18n (>= 0.7, < 2)
railties (>= 5.0, < 6)
- rails-timeago (2.18.0)
+ rails-timeago (2.19.1)
actionpack (>= 3.1)
activesupport (>= 3.1)
- railties (5.2.5)
- actionpack (= 5.2.5)
- activesupport (= 5.2.5)
+ railties (5.2.6.2)
+ actionpack (= 5.2.6.2)
+ activesupport (= 5.2.6.2)
method_source
rake (>= 0.8.7)
thor (>= 0.19.0, < 2.0)
rainbow (3.0.0)
- raindrops (0.19.1)
+ raindrops (0.19.2)
rake (12.3.3)
- rb-fsevent (0.10.4)
+ rb-fsevent (0.11.0)
rb-inotify (0.10.1)
ffi (~> 1.0)
redcarpet (3.5.1)
- redis (4.2.5)
+ redis (4.5.1)
regexp_parser (2.1.1)
request_store (1.5.0)
rack (>= 1.4)
@@ -615,10 +624,10 @@ GEM
railties (>= 5.0)
rexml (3.2.5)
rotp (6.2.0)
- rqrcode (1.1.2)
+ rqrcode (2.1.0)
chunky_png (~> 1.0)
- rqrcode_core (~> 0.1)
- rqrcode_core (0.2.0)
+ rqrcode_core (~> 1.0)
+ rqrcode_core (1.2.0)
rspec (3.10.0)
rspec-core (~> 3.10.0)
rspec-expectations (~> 3.10.0)
@@ -632,7 +641,7 @@ GEM
rspec-mocks (3.10.2)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.10.0)
- rspec-rails (5.0.1)
+ rspec-rails (5.0.2)
actionpack (>= 5.2)
activesupport (>= 5.2)
railties (>= 5.2)
@@ -640,7 +649,7 @@ GEM
rspec-expectations (~> 3.10)
rspec-mocks (~> 3.10)
rspec-support (~> 3.10)
- rspec-support (3.10.2)
+ rspec-support (3.10.3)
rubocop (0.93.1)
parallel (~> 1.10)
parser (>= 2.7.1.5)
@@ -650,15 +659,17 @@ GEM
rubocop-ast (>= 0.6.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 2.0)
- rubocop-ast (1.4.1)
- parser (>= 2.7.1.5)
+ rubocop-ast (1.7.0)
+ parser (>= 3.0.1.1)
rubocop-rails (2.9.1)
activesupport (>= 4.2.0)
rack (>= 1.1)
rubocop (>= 0.90.0, < 2.0)
- ruby-oembed (0.12.0)
+ ruby-oembed (0.15.0)
ruby-progressbar (1.11.0)
- rubyzip (2.3.0)
+ ruby-vips (2.1.3)
+ ffi (~> 1.12)
+ rubyzip (2.3.2)
rugged (1.0.1)
sass (3.4.25)
sass-rails (5.0.7)
@@ -675,10 +686,10 @@ GEM
scss_lint (0.55.0)
rake (>= 0.9, < 13)
sass (~> 3.4.20)
- secure_headers (6.3.2)
+ secure_headers (6.3.3)
shoulda-matchers (4.5.1)
activesupport (>= 4.2.0)
- sidekiq (6.2.1)
+ sidekiq (6.2.2)
connection_pool (>= 2.2.2)
rack (~> 2.0)
redis (>= 4.2.0)
@@ -693,20 +704,20 @@ GEM
simplecov-html (~> 0.11)
simplecov_json_formatter (~> 0.1)
simplecov-html (0.12.3)
- simplecov_json_formatter (0.1.2)
+ simplecov_json_formatter (0.1.3)
sinon-rails (1.15.0)
railties (>= 3.1)
sprockets (3.7.2)
concurrent-ruby (~> 1.0)
rack (> 1, < 3)
- sprockets-rails (3.2.1)
+ sprockets-rails (3.2.2)
actionpack (>= 4.0)
activesupport (>= 4.0)
sprockets (>= 3.0.0)
ssrf_filter (1.0.7)
state_machines (0.5.0)
string-direction (1.2.2)
- swd (1.2.0)
+ swd (1.3.0)
activesupport (>= 3)
attr_required (>= 0.0.5)
httpclient (>= 2.4)
@@ -717,12 +728,14 @@ GEM
temple (0.8.2)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
- thor (1.1.0)
+ terser (1.1.7)
+ execjs (>= 0.3.0, < 3)
+ thor (1.2.1)
thread_safe (0.3.6)
tilt (2.0.10)
timecop (0.9.4)
timers (4.3.3)
- toml-rb (2.0.1)
+ toml-rb (2.1.0)
citrus (~> 3.0, > 3.0)
turbo_dev_assets (0.0.2)
twitter (7.0.0)
@@ -742,12 +755,10 @@ GEM
ethon (>= 0.9.0)
tzinfo (1.2.9)
thread_safe (~> 0.1)
- uglifier (4.2.0)
- execjs (>= 0.3.0, < 3)
unf (0.1.4)
unf_ext
- unf_ext (0.0.7.7)
- unicode-display_width (1.7.0)
+ unf_ext (0.0.8)
+ unicode-display_width (1.8.0)
unicorn (6.0.0)
kgio (~> 2.6)
raindrops (~> 0.7)
@@ -769,17 +780,18 @@ GEM
yard (~> 0.9.20)
warden (1.2.9)
rack (>= 2.0.9)
- webfinger (1.1.0)
+ webfinger (1.2.0)
activesupport
httpclient (>= 2.4)
- webmock (3.12.2)
- addressable (>= 2.3.6)
+ webmock (3.14.0)
+ addressable (>= 2.8.0)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
- websocket-driver (0.7.3)
+ webrick (1.7.0)
+ websocket-driver (0.7.5)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
- will_paginate (3.3.0)
+ will_paginate (3.3.1)
xpath (3.2.0)
nokogiri (~> 1.8)
yard (0.9.26)
@@ -789,69 +801,70 @@ PLATFORMS
DEPENDENCIES
active_model_serializers (= 0.9.7)
- activerecord-import (= 1.0.4)
- acts-as-taggable-on (= 6.5.0)
+ activerecord-import (= 1.1.0)
+ acts-as-taggable-on (= 8.1.0)
acts_as_api (= 1.0.1)
- addressable (= 2.7.0)
+ addressable (= 2.8.0)
apparition (= 0.6.0)
- asset_sync (= 2.11.0)
- autoprefixer-rails (= 10.2.4.0)
+ asset_sync (= 2.15.0)
+ autoprefixer-rails (= 10.3.3.0)
bootstrap-sass (= 3.4.1)
bootstrap-switch-rails (= 3.3.3)
capybara (= 3.35.3)
- carrierwave (= 1.3.2)
+ carrierwave (= 2.2.2)
chrome_remote (= 0.3.0)
compass-rails (= 3.1.0)
configurate (= 0.5.0)
cucumber-api-steps (= 0.14)
- cucumber-rails (= 2.3.0)
- database_cleaner-active_record (= 1.8.0)
- devise (= 4.7.3)
- devise-two-factor (= 4.0.0)
+ cucumber-rails (= 2.4.0)
+ database_cleaner-active_record (= 2.0.1)
+ devise (= 4.8.0)
+ devise-two-factor (= 4.0.1)
devise_lastseenable (= 0.0.6)
diaspora-prosody-config (= 0.0.7)
- diaspora_federation-json_schema (= 0.2.6)
- diaspora_federation-rails (= 0.2.6)
- diaspora_federation-test (= 0.2.6)
+ diaspora_federation-json_schema (= 0.2.7)
+ diaspora_federation-rails (= 0.2.7)
+ diaspora_federation-test (= 0.2.7)
entypo-rails (= 3.0.0)
eye (= 0.10.0)
factory_girl_rails (= 4.9.0)
- faraday (= 0.15.4)
- faraday-cookie_jar (= 0.0.6)
- faraday_middleware (= 0.13.1)
+ faraday (= 0.17.4)
+ faraday-cookie_jar (= 0.0.7)
+ faraday_middleware (= 0.14.0)
fixture_builder (= 0.5.2)
- fog-aws (= 3.5.2)
+ fog-aws (= 3.12.0)
fuubar (= 2.5.1)
- gon (= 6.3.2)
- haml_lint (= 0.37.0)
- hamlit (= 2.14.6)
- handlebars_assets (= 0.23.8)
+ gon (= 6.4.0)
+ haml_lint (= 0.37.1)
+ hamlit (= 2.15.1)
+ handlebars_assets (= 0.23.9)
http_accept_language (= 2.1.1)
i18n-inflector-rails (= 1.0.7)
- jasmine (= 3.7.0)
+ jasmine (= 3.10.0)
jasmine-jquery-rails (= 2.0.3)
- jquery-rails (= 4.3.5)
- js-routes (= 1.4.9)
+ jquery-rails (= 4.4.0)
+ js-routes (= 2.1.2)
js_image_paths (= 0.1.1)
json (= 2.3.0)
json-schema (= 2.8.1)
json-schema-rspec (= 0.0.4)
- leaflet-rails (= 1.6.0)
+ leaflet-rails (= 1.7.0)
listen (= 3.5.1)
logging-rails (= 0.6.0)
markdown-it-html5-embed (= 1.0.0)
markerb (= 1.1.0)
- mini_magick (= 4.10.1)
+ mini_magick (= 4.11.0)
minitest
mobile-fu (= 1.4.0)
mysql2 (= 0.5.3)
- nokogiri (= 1.11.3)
- omniauth (= 1.9.1)
+ nokogiri (= 1.12.5)
+ omniauth (= 2.0.4)
+ omniauth-rails_csrf_protection (= 1.0.0)
omniauth-tumblr (= 1.2)
omniauth-twitter (= 1.4.0)
omniauth-wordpress (= 0.2.2)
- open_graph_reader (= 0.7.1)
- openid_connect (= 1.1.8)
+ open_graph_reader (= 0.7.2)
+ openid_connect (= 1.3.0)
pg (= 1.2.3)
pronto (= 0.11.0)
pronto-eslint (= 0.11.0)
@@ -865,7 +878,7 @@ DEPENDENCIES
rack-piwik (= 0.3.0)
rack-rewrite (= 1.5.1)
rack-ssl (= 1.4.1)
- rails (= 5.2.5)
+ rails (= 5.2.6.2)
rails-assets-autosize (= 4.0.2)!
rails-assets-backbone (= 1.3.3)!
rails-assets-blueimp-gallery (= 2.33.0)!
@@ -875,7 +888,7 @@ DEPENDENCIES
rails-assets-fine-uploader (= 5.13.0)!
rails-assets-highlightjs (= 9.12.0)!
rails-assets-jasmine-ajax (= 4.0.0)!
- rails-assets-jquery (= 3.4.1)!
+ rails-assets-jquery (= 3.5.1)!
rails-assets-jquery-placeholder (= 2.3.1)!
rails-assets-jquery-textchange (= 0.2.3)!
rails-assets-jquery.are-you-sure (= 1.9.0)!
@@ -883,47 +896,48 @@ DEPENDENCIES
rails-assets-markdown-it (= 8.4.2)!
rails-assets-markdown-it--markdown-it-for-inline (= 0.1.1)!
rails-assets-markdown-it-diaspora-mention (= 1.2.0)!
+ rails-assets-markdown-it-footnote (= 3.0.3)!
rails-assets-markdown-it-hashtag (= 0.4.0)!
rails-assets-markdown-it-sanitizer (= 0.4.3)!
rails-assets-markdown-it-sub (= 1.0.0)!
rails-assets-markdown-it-sup (= 1.0.0)!
rails-assets-utatti-perfect-scrollbar (= 1.4.0)!
- rails-controller-testing (= 1.0.4)
+ rails-controller-testing (= 1.0.5)
rails-i18n (= 5.1.3)
- rails-timeago (= 2.18.0)
+ rails-timeago (= 2.19.1)
redcarpet (= 3.5.1)
- redis (= 4.2.5)
+ redis (= 4.5.1)
responders (= 3.0.1)
- rqrcode (= 1.1.2)
+ rqrcode (= 2.1.0)
rspec-json_expectations (~> 2.1)
- rspec-rails (= 5.0.1)
+ rspec-rails (= 5.0.2)
rubocop (= 0.93.1)
rubocop-rails (= 2.9.1)
- ruby-oembed (= 0.12.0)
- rubyzip (= 2.3.0)
+ ruby-oembed (= 0.15.0)
+ rubyzip (= 2.3.2)
sass-rails (= 5.0.7)
- secure_headers (= 6.3.2)
+ secure_headers (= 6.3.3)
shoulda-matchers (= 4.5.1)
- sidekiq (= 6.2.1)
+ sidekiq (= 6.2.2)
sidekiq-cron (= 1.2.0)
simple_captcha2 (= 0.5.0)
simplecov (= 0.21.2)
sinon-rails (= 1.15.0)
- sprockets-rails (= 3.2.1)
+ sprockets-rails (= 3.2.2)
string-direction (= 1.2.2)
+ terser (= 1.1.7)
timecop (= 0.9.4)
- toml-rb (= 2.0.1)
+ toml-rb (= 2.1.0)
turbo_dev_assets (= 0.0.2)
twitter (= 7.0.0)
twitter-text (= 1.14.7)
typhoeus (= 1.4.0)
- uglifier (= 4.2.0)
unicorn (= 6.0.0)
unicorn-worker-killer (= 0.4.5)
uuid (= 2.3.9)
versionist (= 2.0.1)
- webmock (= 3.12.2)
- will_paginate (= 3.3.0)
+ webmock (= 3.14.0)
+ will_paginate (= 3.3.1)
BUNDLED WITH
1.17.3
diff --git a/README.md b/README.md
index 86aa402eb..ca52287a2 100644
--- a/README.md
+++ b/README.md
@@ -10,7 +10,7 @@
## Installation
-You don't have to install diaspora\* to use the network. There are many servers connected to diaspora\*s network which are open to anyone, and you can create an account on one of these servers. Have a look at our [tips for finding a home](https://wiki.diasporafoundation.org/Choosing_a_pod), or you can just go straight to the [list of open servers](https://diaspora.podupti.me) to sign up.
+You don't have to install diaspora\* to use the network. There are many servers connected to diaspora\*s network which are open to anyone, and you can create an account on one of these servers. Have a look at our [tips for finding a home](https://wiki.diasporafoundation.org/Choosing_a_pod), or you can just go straight to the [list of open servers](https://diaspora.fediverse.observer) to sign up.
Want to own your data and install diaspora\*? Whether you just want to try it out, want to install it on your server or want to contribute and need a development setup, our [installation guides](https://wiki.diasporafoundation.org/Installation) will get you started!
diff --git a/app/assets/javascripts/app/helpers/handlebars-helpers.js b/app/assets/javascripts/app/helpers/handlebars-helpers.js
index a6ed3de0c..0a33008ee 100644
--- a/app/assets/javascripts/app/helpers/handlebars-helpers.js
+++ b/app/assets/javascripts/app/helpers/handlebars-helpers.js
@@ -44,7 +44,7 @@ Handlebars.registerHelper('linkToPerson', function(context, block) {
// relationship indicator for profile page
Handlebars.registerHelper("sharingMessage", function(person) {
var i18nScope = "people.helper.is_not_sharing";
- var icon = "circle";
+ var icon = "entypo-record";
if( person.is_sharing ) {
i18nScope = "people.helper.is_sharing";
icon = "entypo-check";
diff --git a/app/assets/javascripts/app/helpers/text_formatter.js b/app/assets/javascripts/app/helpers/text_formatter.js
index 753590664..c9a302fe9 100644
--- a/app/assets/javascripts/app/helpers/text_formatter.js
+++ b/app/assets/javascripts/app/helpers/text_formatter.js
@@ -16,6 +16,9 @@
typographer: true
});
+ var footnote = window.markdownitFootnote;
+ md.use(footnote);
+
var inlinePlugin = window.markdownitForInline;
md.use(inlinePlugin, "utf8_symbols", "text", function (tokens, idx) {
tokens[idx].content = tokens[idx].content.replace(/<->/g, "↔")
diff --git a/app/assets/javascripts/app/views/hovercard_view.js b/app/assets/javascripts/app/views/hovercard_view.js
index 72ebe121a..7009917a9 100644
--- a/app/assets/javascripts/app/views/hovercard_view.js
+++ b/app/assets/javascripts/app/views/hovercard_view.js
@@ -19,10 +19,15 @@ app.views.Hovercard = app.views.Base.extend({
this.showMe = false;
this.parent = null; // current 'hovercardable' element that caused HC to appear
-
this.active = true;
},
+ presenter: function() {
+ return _.extend({}, this.defaultPresenter(), {
+ person: this.person
+ });
+ },
+
postRenderTemplate: function() {
this.$el.appendTo($("body"));
@@ -102,14 +107,14 @@ app.views.Hovercard = app.views.Base.extend({
if( !person || person.length === 0 ) {
throw new Error("received data is not a person object");
}
-
+ var personModel = new app.models.Person(person);
+ person.is_sharing = personModel.isSharing();
+ self.person = person;
if (app.currentUser.authenticated()) {
- self.aspectMembershipDropdown = new app.views.AspectMembership({person: new app.models.Person(person)});
+ self.aspectMembershipDropdown = new app.views.AspectMembership({person: personModel});
}
-
self.render();
- self._populateHovercardWith(person);
if( !self.showMe ) {
// mouse has left element
return;
@@ -118,23 +123,6 @@ app.views.Hovercard = app.views.Base.extend({
});
},
- _populateHovercardWith: function(person) {
- this.avatarLink.attr("href", this.href());
- this.personLink.attr("href", this.href());
- this.personLink.text(person.name);
- this.personID.text(person.diaspora_id);
-
- if (person.profile) {
- this.avatar.attr("src", person.profile.avatar);
-
- // set hashtags
- this.hashtags.empty();
- this.hashtags.html($(_.map(person.profile.tags, function(tag) {
- return $("<a/>", {href: Routes.tag(tag)}).text("#" + tag)[0];
- })));
- }
- },
-
_positionHovercard: function() {
var p_pos = this.parent.offset();
var p_height = this.parent.height();
diff --git a/app/assets/javascripts/app/views/locator.js b/app/assets/javascripts/app/views/locator.js
index 364f3fa39..56de93746 100644
--- a/app/assets/javascripts/app/views/locator.js
+++ b/app/assets/javascripts/app/views/locator.js
@@ -19,7 +19,7 @@ app.views.Location = Backbone.View.extend({
var locator = new OSM.Locator();
locator.getAddress(function(address, latlng){
$(element).empty();
- $("<input/>",
+ $("<input></input>",
{ id: "location_address",
value: address,
type: "text",
diff --git a/app/assets/javascripts/app/views/publisher_view.js b/app/assets/javascripts/app/views/publisher_view.js
index 84f957395..3dcd4ff50 100644
--- a/app/assets/javascripts/app/views/publisher_view.js
+++ b/app/assets/javascripts/app/views/publisher_view.js
@@ -351,7 +351,7 @@ app.views.Publisher = Backbone.View.extend({
};
var previewPost = new app.views.PreviewPost({model: new app.models.Post(previewMessage)}).render().el;
- return $("<div/>").append(previewPost).html();
+ return $("<div></div>").append(previewPost).html();
},
keyDown : function(evt) {
diff --git a/app/assets/javascripts/main.js b/app/assets/javascripts/main.js
index e359ad7c2..a1a65d610 100644
--- a/app/assets/javascripts/main.js
+++ b/app/assets/javascripts/main.js
@@ -23,6 +23,7 @@
//= require markdown-it
//= require markdown-it-diaspora-mention
//= require markdown-it-for-inline
+//= require markdown-it-footnote
//= require markdown-it-hashtag
//= require markdown-it-sanitizer
//= require markdown-it-sub
diff --git a/app/assets/javascripts/mobile/mobile_comments.js b/app/assets/javascripts/mobile/mobile_comments.js
index 78dbe5e15..270799f7b 100644
--- a/app/assets/javascripts/mobile/mobile_comments.js
+++ b/app/assets/javascripts/mobile/mobile_comments.js
@@ -185,8 +185,8 @@
addNewComments: function(bottomBar, data) {
if ($(".comment-container", bottomBar).length === 0) {
- $(".show-comments", bottomBar).after($("<div/>", {"class": "comment-container"}));
- $(".comment-container", bottomBar).append($("<ul/>", {"class": "comments"}));
+ $(".show-comments", bottomBar).after($("<div></div>", {"class": "comment-container"}));
+ $(".comment-container", bottomBar).append($("<ul></ul>", {"class": "comments"}));
}
$(".comment-container .comments", bottomBar).append(data);
},
@@ -212,8 +212,10 @@
var postGuid = bottomBar.parents(".stream-element").data("guid");
toggleReactionsLink.remove();
- toggleReactionsLink = $("<a/>", {"class": "show-comments", "href": Routes.postComments(postGuid) + ".mobile"})
- .html(text + "<i class='entypo-chevron-up'/>");
+ toggleReactionsLink = $("<a></a>", {
+ "class": "show-comments",
+ "href": Routes.postComments(postGuid) + ".mobile"
+ }).html(text + "<i class='entypo-chevron-up'/>");
parent.prepend(toggleReactionsLink);
bottomBar.removeClass("inactive").addClass("active");
}
diff --git a/app/assets/javascripts/mobile/publisher.js b/app/assets/javascripts/mobile/publisher.js
index f50c6aa71..9bac0f0bf 100644
--- a/app/assets/javascripts/mobile/publisher.js
+++ b/app/assets/javascripts/mobile/publisher.js
@@ -33,7 +33,7 @@ $(document).ready(function(){
if(hiddenField.length > 0) { hiddenField.remove(); }
else {
$("#new_status_message").append(
- $("<input/>", {
+ $("<input></input>", {
name: "services[]",
type: "hidden",
value: provider
diff --git a/app/assets/stylesheets/color_themes/_color_theme_override_dark.scss b/app/assets/stylesheets/color_themes/_color_theme_override_dark.scss
index 0a9791042..3a91e7da5 100644
--- a/app/assets/stylesheets/color_themes/_color_theme_override_dark.scss
+++ b/app/assets/stylesheets/color_themes/_color_theme_override_dark.scss
@@ -55,8 +55,8 @@ body {
.tag:hover { background-color: desaturate(darken($link-color, 35%), 20%); }
- #profile_container .profile_header {
- #author_info #sharing_message.entypo-check { color: lighten($green, 10%); }
+ #sharing_message.entypo-check {
+ color: lighten($green, 10%);
}
#invitationsModal #email_invitation { border-top: 1px dashed $gray-light; }
diff --git a/app/assets/stylesheets/gallery.scss b/app/assets/stylesheets/gallery.scss
index 67a1a467c..6780c2b3b 100644
--- a/app/assets/stylesheets/gallery.scss
+++ b/app/assets/stylesheets/gallery.scss
@@ -55,7 +55,6 @@ $margin: 15px;
li {
border: 0;
- border-radius: $thumbnail-size / 2;
height: $thumbnail-size;
margin: $margin 6px;
vertical-align: middle;
diff --git a/app/assets/stylesheets/header.scss b/app/assets/stylesheets/header.scss
index 55fe8f924..c3285f99f 100644
--- a/app/assets/stylesheets/header.scss
+++ b/app/assets/stylesheets/header.scss
@@ -119,6 +119,19 @@
}
}
+ .dropdown-toggle {
+ align-items: center;
+ display: flex;
+
+ .user-name {
+ margin-right: 3px;
+ max-width: 250px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+ }
+
.user-menu-dropdown {
padding: 0;
}
diff --git a/app/assets/stylesheets/hovercard.scss b/app/assets/stylesheets/hovercard.scss
index 89e3b4cde..3f59e10bc 100644
--- a/app/assets/stylesheets/hovercard.scss
+++ b/app/assets/stylesheets/hovercard.scss
@@ -33,6 +33,12 @@
text-overflow: ellipsis;
}
+ .status-container {
+ align-items: center;
+ display: flex;
+ margin-bottom: 5px;
+ }
+
#hovercard_dropdown_container {
overflow: visible !important; /* otherwise the aspect dropdown is cropped */
}
@@ -53,10 +59,7 @@
.handle {
color: $text-grey;
- line-height: 18px;
- padding-top: 0px;
- margin-top: 0px;
- margin-bottom: 5px;
+ margin-right: 2px;
}
.btn-group.aspect-membership-dropdown { margin: 0 !important; }
diff --git a/app/assets/stylesheets/people.scss b/app/assets/stylesheets/people.scss
index 2283f8066..8daa65c1a 100644
--- a/app/assets/stylesheets/people.scss
+++ b/app/assets/stylesheets/people.scss
@@ -5,6 +5,7 @@
}
.invitations-button { padding-left: 0; }
}
+
#people-stream {
.media, .media-body {
overflow: visible;
@@ -28,6 +29,7 @@
.info { font-size: $font-size-small; }
}
}
+
#blocked_people {
.blocked-person {
border-bottom: 1px solid $border-grey;
@@ -45,3 +47,13 @@
.btn-danger { margin-top: 9px; }
}
}
+
+#sharing_message {
+ &.entypo-check {
+ color: darken($brand-success, 20%);
+ }
+
+ &.entypo-record {
+ color: $text-grey;
+ }
+}
diff --git a/app/assets/stylesheets/profile.scss b/app/assets/stylesheets/profile.scss
index 8e0c7e87d..3df4dfc78 100644
--- a/app/assets/stylesheets/profile.scss
+++ b/app/assets/stylesheets/profile.scss
@@ -28,11 +28,6 @@
#sharing_message {
cursor: default;
font-size: 20px;
- &.circle {
- color: $text-grey;
- &:before { content: '\26aa'; }
- }
- &.entypo-check { color: darken($brand-success,20%); }
}
.description {
margin-bottom: 20px;
diff --git a/app/assets/templates/aspect_membership_dropdown_tpl.jst.hbs b/app/assets/templates/aspect_membership_dropdown_tpl.jst.hbs
index 03e24c939..f4a96f1c2 100644
--- a/app/assets/templates/aspect_membership_dropdown_tpl.jst.hbs
+++ b/app/assets/templates/aspect_membership_dropdown_tpl.jst.hbs
@@ -10,7 +10,7 @@
{{ t "aspect_dropdown.toggle" count=aspectMembershipsLength }}
{{/if}}
</span>
- <span class="caret" />
+ <span class="caret"></span>
</button>
<ul class="dropdown-menu aspect-membership pull-right" unselectable="on">
@@ -29,8 +29,8 @@
>
<a>
<span class="status_indicator">
- <i class="glyphicon glyphicon-ok" />
- <i class="glyphicon glyphicon-refresh" />
+ <i class="glyphicon glyphicon-ok"></i>
+ <i class="glyphicon glyphicon-refresh"></i>
</span>
<span class="text">
{{name}}
@@ -39,7 +39,7 @@
</li>
{{/each}}
{{#if dropdownMayCreateNewAspect}}
- <li class="divider" />
+ <li class="divider"></li>
<li class="newItem add_aspect">
<a data-target="#newAspectModal" data-toggle="modal" href="#">
{{ t "aspects.create.add_a_new_aspect" }}
@@ -48,5 +48,5 @@
{{/if}}
</ul>
{{#if dropdownMayCreateNewAspect}}
- <div class="newAspectContainer"/>
+ <div class="newAspectContainer"></div>
{{/if}}
diff --git a/app/assets/templates/comment-stream_tpl.jst.hbs b/app/assets/templates/comment-stream_tpl.jst.hbs
index 9e0da98b7..6ed798237 100644
--- a/app/assets/templates/comment-stream_tpl.jst.hbs
+++ b/app/assets/templates/comment-stream_tpl.jst.hbs
@@ -29,7 +29,7 @@
class="new-comment" id="new-comment-on-{{id}}" method="post">
<textarea class="comment-box form-control mention-textarea"
- id="comment_text_on_{{id}}" name="text" rows="1" required placeholder="{{t "stream.comment"}}" />
+ id="comment_text_on_{{id}}" name="text" rows="1" required placeholder="{{t "stream.comment"}}"></textarea>
<div class="typeahead-mention-box-wrap">
<input class="typeahead-mention-box hidden" type="text">
</div>
diff --git a/app/assets/templates/comment_tpl.jst.hbs b/app/assets/templates/comment_tpl.jst.hbs
index 81c2d5064..36d56ef1c 100644
--- a/app/assets/templates/comment_tpl.jst.hbs
+++ b/app/assets/templates/comment_tpl.jst.hbs
@@ -11,7 +11,7 @@
{{#if canRemove}}
<a href="#" class="delete comment_delete" title="{{t "delete"}}">
<i class="entypo-trash"></i>
- <a/>
+ </a>
{{else}}
<a href="#" data-type="Comment" class="comment_report" title="{{t "report.name"}}">
<i class="entypo-warning"></i>
@@ -26,7 +26,7 @@
{{/linkToAuthor}}
-
<a href="/posts/{{parent.id}}#{{guid}}" class="permalink_comment">
- <time class="timeago" data-original-title="{{{localTime created_at}}}" datetime="{{created_at}}"/>
+ <time class="timeago" data-original-title="{{{localTime created_at}}}" datetime="{{created_at}}"></time>
</a>
<a href="/posts/{{parent.guid}}#{{guid}}" class="permalink gray" title="{{t "stream.permalink"}}">
<i class="entypo-link"></i>
diff --git a/app/assets/templates/header_tpl.jst.hbs b/app/assets/templates/header_tpl.jst.hbs
index d730a8bd5..567f3aa85 100644
--- a/app/assets/templates/header_tpl.jst.hbs
+++ b/app/assets/templates/header_tpl.jst.hbs
@@ -69,7 +69,7 @@
<ul class="nav navbar-nav navbar-right">
<li class="dropdown user-menu" id="user-menu">
<a href="{{urlTo "person" current_user.guid}}" class="dropdown-toggle hidden-xs hidden-sm" data-toggle="dropdown" role="button" aria-expanded="false">
- <span class="user-avatar pull-left">
+ <span class="user-avatar">
{{{personImage current_user "small"}}}
</span>
<span class="user-name">{{current_user.name}}</span>
diff --git a/app/assets/templates/hovercard_tpl.jst.hbs b/app/assets/templates/hovercard_tpl.jst.hbs
index c95ef3e94..88906d8f6 100644
--- a/app/assets/templates/hovercard_tpl.jst.hbs
+++ b/app/assets/templates/hovercard_tpl.jst.hbs
@@ -1,15 +1,22 @@
+{{#with person}}
<div id="hovercard">
- <a class='person_avatar'>
- <img class="avatar">
+ <a class="person_avatar" href="{{urlTo 'person' guid}}">
+ <img class="avatar" src="{{profile.avatar}}" />
</a>
<h4>
- <a class="person"></a>
+ <a class="person" href="{{urlTo 'person' guid}}">{{name}}</a>
</h4>
- <div class="handle"></div>
+ <div class="status-container">
+ <div class="handle">{{diaspora_id}}</div>
+ {{{sharingMessage this}}}
+ </div>
<div id="hovercard_dropdown_container"></div>
<div class="card-footer">
<div class="footer-container">
- <div class="hashtags"></div>
+ <div class="hashtags">
+ {{fmtTags profile.tags}}
+ </div>
</div>
</div>
</div>
+{{/with}}
diff --git a/app/assets/templates/photo_tpl.jst.hbs b/app/assets/templates/photo_tpl.jst.hbs
index 388ddaf0b..9c5e4a4d2 100644
--- a/app/assets/templates/photo_tpl.jst.hbs
+++ b/app/assets/templates/photo_tpl.jst.hbs
@@ -27,10 +27,10 @@
<div class="footer-container">
{{#if status_message}}
<a href="{{urlTo "post" status_message.id}}">
- <time class="timeago" data-original-title="{{{localTime created_at}}}" datetime="{{created_at}}" />
+ <time class="timeago" data-original-title="{{{localTime created_at}}}" datetime="{{created_at}}"></time>
</a>
{{else}}
- <time class="timeago" data-original-title="{{{localTime created_at}}}" datetime="{{created_at}}" />
+ <time class="timeago" data-original-title="{{{localTime created_at}}}" datetime="{{created_at}}"></time>
{{/if}}
</div>
</div>
diff --git a/app/assets/templates/pod_table_entry_tpl.jst.hbs b/app/assets/templates/pod_table_entry_tpl.jst.hbs
index e43ee6c6f..46f0a9909 100644
--- a/app/assets/templates/pod_table_entry_tpl.jst.hbs
+++ b/app/assets/templates/pod_table_entry_tpl.jst.hbs
@@ -9,7 +9,7 @@
</td>
<td class="pod-title" title="{{host}}">{{host}}</td>
<td class="added">
- <small><time datetime="{{created_at}}" title="{{localTime created_at}}" /></small>
+ <small><time datetime="{{created_at}}" title="{{localTime created_at}}"></time></small>
</td>
<td>
{{#if has_no_errors}}
@@ -18,10 +18,10 @@
{{status_text}}
{{/if}}
{{#unless is_unchecked}}
- <br><small>{{t 'admin.pods.last_check'}} <time datetime="{{checked_at}}" title="{{localTime checked_at}}" /></small>
+ <br><small>{{t 'admin.pods.last_check'}} <time datetime="{{checked_at}}" title="{{localTime checked_at}}"></time></small>
{{/unless}}
{{#if offline}}
- | <small>{{t 'admin.pods.offline_since'}} <time datetime="{{offline_since}}" title="{{localTime offline_since}}" /></small>
+ | <small>{{t 'admin.pods.offline_since'}} <time datetime="{{offline_since}}" title="{{localTime offline_since}}"></time></small>
{{/if}}
{{#if is_unchecked}}<br><small class="text-muted">{{t 'admin.pods.no_info'}}</small>{{/if}}
<pre class="details" style="display: none;">
diff --git a/app/assets/templates/reshare_tpl.jst.hbs b/app/assets/templates/reshare_tpl.jst.hbs
index 048b789f1..c8aa22095 100644
--- a/app/assets/templates/reshare_tpl.jst.hbs
+++ b/app/assets/templates/reshare_tpl.jst.hbs
@@ -15,7 +15,7 @@
<span class="details gray">
-
<a href="/posts/{{id}}">
- <time class="timeago" data-original-title="{{{localTime created_at}}}" datetime="{{created_at}}" />
+ <time class="timeago" data-original-title="{{{localTime created_at}}}" datetime="{{created_at}}"></time>
</a>
</span>
</div>
diff --git a/app/assets/templates/single-post-viewer/single-post-content_tpl.jst.hbs b/app/assets/templates/single-post-viewer/single-post-content_tpl.jst.hbs
index dd96957c5..94995cb12 100644
--- a/app/assets/templates/single-post-viewer/single-post-content_tpl.jst.hbs
+++ b/app/assets/templates/single-post-viewer/single-post-content_tpl.jst.hbs
@@ -40,11 +40,11 @@
<span class="post-time">
{{#if root}}
<a href="/posts/{{root.guid}}">
- <time datetime="{{root.created_at}}" title="{{localTime root.created_at}}" />
+ <time datetime="{{root.created_at}}" title="{{localTime root.created_at}}"></time>
</a>
{{else}}
<a href="/posts/{{guid}}">
- <time datetime="{{created_at}}" title="{{localTime created_at}}" />
+ <time datetime="{{created_at}}" title="{{localTime created_at}}"></time>
</a>
{{/if}}
</span>
@@ -59,12 +59,12 @@
{{/if}}
</div>
{{#unless root}}
- <div id="single-post-moderation" />
+ <div id="single-post-moderation"></div>
{{/unless}}
</div>
</div>
{{#unless root}}
- <div id="single-post-actions" class="col-md-4" />
+ <div id="single-post-actions" class="col-md-4"></div>
{{/unless}}
</div>
{{#if location.lat}}
@@ -92,13 +92,13 @@
<div class="post-context">
<span class="post-time">
<a href="/posts/{{guid}}">
- <time datetime="{{created_at}}" title="{{localTime created_at}}" />
+ <time datetime="{{created_at}}" title="{{localTime created_at}}"></time>
</a>
</span>
- <span id="single-post-moderation" />
+ <span id="single-post-moderation"></span>
</div>
</div>
- <div id="single-post-actions" class="col-md-4" />
+ <div id="single-post-actions" class="col-md-4"></div>
</div>
{{/if}}
</div>
diff --git a/app/assets/templates/stream-element_tpl.jst.hbs b/app/assets/templates/stream-element_tpl.jst.hbs
index 9240a3bfd..cb860b63a 100644
--- a/app/assets/templates/stream-element_tpl.jst.hbs
+++ b/app/assets/templates/stream-element_tpl.jst.hbs
@@ -22,7 +22,7 @@
<span class="details gray post-timestamp">
-
<a href="/posts/{{id}}">
- <time class="timeago" data-original-title="{{{localTime created_at}}}" datetime="{{created_at}}" />
+ <time class="timeago" data-original-title="{{{localTime created_at}}}" datetime="{{created_at}}"></time>
</a>
<a href="/posts/{{guid}}" class="permalink" title="{{t "stream.permalink"}}">
diff --git a/app/controllers/people_controller.rb b/app/controllers/people_controller.rb
index 9d33cf338..f03036e10 100644
--- a/app/controllers/people_controller.rb
+++ b/app/controllers/people_controller.rb
@@ -113,15 +113,6 @@ class PeopleController < ApplicationController
end
end
- def retrieve_remote
- if params[:diaspora_handle]
- Workers::FetchWebfinger.perform_async(params[:diaspora_handle])
- head :ok
- else
- head :unprocessable_entity
- end
- end
-
private
def find_person
diff --git a/app/helpers/interim_stream_hackiness_helper.rb b/app/helpers/interim_stream_hackiness_helper.rb
index b2c7056c7..cf5f547f9 100644
--- a/app/helpers/interim_stream_hackiness_helper.rb
+++ b/app/helpers/interim_stream_hackiness_helper.rb
@@ -1,17 +1,6 @@
# frozen_string_literal: true
module InterimStreamHackinessHelper
- def commenting_disabled?(post)
- return true unless user_signed_in?
- if defined?(@commenting_disabled)
- @commenting_disabled
- elsif defined?(@stream)
- !@stream.can_comment?(post)
- else
- false
- end
- end
-
##### These methods need to go away once we pass publisher object into the partial ######
def publisher_formatted_text
if params[:prefill].present?
diff --git a/app/models/account_migration.rb b/app/models/account_migration.rb
index 0be2ae932..274ecdecf 100644
--- a/app/models/account_migration.rb
+++ b/app/models/account_migration.rb
@@ -90,6 +90,10 @@ class AccountMigration < ApplicationRecord
old_user && new_user
end
+ def includes_photo_migration?
+ remote_photo_path.present?
+ end
+
# We need to resend contacts of users of our pod for the remote new person so that the remote pod received this
# contact information from the authoritative source.
def dispatch_contacts
@@ -122,13 +126,14 @@ class AccountMigration < ApplicationRecord
end
def update_all_references
+ update_remote_photo_path if remotely_initiated? && includes_photo_migration?
update_person_references
update_user_references if user_changed_id_locally?
end
def person_references
references = Person.reflections.reject {|key, _|
- %w[profile owner notifications pod].include?(key)
+ %w[profile owner notifications pod account_deletion account_migration].include?(key)
}
references.map {|key, value|
@@ -200,6 +205,20 @@ class AccountMigration < ApplicationRecord
.destroy_all
end
+ def update_remote_photo_path
+ Photo.where(author: old_person)
+ .update_all(remote_photo_path: remote_photo_path) # rubocop:disable Rails/SkipsModelValidations
+ return unless user_left_our_pod?
+
+ Photo.where(author: old_person).find_in_batches do |batch|
+ batch.each do |photo|
+ photo.processed_image = nil
+ photo.unprocessed_image = nil
+ logger.warn "Error cleaning up photo #{photo.id}" unless photo.save
+ end
+ end
+ end
+
def update_person_references
logger.debug "Updating references from person id=#{old_person.id} to person id=#{new_person.id}"
eliminate_person_duplicates
diff --git a/app/models/block.rb b/app/models/block.rb
index 147361cac..48254071a 100644
--- a/app/models/block.rb
+++ b/app/models/block.rb
@@ -4,7 +4,7 @@ class Block < ApplicationRecord
belongs_to :person
belongs_to :user
- delegate :name, to: :person, prefix: true
+ delegate :name, :diaspora_handle, to: :person, prefix: true
validates :person_id, uniqueness: {scope: :user_id}
diff --git a/app/models/person.rb b/app/models/person.rb
index 081a08dd8..5a61a01ca 100644
--- a/app/models/person.rb
+++ b/app/models/person.rb
@@ -57,6 +57,9 @@ class Person < ApplicationRecord
has_many :mentions, :dependent => :destroy
+ has_one :account_deletion, dependent: :destroy
+ has_one :account_migration, foreign_key: :old_person_id, dependent: :nullify, inverse_of: :old_person
+
validate :owner_xor_pod
validate :other_person_with_same_guid, on: :create
validates :profile, :presence => true
diff --git a/app/models/services/tumblr.rb b/app/models/services/tumblr.rb
index 59f93ef79..f1c77e3f8 100644
--- a/app/models/services/tumblr.rb
+++ b/app/models/services/tumblr.rb
@@ -1,69 +1,78 @@
# frozen_string_literal: true
-class Services::Tumblr < Service
- MAX_CHARACTERS = 1000
+module Services
+ class Tumblr < Service
+ MAX_CHARACTERS = 1000
- def provider
- "tumblr"
- end
+ def provider
+ "tumblr"
+ end
- def consumer_key
- AppConfig.services.tumblr.key
- end
+ def post(post, url="") # rubocop:disable Metrics/AbcSize
+ return true if post.nil? # return if post is deleted while waiting in queue
- def consumer_secret
- AppConfig.services.tumblr.secret
- end
+ body = build_tumblr_post(post, url)
+ user_info = JSON.parse(client.get("/v2/user/info").body)
+ blogs = user_info["response"]["user"]["blogs"]
+ primaryblog = blogs.find {|blog| blog["primary"] } || blogs[0]
- def post(post, url='')
- body = build_tumblr_post(post, url)
- user_info = JSON.parse(client.get("/v2/user/info").body)
- blogs = user_info["response"]["user"]["blogs"]
- primaryblog = blogs.find {|blog| blog["primary"] } || blogs[0]
- tumblr_ids = {}
-
- blogurl = URI.parse(primaryblog["url"])
- resp = client.post("/v2/blog/#{blogurl.host}/post", body)
- if resp.code == "201"
- tumblr_ids[blogurl.host.to_s] = JSON.parse(resp.body)["response"]["id"]
+ tumblr_ids = {}
+
+ blogurl = URI.parse(primaryblog["url"])
+ tumblr_ids[blogurl.host.to_s] = request_to_external_blog(blogurl, body)
+
+ post.tumblr_ids = tumblr_ids.to_json
+ post.save
end
- post.tumblr_ids = tumblr_ids.to_json
- post.save
- end
+ def post_opts(post)
+ {tumblr_ids: post.tumblr_ids} if post.tumblr_ids.present?
+ end
- def build_tumblr_post(post, url)
- { :type => 'text', :format => "markdown", :body => tumblr_template(post, url) }
- end
+ def delete_from_service(opts)
+ logger.debug "event=delete_from_service type=tumblr sender_id=#{user_id} tumblr_ids=#{opts[:tumblr_ids]}"
+ tumblr_posts = JSON.parse(opts[:tumblr_ids])
+ tumblr_posts.each do |blog_name, post_id|
+ delete_from_tumblr(blog_name, post_id)
+ end
+ end
- def tumblr_template(post, url)
- photo_html = post.photos.map {|photo|
- "![photo](#{photo.url(:scaled_full)})\n\n"
- }.join
+ def build_tumblr_post(post, url)
+ {type: "text", format: "markdown", body: tumblr_template(post, url), tags: tags(post), native_inline_images: true}
+ end
- "#{photo_html}#{post.message.html(mentioned_people: [])}\n\n[original post](#{url})"
- end
+ private
- def post_opts(post)
- {tumblr_ids: post.tumblr_ids} if post.tumblr_ids.present?
- end
+ def client
+ @consumer ||= OAuth::Consumer.new(consumer_key, consumer_secret, site: "https://api.tumblr.com")
+ @client ||= OAuth::AccessToken.new(@consumer, access_token, access_secret)
+ end
+
+ def tumblr_template(post, url)
+ photo_html = post.photos.map {|photo| "![photo](#{photo.url(:scaled_full)})\n\n" }.join
- def delete_from_service(opts)
- logger.debug "event=delete_from_service type=tumblr sender_id=#{user_id} tumblr_ids=#{opts[:tumblr_ids]}"
- tumblr_posts = JSON.parse(opts[:tumblr_ids])
- tumblr_posts.each do |blog_name, post_id|
- delete_from_tumblr(blog_name, post_id)
+ "#{photo_html}#{post.message.html(mentioned_people: [])}\n\n[original post](#{url})"
end
- end
- def delete_from_tumblr(blog_name, service_post_id)
- client.post("/v2/blog/#{blog_name}/post/delete", "id" => service_post_id)
- end
+ def tags(post)
+ post.tags.pluck(:name).join(",").to_s
+ end
+
+ def delete_from_tumblr(blog_name, service_post_id)
+ client.post("/v2/blog/#{blog_name}/post/delete", "id" => service_post_id)
+ end
- private
- def client
- @consumer ||= OAuth::Consumer.new(consumer_key, consumer_secret, :site => 'http://api.tumblr.com')
- @client ||= OAuth::AccessToken.new(@consumer, self.access_token, self.access_secret)
+ def request_to_external_blog(blogurl, body)
+ resp = client.post("/v2/blog/#{blogurl.host}/post", body)
+ JSON.parse(resp.body)["response"]["id"] if resp.code == "201"
+ end
+
+ def consumer_key
+ AppConfig.services.tumblr.key
+ end
+
+ def consumer_secret
+ AppConfig.services.tumblr.secret
+ end
end
end
-
diff --git a/app/models/user.rb b/app/models/user.rb
index bfc97325b..788fe6aba 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -36,10 +36,8 @@ class User < ApplicationRecord
before_validation :set_current_language, :on => :create
before_validation :set_default_color_theme, on: :create
- validates :username, :presence => true, :uniqueness => true
- validates_format_of :username, :with => /\A[A-Za-z0-9_]+\z/
- validates_length_of :username, :maximum => 32
- validates_exclusion_of :username, :in => AppConfig.settings.username_blacklist
+ validates :username, presence: true, uniqueness: true, format: {with: /\A[A-Za-z0-9_.\-]+\z/},
+ length: {maximum: 32}, exclusion: {in: AppConfig.settings.username_blacklist}
validates_inclusion_of :language, :in => AVAILABLE_LANGUAGE_CODES
validates :color_theme, inclusion: {in: AVAILABLE_COLOR_THEMES}, allow_blank: true
validates_format_of :unconfirmed_email, :with => Devise.email_regexp, :allow_blank => true
@@ -444,8 +442,13 @@ class User < ApplicationRecord
aq = self.aspects.create(:name => I18n.t('aspects.seed.acquaintances'))
if AppConfig.settings.autofollow_on_join?
- default_account = Person.find_or_fetch_by_identifier(AppConfig.settings.autofollow_on_join_user)
- self.share_with(default_account, aq) if default_account
+ begin
+ default_account = Person.find_or_fetch_by_identifier(AppConfig.settings.autofollow_on_join_user)
+ share_with(default_account, aq)
+ rescue DiasporaFederation::Discovery::DiscoveryError
+ logger.warn "Error auto-sharing with #{AppConfig.settings.autofollow_on_join_user}
+ fix autofollow_on_join_user in configuration."
+ end
end
aq
end
diff --git a/app/presenters/node_info_presenter.rb b/app/presenters/node_info_presenter.rb
index e0c2c579b..8eeda65d3 100644
--- a/app/presenters/node_info_presenter.rb
+++ b/app/presenters/node_info_presenter.rb
@@ -105,15 +105,19 @@ class NodeInfoPresenter
end
def local_posts
- @local_posts ||= Post.where(type: "StatusMessage")
- .joins(:author)
- .where("owner_id IS NOT null")
- .count
+ Rails.cache.fetch("NodeInfoPresenter/local_posts", expires_in: 1.hour) do
+ @local_posts ||= Post.where(type: "StatusMessage")
+ .joins(:author)
+ .where.not(people: {owner_id: nil})
+ .count
+ end
end
def local_comments
- @local_comments ||= Comment.joins(:author)
- .where("owner_id IS NOT null")
- .count
+ Rails.cache.fetch("NodeInfoPresenter/local_comments", expires_in: 1.hour) do
+ @local_comments ||= Comment.joins(:author)
+ .where.not(people: {owner_id: nil})
+ .count
+ end
end
end
diff --git a/app/presenters/person_presenter.rb b/app/presenters/person_presenter.rb
index bb415cbf7..21d5e913f 100644
--- a/app/presenters/person_presenter.rb
+++ b/app/presenters/person_presenter.rb
@@ -24,7 +24,7 @@ class PersonPresenter < BasePresenter
end
def hovercard
- base_hash_with_contact.merge(profile: ProfilePresenter.new(profile).for_hovercard)
+ full_hash.merge(profile: ProfilePresenter.new(profile).for_hovercard)
end
def metas_attributes
diff --git a/app/serializers/export/aspect_serializer.rb b/app/serializers/export/aspect_serializer.rb
index 938939ad9..478bef3fa 100644
--- a/app/serializers/export/aspect_serializer.rb
+++ b/app/serializers/export/aspect_serializer.rb
@@ -2,6 +2,6 @@
module Export
class AspectSerializer < ActiveModel::Serializer
- attributes :name, :chat_enabled
+ attributes :name
end
end
diff --git a/app/serializers/export/user_serializer.rb b/app/serializers/export/user_serializer.rb
index f1c4db5a3..dcf435b6b 100644
--- a/app/serializers/export/user_serializer.rb
+++ b/app/serializers/export/user_serializer.rb
@@ -10,7 +10,8 @@ module Export
:show_community_spotlight_in_stream,
:auto_follow_back,
:auto_follow_back_aspect,
- :strip_exif
+ :strip_exif,
+ :blocks
has_one :profile, serializer: FederationEntitySerializer
has_many :contact_groups, each_serializer: Export::AspectSerializer
has_many :contacts, each_serializer: Export::ContactSerializer
@@ -45,6 +46,10 @@ module Export
}
end
+ def blocks
+ object.blocks.map(&:person_diaspora_handle)
+ end
+
%i[comments likes poll_participations].each {|collection|
delegate collection, to: :person
}
diff --git a/app/serializers/federation_entity_serializer.rb b/app/serializers/federation_entity_serializer.rb
index 22fa74afc..c19b4b30f 100644
--- a/app/serializers/federation_entity_serializer.rb
+++ b/app/serializers/federation_entity_serializer.rb
@@ -5,11 +5,26 @@
# are used as for federation messages generation.
class FederationEntitySerializer < ActiveModel::Serializer
include SerializerPostProcessing
+ include Diaspora::Logging
private
def modify_serializable_object(hash)
hash.merge(entity.to_json)
+ rescue DiasporaFederation::Entities::Relayable::AuthorPrivateKeyNotFound => e
+ # The author of this relayable probably migrated from this pod to a different pod,
+ # and we neither have the signature nor the new private key to generate a valid signature.
+ # But we can use the private key of the old user to generate the signature it had when this entity was created
+ old_person = AccountMigration.joins(:old_person)
+ .where("new_person_id = ? AND people.owner_id IS NOT NULL", object.author_id)
+ .first.old_person
+ if old_person
+ logger.info "Using private key of #{old_person.diaspora_handle} to export: #{e.message}"
+ object.author = old_person
+ hash.merge(entity.to_json)
+ else
+ logger.warn "Skip entity for export because #{e.class}: #{e.message}"
+ end
end
def entity
diff --git a/app/uploaders/exported_user.rb b/app/uploaders/exported_user.rb
index 53201d918..3fc0172e6 100644
--- a/app/uploaders/exported_user.rb
+++ b/app/uploaders/exported_user.rb
@@ -9,7 +9,7 @@ class ExportedUser < SecureUploader
"uploads/users"
end
- def extension_whitelist
+ def extension_allowlist
%w[gz]
end
diff --git a/app/uploaders/processed_image.rb b/app/uploaders/processed_image.rb
index 9d614f466..79b61b9c7 100644
--- a/app/uploaders/processed_image.rb
+++ b/app/uploaders/processed_image.rb
@@ -11,7 +11,7 @@ class ProcessedImage < CarrierWave::Uploader::Base
"uploads/images"
end
- def extension_whitelist
+ def extension_allowlist
%w[jpg jpeg png gif]
end
diff --git a/app/uploaders/unprocessed_image.rb b/app/uploaders/unprocessed_image.rb
index b662f3b40..6dad5f602 100644
--- a/app/uploaders/unprocessed_image.rb
+++ b/app/uploaders/unprocessed_image.rb
@@ -17,7 +17,7 @@ class UnprocessedImage < CarrierWave::Uploader::Base
"uploads/images"
end
- def extension_whitelist
+ def extension_allowlist
%w[jpg jpeg png gif]
end
diff --git a/app/views/devise/mailer/confirmation_instructions.markerb b/app/views/devise/mailer/confirmation_instructions.markerb
index 80b5f86a4..6e0211f1f 100644
--- a/app/views/devise/mailer/confirmation_instructions.markerb
+++ b/app/views/devise/mailer/confirmation_instructions.markerb
@@ -1,7 +1,7 @@
-<%= t('devise.mailer.welcome', :email => @resource.email) %>
+<%= t('devise.mailer.welcome', username: @resource.username) %>
<%= t('.you_can_confirm') %>
[<%= t('.confirm') %>][1]
-[1]: <%= confirmation_url(@resource, :confirmation_token => @token) %>
+[1]: <%= confirmation_url(@resource, confirmation_token: @token) %>
diff --git a/app/views/devise/mailer/reset_password_instructions.markerb b/app/views/devise/mailer/reset_password_instructions.markerb
index 1fe10a09a..ac800dd25 100644
--- a/app/views/devise/mailer/reset_password_instructions.markerb
+++ b/app/views/devise/mailer/reset_password_instructions.markerb
@@ -1,10 +1,12 @@
-<%= t('devise.mailer.hello', :email => @resource.email) %>
+<%= t('devise.mailer.hello', username: @resource.username) %>
<%= t('.someone_requested') %>
[<%= t('.change') %>][1]
-[1]: <%= edit_password_url(@resource, :reset_password_token => @token) %>
+[1]: <%= edit_password_url(@resource, reset_password_token: @token) %>
+
+<%= t('.then_connect', username: @resource.username) %>
<%= t('.wont_change') %>
diff --git a/app/views/devise/mailer/unlock_instructions.markerb b/app/views/devise/mailer/unlock_instructions.markerb
index c70ce7abb..d207a1bb9 100644
--- a/app/views/devise/mailer/unlock_instructions.markerb
+++ b/app/views/devise/mailer/unlock_instructions.markerb
@@ -1,4 +1,4 @@
-<%= t('devise.mailer.hello', :email => @resource.email) %>
+<%= t('devise.mailer.hello', username: @resource.username) %>
<%= t('.account_locked') %>
@@ -6,4 +6,4 @@
[<%= t('.unlock') %>][1]
-[1]: <%= unlock_url(@resource, :unlock_token => @token) %>
+[1]: <%= unlock_url(@resource, unlock_token: @token) %>
diff --git a/app/views/posts/show.mobile.haml b/app/views/posts/show.mobile.haml
index 61d8556e8..186105560 100644
--- a/app/views/posts/show.mobile.haml
+++ b/app/views/posts/show.mobile.haml
@@ -4,5 +4,5 @@
.stream
= render partial: "shared/stream_element",
- locals: {post: post, commenting_disabled: commenting_disabled?(post), expanded_info: true}
+ locals: {post: post, expanded_info: true}
diff --git a/app/views/registrations/_form.haml b/app/views/registrations/_form.haml
index 9cd6ce0f7..b9f99cfa5 100644
--- a/app/views/registrations/_form.haml
+++ b/app/views/registrations/_form.haml
@@ -32,7 +32,7 @@
placeholder: t("registrations.new.username"),
title: t("registrations.new.enter_username"),
required: true,
- pattern: "[A-Za-z0-9_]+",
+ pattern: "[A-Za-z0-9_.\-]+",
aria: {labelledby: "usernameLabel"}
- if mobile
diff --git a/app/views/registrations/_registrations_closed.haml b/app/views/registrations/_registrations_closed.haml
index 1afc6f98e..958f0a4ce 100644
--- a/app/views/registrations/_registrations_closed.haml
+++ b/app/views/registrations/_registrations_closed.haml
@@ -5,7 +5,7 @@
wiki: link_to(t("registrations.closed.another_pod"), "https://diasporafoundation.org/getting_started/sign_up"))
!= t("registrations.closed.find_pods",
- poduptime: link_to("Poduptime", "https://diaspora.podupti.me/"))
+ fediverse_observer: link_to("Fediverse Observer", "https://diaspora.fediverse.observer/"))
!= t("registrations.closed.other_questions",
wiki: link_to("Wiki", "https://wiki.diasporafoundation.org/Choosing_a_pod"))
diff --git a/app/views/services/_add_remove_services.haml b/app/views/services/_add_remove_services.haml
index bac69588f..b10a4f6c7 100644
--- a/app/views/services/_add_remove_services.haml
+++ b/app/views/services/_add_remove_services.haml
@@ -17,7 +17,7 @@
- else
= t("services.index.not_logged_in")
- = link_to(t("services.index.connect"), "/auth/#{provider}")
+ = link_to(t("services.index.connect"), "/auth/#{provider}", method: :post)
- else
.well
diff --git a/app/views/shared/_links.haml b/app/views/shared/_links.haml
index 59725ac51..6dc53c6e2 100644
--- a/app/views/shared/_links.haml
+++ b/app/views/shared/_links.haml
@@ -7,3 +7,5 @@
%li= link_to t("layouts.application.switch_to_touch_optimized_mode"), toggle_mobile_path
- if AppConfig.settings.terms.enable?
%li= link_to t("_terms"), terms_path
+- unless AppConfig.admins.podmin_email.nil?
+ %li= mail_to AppConfig.admins.podmin_email, t("_podmin_mail")
diff --git a/app/views/streams/main_stream.html.haml b/app/views/streams/main_stream.html.haml
index ee99d3d9b..991575157 100644
--- a/app/views/streams/main_stream.html.haml
+++ b/app/views/streams/main_stream.html.haml
@@ -124,7 +124,7 @@
- if service_unconnected?(service)
= link_to(content_tag(:div, nil,
class: "social-media-logos-#{service.to_s.downcase}-24x24",
- title: service.to_s.titleize), "/auth/#{service}")
+ title: service.to_s.titleize), "/auth/#{service}", method: :post)
.section.collapsed
.title
diff --git a/app/workers/fetch_webfinger.rb b/app/workers/fetch_webfinger.rb
index d2f00b0dc..dbf4f95e6 100644
--- a/app/workers/fetch_webfinger.rb
+++ b/app/workers/fetch_webfinger.rb
@@ -12,7 +12,9 @@ module Workers
person = Person.find_or_fetch_by_identifier(account)
# also, schedule to fetch a few public posts from that person
- Diaspora::Fetcher::Public.queue_for(person) unless person.nil?
+ Diaspora::Fetcher::Public.queue_for(person)
+ rescue DiasporaFederation::Discovery::DiscoveryError
+ # Ignored
end
end
end
diff --git a/app/workers/receive_base.rb b/app/workers/receive_base.rb
index b8330aa24..48c424291 100644
--- a/app/workers/receive_base.rb
+++ b/app/workers/receive_base.rb
@@ -26,6 +26,7 @@ module Workers
DiasporaFederation::Salmon::InvalidEncoding,
Diaspora::Federation::AuthorIgnored,
Diaspora::Federation::InvalidAuthor,
+ Diaspora::Federation::RecipientClosed,
# TODO: deprecated
DiasporaFederation::Salmon::MissingMagicEnvelope,
DiasporaFederation::Salmon::MissingAuthor,
diff --git a/config/defaults.yml b/config/defaults.yml
index baf4424be..3d8241653 100644
--- a/config/defaults.yml
+++ b/config/defaults.yml
@@ -4,7 +4,7 @@
defaults:
version:
- number: "0.7.15.0" # Do not touch unless doing a release, do not backport the version number that's in master
+ number: "0.7.16.0" # Do not touch unless doing a release, do not backport the version number that's in master
heroku: false
environment:
url: "http://localhost:3000/"
diff --git a/config/environments/production.rb b/config/environments/production.rb
index 304613a67..13a91a017 100644
--- a/config/environments/production.rb
+++ b/config/environments/production.rb
@@ -27,7 +27,7 @@ Rails.application.configure do
config.public_file_server.enabled = ENV["RAILS_SERVE_STATIC_FILES"].present?
# Compress JavaScripts and CSS.
- config.assets.js_compressor = :uglifier
+ config.assets.js_compressor = :terser
# config.assets.css_compressor = :sass
# Do not fallback to assets pipeline if a precompiled asset is missed.
diff --git a/config/initializers/carrierwave.rb b/config/initializers/carrierwave.rb
index 3b0119590..4a212ad11 100644
--- a/config/initializers/carrierwave.rb
+++ b/config/initializers/carrierwave.rb
@@ -8,9 +8,9 @@
ENV['SSL_CERT_FILE'] = AppConfig.environment.certificate_authorities.get
CarrierWave.configure do |config|
if !Rails.env.test? && AppConfig.environment.s3.enable?
- config.fog_provider = "fog/aws"
require "carrierwave/storage/fog"
config.storage = :fog
+ config.cache_storage = :file
config.cache_dir = Rails.root.join('tmp', 'uploads').to_s
config.fog_credentials = {
provider: 'AWS',
diff --git a/config/initializers/diaspora_federation.rb b/config/initializers/diaspora_federation.rb
index 1ed4e9c98..b8e037cce 100644
--- a/config/initializers/diaspora_federation.rb
+++ b/config/initializers/diaspora_federation.rb
@@ -103,7 +103,9 @@ DiasporaFederation.configure do |config|
end
on :receive_entity do |entity, sender, recipient_id|
- Person.by_account_identifier(sender).pod.try(:schedule_check_if_needed)
+ sender_person = Person.by_account_identifier(sender)
+ sender_person.pod&.schedule_check_if_needed
+ Diaspora::Federation::Receive.handle_closed_recipient(sender_person, User.find(recipient_id)) if recipient_id
case entity
when DiasporaFederation::Entities::AccountDeletion
diff --git a/config/initializers/jsroutes.rb b/config/initializers/jsroutes.rb
index e82bf7125..8e6f5176f 100644
--- a/config/initializers/jsroutes.rb
+++ b/config/initializers/jsroutes.rb
@@ -3,4 +3,6 @@
JsRoutes.setup do |config|
config.camel_case = true
config.compact = true
+ config.module_type = nil
+ config.namespace = "Routes"
end
diff --git a/config/locales/devise/devise.ar.yml b/config/locales/devise/devise.ar.yml
index fb2d0cdbf..592780548 100644
--- a/config/locales/devise/devise.ar.yml
+++ b/config/locales/devise/devise.ar.yml
@@ -7,19 +7,22 @@
ar:
devise:
confirmations:
- confirmed: "أُكّد حسابك بنجاح. لقد ولجت."
+ confirmed: "أُكّد بريدك الالكتروني بنجاح."
new:
resend_confirmation: "أعد إرسال إرشادات التّأكيد"
send_instructions: "سيصلك بريد إلكترونيّ قريبًا فيه إرشادات تأكيد الحساب."
+ send_paranoid_instructions: "ستصلك رسالة لتأكيد في بريدك الإلكتوني إن كان بريدك متواجدا في قاعدة البيانات"
failure:
+ already_authenticated: "ولجت بالفعل"
inactive: "لم يُفعّل حسابك بعد."
- invalid: "اسم المستخدم أو كلمة مروره غير صالحة."
+ invalid: "‎%{authentication_keys}‎ أو كلمة مروره غير صالحة."
invalid_token: "رمز الاستيثاق غير صالح."
+ last_attempt: "آخر محاولة قبل إقفال حسابك."
locked: "حسابك مقفول."
- not_found_in_database: "البريد الإلكترونيّ أو كلمة المرور غير صالحة."
+ not_found_in_database: "‎%{authentication_keys}‎ أو كلمة المرور غير صالحة."
timeout: "انتهت جلستك، فضلًا لِج مجدّدًا للمتابعة."
unauthenticated: "عليك الولوج أو التسجيل للمتابعة."
- unconfirmed: "عليك تأكيد حسابك للمتابعة."
+ unconfirmed: "عليك تأكيد بريدك الالكتروني للمتابعة."
invitations:
invitation_token_invalid: "نأسف! رمز الدّعوة غير صالح."
send_instructions: "أُرسلت الدّعوة."
@@ -29,11 +32,13 @@ ar:
confirm: "أكّد حسابي"
subject: "إرشادات التّأكيد"
you_can_confirm: "يمكنك تأكيد حسابك عبر الوصلة الآتية:"
- hello: "أهلًا %{email}!"
+ hello: "أهلًا %{username}!"
inviter:
accept_at: ", %{url}, يمكنك قبولها عبر الرابط التالي"
has_invited_you: "%{name} يدعوك للإنضمام إلى دياسبرا"
have_invited_you: "دعاك %{names} للانضمام إلى دياسبرا*"
+ password_change:
+ subject: "غُيِّرت كلمة المرور"
reset_password_instructions:
change: "غيّر كلمة المرور"
ignore: "إن لم تكن أنت فتجاهل هذا البريد رجاءً."
@@ -45,7 +50,10 @@ ar:
click_to_unlock: "انقر الوصلة أدناه لفكّ الحساب:"
subject: "إرشادات فكّ القفل"
unlock: "فكّ حسابي"
- welcome: "مرحبًا %{email}!"
+ welcome: "مرحبًا %{username}!"
+ omniauth_callbacks:
+ failure: "لا يمكنك الاستيثاق من ‎%{kind}‎ بسبب \"‎%{reason}‎\"."
+ success: "استثقت من حساب ‎%{kind}‎ بنجاح"
passwords:
edit:
change_password: "غيّر كلمة المرور"
@@ -56,13 +64,21 @@ ar:
forgot_password: "أنسيت كلمة المرور؟"
reset_password: "صفّر كلمة المرور"
send_password_instructions: "أرسل لي إرشادات تصفير كلمة المرور"
+ no_token: "لا يمكن الوصول لهذه الصفحة إلا باستخدام رابط استعادة لكمة السر. إذا كنت تريد استعادة كلمة السر، تأكد من استخدامك للرابط كاملا."
send_instructions: "سيصلك بريد إلكترونيّ قريبًا فيه إرشادات تصفير كلمة المرور."
+ send_paranoid_instructions: "اذا كان بريدك الالكتروني موجودا في قاعدة البيانات ستصلك رسالة في بضع دقائق تحوي رابط استعادة كلمة السر."
updated: "تغيّرت كلمة المرور بنجاح. لقد ولجت."
+ updated_not_active: "غُيرت كلمة المرور بنجاح."
registrations:
destroyed: "الوداع! حُذف حسابك بنجاح. نأمل أن نراك قريبًا."
signed_up: "لقد سجّلت بنجاح. إن طلبت تأكيدًا فقد أُرسل إلى بريدك."
- updated: "لقد حدّثت حسابك بنجاح."
+ signed_up_but_inactive: "سُجلت بنجاح. لكن لا يمكنك الولوج حتى ينشط حسابك."
+ signed_up_but_locked: "سُجلت بنجاح. لكن لا يمكنك الولوج لأن حسابك مقفل."
+ signed_up_but_unconfirmed: "استخدم الرابط الذي أُرسل لبريدك الإلكتروني من أجل تفعيل حسابك."
+ update_needs_confirmation: "حُدث حسابك بنجاح. استخدم الرابط الذي أرسل اليك من أجل تأكيد بريدك الإلكتروني الجديد."
+ updated: "حُدّثت حسابك بنجاح."
sessions:
+ already_signed_out: "خرجت بنجاح."
new:
login: "لِج"
modern_browsers: "تدعم المتصفحات الحديثة فقط."
@@ -84,9 +100,19 @@ ar:
new:
resend_unlock: "أعد إرسال إرشادات فكّ القفل"
send_instructions: "سيصلك بريد إلكترونيّ قريبًا فيه إرشادات لفكّ قفل الحساب."
- unlocked: "فُكّ قفل الحساب بنجاح. لقد ولجت."
+ send_paranoid_instructions: "اذا كان حسابك موجودا، سيصلك بريد في بضع دقائق يحتوي ارشادات فك قفل حسابك."
+ unlocked: "فُكّ قفل الحساب بنجاح. لج للمتابعة."
errors:
messages:
already_confirmed: "تم التأكيد مسبقا"
+ confirmation_period_expired: "يجب أن يُأكد ضمن ‎%{period}‎. أطلب واحد جديد"
+ expired: "انتهت صلاحيته. اطلب واحد جديد"
not_found: "غير موجود"
- not_locked: "لم يكن مغلقا" \ No newline at end of file
+ not_locked: "ليس مُقفلا"
+ not_saved:
+ few: "‎%{count}‎ أخطاء منعوا حفظ ‎%{resource}‎:"
+ many: "‎%{count}‎ خطأ منعوا حفظ ‎%{resource}‎:"
+ one: "خطأ منع حفظ ‎%{resource}‎:"
+ other: "‎%{count}‎ خطأ منع حفظ ‎%{resource}‎:"
+ two: "خطآن منعا حفظ ‎%{resource}‎:"
+ zero: "بدون أخطاء:" \ No newline at end of file
diff --git a/config/locales/devise/devise.art-nvi.yml b/config/locales/devise/devise.art-nvi.yml
index a15ca9cdf..668da956e 100644
--- a/config/locales/devise/devise.art-nvi.yml
+++ b/config/locales/devise/devise.art-nvi.yml
@@ -14,7 +14,7 @@ art-nvi:
unauthenticated: "Ngal kin 'ivastengyem ayoeti fu fpxäkim ayoe fte salew Diasporaru."
unconfirmed: "Ngal kin stiveftxaw ngeyä Diasporati fte fpxäkim."
mailer:
- hello: "Kaltxì %{email}!"
+ hello: "Kaltxì %{username}!"
inviter:
has_invited_you: "%{name}"
have_invited_you: "%{names} polawm ngati txo säpung Diasporaru"
@@ -22,7 +22,7 @@ art-nvi:
change: "Latem oeyä ftemlì'u"
someone_requested: "Tsengeäo lu fte nga tsun livatem ngeyä ftemlì'u talun tuteo pìmawm ayoe txo tìng fì'uti ngaur."
subject: "aysänume fte zeyko oeyä ftemlì'uti"
- welcome: "Zola'u nìprrte, ma %{email}!"
+ welcome: "Zola'u nìprrte, ma %{username}!"
passwords:
edit:
change_password: "Leykatem oeyä ftemlì'ut"
diff --git a/config/locales/devise/devise.bg.yml b/config/locales/devise/devise.bg.yml
index fc711e86c..981df4985 100644
--- a/config/locales/devise/devise.bg.yml
+++ b/config/locales/devise/devise.bg.yml
@@ -28,7 +28,7 @@ bg:
confirm: "Потвърждаване на акаунта"
subject: "Инструкции за потвърждаване"
you_can_confirm: "Можете да потвърдите акаунта си чрез долната връзка:"
- hello: "Здравейте %{email}!"
+ hello: "Здравейте %{username}!"
inviter:
accept_at: "от %{url}, можете да приемете чрез връзката по-долу в писмото."
has_invited_you: "%{name}"
@@ -44,7 +44,7 @@ bg:
click_to_unlock: "За отключване на акаунта кликнете върху долната връзка:"
subject: "Инструкции за отключване"
unlock: "Отключване на акаунта"
- welcome: "Добре дошли %{email}!"
+ welcome: "Добре дошли %{username}!"
passwords:
edit:
change_password: "Промяна на паролата"
diff --git a/config/locales/devise/devise.br.yml b/config/locales/devise/devise.br.yml
index 5304bc37f..a05f89d32 100644
--- a/config/locales/devise/devise.br.yml
+++ b/config/locales/devise/devise.br.yml
@@ -29,7 +29,7 @@ br:
confirm: "Kadarnaat ma c'hont"
subject: "Titouroù kadarnaat"
you_can_confirm: "Gallout a rit kadarnaat ho kont gant al liamm dindan:"
- hello: "Demat deoc'h, %{email}!"
+ hello: "Demat deoc'h, %{username}!"
inviter:
accept_at: "e %{url}, gallout a rit e zegemer dre al liamm a-is."
has_invited_you: "%{name}"
@@ -45,7 +45,7 @@ br:
click_to_unlock: "Klikit war al liamm dindan evit dibrennañ ho kont:"
subject: "Titouroù dibrennañ"
unlock: "Dibrennañ ma c'hont"
- welcome: "Donemat deoc'h, %{email}!"
+ welcome: "Donemat deoc'h, %{username}!"
passwords:
edit:
change_password: "Cheñch ma ger-tremen"
diff --git a/config/locales/devise/devise.bs.yml b/config/locales/devise/devise.bs.yml
index 8397de68c..1ed5736ee 100644
--- a/config/locales/devise/devise.bs.yml
+++ b/config/locales/devise/devise.bs.yml
@@ -29,7 +29,7 @@ bs:
confirm: "Potvrdi moj račun"
subject: "Uputstva za potvrdu"
you_can_confirm: "Možete potvrditi svoj račun sa vezom ispod:"
- hello: "Zdravo %{email}!"
+ hello: "Zdravo %{username}!"
inviter:
accept_at: "na %{url}, možete prihvatiti vezom ispod."
has_invited_you: "%{name}"
@@ -45,7 +45,7 @@ bs:
click_to_unlock: "Kliknite na vezu ispod da bi otključali vaš račun."
subject: "Otključaj Uputstva"
unlock: "Otključaj moj račun"
- welcome: "Dobrodošli %{email}!"
+ welcome: "Dobrodošli %{username}!"
passwords:
edit:
change_password: "Promjeni moju šifru"
diff --git a/config/locales/devise/devise.ca.yml b/config/locales/devise/devise.ca.yml
index 470ac6802..cca2be2a5 100644
--- a/config/locales/devise/devise.ca.yml
+++ b/config/locales/devise/devise.ca.yml
@@ -28,7 +28,7 @@ ca:
confirm: "Confirma el meu compte"
subject: "Instruccions per a la confirmació"
you_can_confirm: "Podeu confirmar el vostre compte mitjançant l'enllaç següent:"
- hello: "Hola, %{email}!"
+ hello: "Hola, %{username}!"
inviter:
accept_at: "a %{url}, podeu acceptar-ho mitjançant l'enllaç següent."
has_invited_you: "%{name}"
@@ -44,7 +44,7 @@ ca:
click_to_unlock: "Feu clic a l'enllaç següent per desblocar el vostre compte:"
subject: "Instruccions per al desblocatge"
unlock: "Desbloca el meu compte"
- welcome: "Benvingut/da, %{email}!"
+ welcome: "Benvingut/da, %{username}!"
passwords:
edit:
change_password: "Canvia la contrasenya"
diff --git a/config/locales/devise/devise.cs.yml b/config/locales/devise/devise.cs.yml
index 7988eda06..da42c11d3 100644
--- a/config/locales/devise/devise.cs.yml
+++ b/config/locales/devise/devise.cs.yml
@@ -32,7 +32,7 @@ cs:
confirm: "Potvrdit můj účet"
subject: "Informace o potvrzení"
you_can_confirm: "Váš účet můžete potvrdit kliknutím na tento odkaz:"
- hello: "Zdravím %{email}!"
+ hello: "Zdravím %{username}!"
inviter:
accept_at: "na %{url}, přijmout pozvání můžete pomocí odkazu níže."
has_invited_you: "%{name}"
@@ -50,7 +50,7 @@ cs:
click_to_unlock: "Kliknutím na uvedený odkaz odemknete svůj účet:"
subject: "Instrukce k odemknutí účtu."
unlock: "Odemknout můj účet"
- welcome: "Vítej %{email}!"
+ welcome: "Vítej %{username}!"
omniauth_callbacks:
failure: "Nelze vás autentikovat z %{kind}, protože \"%{reason}\""
success: "Úspěšně jsme vás ověřili z účtu %{kind}."
diff --git a/config/locales/devise/devise.cy.yml b/config/locales/devise/devise.cy.yml
index ec5fa7e31..a2b4969f5 100644
--- a/config/locales/devise/devise.cy.yml
+++ b/config/locales/devise/devise.cy.yml
@@ -25,13 +25,13 @@ cy:
mailer:
confirmation_instructions:
subject: "Cyfarwyddiadau Cadarnhad"
- hello: "Helo %{email}!"
+ hello: "Helo %{username}!"
reset_password_instructions:
change: "Newid y cyfrinair"
unlock_instructions:
subject: "Cyfarwyddiadau i ddatgloi"
unlock: "Datgloi fy nghyfrif"
- welcome: "Croeso %{email}!"
+ welcome: "Croeso %{username}!"
passwords:
edit:
change_password: "Newid fy nghyfrinair"
diff --git a/config/locales/devise/devise.da.yml b/config/locales/devise/devise.da.yml
index eb68bee89..94509690c 100644
--- a/config/locales/devise/devise.da.yml
+++ b/config/locales/devise/devise.da.yml
@@ -32,7 +32,7 @@ da:
confirm: "Bekræft min konto"
subject: "Bekræftelsesinstruktioner"
you_can_confirm: "Du kan bekræfte din konto via nedenstående link:"
- hello: "Hej %{email}!"
+ hello: "Hej %{username}!"
inviter:
accept_at: "på %{url}, du kan acceptere ved at følge linket nedenunder."
has_invited_you: "%{name}"
@@ -44,13 +44,14 @@ da:
ignore: "Hvis du ikke har anmodet om dette, bedes du ignorere denne e-mail."
someone_requested: "Nogen har anmodet om et link til at ændre din adgangskode. Hvis det var dig, kan du gøre dette via linket nedenfor."
subject: "Instruktioner til nulstilling af adgangskode"
+ then_connect: "Når du har lavet en ny adgangskode, vil du være i stand til at logge ind på Diaspora* igen ved hjælp af dit brugernavn \"%{username}\" og din nye adgangskode"
wont_change: "Din adgangskode vil ikke blive ændret før du klikker på linket ovenfor og opretter en ny."
unlock_instructions:
account_locked: "Din konto er blevet låst på grund af en stor mængde mislykkede log ind forsøg."
click_to_unlock: "Klik på linket nedenfor for at aktivere din konto:"
subject: "Aktiver instruktioner"
unlock: "Aktiver min konto"
- welcome: "Velkommen %{email}!"
+ welcome: "Velkommen %{username}!"
omniauth_callbacks:
failure: "Kunne ikke godkende dig fra %{kind} fordi \"%{reason}\"."
success: "Godkendelse modtaget fra %{kind} kontoen."
diff --git a/config/locales/devise/devise.de.yml b/config/locales/devise/devise.de.yml
index 8c2148a60..645d59942 100644
--- a/config/locales/devise/devise.de.yml
+++ b/config/locales/devise/devise.de.yml
@@ -32,7 +32,7 @@ de:
confirm: "Mein Konto bestätigen"
subject: "Bestätigung deines diaspora*-Kontos"
you_can_confirm: "Du kannst dein Konto über den nachfolgenden Link bestätigen:"
- hello: "Hallo %{email}!"
+ hello: "Hallo %{username}!"
inviter:
accept_at: "unter %{url}, kannst du sie über den untenstehenden Link akzeptieren."
has_invited_you: ""
@@ -44,13 +44,14 @@ de:
ignore: "Wenn du dies nicht angefordert hast, ignoriere bitte diese E-Mail."
someone_requested: "Jemand hat einen Link angefordert, um dein Kennwort zu ändern. Falls du das warst, kannst du das durch den unten aufgeführten Link tun."
subject: "Setze dein Kenwort zurück"
+ then_connect: "Nachdem du ein neues Passwort eingegeben hast, kannst du dich wieder mit deinem Benutzernamen \"%{username}\" und deinem neuen Passwort in diaspora* einloggen"
wont_change: "Dein Kennwort bleibt unverändert, bis du es über den Link änderst und ein neues erstellst."
unlock_instructions:
account_locked: "Dein Konto wurde aufgrund von zu vielen fehlgeschlagenen Anmeldeversuchen gesperrt."
click_to_unlock: "Folge dem unten aufgeführten Link, um dein Konto zu entsperren:"
subject: "Anweisungen zum Entsperren"
unlock: "Mein Konto entsperren"
- welcome: "Willkommen %{email}!"
+ welcome: "Willkommen %{username}!"
omniauth_callbacks:
failure: "Konnte dich nicht mittels %{kind} authentifizieren, denn „%{reason}“."
success: "Erfolgreich authentifiziert mittels %{kind}-Konto."
diff --git a/config/locales/devise/devise.de_formal.yml b/config/locales/devise/devise.de_formal.yml
index 116d5f9ca..1d63c9bf3 100644
--- a/config/locales/devise/devise.de_formal.yml
+++ b/config/locales/devise/devise.de_formal.yml
@@ -32,7 +32,7 @@ de_formal:
confirm: "Mein Konto bestätigen"
subject: "Bestätigung Ihres diaspora*-Kontos"
you_can_confirm: "Sie können Ihr Konto über den nachfolgenden Link bestätigen:"
- hello: "Hallo %{email}!"
+ hello: "Hallo %{username}!"
inviter:
accept_at: "unter %{url}, können Sie sie über den untenstehenden Link akzeptieren."
has_invited_you: "%{name}"
@@ -44,13 +44,14 @@ de_formal:
ignore: "Wenn Sie dies nicht angefordert haben, ignorieren Sie bitte diese E-Mail."
someone_requested: "Jemand hat einen Link angefordert, um Ihr Passwort zu ändern. Wenn Sie das waren, können Sie das durch den unten aufgeführten Link tun."
subject: "Setzen Sie Ihr Passwort zurück"
+ then_connect: "Nachdem Sie ein neues Passwort eingegeben haben, können Sie sich wieder mit Ihrem Benutzernamen \"%{username}\" und Ihrem neuen Passwort in diaspora* einloggen"
wont_change: "Ihr Passwort bleibt unverändert, bis Sie es über den Link ändern und ein neues erstellen."
unlock_instructions:
account_locked: "Ihr Konto wurde aufgrund von zu vielen fehlgeschlagenen Anmeldeversuchen gesperrt."
click_to_unlock: "Folgen Sie dem unten aufgeführten Link, um Ihr Konto zu entsperren:"
subject: "Anweisungen zum Entsperren"
unlock: "Mein Konto entsperren"
- welcome: "Willkommen %{email}!"
+ welcome: "Willkommen %{username}!"
omniauth_callbacks:
failure: "Konnte Sie nicht mittels %{kind} authentifizieren, denn „%{reason}”."
success: "Erfolgreich authentifiziert mittels %{kind}-Konto."
diff --git a/config/locales/devise/devise.de-moo.yml b/config/locales/devise/devise.de_moo.yml
index 689f20c70..72ced0b6a 100644
--- a/config/locales/devise/devise.de-moo.yml
+++ b/config/locales/devise/devise.de_moo.yml
@@ -4,7 +4,7 @@
-de-moo:
+de_moo:
devise:
confirmations:
confirmed: "Deine E-Mail-Adresse wurde erfolgreich bestätigt."
@@ -32,7 +32,7 @@ de-moo:
confirm: "Mein Konto bestätigen"
subject: "Bestätigung deines diaspora*-Kontos"
you_can_confirm: "Du kannst dein Konto über den nachfolgenden Link bestätigen:"
- hello: "Hallo %{email}!"
+ hello: "Hallo %{username}!"
inviter:
accept_at: "unter %{url}, kannst du sie über den untenstehenden Link akzeptieren."
has_invited_you: "%{name}"
@@ -44,13 +44,14 @@ de-moo:
ignore: "Wenn du dies nicht angefordert hast, ignoriere bitte diese E-Mail."
someone_requested: "Jemand hat einen Link angefordert, um dein Kennwort zu ändern. Falls du das warst, kannst du das durch den unten aufgeführten Link tun."
subject: "Setze dein Passwort zurück"
+ then_connect: "Nachdem du ein neues Passwort eingegeben hast, kannst du dich wieder mit deinem Benutzernamen \"%{username}\" und deinem neuen Passwort in diaspora* einloggen"
wont_change: "Dein Kennwort bleibt unverändert, bis du es über den Link änderst und ein neues erstellst."
unlock_instructions:
account_locked: "Dein Konto wurde aufgrund von zu vielen fehlgeschlagenen Anmeldeversuchen gesperrt."
click_to_unlock: "Folge dem unten aufgeführten Link, um dein Konto zu entsperren:"
subject: "Anweisungen zum Entsperren"
unlock: "Mein Konto entsperren"
- welcome: "Willkommen %{email}!"
+ welcome: "Willkommen %{username}!"
omniauth_callbacks:
failure: "Konnte dich nicht mittels %{kind} authentifizieren, denn „%{reason}“."
success: "Erfolgreich authentifiziert mittels %{kind}-Konto."
diff --git a/config/locales/devise/devise.el.yml b/config/locales/devise/devise.el.yml
index 24f5fe522..84aa82caf 100644
--- a/config/locales/devise/devise.el.yml
+++ b/config/locales/devise/devise.el.yml
@@ -29,7 +29,7 @@ el:
confirm: "Επιβεβαίωση του λογαριασμού μου"
subject: "Οδηγίες επιβεβαίωσης"
you_can_confirm: "Μπορείτε να επιβεβαιώσετε τον λογαριασμό σας μέσω του παρακάτω συνδέσμου:"
- hello: "Γειά σου %{email}!"
+ hello: "Γειά σου %{username}!"
inviter:
accept_at: "στο %{url}, μπορείτε να το αποδεχτείτε μέσω του παρακάτω συνδέσμου."
has_invited_you: "%{name}"
@@ -45,7 +45,7 @@ el:
click_to_unlock: "Κάντε κλικ στον παρακάτω σύνδεσμο για να ξεκλειδώσετε το λογαριασμό σας:"
subject: "Οδηγίες Ξεκλειδώματος"
unlock: "Ξεκλείδωμα του λογαριασμού μου"
- welcome: "Καλώς ήρθατε %{email}!"
+ welcome: "Καλώς ήρθατε %{username}!"
passwords:
edit:
change_password: "Αλλαγή του κωδικού μου"
diff --git a/config/locales/devise/devise.en.yml b/config/locales/devise/devise.en.yml
index 47f78cf2d..a7e466457 100644
--- a/config/locales/devise/devise.en.yml
+++ b/config/locales/devise/devise.en.yml
@@ -30,6 +30,7 @@ en:
someone_requested: Someone has requested a link to change your password. If
it was you, you can do this through the link below.
change: Change my password
+ then_connect: After setting a new password, you will be able to sign into diaspora* again using your username "%{username}" and your new password
wont_change: Your password won't change until you access the link above and
create a new one.
ignore: If you didn't request this, please ignore this email.
@@ -41,8 +42,8 @@ en:
unlock: Unlock my account
password_change:
subject: Password Changed
- welcome: Welcome %{email}!
- hello: Hello %{email}!
+ welcome: Welcome %{username}!
+ hello: Hello %{username}!
inviter:
has_invited_you: "%{name}"
have_invited_you: "%{names} have invited you to join diaspora*"
diff --git a/config/locales/devise/devise.en_1337.yml b/config/locales/devise/devise.en_1337.yml
index 3f78ebae3..27b3b7944 100644
--- a/config/locales/devise/devise.en_1337.yml
+++ b/config/locales/devise/devise.en_1337.yml
@@ -27,7 +27,7 @@ en_1337:
confirm: "C0NF1RM3 MY 4CC!"
subject: "C0NF1RM471ON 1N57RUC71ONS"
you_can_confirm: "4CC C0MF1RM471ON -> L1NK B3L0W"
- hello: "H3Y %{email}!"
+ hello: "H3Y %{username}!"
inviter:
accept_at: "@ %{url}, U C4N 4CC3P7 17 -> L1NK!"
have_invited_you: "%{names} H4V3 1NV173D Y0U 2 J01N!"
@@ -42,7 +42,7 @@ en_1337:
click_to_unlock: "T0 J01N -> CL1CK 7H3 L1NK B3L0W!"
subject: "UNL0CK 1N57RUC71ON5"
unlock: "P0WN MY 4CC!"
- welcome: "W3LC0M3 %{email}!"
+ welcome: "W3LC0M3 %{username}!"
passwords:
edit:
change_password: "CH4NG3 MY *****"
diff --git a/config/locales/devise/devise.en_shaw.yml b/config/locales/devise/devise.en_shaw.yml
index bcc5e08d0..5d46c6ab2 100644
--- a/config/locales/devise/devise.en_shaw.yml
+++ b/config/locales/devise/devise.en_shaw.yml
@@ -28,7 +28,7 @@ en_shaw:
confirm: "𐑒𐑩𐑯𐑓𐑻𐑥 𐑥𐑲 𐑩𐑒𐑬𐑯𐑑"
subject: "𐑒𐑪𐑯𐑓𐑼𐑥𐑱𐑖𐑩𐑯 𐑦𐑯𐑕𐑑𐑮𐑳𐑒𐑖𐑩𐑯𐑟"
you_can_confirm: "𐑿 𐑒𐑨𐑯 𐑒𐑩𐑯𐑓𐑻𐑥 𐑿𐑼 𐑩𐑒𐑬𐑯𐑑 𐑔𐑮𐑵 𐑞 𐑤𐑦𐑙𐑒 𐑚𐑦𐑤𐑴:"
- hello: "𐑣𐑧𐑤𐑴 %{email}!"
+ hello: "𐑣𐑧𐑤𐑴 %{username}!"
reset_password_instructions:
change: "𐑗𐑱𐑯𐑡 𐑥𐑲 𐑐𐑨𐑕𐑢𐑼𐑛"
ignore: "𐑦𐑓 𐑿 𐑛𐑦𐑛𐑯𐑑 𐑮𐑦𐑒𐑢𐑧𐑕𐑑 𐑞𐑦𐑕, 𐑐𐑤𐑰𐑟 𐑦𐑜𐑯𐑹 𐑞𐑦𐑕 𐑦-𐑥𐑱𐑤."
@@ -40,7 +40,7 @@ en_shaw:
click_to_unlock: "𐑒𐑤𐑦𐑒 𐑞 𐑤𐑦𐑙𐑒 𐑚𐑦𐑤𐑴 𐑑 𐑩𐑯𐑤𐑪𐑒 𐑿𐑼 𐑩𐑒𐑬𐑯𐑑:"
subject: "𐑩𐑯𐑤𐑪𐑒 𐑦𐑯𐑕𐑑𐑮𐑳𐑒𐑖𐑩𐑯𐑟"
unlock: "𐑩𐑯𐑤𐑪𐑒 𐑥𐑲 𐑩𐑒𐑬𐑯𐑑"
- welcome: "𐑢𐑧𐑤𐑒𐑩𐑥 %{email}!"
+ welcome: "𐑢𐑧𐑤𐑒𐑩𐑥 %{username}!"
passwords:
edit:
change_password: "𐑗𐑱𐑯𐑡 𐑥𐑲 𐑐𐑨𐑕𐑢𐑼𐑛"
diff --git a/config/locales/devise/devise.en_valspeak.yml b/config/locales/devise/devise.en_valspeak.yml
index 51159c2d4..8730f850e 100644
--- a/config/locales/devise/devise.en_valspeak.yml
+++ b/config/locales/devise/devise.en_valspeak.yml
@@ -30,7 +30,7 @@ en_valspeak:
confirm: "Confirm mah account!!"
subject: "Stuff liek, tellin u how 2 confirm ur account n stuff..."
you_can_confirm: "U can confirm ur account through teh link below:"
- hello: "Ohai %{email}!!"
+ hello: "Ohai %{username}!!"
inviter:
accept_at: "so like, @ %{url} u can accept it through the link below. Kay? <3"
has_invited_you: "%{name}"
@@ -48,7 +48,7 @@ en_valspeak:
click_to_unlock: "Click teh link below 2 unlock ur account, kay?:"
subject: "Unlock ur stuff info"
unlock: "Unlock mah account!!!"
- welcome: "OHAI! %{email}!"
+ welcome: "OHAI! %{username}!"
passwords:
edit:
change_password: "Change mah passwerddd"
diff --git a/config/locales/devise/devise.eo.yml b/config/locales/devise/devise.eo.yml
index 8244a70cf..ce9f15bcd 100644
--- a/config/locales/devise/devise.eo.yml
+++ b/config/locales/devise/devise.eo.yml
@@ -16,6 +16,7 @@ eo:
invalid: "Nevalida uzantnomo aŭ pasvorto."
invalid_token: "Malvalida identiga ĵetono."
locked: "Via konto estas ŝlosita."
+ not_found_in_database: "Nevalida %{authentication_keys} aŭ pasvorto."
timeout: "Via seanco senvalidiĝis. Bonvolu ree ensaluti por daŭrigi."
unauthenticated: "Vi devas ensaluti aŭ enskribiĝi antaŭ ol daŭrigi."
unconfirmed: "Vi devas konfirmi vian konton antaŭ ol daŭrigi."
@@ -28,11 +29,13 @@ eo:
confirm: "Konfirmi mian konton"
subject: "Instrukcioj por konfirmi"
you_can_confirm: "Vi povas konfirmi vian konton per la suba ligilo:"
- hello: "Saluton, %{email}!"
+ hello: "Saluton, %{username}!"
inviter:
accept_at: "ĉe %{url}, vi povas akcepti ĝin per la suba ligilo."
has_invited_you: "%{name}"
have_invited_you: "%{names} invitis vin aniĝi je DIASPORA*"
+ password_change:
+ subject: "Pasvorta ŝanĝita"
reset_password_instructions:
change: "Ŝanĝi mian pasvorton"
ignore: "Se vi ne petis ĉi tion, bonvolu ignori ĉi tiun retpoŝton."
@@ -44,11 +47,13 @@ eo:
click_to_unlock: "Alklaku la suban ligilon por malŝlosi vian konton:"
subject: "Instrukcioj por malŝlosi"
unlock: "Malŝlosi mian konton."
- welcome: "Bonvenon %{email}!"
+ welcome: "Bonvenon %{username}!"
passwords:
edit:
change_password: "Ŝanĝi mian pasvorton"
+ new_password: "Nova pasvorto"
new:
+ email: "Retpoŝtadreso"
forgot_password: "Ĉu vi forgesis vian pasvorton?"
send_password_instructions: "Sendi al mi instrukciojn por restartigi pasvorton"
send_instructions: "Post kelkaj minutoj vi ricevos retpoŝton kun instrukcioj pri kiel restartigi vian pasvorton."
diff --git a/config/locales/devise/devise.es-AR.yml b/config/locales/devise/devise.es-AR.yml
index c22f4d628..aac87b8ab 100644
--- a/config/locales/devise/devise.es-AR.yml
+++ b/config/locales/devise/devise.es-AR.yml
@@ -32,7 +32,7 @@ es-AR:
confirm: "Confirmar mi cuenta"
subject: "Instrucciones para la confirmación"
you_can_confirm: "Podés confirmar tu cuenta a través del siguiente enlace:"
- hello: "¡Hola %{email}!"
+ hello: "¡Hola %{username}!"
inviter:
accept_at: "en %{url}, podes aceptarlo desde el link de abajo "
has_invited_you: "%{name} te ha invitado a unirte a Diaspora"
@@ -50,7 +50,7 @@ es-AR:
click_to_unlock: "Hacé click en el siguiente enlace para desbloquear tu cuenta:"
subject: "Instrucciones para desbloquear la cuenta"
unlock: "Desbloquear mi cuenta"
- welcome: "¡Bienvenid@ %{email}!"
+ welcome: "¡Bienvenid@ %{username}!"
omniauth_callbacks:
failure: "Podrías no ser autenticado desde %{kind} porque \"%{reason}\"."
success: "Autenticado correctamente desde la cuenta %{kind}."
diff --git a/config/locales/devise/devise.es-CL.yml b/config/locales/devise/devise.es-CL.yml
index 1f2e1a2d5..b0e634093 100644
--- a/config/locales/devise/devise.es-CL.yml
+++ b/config/locales/devise/devise.es-CL.yml
@@ -31,7 +31,7 @@ es-CL:
confirm: "Confirmar mi cuenta"
subject: "Instrucciones de confirmación"
you_can_confirm: "Puedes confirmar tu cuenta a través del siguiente enlace:"
- hello: "Hola %{email}!"
+ hello: "Hola %{username}!"
inviter:
accept_at: "en %{url}, puedes aceptar en el enlace inferior."
has_invited_you: "%{name}"
@@ -49,7 +49,7 @@ es-CL:
click_to_unlock: "Haz click en el enlace de abajo para desbloquear tu cuenta:"
subject: "Instrucciones para desbloquear tu cuenta"
unlock: "Desbloquear mi cuenta"
- welcome: "Bienvenid@ %{email}!"
+ welcome: "Bienvenid@ %{username}!"
omniauth_callbacks:
failure: "No se pudo autenticar desde %{kind} porque \"%{reason}\"."
success: "Autenticado correctamente desde %{kind} cuenta."
diff --git a/config/locales/devise/devise.es-MX.yml b/config/locales/devise/devise.es-MX.yml
index 398ea72e6..b74727659 100644
--- a/config/locales/devise/devise.es-MX.yml
+++ b/config/locales/devise/devise.es-MX.yml
@@ -29,7 +29,7 @@ es-MX:
confirm: "Confirmar mi cuenta"
subject: "Instrucciones de confirmación"
you_can_confirm: "Puedes confirmar tu cuenta a través del siguiente enlace:"
- hello: "¡Hola %{email}!"
+ hello: "¡Hola %{username}!"
inviter:
accept_at: "en %{url} puedes aceptarlo a través del siguiente enlace."
has_invited_you: "%{name}"
@@ -45,7 +45,7 @@ es-MX:
click_to_unlock: "Haz clic en el siguiente enlace para desbloquear tu cuenta:"
subject: "Instrucciones de desbloqueo"
unlock: "Desbloquear mi cuenta"
- welcome: "¡Bienvenido/a %{email}!"
+ welcome: "¡Bienvenido/a %{username}!"
passwords:
edit:
change_password: "Cambiar mi contraseña"
diff --git a/config/locales/devise/devise.es-VE.yml b/config/locales/devise/devise.es-VE.yml
index 00db4f0bc..0303f84a3 100644
--- a/config/locales/devise/devise.es-VE.yml
+++ b/config/locales/devise/devise.es-VE.yml
@@ -28,7 +28,7 @@ es-VE:
confirm: "Confirmar mi cuenta"
subject: "Instrucciones para la confirmación"
you_can_confirm: "Puedes confirmar tu cuenta a través del siguiente enlace:"
- hello: "¡Hola %{email}!"
+ hello: "¡Hola %{username}!"
invitation_instructions:
accept: "Aceptar invitación"
arrived: "La red social que has estado esperando ha llegado. Renovada, más segura, y más divertida, %{strong_diaspora} está lista para ayudarte a compartir y explorar la web en una forma totalmente nueva."
@@ -73,7 +73,7 @@ es-VE:
click_to_unlock: "Haz clic en el siguiente enlace para desbloquear tu cuenta:"
subject: "Instrucciones para desbloquear tu cuenta"
unlock: "Desbloquear mi cuenta"
- welcome: "¡Bienvenid@ %{email}!"
+ welcome: "¡Bienvenid@ %{username}!"
passwords:
edit:
change_password: "Cambiar mi contraseña"
diff --git a/config/locales/devise/devise.es.yml b/config/locales/devise/devise.es.yml
index 797f02f9d..f91ce1538 100644
--- a/config/locales/devise/devise.es.yml
+++ b/config/locales/devise/devise.es.yml
@@ -32,7 +32,7 @@ es:
confirm: "Confirmar mi cuenta"
subject: "Instrucciones de confirmación"
you_can_confirm: "Puedes confirmar tu cuenta a través del siguiente enlace:"
- hello: "¡Hola %{email}!"
+ hello: "¡Hola %{username}!"
inviter:
accept_at: "en %{url}, puedes aceptar en el enlace inferior."
has_invited_you: "%{name} te ha invitado a unirte a Diaspora"
@@ -44,13 +44,14 @@ es:
ignore: "Si no has solicitado esto, por favor ignora este mensaje."
someone_requested: "Alguien ha solicitado un enlace para cambiar tu contraseña. Si fuiste tú, puedes hacerlo a través del siguiente enlace."
subject: "Instrucciones para cambiar tu contraseña"
+ then_connect: "Tras establecer tu nueva contraseña podrás entrar de nuevo en diaspora* con tu nombre de usuario \"%{username}\" y tu nueva contraseña."
wont_change: "Tu contraseña no cambiará hasta que accedas al enlace anterior y crees una nueva."
unlock_instructions:
account_locked: "Tu cuenta ha sido bloqueada debido a demasiados intentos de ingreso fallidos."
click_to_unlock: "Sigue el siguiente enlace para desbloquear tu cuenta:"
subject: "Instrucciones para desbloquear la cuenta"
unlock: "Desbloquear mi cuenta"
- welcome: "¡Bienvenid@ %{email}!"
+ welcome: "¡Bienvenid@ %{username}!"
omniauth_callbacks:
failure: "No pudimos identificarte desde %{kind} por \"%{reason}\"."
success: "Identificado correctamente desde la cuenta %{kind}."
diff --git a/config/locales/devise/devise.et.yml b/config/locales/devise/devise.et.yml
index fdb805020..bbafd8293 100644
--- a/config/locales/devise/devise.et.yml
+++ b/config/locales/devise/devise.et.yml
@@ -18,7 +18,7 @@ et:
locked: "Sinu konto on suletud."
timeout: "Sinu seanss aegus, jätkamiseks logi palun uuesti sisse."
unauthenticated: "Enne jätkamist pead konto looma või sisse logima."
- unconfirmed: "Enne jätkamist pead oma konto kinnitama."
+ unconfirmed: "Enne jätkamist pead oma eposti kinnitama."
invitations:
invitation_token_invalid: "Vabandame! See kutse võti ei kehti."
send_instructions: "Sinu kutse on saadetud."
@@ -28,7 +28,7 @@ et:
confirm: "Kinnita mu konto"
subject: "Kinnitamise juhised"
you_can_confirm: "Sa saad oma konto kinnitada järgneva lingi abil:"
- hello: "Tere %{email}!"
+ hello: "Tere %{username}!"
inviter:
accept_at: "aadressil %{url}, sa saad kutse aksepteerida.kasutades alljärgnevat linki."
has_invited_you: "%{name}"
@@ -36,7 +36,7 @@ et:
reset_password_instructions:
change: "Muuda mu parooli"
subject: "Parooli taastamise juhised"
- welcome: "%{email}, tere tulemast!"
+ welcome: "%{username}, tere tulemast!"
passwords:
edit:
change_password: "Muuda parooli"
@@ -65,7 +65,7 @@ et:
receive_confirmation: "Juhised konto kinnitamiseks ei saabunud?"
receive_unlock: "Juhised konto taasavamiseks ei saabunud?"
sign_in: "Logi sisse"
- sign_up: "Liitu"
+ sign_up: "Loo konto"
sign_up_closed: "Avatud liitumised on hetkel peatatud."
unlocks:
new:
@@ -74,6 +74,6 @@ et:
unlocked: "Sinu konto on edukalt taasavatud. Oled nüüd sisse logitud."
errors:
messages:
- already_confirmed: "on juba kinnitatud"
+ already_confirmed: "on juba kinnitatud, palun proovi sisse logida"
not_found: "ei leitud"
not_locked: "ei ole lukustatud" \ No newline at end of file
diff --git a/config/locales/devise/devise.eu.yml b/config/locales/devise/devise.eu.yml
index 80e01cefc..05af2ed5d 100644
--- a/config/locales/devise/devise.eu.yml
+++ b/config/locales/devise/devise.eu.yml
@@ -28,7 +28,7 @@ eu:
confirm: "Kontua baieztatu"
subject: "Baieztapen argibideak"
you_can_confirm: "Zure kontua baieztatu dezakezu esteka hau jarraituz:"
- hello: "Kaixo %{email}!"
+ hello: "Kaixo %{username}!"
inviter:
accept_at: "%{url}(e)n, onartu dezakezu beheko esteka jarraituz."
has_invited_you: "%{name}"
@@ -44,7 +44,7 @@ eu:
click_to_unlock: "Sakatu honako estekan zure kontua askatzeko:"
subject: "Askatu argibideak"
unlock: "Askatu nire kontua"
- welcome: "Ongietorri, %{email}!"
+ welcome: "Ongietorri, %{username}!"
passwords:
edit:
change_password: "Nire pasahitza aldatu"
diff --git a/config/locales/devise/devise.fi.yml b/config/locales/devise/devise.fi.yml
index d102a6455..f9fd1390d 100644
--- a/config/locales/devise/devise.fi.yml
+++ b/config/locales/devise/devise.fi.yml
@@ -32,7 +32,7 @@ fi:
confirm: "Vahvista käyttäjätilini"
subject: "Vahvistamisohjeet"
you_can_confirm: "Voit vahvistaa käyttäjätilisi alla olevan linkin kautta:"
- hello: "Hei, %{email}!"
+ hello: "Hei, %{username}!"
inviter:
accept_at: "osoitteessa %{url}, hyväksyminen alla olevasta linkistä."
has_invited_you: "%{names}"
@@ -50,7 +50,7 @@ fi:
click_to_unlock: "Poista käyttäjätilisi lukitus alla olevasta linkistä:"
subject: "Lukituksen poisto-ohjeet"
unlock: "Poista käyttäjätilini lukitus"
- welcome: "Tervetuloa %{email}!"
+ welcome: "Tervetuloa %{username}!"
passwords:
edit:
change_password: "Vaihda salasanani"
diff --git a/config/locales/devise/devise.fil.yml b/config/locales/devise/devise.fil.yml
index 158c75fdb..e66f43896 100644
--- a/config/locales/devise/devise.fil.yml
+++ b/config/locales/devise/devise.fil.yml
@@ -7,7 +7,7 @@
fil:
devise:
mailer:
- hello: "Kumusta %{email}!"
+ hello: "Kumusta %{username}!"
sessions:
new:
remember_me: "Tandaan Ako"
diff --git a/config/locales/devise/devise.fr.yml b/config/locales/devise/devise.fr.yml
index c50dcf6d9..b3d03c1d0 100644
--- a/config/locales/devise/devise.fr.yml
+++ b/config/locales/devise/devise.fr.yml
@@ -32,7 +32,7 @@ fr:
confirm: "Confirmer mon compte"
subject: "Instructions de confirmation"
you_can_confirm: "Vous pouvez confirmer votre compte en cliquant sur le lien ci-dessous :"
- hello: "Bonjour %{email} !"
+ hello: "Bonjour %{username} !"
inviter:
accept_at: "à %{url}, vous pouvez l'accepter à travers le lien ci-dessous."
has_invited_you: "%{name}"
@@ -50,7 +50,7 @@ fr:
click_to_unlock: "Cliquez sur le lien ci-dessous pour débloquer votre compte :"
subject: "Instructions de déverrouillage"
unlock: "Débloquer mon compte"
- welcome: "Bienvenue %{email} !"
+ welcome: "Bienvenue %{username} !"
omniauth_callbacks:
failure: "Impossible de vous authentifier depuis %{kind} car \"%{reason}\"."
success: "Authentification réussie depuis le compte %{kind}."
diff --git a/config/locales/devise/devise.fy.yml b/config/locales/devise/devise.fy.yml
index 712881761..3423d65fb 100644
--- a/config/locales/devise/devise.fy.yml
+++ b/config/locales/devise/devise.fy.yml
@@ -12,13 +12,13 @@ fy:
mailer:
confirmation_instructions:
confirm: "Myn akkount befêstigje"
- hello: "Guoi %{email}!"
+ hello: "Guoi %{username}!"
inviter:
has_invited_you: "%{name}"
have_invited_you: "%{names} ha dy útnoadige om jin oan te slute by Diaspora"
reset_password_instructions:
change: "Feroarje myn wachtwurd"
- welcome: "Wolkom %{email}!"
+ welcome: "Wolkom %{username}!"
passwords:
edit:
change_password: "Feroarje myn wachtwurd"
diff --git a/config/locales/devise/devise.ga.yml b/config/locales/devise/devise.ga.yml
index c4e432ee7..f126525f3 100644
--- a/config/locales/devise/devise.ga.yml
+++ b/config/locales/devise/devise.ga.yml
@@ -7,8 +7,8 @@
ga:
devise:
mailer:
- hello: "Haileo %{email}!"
- welcome: "Fáilte %{email}!"
+ hello: "Haileo %{username}!"
+ welcome: "Fáilte %{username}!"
sessions:
new:
login: "Logáil isteach"
diff --git a/config/locales/devise/devise.gl.yml b/config/locales/devise/devise.gl.yml
index 3e0da9575..195e86baa 100644
--- a/config/locales/devise/devise.gl.yml
+++ b/config/locales/devise/devise.gl.yml
@@ -32,7 +32,7 @@ gl:
confirm: "Confirmar a conta"
subject: "Instrucións de confirmación"
you_can_confirm: "Pode confirmar a súa conta mediante a seguinte ligazón:"
- hello: "Ola, %{email}!"
+ hello: "Ola, %{username}!"
inviter:
accept_at: "en %{url}, pode aceptar seguindo a seguinte ligazón."
has_invited_you: "%{name}"
@@ -44,13 +44,14 @@ gl:
ignore: "Se non foi vostede quen solicitou o cambio, pode ignorar esta mensaxe."
someone_requested: "Alguén solicitou cambiar o teu contrasinal. Se foches ti, preme na seguinte ligazón:"
subject: "Instrucións para cambiar o contrasinal"
+ then_connect: "Após establecer o novo contrasinal terás que volver a conectarte a diaspora* utilizando o identificador \"%{username}\" e o novo contrasinal."
wont_change: "Para cambiar de contrasinal, prema a seguinte ligazón e escolla un novo."
unlock_instructions:
account_locked: "A conta bloqueouse por mor do gran número de intentos errados de identificarse con ela."
click_to_unlock: "Siga a seguinte ligazón para desbloqueala:"
subject: "Instrucións para desbloquear a conta"
unlock: "Desbloquear a conta"
- welcome: "Benvido, %{email}!"
+ welcome: "Benvido, %{username}!"
omniauth_callbacks:
failure: "Non se puido autenticar desde %{kind} debido a \"%{reason}\"."
success: "Autenticada correctamente desde a conta %{kind}"
diff --git a/config/locales/devise/devise.he.yml b/config/locales/devise/devise.he.yml
index d17dae6ac..e39698c11 100644
--- a/config/locales/devise/devise.he.yml
+++ b/config/locales/devise/devise.he.yml
@@ -29,7 +29,7 @@ he:
confirm: "אימות החשבון שלי"
subject: "הנחיות לאימות"
you_can_confirm: "באפשרותך לאמת את החשבון שלך באמצעות הקישור שלהלן:"
- hello: "שלום %{email}!"
+ hello: "שלום %{username}!"
inviter:
accept_at: "בכתובת %{url}, באפשרותך לקבל זאת באמצעות הקישור שלהלן."
has_invited_you: "%{name}"
@@ -45,7 +45,7 @@ he:
click_to_unlock: "יש ללחוץ על הקישור שלהלן כדי לשחרר את חשבונך:"
subject: "הנחיות לביטול הנעילה"
unlock: "שחרור החשבון שלי"
- welcome: "ברוך בואך %{email}!"
+ welcome: "ברוך בואך %{username}!"
passwords:
edit:
change_password: "שינוי הסיסמה שלי"
diff --git a/config/locales/devise/devise.hi.yml b/config/locales/devise/devise.hi.yml
index 1b8b8d2cf..019155a4b 100644
--- a/config/locales/devise/devise.hi.yml
+++ b/config/locales/devise/devise.hi.yml
@@ -7,17 +7,17 @@
hi:
devise:
failure:
- inactive: "आपका खाता अभी तक सक्रिय नहीं हुआ है."
- invalid: "अमान्य उपयोगकर्ता नाम या पासवर्ड."
+ inactive: "आपका खाता अभी तक सक्रिय नहीं हुआ है।"
+ invalid: "अमान्य %{authentication_keys} या पासवर्ड।"
locked: "आप का खाता अवरोधित है"
- timeout: "आपका सत्र समाप्त हो चूका है, सत्र जारी रखने के लिए कृपया फिर से साइन इन करें."
+ timeout: "आपका सत्र समाप्त हो चूका है, सत्र जारी रखने के लिए कृपया फिर से साइन इन करें।"
passwords:
edit:
change_password: "पासवर्ड बदलें"
new:
forgot_password: "पासवर्ड भूल गए?"
- send_instructions: "कुछ ही मिनटों में आप अपना पासवर्ड रीसेट करने के बारे में निर्देशों के साथ एक ईमेल प्राप्त करेंगे."
- updated: "आपका पासवर्ड सफलतापूर्वक बदल गया था. अब आप साइन इन कर चुके हैं."
+ send_instructions: "कुछ ही मिनटों में आप अपना पासवर्ड रीसेट करने के बारे में निर्देशों के साथ एक ईमेल प्राप्त करेंगे।"
+ updated: "आपका पासवर्ड सफलतापूर्वक बदल गया था. अब आप साइन इन कर चुके हैं।"
sessions:
new:
login: "लॉगिन"
diff --git a/config/locales/devise/devise.hu.yml b/config/locales/devise/devise.hu.yml
index e7730cba2..77188ada4 100644
--- a/config/locales/devise/devise.hu.yml
+++ b/config/locales/devise/devise.hu.yml
@@ -29,7 +29,7 @@ hu:
confirm: "Fiókom megerősítése"
subject: "Megerősítési utasítások"
you_can_confirm: "Megerősítheted a fiókod ezen a linken keresztül:"
- hello: "Szia %{email}!"
+ hello: "Szia %{username}!"
inviter:
accept_at: "Meghívás elfogadása: %{url}"
has_invited_you: "%{name} meghívott a Diaspora* közösségi oldalra."
@@ -45,7 +45,7 @@ hu:
click_to_unlock: "Kattints az alábbi linkre, hogy feloldd a fiókod:"
subject: "Feloldási utasítások"
unlock: "Fiókom feloldása"
- welcome: "Üdv %{email}!"
+ welcome: "Üdv %{username}!"
passwords:
edit:
change_password: "Megváltoztatom a jelszavamat"
diff --git a/config/locales/devise/devise.hye-classical.yml b/config/locales/devise/devise.hye-classical.yml
index 50a0953c0..30ac5ad91 100644
--- a/config/locales/devise/devise.hye-classical.yml
+++ b/config/locales/devise/devise.hye-classical.yml
@@ -32,7 +32,7 @@ hye-classical:
confirm: "Հաստատել իմ հաշիւը"
subject: "Հաստատման ցուցումներ"
you_can_confirm: "Կարող ես հաշիւդ հաստատել հետեւեալ յղմամբ՝"
- hello: "Ողջո՜յն, %{email}"
+ hello: "Ողջո՜յն, %{username}"
inviter:
accept_at: "%{url} հասցէով, որը կարող ես հաստատել ստորև բերուած յղման միջոցով։"
have_invited_you: "%{names} հրաւիրել է քեզ՝ միանալու դիասպորա*֊ին"
@@ -49,7 +49,7 @@ hye-classical:
click_to_unlock: "Սեղմիր ներքեւի յղումը, որպէսզի ապաարգելափակես հաշիւդ։"
subject: "Ապաարգելափակման ցուցումներ"
unlock: "Ապաարգելափակել հաշիւս"
- welcome: "Բարի գալո՜ւստ, %{email}"
+ welcome: "Բարի գալո՜ւստ, %{username}"
omniauth_callbacks:
failure: "Չյաջողուեց նոյնականացնել քեզ %{kind}֊ից զի՝ %{reason}"
success: "Յաջողութեամբ նոյնականացումն անցար %{kind} հաշուով։"
diff --git a/config/locales/devise/devise.hye.yml b/config/locales/devise/devise.hye.yml
index a16917e5d..ebc5af203 100644
--- a/config/locales/devise/devise.hye.yml
+++ b/config/locales/devise/devise.hye.yml
@@ -32,7 +32,7 @@ hye:
confirm: "Հաստատել իմ հաշիվը"
subject: "Հաստատման ցուցումներ"
you_can_confirm: "Կարող ես հաշիվդ հաստատել հետևյալ հղմամբ՝"
- hello: "Ողջու՜յն, %{email}"
+ hello: "Ողջու՜յն, %{username}"
inviter:
accept_at: "%{url} հասցեով, որը կարող ես հաստատել ստորև բերված հղման միջոցով։"
has_invited_you: "%{name}"
@@ -50,7 +50,7 @@ hye:
click_to_unlock: "Սեղմիր ներքևի հղումը, որպեսզի ապաարգելափակես հաշիվդ։"
subject: "Ապաարգելափակման ցուցումներ"
unlock: "Ապաարգելափակել հաշիվս"
- welcome: "Բարի գալու՜ստ, %{email}"
+ welcome: "Բարի գալու՜ստ, %{username}"
passwords:
edit:
change_password: "Փոխել իմ գաղտնաբառը"
diff --git a/config/locales/devise/devise.ia.yml b/config/locales/devise/devise.ia.yml
index b950b6a63..40a1181f1 100644
--- a/config/locales/devise/devise.ia.yml
+++ b/config/locales/devise/devise.ia.yml
@@ -32,7 +32,7 @@ ia:
confirm: "Confirmar mi conto"
subject: "Instructiones pro confirmar"
you_can_confirm: "Tu pote confirmar tu conto per le ligamine sequente:"
- hello: "Salute, %{email}!"
+ hello: "Salute, %{username}!"
inviter:
accept_at: "a %{url}, tu pote acceptar lo per le ligamine sequente."
has_invited_you: "%{name}"
@@ -44,13 +44,14 @@ ia:
ignore: "Si tu non ha demandate isto, per favor ignora iste message."
someone_requested: "Qualcuno ha demandate un ligamine pro cambiar tu contrasigno. Si tu faceva iste demanda, tu pote facer isto per le ligamine sequente."
subject: "Instructiones pro reinitialisar contrasigno"
+ then_connect: "Post haber definite un nove contrasigno, tu potera aperir session in diaspora* de novo usante tu nomine de usator “%{username}” e tu nove contrasigno."
wont_change: "Le contrasigno non cambiara si tu non clicca sur le ligamine precedente e specifica un nove."
unlock_instructions:
account_locked: "Tu conto ha essite blocate a causa de un numero excessive de tentativas fallite de accesso."
click_to_unlock: "Clicca sur le ligamine sequente pro disblocar tu conto:"
subject: "Instructiones pro disblocar"
unlock: "Disblocar mi conto"
- welcome: "Benvenite, %{email}!"
+ welcome: "Benvenite, %{username}!"
omniauth_callbacks:
failure: "Impossibile authenticar te a partir de %{kind} perque \"%{reason}\"."
success: "Authentication a partir del conto %{kind} succedite."
diff --git a/config/locales/devise/devise.id.yml b/config/locales/devise/devise.id.yml
index ba9c6d945..88f8b6adb 100644
--- a/config/locales/devise/devise.id.yml
+++ b/config/locales/devise/devise.id.yml
@@ -28,7 +28,7 @@ id:
confirm: "Konfirmasi akun saya"
subject: "Instruksi pengesahan / konfirmasi"
you_can_confirm: "Anda dapat mengkonfirmasi akun anda melalui link (tautan) di bawah ini:"
- hello: "Halo %{email}!"
+ hello: "Halo %{username}!"
inviter:
accept_at: "di %{url}, anda dapat menerimanya melalui link (tautan) di bawah ini."
has_invited_you: "%{name}"
@@ -44,7 +44,7 @@ id:
click_to_unlock: "Klik link (tautan) di bawah untuk mengaktifkan akun anda:"
subject: "Instruksi untuk membuka kunci"
unlock: "Aktifkan akun saya"
- welcome: "Selamat datang %{email}!"
+ welcome: "Selamat datang %{username}!"
passwords:
edit:
change_password: "Ubah kata sandi saya"
diff --git a/config/locales/devise/devise.is.yml b/config/locales/devise/devise.is.yml
index 9ffef47bb..eeef6baae 100644
--- a/config/locales/devise/devise.is.yml
+++ b/config/locales/devise/devise.is.yml
@@ -29,7 +29,7 @@ is:
confirm: "Staðfesta aðganginn minn"
subject: "Leiðbeiningar um staðfestingu"
you_can_confirm: "Þú getur staðfest aðganginn þinn með því að elta hlekkinn hér fyrir neðan:"
- hello: "Halló %{email}!"
+ hello: "Halló %{username}!"
inviter:
accept_at: "á %{url}. Þú getur þegið boðið með því að fylgja hlekknum hér fyrir neðan."
has_invited_you: "%{name}"
@@ -45,7 +45,7 @@ is:
click_to_unlock: "Eltu hlekkinn hér fyrir neðan til að taka aðgang þinn úr lás."
subject: "Leiðbeiningar fyrir aflæsingu"
unlock: "Taka aðgang minn úr lás"
- welcome: "Velkomin/n %{email}!"
+ welcome: "Velkomin/n %{username}!"
passwords:
edit:
change_password: "Breyta lykilorði"
diff --git a/config/locales/devise/devise.it.yml b/config/locales/devise/devise.it.yml
index ad7e1a328..2d25e5073 100644
--- a/config/locales/devise/devise.it.yml
+++ b/config/locales/devise/devise.it.yml
@@ -29,7 +29,7 @@ it:
confirm: "Conferma il mio account"
subject: "Istruzioni per la conferma"
you_can_confirm: "Puoi confermare il tuo account attraverso il link sottostante:"
- hello: "Ciao %{email}!"
+ hello: "Ciao %{username}!"
inviter:
accept_at: "su %{url}, puoi accettare dal link qua sotto."
has_invited_you: "%{name} ti ha invitato ad entrare in Diaspora"
@@ -47,7 +47,7 @@ it:
click_to_unlock: "Clicca il link sottostante per sbloccare il tuo account:"
subject: "Istruzioni di sblocco"
unlock: "Sblocca il mio account"
- welcome: "Benvenuto %{email}!"
+ welcome: "Benvenuto %{username}!"
passwords:
edit:
change_password: "Cambia la mia password"
diff --git a/config/locales/devise/devise.ja.yml b/config/locales/devise/devise.ja.yml
index 3cd4aaf70..7e475a511 100644
--- a/config/locales/devise/devise.ja.yml
+++ b/config/locales/devise/devise.ja.yml
@@ -32,7 +32,7 @@ ja:
confirm: "アカウントを認証する"
subject: "認証手続き"
you_can_confirm: "次のリンクからアカウントが認証できます。"
- hello: "%{email}さん、こんにちは!"
+ hello: "%{username}さん、こんにちは!"
inviter:
accept_at: "%{url} で、下のリンクから受け入れることができます。"
has_invited_you: "%{name}さん"
@@ -50,7 +50,7 @@ ja:
click_to_unlock: "アカウントのロックを解除するのに下記のリンクにクリックしてください。"
subject: "ロック解除説明"
unlock: "アカウントのロックを解除する"
- welcome: "%{email}さん、ようこそ!"
+ welcome: "%{username}さん、ようこそ!"
omniauth_callbacks:
failure: "\"%{reason}\" のため、%{kind} から認証できませんでした。"
success: "%{kind} のアカウントから正常に認証しました。"
diff --git a/config/locales/devise/devise.ka.yml b/config/locales/devise/devise.ka.yml
index abe1c3e0e..5b4f3d2f9 100644
--- a/config/locales/devise/devise.ka.yml
+++ b/config/locales/devise/devise.ka.yml
@@ -28,7 +28,7 @@ ka:
confirm: "ჩემი ანგარიშის დადასტურება"
subject: "დადასტურების ინსტუქცია"
you_can_confirm: "თქვენ, თქვენი ანგარიშის დადასტურება შეგიძლიათ ქვემოთ მოცემული ბმულით:"
- hello: "გამარჯობა %{email}!"
+ hello: "გამარჯობა %{username}!"
inviter:
accept_at: "%{url}, თქვენ შეგიძლიათ დაეთანხმოთ ქვემოთ მოცემული ბმულის გამოყენებით."
has_invited_you: "%{name}"
@@ -44,7 +44,7 @@ ka:
click_to_unlock: "ანგარიშის გასახსნელად დააწკაპუნეთ ქვემოთ მოცემულ ბმულს:"
subject: "გახსნის ინსტრუქციები"
unlock: "ჩემი ანგარიშის გახსნა"
- welcome: "მოგესალმებით %{email}!"
+ welcome: "მოგესალმებით %{username}!"
passwords:
edit:
change_password: "ჩემი პაროლის შეცვლა"
diff --git a/config/locales/devise/devise.ko.yml b/config/locales/devise/devise.ko.yml
index 576f65508..69755cae3 100644
--- a/config/locales/devise/devise.ko.yml
+++ b/config/locales/devise/devise.ko.yml
@@ -29,7 +29,7 @@ ko:
confirm: "내 계정 확인하기"
subject: "확인 절차"
you_can_confirm: "아래 링크로 계정을 확인할 수 있습니다:"
- hello: "%{email}님!"
+ hello: "%{username}님!"
inviter:
accept_at: "%{URL}에서, 아래의 링크를 통해 확인할 수 있습니다."
has_invited_you: "%{name}"
@@ -45,7 +45,7 @@ ko:
click_to_unlock: "아래 링크로 계정을 풀을 수 있습니다:"
subject: "계정 풀기 안내"
unlock: "내 계정 풀기"
- welcome: "%{email}님 환영합니다!"
+ welcome: "%{username}님 환영합니다!"
passwords:
edit:
change_password: "암호 바꾸기"
diff --git a/config/locales/devise/devise.lt.yml b/config/locales/devise/devise.lt.yml
index 2461cb093..13d2a7102 100644
--- a/config/locales/devise/devise.lt.yml
+++ b/config/locales/devise/devise.lt.yml
@@ -28,7 +28,7 @@ lt:
confirm: "Patvirtinti paskyrą"
subject: "Nurodymai, kaip patvirtinti paskyrą"
you_can_confirm: "Paskyrą galite patvirtinti paspaudę nuorodą pateiktą žemiau:"
- hello: "Labas, %{email}!"
+ hello: "Labas, %{username}!"
inviter:
accept_at: "priimti kvietimą galite paspaudę nuorodą žemiau %{url}"
has_invited_you: ""
@@ -44,7 +44,7 @@ lt:
click_to_unlock: "Spustelk šią nuorodą ir paskyra bus atrakinta:"
subject: "Nurodymai, kaip atrakinti"
unlock: "Atrakinti mano paskyrą"
- welcome: "Labas, %{email}!"
+ welcome: "Labas, %{username}!"
passwords:
edit:
change_password: "Keisti mano slaptažodį"
diff --git a/config/locales/devise/devise.mk.yml b/config/locales/devise/devise.mk.yml
index 2c648a3ed..c8251a5b9 100644
--- a/config/locales/devise/devise.mk.yml
+++ b/config/locales/devise/devise.mk.yml
@@ -28,7 +28,7 @@ mk:
confirm: "Потврди ја мојата корисничка сметка"
subject: "Инструкции за потврдување"
you_can_confirm: "Можете да ја потврдите вашата корисничка сметка на долниот линк:"
- hello: "Здраво %{email}!"
+ hello: "Здраво %{username}!"
reset_password_instructions:
change: "Промени лозинка"
ignore: "Ако не го побаравте ова, ве молиме игнорирајте го овој е-маил."
@@ -40,7 +40,7 @@ mk:
click_to_unlock: "Кликнете го долниот линк за отклучување на вашата сметка:"
subject: "Инструкции за отклучување"
unlock: "Отклучи ја мојата сметка"
- welcome: "Добредојде %{email}!"
+ welcome: "Добредојде %{username}!"
passwords:
edit:
change_password: "Промена на лозинка"
diff --git a/config/locales/devise/devise.ml.yml b/config/locales/devise/devise.ml.yml
index 17d777049..bbd0e0cb9 100644
--- a/config/locales/devise/devise.ml.yml
+++ b/config/locales/devise/devise.ml.yml
@@ -29,7 +29,7 @@ ml:
confirm: "എന്റെ അക്കൌണ്ട് സ്ഥിരീകരിക്കുക"
subject: "സ്ഥിരീകരണത്തിനുള്ള വിവരങ്ങള്‍"
you_can_confirm: "താഴെയുള്ള കണ്ണിയിലൂടെ താങ്കള്‍ക്ക് അക്കൌണ്ട് സ്ഥിരീകരിക്കാവുന്നതാണ്:"
- hello: "നമസ്ക്കാരം %{email}!"
+ hello: "നമസ്ക്കാരം %{username}!"
inviter:
has_invited_you: "%{name}"
have_invited_you: "%{names} എന്നിവര്‍ താങ്കളെ ഡയസ്പോറയില്‍ ചേരാന്‍ ക്ഷണിച്ചിരിക്കുന്നു"
@@ -43,7 +43,7 @@ ml:
click_to_unlock: "നിങ്ങളുടെ അക്കൌണ്ട് തുറക്കുന്നതിനായി താഴെയുള്ള കണ്ണി തെരഞ്ഞെടുക്കുക:"
subject: "അക്കൌണ്ട് തുറക്കുന്നതിനുള്ള വിവരങ്ങള്‍"
unlock: "എന്റെ ആക്കൌണ്ട് തുറക്കുക"
- welcome: "സ്വാഗതം %{email}!"
+ welcome: "സ്വാഗതം %{username}!"
passwords:
edit:
change_password: "എന്റെ രഹസ്യവാക്ക് മാറ്റുക"
diff --git a/config/locales/devise/devise.ms.yml b/config/locales/devise/devise.ms.yml
index bb90cd9bd..426592f62 100644
--- a/config/locales/devise/devise.ms.yml
+++ b/config/locales/devise/devise.ms.yml
@@ -29,7 +29,7 @@ ms:
confirm: "Sahkan akaun saya"
subject: "pengesahan tunjuk-cara"
you_can_confirm: "Anda boleh mengesahkan akaun anda melalui link di bawah:"
- hello: "Hello %{email}!"
+ hello: "Hello %{username}!"
inviter:
accept_at: "pada% {url}, anda boleh menerimanya melalui link di bawah."
have_invited_you: "%{names} telah menjemput anda untuk menyertai Diaspora"
@@ -44,7 +44,7 @@ ms:
click_to_unlock: "Klik pautan di bawah untuk membuka akaun anda:"
subject: "Arahan Membuka Kunci"
unlock: "Buka kunci akaun saya"
- welcome: "Selamat Datang %{email}!"
+ welcome: "Selamat Datang %{username}!"
passwords:
edit:
change_password: "Tukar kata laluan saya"
diff --git a/config/locales/devise/devise.nb.yml b/config/locales/devise/devise.nb.yml
index acea84092..2cfb7a1b9 100644
--- a/config/locales/devise/devise.nb.yml
+++ b/config/locales/devise/devise.nb.yml
@@ -32,7 +32,7 @@ nb:
confirm: "Bekreft kontoen min"
subject: "Bekreftelsesinstrukser"
you_can_confirm: "Du kan bekrefte kontoen via linken nedenfor:"
- hello: "Hei %{email}!"
+ hello: "Hei %{username}!"
inviter:
accept_at: "via %{url}, kan du akseptere lenken du ser under"
has_invited_you: "%{name}"
@@ -50,7 +50,7 @@ nb:
click_to_unlock: "Klikk på linken nedenfor for å låse opp kontoen:"
subject: "Instrukser for å låse opp"
unlock: "Lås opp kontoen min"
- welcome: "Velkommen %{email}!"
+ welcome: "Velkommen %{username}!"
omniauth_callbacks:
failure: "Kunne ikke autentisere deg fra %{kind} på grunn av «%{reason}»."
success: "Du ble autentisert fra %{kind}-konto."
diff --git a/config/locales/devise/devise.nds.yml b/config/locales/devise/devise.nds.yml
index d3ef320d4..87475e9c2 100644
--- a/config/locales/devise/devise.nds.yml
+++ b/config/locales/devise/devise.nds.yml
@@ -20,7 +20,7 @@ nds:
send_instructions: "Diene Inlodung is afschickt worn."
updated: "Dien Passwoort is erfolgriek set worn. Du bist nu anmeld."
mailer:
- hello: "Hallo %{email}!"
+ hello: "Hallo %{username}!"
inviter:
has_invited_you: "%{name}"
reset_password_instructions:
@@ -28,7 +28,7 @@ nds:
unlock_instructions:
subject: "Anwisungen ton Entsparn"
unlock: "Mien Konto entsparn"
- welcome: "Willkomen %{email}!"
+ welcome: "Willkomen %{username}!"
passwords:
edit:
change_password: "Änner mien Passwoort"
diff --git a/config/locales/devise/devise.ne.yml b/config/locales/devise/devise.ne.yml
index 5e3ec732b..c3f75fa4b 100644
--- a/config/locales/devise/devise.ne.yml
+++ b/config/locales/devise/devise.ne.yml
@@ -7,12 +7,12 @@
ne:
devise:
mailer:
- hello: "नमस्ते %{email} !"
+ hello: "नमस्ते %{username} !"
inviter:
has_invited_you: "%{name}"
reset_password_instructions:
change: "पासवर्ड परिवर्तन गर्नुहोस्"
- welcome: "स्वागतम %{email} !"
+ welcome: "स्वागतम %{username} !"
passwords:
edit:
change_password: "पासवर्ड परिवर्तन गर्नुहोस्"
diff --git a/config/locales/devise/devise.nl.yml b/config/locales/devise/devise.nl.yml
index 6106d5a8d..7a7f110d9 100644
--- a/config/locales/devise/devise.nl.yml
+++ b/config/locales/devise/devise.nl.yml
@@ -30,7 +30,7 @@ nl:
confirm: "Bevestig mijn account"
subject: "Bevestigingsinstructies"
you_can_confirm: "Je kunt je account bevestigen via onderstaande link:"
- hello: "Hallo %{email}!"
+ hello: "Hallo %{username}!"
inviter:
accept_at: "op %{url}, je kunt deze accepteren via onderstaande link."
has_invited_you: "%{name}"
@@ -48,7 +48,7 @@ nl:
click_to_unlock: "Klik op onderstaande link om je account te ontgrendelen:"
subject: "Ontgrendelingsinstructies"
unlock: "Ontgrendel mijn account"
- welcome: "Welkom %{email}!"
+ welcome: "Welkom %{username}!"
passwords:
edit:
change_password: "Wijzig mijn wachtwoord"
diff --git a/config/locales/devise/devise.nn.yml b/config/locales/devise/devise.nn.yml
index f7a936c0f..1e5def6ef 100644
--- a/config/locales/devise/devise.nn.yml
+++ b/config/locales/devise/devise.nn.yml
@@ -28,7 +28,7 @@ nn:
confirm: "Stadfest kontoen min"
subject: "Stadfestingsrettleiing"
you_can_confirm: "Du kan stadfesta kontoen din ved å nytta lenkja nedanfor:"
- hello: "Hei %{email}."
+ hello: "Hei %{username}."
inviter:
accept_at: "på %{url}, du kan godta det gjennom lenkja nedanfor."
has_invited_you: "%{name}"
@@ -44,7 +44,7 @@ nn:
click_to_unlock: "Klikk på lenkja nedanfor for å låsa opp kontoen din:"
subject: "Opplåsingsrettleiing"
unlock: "Lås opp kontoen min"
- welcome: "Velkomen %{email}."
+ welcome: "Velkomen %{username}."
passwords:
edit:
change_password: "Endra passordet mitt"
diff --git a/config/locales/devise/devise.oc.yml b/config/locales/devise/devise.oc.yml
index 7c3d8d285..cc0eaff96 100644
--- a/config/locales/devise/devise.oc.yml
+++ b/config/locales/devise/devise.oc.yml
@@ -32,7 +32,7 @@ oc:
confirm: "Confirmar mon compte"
subject: "Instruccions de confirmacion"
you_can_confirm: "Podètz confirmar vòstre compte en clicant sul ligam çaijós :"
- hello: "Adieusiatz %{email} !"
+ hello: "Adieusiatz %{username} !"
inviter:
accept_at: "a %{url}, lo podètz acceptar a travèrs lo ligal çaijós."
has_invited_you: "%{name}"
@@ -50,7 +50,7 @@ oc:
click_to_unlock: "Clicatz sul ligam çaijós per desblocar vòstre compte :"
subject: "Instruccions de desverrolhatge"
unlock: "Desverrolhar mon compte"
- welcome: "Benvenguda %{email} !"
+ welcome: "Benvenguda %{username} !"
omniauth_callbacks:
failure: "Impossible de vos indentificar de %{kind} perque %{reason}"
success: "Autentificacion capitada de lo compte %{kind}."
diff --git a/config/locales/devise/devise.pa.yml b/config/locales/devise/devise.pa.yml
index 90d4af823..e47d5726e 100644
--- a/config/locales/devise/devise.pa.yml
+++ b/config/locales/devise/devise.pa.yml
@@ -23,7 +23,7 @@ pa:
confirmation_instructions:
confirm: "ਮੇਰੇ ਅਕਾਊਂਟ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ"
subject: "ਪੁਸ਼ਟੀ ਹਦਾਇਤਾਂ"
- hello: "ਸਤਿ ਸ੍ਰੀ ਅਕਾਲ %{email}!"
+ hello: "ਸਤਿ ਸ੍ਰੀ ਅਕਾਲ %{username}!"
inviter:
has_invited_you: "%{name}"
have_invited_you: "%{names} ਨੇ ਤੁਹਾਨੂੰ ਡਿਆਸਪਰਾ ਨਾਲ ਜੁੜਨ ਲਈ ਸੱਦਿਆ ਹੈ"
@@ -34,7 +34,7 @@ pa:
click_to_unlock: "ਆਪਣਾ ਅਕਾਊਂਟ ਅਣ-ਲਾਕ ਕਰਨ ਲਈ ਹੇਠਲੇ ਲਿੰਕ ਉੱਤੇ ਕਲਿੱਕ ਕਰੋ:"
subject: "ਅਣ-ਲਾਕ ਹਦਾਇਤਾਂ"
unlock: "ਮੇਰਾ ਅਕਾਊਂਟ ਅਣ-ਲਾਕ ਕਰੋ"
- welcome: "%{email} ਜੀ ਆਇਆਂ ਨੂੰ!"
+ welcome: "%{username} ਜੀ ਆਇਆਂ ਨੂੰ!"
passwords:
edit:
change_password: "ਮੇਰਾ ਪਾਸਵਰਡ ਬਦਲੋ"
diff --git a/config/locales/devise/devise.pl.yml b/config/locales/devise/devise.pl.yml
index 9c420e58e..896727def 100644
--- a/config/locales/devise/devise.pl.yml
+++ b/config/locales/devise/devise.pl.yml
@@ -32,7 +32,7 @@ pl:
confirm: "Aktywuj moje konto"
subject: "Instrukcja aktywacji"
you_can_confirm: "Możesz aktywować swoje konto klikając poniższe łącze:"
- hello: "Cześć %{email}!"
+ hello: "Cześć %{username}!"
inviter:
accept_at: "na %{url}, możesz je zaakceptować używając poniższego łącza."
has_invited_you: "%{name}"
@@ -50,7 +50,7 @@ pl:
click_to_unlock: "Kliknij poniższe łącze, aby odblokować konto:"
subject: "Instrukcja odblokowania"
unlock: "Odblokuj moje konto"
- welcome: "Witaj %{email}!"
+ welcome: "Witaj %{username}!"
omniauth_callbacks:
failure: "Nie udało się uwierzytelnić Cię z %{kind} z powodu „%{reason}”."
success: "Pomyślnie uwierzytelniono kontem %{kind}."
diff --git a/config/locales/devise/devise.pt-BR.yml b/config/locales/devise/devise.pt-BR.yml
index dcfce4184..0d01fd1d5 100644
--- a/config/locales/devise/devise.pt-BR.yml
+++ b/config/locales/devise/devise.pt-BR.yml
@@ -32,7 +32,7 @@ pt-BR:
confirm: "Confirmar minha conta"
subject: "Instruções para confirmação"
you_can_confirm: "Você pode confirmar a sua conta através do link abaixo:"
- hello: "Oi %{email}!"
+ hello: "Oi %{username}!"
inviter:
accept_at: "em %{url}, você pode aceitar através do link abaixo."
has_invited_you: "%{name}"
@@ -50,7 +50,7 @@ pt-BR:
click_to_unlock: "Clique no link abaixo para desbloquear a sua conta:"
subject: "Instruções para desbloqueio"
unlock: "Desbloquear minha conta"
- welcome: "Bem-vindo(a) %{email}!"
+ welcome: "Bem-vindo(a) %{username}!"
omniauth_callbacks:
failure: "Não foi possível autenticar você pelo %{kind} porque \"%{reason}\"."
success: "Autenticação com conta do %{kind} bem-sucedida."
diff --git a/config/locales/devise/devise.pt-PT.yml b/config/locales/devise/devise.pt-PT.yml
index b617786ae..6761ee657 100644
--- a/config/locales/devise/devise.pt-PT.yml
+++ b/config/locales/devise/devise.pt-PT.yml
@@ -28,7 +28,7 @@ pt-PT:
confirm: "Confirmar a minha conta"
subject: "Instruções de confirmação"
you_can_confirm: "Pode confirmar a sua conta através da seguinte hiperligação:"
- hello: "Olá %{email}!"
+ hello: "Olá %{username}!"
inviter:
accept_at: "em %{url}, pode aceitá-lo através da hiperligação abaixo."
has_invited_you: "%{name}"
@@ -44,7 +44,7 @@ pt-PT:
click_to_unlock: "Clique na seguinte hiperligação para desbloquear a sua conta:"
subject: "Instruções de desbloqueio"
unlock: "Desbloquear a minha conta"
- welcome: "Bem-vindo(a) %{email}!"
+ welcome: "Bem-vindo(a) %{username}!"
passwords:
edit:
change_password: "Alterar a minha palavra-passe"
diff --git a/config/locales/devise/devise.ro.yml b/config/locales/devise/devise.ro.yml
index 3060240e8..098e33bb6 100644
--- a/config/locales/devise/devise.ro.yml
+++ b/config/locales/devise/devise.ro.yml
@@ -29,7 +29,7 @@ ro:
confirm: "Confirmă contul meu"
subject: "Instrucţiuni de confirmare"
you_can_confirm: "Puteţi confirma contul dvs. prin intermediul link-ul de mai jos:"
- hello: "Bună %{email}!"
+ hello: "Bună %{username}!"
inviter:
accept_at: "la adresa %{url}, poţi accepta prin folosirea legăturii de mai jos."
has_invited_you: "%{name}"
@@ -45,7 +45,7 @@ ro:
click_to_unlock: "Clic pe link-ul de mai jos pentru a debloca contul dvs."
subject: "Instrucţiuni pentru a debloca"
unlock: "Deblochează-mi contul"
- welcome: "Bine ai revenit %{email}!"
+ welcome: "Bine ai revenit %{username}!"
passwords:
edit:
change_password: "Schimbă-mi parola"
diff --git a/config/locales/devise/devise.ru.yml b/config/locales/devise/devise.ru.yml
index 8e4721f5d..7940fc8ee 100644
--- a/config/locales/devise/devise.ru.yml
+++ b/config/locales/devise/devise.ru.yml
@@ -32,7 +32,7 @@ ru:
confirm: "Подтвердить мой аккаунт"
subject: "Инструкции по подтверждению"
you_can_confirm: "Вы можете подтвердить ваш аккаунт, перейдя по ссылке:"
- hello: "Привет %{email}!"
+ hello: "Привет %{username}!"
inviter:
accept_at: "в %{url}, вы можете принять его по ссылке ниже."
has_invited_you: "%{name}"
@@ -50,7 +50,7 @@ ru:
click_to_unlock: "Используйте ссылку, чтобы разблокировать аккаунт:"
subject: "Инструкции по разблокированию"
unlock: "Разблокировать мой аккаунт"
- welcome: "Добро пожаловать, %{email}!"
+ welcome: "Добро пожаловать, %{username}!"
omniauth_callbacks:
failure: "Не удалось аутентифицировать вас через %{kind} по причине %{reason}."
success: "Учетная запись %{kind} успешно аутентифицирована."
diff --git a/config/locales/devise/devise.sc.yml b/config/locales/devise/devise.sc.yml
index 3df2ef529..4a20f61bb 100644
--- a/config/locales/devise/devise.sc.yml
+++ b/config/locales/devise/devise.sc.yml
@@ -32,7 +32,7 @@ sc:
confirm: "Cunfirma su contu meu"
subject: "Istrutziones pro sa cunfirma"
you_can_confirm: "Podes cunfirmare su contu tuo pro mèdiu de su ligàmene inoghe in suta:"
- hello: "Salude %{email}!"
+ hello: "Salude %{username}!"
inviter:
accept_at: "in %{url}, lu podes atzetare pro mèdiu de su ligàmene inoghe in suta."
has_invited_you: "%{name}"
@@ -50,7 +50,7 @@ sc:
click_to_unlock: "Incarca in su ligàmene inoghe pro isblocare su contu tuo:"
subject: "Istrutziones de isblocu"
unlock: "Isbloca su contu meu"
- welcome: "Bene bènnidu %{email}!"
+ welcome: "Bene bènnidu %{username}!"
omniauth_callbacks:
failure: "Impossìbile fàghere s'autenticatzione pro tie dae %{kind}, ca \"%{reason}\"."
success: "Autenticatzione dae su contu %{kind} resissida."
diff --git a/config/locales/devise/devise.si.yml b/config/locales/devise/devise.si.yml
index affafe96d..92276e398 100644
--- a/config/locales/devise/devise.si.yml
+++ b/config/locales/devise/devise.si.yml
@@ -14,13 +14,13 @@ si:
invitations:
send_instructions: "ඔබගේ ආරාධනාව යැවුවා."
mailer:
- hello: "කොහොමද %{email}!"
+ hello: "කොහොමද %{username}!"
inviter:
has_invited_you: "%{name}"
reset_password_instructions:
change: "මගේ මුරපදය මාරු කරන්න"
subject: "මුරපදය නැවත සකසන උපදෙස්"
- welcome: "ආයුබෝවන් %{email}!"
+ welcome: "ආයුබෝවන් %{username}!"
passwords:
edit:
change_password: "මගේ මුරපදය මාරු කරන්න"
diff --git a/config/locales/devise/devise.sk.yml b/config/locales/devise/devise.sk.yml
index 5f8a5f94b..cb6183c52 100644
--- a/config/locales/devise/devise.sk.yml
+++ b/config/locales/devise/devise.sk.yml
@@ -30,7 +30,7 @@ sk:
confirm: "Potvrdiť svoj účet"
subject: "Pokyny na potvrdenie"
you_can_confirm: "Svoj účet môžeš potvrdiť kliknutím na tento odkaz:"
- hello: "Ahoj %{email}!"
+ hello: "Ahoj %{username}!"
inviter:
accept_at: "Kliknutím na odkaz na stránku %{url} ju môžeš prijať."
has_invited_you: "%{name}"
@@ -46,7 +46,7 @@ sk:
click_to_unlock: "Klikni na tento odkaz a tvoj účet sa odomkne:"
subject: "Pokyny na odomknutie"
unlock: "Odomknúť môj účet"
- welcome: "Vitaj %{email}!"
+ welcome: "Vitaj %{username}!"
passwords:
edit:
change_password: "Zmeniť moje heslo"
diff --git a/config/locales/devise/devise.sl.yml b/config/locales/devise/devise.sl.yml
index 93ce69bea..9dc6a57d0 100644
--- a/config/locales/devise/devise.sl.yml
+++ b/config/locales/devise/devise.sl.yml
@@ -28,7 +28,7 @@ sl:
confirm: "Potrdi uporabniški račun"
subject: "Navodila za potrditev uporabniškega računa"
you_can_confirm: "Vaš uporabniški račun lahko potrdite s pomočjo spodnje povezave:"
- hello: "Pozdravljeni %{email}!"
+ hello: "Pozdravljeni %{username}!"
inviter:
accept_at: "na %{url}, sprejmete lahko preko spodnje povezave."
has_invited_you: "%{name}"
@@ -44,7 +44,7 @@ sl:
click_to_unlock: "Odklenite svoj uporabniški račun s klikom na spodnjo povezavo:"
subject: "Navodila za odklepanje uporabniškega računa"
unlock: "Odkleni uporabniški račun"
- welcome: "Dobrodošli %{email}!"
+ welcome: "Dobrodošli %{username}!"
passwords:
edit:
change_password: "Spremeni geslo"
diff --git a/config/locales/devise/devise.sq.yml b/config/locales/devise/devise.sq.yml
index e2778ef2b..e9edc727b 100644
--- a/config/locales/devise/devise.sq.yml
+++ b/config/locales/devise/devise.sq.yml
@@ -32,7 +32,7 @@ sq:
confirm: "Ripohim i llogarisë time"
subject: "Udhëzime ripohimi"
you_can_confirm: "Llogarinë tuaj mund të ripohoni përmes lidhjes më poshtë:"
- hello: "Tungjatjeta %{email}!"
+ hello: "Tungjatjeta %{username}!"
inviter:
accept_at: "te %{url}, mund ta pranoni përmes lidhjes më poshtë."
has_invited_you: "%{name}"
@@ -50,7 +50,7 @@ sq:
click_to_unlock: "Që të shkyçni llogarinë tuaj, klikoni lidhjen më poshtë:"
subject: "Udhëzime shkyçjeje"
unlock: "Shkyçe llogarinë time"
- welcome: "Mirë se vini %{email}!"
+ welcome: "Mirë se vini %{username}!"
omniauth_callbacks:
failure: "S’u bë dot mirëfilltësimi juaj me %{kind}, ngaqë \"%{reason}\"."
success: "Mirëfilltësimi u bë me sukses me llogarinë %{kind}."
diff --git a/config/locales/devise/devise.sr.yml b/config/locales/devise/devise.sr.yml
index 004f438e9..3dfedea6b 100644
--- a/config/locales/devise/devise.sr.yml
+++ b/config/locales/devise/devise.sr.yml
@@ -28,7 +28,7 @@ sr:
confirm: "Потврди мој налог"
subject: "Упутство за потврђивање"
you_can_confirm: "Можеш потврдити свој налог путем овог линка:"
- hello: "Здраво, %{email}!"
+ hello: "Здраво, %{username}!"
inviter:
accept_at: "на %{url}. Можеш прихватити на доњем линку."
has_invited_you: "%{name} те позива"
@@ -44,7 +44,7 @@ sr:
click_to_unlock: "Кликни доњи линк да откључаш свој налог:"
subject: "Упутство за откључавање"
unlock: "Откључај ми налог"
- welcome: "Добродошли, %{email}!"
+ welcome: "Добродошли, %{username}!"
passwords:
edit:
change_password: "Промени лозинку"
diff --git a/config/locales/devise/devise.sv.yml b/config/locales/devise/devise.sv.yml
index c06282c09..dfa0e925c 100644
--- a/config/locales/devise/devise.sv.yml
+++ b/config/locales/devise/devise.sv.yml
@@ -32,7 +32,7 @@ sv:
confirm: "Aktivera mitt konto"
subject: "Instruktioner för att aktivera ditt konto"
you_can_confirm: "Klicka på länken nedan för att aktivera ditt konto:"
- hello: "Hej %{email}!"
+ hello: "Hej %{username}!"
inviter:
accept_at: "via %{url}. Du accepterar genom att klicka på länken nedan."
has_invited_you: "%{name}"
@@ -44,13 +44,14 @@ sv:
ignore: "Om det inte är du som vill byta lösenord så kan du ignorera det här mailet."
someone_requested: "Någon har efterfrågat en länk för att återställa ditt lösenord. För att återställa lösenordet, klicka på länken nedan."
subject: "Instruktioner för att återställa lösenordet"
+ then_connect: "Efter att ett nytt lösenord satts kommer du behöva logga in igen med användarnamnet \"%{username}\" och ditt nya lösenord."
wont_change: "Ditt lösenord kommer inte ändras förrän du klickat på länken och ändrat det."
unlock_instructions:
account_locked: "Ditt konto har låsts eftersom fel lösenord har angivits för många gånger."
click_to_unlock: "Klicka på länken nedan för att låsa upp ditt konto:"
subject: "Upplåsningsinstruktioner"
unlock: "Lås upp mitt konto"
- welcome: "Välkommen %{email}!"
+ welcome: "Välkommen %{username}!"
omniauth_callbacks:
failure: "Kunde inte autentisera dig från %{kind} på grund av: %{reason}"
success: "Lyckades autentisera från kontot %{kind}."
diff --git a/config/locales/devise/devise.te.yml b/config/locales/devise/devise.te.yml
index 5d48241d1..be280ffb0 100644
--- a/config/locales/devise/devise.te.yml
+++ b/config/locales/devise/devise.te.yml
@@ -29,7 +29,7 @@ te:
confirm: "నా ఖాతాను నిర్థారించండి"
subject: "నిర్ధారణ సూచనలు"
you_can_confirm: "మీరు క్రింది లింకు ద్వారా మీ ఖాతాను నిర్ధారించవచ్చు:"
- hello: "హలో %{email}!"
+ hello: "హలో %{username}!"
inviter:
accept_at: "%{url} వద్ద, మీరు క్రింది లింకు ద్వారా అంగీకరించవచ్చు"
has_invited_you: "%{name}"
@@ -45,7 +45,7 @@ te:
click_to_unlock: "మీ ఖాతాను అన్లాక్ చేయటానికి కింది లింకును క్లిక్ చేయండి:"
subject: "అన్​లాక్ సూచనలు"
unlock: "నా ఖాతాను అన్లాక్ చెయ్యి"
- welcome: "స్వాగతం %{email}!"
+ welcome: "స్వాగతం %{username}!"
passwords:
edit:
change_password: "నా సంకేతపదాన్ని మార్చు"
diff --git a/config/locales/devise/devise.tr.yml b/config/locales/devise/devise.tr.yml
index 0e2da8375..ae8db3617 100644
--- a/config/locales/devise/devise.tr.yml
+++ b/config/locales/devise/devise.tr.yml
@@ -28,7 +28,7 @@ tr:
confirm: "Hesabımı doğrula"
subject: "Doğrulama talimatları"
you_can_confirm: "Hesabınızı aşağıdaki bağlantı ile doğrulayabilirsiniz:"
- hello: "Merhaba %{email}!"
+ hello: "Merhaba %{username}!"
inviter:
accept_at: "%{url}, aşağıdaki bağlantıya tıklayarak bunu kabul edebilirsiniz."
has_invited_you: "%{name}"
@@ -44,7 +44,7 @@ tr:
click_to_unlock: "Hesabınızın kilidini açmak için aşağıdaki bağlantıya tıklayın:"
subject: "Kilit Açma Yönergeleri"
unlock: "Hesabımın kilidini aç"
- welcome: "Hoş geldin%{email}!"
+ welcome: "Hoş geldin%{username}!"
passwords:
edit:
change_password: "Parola değiştirme"
diff --git a/config/locales/devise/devise.uk.yml b/config/locales/devise/devise.uk.yml
index 7ffdf12af..f3294e410 100644
--- a/config/locales/devise/devise.uk.yml
+++ b/config/locales/devise/devise.uk.yml
@@ -32,7 +32,7 @@ uk:
confirm: "Підтвердити мій аккаунт"
subject: "Інструкції з підтвердження"
you_can_confirm: "Ви можете підтвердити свій аккаунт за посиланням нижче:"
- hello: "Привіт %{email}!"
+ hello: "Привіт %{username}!"
inviter:
accept_at: "на %{url}, ви можете прийняти його за посиланням нижче."
has_invited_you: "%{name}"
@@ -50,7 +50,7 @@ uk:
click_to_unlock: "Використайте посилання, щоб розблоковувати аккаунт:"
subject: "Інструкції з розблокування"
unlock: "Розблоковувати мій аккаунт"
- welcome: "Ласкаво просимо %{email}!"
+ welcome: "Ласкаво просимо %{username}!"
omniauth_callbacks:
failure: "Неможливо аутентифікувати %{kind} тому що \"%{reason}\"."
success: "Успішно пройдено перевірку автентичності %{kind} аккаунту."
diff --git a/config/locales/devise/devise.vi.yml b/config/locales/devise/devise.vi.yml
index f78be7f0b..8a7e5a93b 100644
--- a/config/locales/devise/devise.vi.yml
+++ b/config/locales/devise/devise.vi.yml
@@ -7,57 +7,79 @@
vi:
devise:
confirmations:
- confirmed: "Tài khoản của bạn đã được xác nhận. Bạn đã đăng nhập."
+ confirmed: "Tài khoản của bạn đã được xác thực thành công."
new:
- resend_confirmation: "Gửi lại chỉ dẫn xác nhận"
- send_instructions: "Bạn sẽ nhận được thư điện tử chứa chỉ dẫn xác nhận tài khoản trong ít phút nữa."
+ resend_confirmation: "Gửi lại liên kết xác thực"
+ send_instructions: "Bạn sẽ nhận được email hướng dẫn xác thực tài khoản trong ít phút nữa."
+ send_paranoid_instructions: "Nếu địa chỉ email của bạn tồn tại trong cơ sở dữ liệu của chúng tôi, bạn sẽ nhận được một email hướng dẫn xác thực địa chỉ email trong vài phút nữa."
failure:
+ already_authenticated: "Bạn đã đăng nhập."
inactive: "Tài khoản của bạn chưa được kích hoạt."
- invalid: "Tên người dùng hoặc mật khẩu không đúng."
- invalid_token: "Khoá xác thực không hợp lệ."
+ invalid: "Sai %{authentication_keys} hoặc mật khẩu."
+ invalid_token: "Token xác thực không hợp lệ."
+ last_attempt: "Tài khoản của bạn sẽ bị khoá nếu bạn thử sai lần nữa."
locked: "Tài khoản của bạn đã bị khoá."
+ not_found_in_database: "Sai %{authentication_keys} hoặc mật khẩu."
timeout: "Phiên đăng nhập đã hết hạn, hãy đăng nhập lại để tiếp tục."
- unauthenticated: "Bạn cần đăng nhập hoặc đăng kí để tiếp tục."
- unconfirmed: "Bạn cần phải xác nhận tài khoản trước khi tiếp tục."
+ unauthenticated: "Bạn cần đăng nhập hoặc đăng ký để tiếp tục."
+ unconfirmed: "Bạn cần phải xác thực tài khoản trước khi tiếp tục."
invitations:
- invitation_token_invalid: "Xin cáo lỗi! Khoá mời không hợp lệ."
+ invitation_token_invalid: "Xin lỗi nhưng lời mời không hợp lệ."
send_instructions: "Thư mời của bạn đã được gửi."
updated: "Thiết lập mật khẩu thành công. Bạn đã đăng nhập."
mailer:
confirmation_instructions:
- confirm: "Xác nhận tài khoản của tôi"
- subject: "Chỉ dẫn xác nhận"
- you_can_confirm: "Bạn có thể xác nhận tài khoản thông qua địa chỉ sau:"
- hello: "Xin chào %{email}!"
+ confirm: "Xác thực tài khoản của tôi"
+ subject: "Hướng dẫn xác thực"
+ you_can_confirm: "Bạn có thể xác thực tài khoản thông qua liên kết sau:"
+ hello: "Xin chào %{username}!"
inviter:
accept_at: "tại %{url}, bạn có thể chấp nhận nó qua đường dẫn bên dưới."
has_invited_you: "%{name}"
- have_invited_you: "%{names} đã mời bạn tham gia Diaspora"
+ have_invited_you: "%{names} mời bạn tham gia Diaspora"
+ password_change:
+ subject: "Đổi mật khẩu"
reset_password_instructions:
change: "Đổi mật khẩu"
ignore: "Nếu bạn không yêu cầu, hãy bỏ qua thư này."
- someone_requested: "Ai đó đã yêu cầu một liên kết để đổi mật khẩu của bạn, và bạn có thể đổi mật khẩu thông qua liên kết dưới đây."
- subject: "Chỉ dẫn khôi phục mật khẩu"
+ someone_requested: "Ai đó đã yêu cầu \x1dreset mật khẩu của bạn. Nếu đúng là bạn, \bhãy nhấn vào liên kết dưới đây."
+ subject: "Hướng dẫn khôi phục mật khẩu"
+ then_connect: "Sau khi reset mật khẩu, bạn sẽ có thể tiếp tục đăng nhập Diaspora với tài khoản \"%{username}\""
wont_change: "Mật khẩu của bạn sẽ không được thay đổi cho đến khi bạn truy cập liên kết trên và tạo mật khẩu mới."
unlock_instructions:
account_locked: "Tài khoản của bạn bị khoá do đăng nhập thất bại quá số lần quy định."
click_to_unlock: "Nhấn vào liên kết bên dưới để mở khoá tài khoản:"
- subject: "Chỉ dẫn mở khoá"
+ subject: "Hướng dẫn mở khoá"
unlock: "Mở khoá tài khoản"
- welcome: "Chào mừng %{email}!"
+ welcome: "Chào mừng %{username}!"
+ omniauth_callbacks:
+ failure: "Không thể cấp phép bạn từ %{kind} vì lý do \"%{reason}\"."
+ success: "Cấp phép thành công từ tài khoản %{kind}."
passwords:
edit:
change_password: "Đổi mật khẩu"
+ confirm_password: "Nhập lại mật khẩu"
+ new_password: "Mật khẩu mới"
new:
+ email: "Địa chỉ email"
forgot_password: "Quên mật khẩu?"
+ reset_password: "Reset mật khẩu"
send_password_instructions: "Gửi cho tôi hướng dẫn thiết đặt lại mật khẩu"
- send_instructions: "Bạn sẽ nhận được thư chứa chỉ dẫn cách thiết lập lại mật khẩu trong ít phút nữa."
- updated: "Đã đổi mật khẩu. Bạn đã đăng nhập."
+ no_token: "Bạn không thể truy cập trang này nếu không mở email reset mật khẩu. Nếu bạn đã mở email reset mật khẩu, hãy chắc rằng bạn sử dụng đầy đủ URL được cung cấp."
+ send_instructions: "Bạn sẽ nhận được email hướng dẫn cách reset mật khẩu trong ít phút nữa."
+ send_paranoid_instructions: "Nếu địa chỉ email của bạn tồn tại trong cơ sở dữ liệu của chúng tôi, bạn sẽ nhận được một email khôi phục mật khẩu trong vài phút nữa."
+ updated: "Đã đổi mật khẩu thành công."
+ updated_not_active: "Đã đổi mật khẩu thành công."
registrations:
- destroyed: "Tạm biệt! Tài khoản của bạn đã được huỷ thành công. Chúng tôi hy vọng sẽ gặp lại bạn sớm."
- signed_up: "Bạn đã đăng nhập thành công. Nếu được bật, một thư xác nhận sẽ được gửi cho bạn."
+ destroyed: "Tạm biệt! Tài khoản của bạn đã được xoá thành công. Chúng tôi hy vọng sẽ gặp lại bạn."
+ signed_up: "Bạn đã đăng ký thành công. Một email xác thực sẽ được gửi cho bạn."
+ signed_up_but_inactive: "Bạn đã đăng ký thành công. Tuy nhiên, bạn cần phải xác thực email trước khi có thể đăng nhập."
+ signed_up_but_locked: "Bạn đã đăng ký thành công. Tuy nhiên, tài khoản của bạn đã bị khoá."
+ signed_up_but_unconfirmed: "Một hướng dẫn đã được gửi tới địa chỉ email của bạn. Hãy nhấn vào liên kết để kích hoạt tài khoản của bạn."
+ update_needs_confirmation: "Đã cập nhật tài khoản thành công nhưng chúng tôi cần xác thực địa chỉ email mới của bạn. Hãy kiểm tra và nhấn vào liên kết để xác thực địa chỉ email mới của bạn."
updated: "Bạn đã cập nhật tài khoản thành công."
sessions:
+ already_signed_out: "Đã đăng xuất."
new:
login: "Đăng nhập"
modern_browsers: "chỉ hỗ trợ những trình duyệt hiện đại."
@@ -70,18 +92,23 @@ vi:
shared:
links:
forgot_your_password: "Quên mật khẩu?"
- receive_confirmation: "Không nhận được chỉ dẫn xác nhận?"
- receive_unlock: "Không nhận được chỉ dẫn mở khoá?"
+ receive_confirmation: "Không nhận được email xác thực?"
+ receive_unlock: "Không nhận được email mở khoá?"
sign_in: "Đăng nhập"
- sign_up: "Đăng kí"
- sign_up_closed: "Hiện không thể đăng kí mở."
+ sign_up: "Đăng ký"
+ sign_up_closed: "Máy chủ đã tắt đăng ký."
unlocks:
new:
resend_unlock: "Gửi lại chỉ dẫn mở khoá"
- send_instructions: "Bạn sẽ nhận được thư chứa chỉ dẫn mở khoá tài khoản trong ít phút nữa."
- unlocked: "Tài khoản của bạn đã được mở khoá. Bạn đã đăng nhập."
+ send_instructions: "Bạn sẽ nhận được email hướng dẫn mở khoá tài khoản trong ít phút nữa."
+ send_paranoid_instructions: "Nếu tài khoản của bạn tồn tại, bạn sẽ nhận được một email hướng dẫn mở khoá trong vài phút nữa."
+ unlocked: "Tài khoản của bạn đã được mở khoá. \x1dHãy đăng nhập để tiếp tục."
errors:
messages:
- already_confirmed: "đã được xác nhận"
+ already_confirmed: "đã được xác thực, thử đăng nhập lại"
+ confirmation_period_expired: "cần phải xác thực trong %{period}, xin hãy yêu cầu lại"
+ expired: "hết hạn, xin hãy yêu cầu lại"
not_found: "không tìm thấy"
- not_locked: "không khoá" \ No newline at end of file
+ not_locked: "không khoá"
+ not_saved:
+ other: "%{count} lỗi xảy ra từ %{resource}:" \ No newline at end of file
diff --git a/config/locales/devise/devise.wo.yml b/config/locales/devise/devise.wo.yml
index ab2b34447..e4934da3c 100644
--- a/config/locales/devise/devise.wo.yml
+++ b/config/locales/devise/devise.wo.yml
@@ -7,10 +7,10 @@
wo:
devise:
mailer:
- hello: "Na nga def %{email}?"
+ hello: "Na nga def %{username}?"
reset_password_instructions:
change: "Soppil sama baatujàll"
- welcome: "Dalal-jàmm %{email}!"
+ welcome: "Dalal-jàmm %{username}!"
passwords:
edit:
change_password: "Soppil sama baatujàll"
diff --git a/config/locales/devise/devise.zh-CN.yml b/config/locales/devise/devise.zh-CN.yml
index 58bf44649..24d863d27 100644
--- a/config/locales/devise/devise.zh-CN.yml
+++ b/config/locales/devise/devise.zh-CN.yml
@@ -28,7 +28,7 @@ zh-CN:
confirm: "确认帐号"
subject: "帐号确认步骤"
you_can_confirm: "您可以点击下面的链接确认帐号:"
- hello: "您好, %{email}!"
+ hello: "您好, %{username}!"
inviter:
accept_at: "在 %{url}, 您可以通过以下链接接受"
has_invited_you: "%{name}"
@@ -44,7 +44,7 @@ zh-CN:
click_to_unlock: "点击下面的链接以解锁您的帐号:"
subject: "帐号解锁步骤"
unlock: "解锁帐号"
- welcome: "欢迎您, %{email}!"
+ welcome: "欢迎您, %{username}!"
passwords:
edit:
change_password: "修改密码"
diff --git a/config/locales/devise/devise.zh-TW.yml b/config/locales/devise/devise.zh-TW.yml
index 44f636034..6a6558980 100644
--- a/config/locales/devise/devise.zh-TW.yml
+++ b/config/locales/devise/devise.zh-TW.yml
@@ -32,7 +32,7 @@ zh-TW:
confirm: "帳號確認"
subject: "確認步驟"
you_can_confirm: "你可以使用以下連結確認帳號:"
- hello: "你好,%{email}!"
+ hello: "你好,%{username}!"
inviter:
accept_at: "於 %{url},你可以透過以下連結來接受。"
has_invited_you: "%{name}"
@@ -50,7 +50,7 @@ zh-TW:
click_to_unlock: "點一下以下連結來將你的帳號解鎖:"
subject: "解鎖步驟"
unlock: "帳號解鎖"
- welcome: "歡迎你,%{email}!"
+ welcome: "歡迎你,%{username}!"
omniauth_callbacks:
failure: "跟 %{kind} 認證失敗,原因是:%{reason}。"
success: "%{kind} 帳號認證成功。"
diff --git a/config/locales/diaspora/ar.yml b/config/locales/diaspora/ar.yml
index 32ac565f1..6f266778f 100644
--- a/config/locales/diaspora/ar.yml
+++ b/config/locales/diaspora/ar.yml
@@ -10,6 +10,7 @@ ar:
_help: "المساعدة"
_services: "الخدمات"
_statistics: "إحصائيّات"
+ _terms: "شروط الاستخدام"
account: "الحساب"
activerecord:
errors:
@@ -22,10 +23,18 @@ ar:
attributes:
diaspora_handle:
taken: "مأخوذ بالفعل."
+ poll:
+ attributes:
+ poll_answers:
+ not_enough_poll_answers: "لم توفر خيارات كافية للتصويت"
+ poll_participation:
+ attributes:
+ poll:
+ already_participated: "شاركت في هذا التصويت بالفعل"
reshare:
attributes:
root_guid:
- taken: "لقد أعدت نشر هذه المشاركة بالفعل!"
+ taken: "أعدت نشر هذه المشاركة بالفعل!"
user:
attributes:
email:
@@ -37,11 +46,21 @@ ar:
taken: "مأخوذ بالفعل."
admins:
admin_bar:
+ dashboard: "لوحة التحكم"
pages: "صفحات"
+ pod_network: "شبكة الخادم"
+ pod_stats: "إحصائيات الخادم"
+ report: "الإبلاغات"
user_search: "بحث عن عضو"
weekly_user_stats: "إحصائيات المستخدم الإسبوعية"
+ dashboard:
+ fetching_diaspora_version: "يبحث عن آخر صدار لديسبورا..."
+ pod_status: "حالة الخادم"
+ pods:
+ pod_network: "شبكة الخادم"
stats:
2weeks: "أسبوعين"
+ 50_most: "50 وسما الأكثر تداولا"
comments:
few: "%{count} تعليقات"
many: "%{count} تعليقات"
@@ -51,7 +70,22 @@ ar:
zero: "%{count} تعليق"
daily: "يومياً"
display_results: "يعرض النّتائج من الجزء <b>%{segment}</b>"
+ go: "ابدأ"
month: "شهر"
+ posts:
+ few: "‎%{count}‎ مشاركات"
+ many: "‎%{count}‎ مشاركة"
+ one: "مشاركة واحدة"
+ other: "‎%{count}‎ مشاركة"
+ two: "مشاركتان"
+ zero: "بدون مشاركات"
+ shares:
+ few: "‎%{count}‎ نشور"
+ many: "‎%{count}‎ نشرا"
+ one: "نشر واحد"
+ other: "‎%{count}‎ نشر"
+ two: "نشران"
+ zero: "لم يُنشر"
usage_statistic: "إحصائيّات الاستخدام"
users:
few: "%{count} مستخدمون"
@@ -61,9 +95,53 @@ ar:
two: "%{count} مستخدم"
zero: "%{count} مستخدم"
week: "أسبوع"
+ user_entry:
+ account_closed: "أُغلق الحساب"
+ admin: "مدير"
+ diaspora_handle: "معرف دياسبورا"
+ email: "البريد الإلكترونيّ"
+ id: "المعرف"
+ last_seen: "آخرة مشاهدة"
+ moderator: "مشرف"
+ ? "no"
+ : لا
+ unknown: "مجهول"
+ ? "yes"
+ : نعم
user_search:
+ account_closing_scheduled: "جُدوِل حساب ‎%{name}‎ للإغلاق.سيتم اغلاقه في لحظات..."
+ account_locking_scheduled: "جُدوِل حساب ‎%{name}‎ للإغلاق.سيتم اغلاقه في لحظات..."
+ account_unlocking_scheduled: "جُدوِل حساب ‎%{name}‎ لإلغاء الإغلاق.سيتم إلغاء اغلاقه في لحظات..."
+ add_invites: "أضف دعوات"
+ are_you_sure: "أتريد إغلاق هذا الحساب؟"
are_you_sure_lock_account: "أمتأكّد من قفل هذا الحساب؟"
are_you_sure_unlock_account: "أمتأكّد من إزالة قفل هذا الحساب؟"
+ close_account: "اغلق الحساب"
+ does_not_exist: "المستخدم غير موجود"
+ email_to: "دعوة عبر البريد الإلكتروني"
+ invite: "أدعو"
+ lock_account: "أقفل الحساب"
+ make_admin: "اجعله مديرا"
+ make_moderator: "اجعله مشرفا"
+ make_spotlight: "أضفه لأعلام المجتمع"
+ remove_admin: "أزله من الإدارة"
+ remove_moderator: "أزله من الاشراف"
+ under_13: "اعرض المستخدمين الاصغر من 13 سنة"
+ unlock_account: "ألغ قفل الحساب"
+ users:
+ few: "عُثر على ‎%{count}‎ مستخدمين"
+ many: "عُثر على ‎%{count}‎ مستخدما"
+ one: "عُثر على مستخدم واحد"
+ other: "عُثر على ‎%{count}‎ مستخدم"
+ two: "عُثر على مستخدمَين"
+ zero: "لم يُعثر على مستخدم"
+ view_profile: "اعرض الملف الشخصي"
+ you_currently:
+ few: "تبقت لك ‎%{count}‎ دعوات ‎%{link}‎"
+ one: "تبقت لك دعوة واحدة ‎%{link}‎"
+ other: "تبقت لك ‎%{count}‎ دعوة ‎%{link}‎"
+ two: "تبقت لك دعوتان ‎%{link}‎"
+ zero: "لم تتبق لك دعوة ‎%{link}‎"
weekly_user_stats:
amount_of:
few: "عدد المستخدمين الجدد لهذا الأسبوع: ‎%{count}‎"
@@ -74,11 +152,105 @@ ar:
zero: "عدد المستخدمين الجدد لهذا الأسبوع: صفر"
current_server: "تاريخ الخادوم الحاليّ هو ‎%{date}‎"
all_aspects: "كل الفئات"
+ api:
+ openid_connect:
+ authorizations:
+ new:
+ access: "يحتاج ‎%{name}‎ الوصول الى:"
+ approve: "قبول"
+ deny: "رفض"
+ no_requirement: "لا يحتاج ‎%{name}‎ الى اذون"
+ private_contacts_linkage_error: "تعديل العموميات وتعديل الخصوصيات تحتاج لقراءة جهات الاتصال"
+ error_page:
+ contact_developer: "أرسل رسالة الخطأ التالية لمطور التطبيق:"
+ could_not_authorize: "لا يمكن تخويل هذا التطبيق"
+ login_required: "لِج لتتمكن من تخويل هذا التطبيق"
+ title: "حدث خطأ ما!"
+ scopes:
+ ? "contacts:modify"
+ :
+ description: "يمكّن التطبيق من تعديل جهات الاتصال واضافة والبيانات المتعلقة بهم(مثل الفئات)."
+ name: "تعديل جهات الاتصال"
+ ? "contacts:read"
+ :
+ description: "يمكّن التطبيق من قراءة جهات الاتصال والبيانات المتعلقة بهم (مثل الفئات)."
+ name: "قراءة جهات الاتصال"
+ conversations:
+ description: "يمكّن التطبيق من قراءة\\كتابة الرسائل الخاصة."
+ name: "المحادثات"
+ email:
+ description: "يمكّن التطبيق من قراءة البريد الإلكتروني."
+ name: "البريد الإلكترونيّ"
+ interactions:
+ description: "يمكّن التطبيق من قراء وتعديل تفاعلاتك على المشاركات."
+ name: "التفاعلات"
+ name:
+ description: "يمكن التطبيق من قراءة الاسم"
+ name: "الاسم"
+ nickname:
+ description: "يمكن التطبيق من قراءة اللقب"
+ name: "اللقب"
+ notifications:
+ description: "يمكن التطبيق من قراءة وتعديل التنبيهات."
+ name: "التتبيهات"
+ openid:
+ description: "يمكّن التطبيق من قراءة المعلمومات الأساسية للملف الشخصي"
+ name: "ملف الشخصي الأساسي"
+ picture:
+ description: "يمكّن التطبيق من رؤية صورة الملف الشخص"
+ name: "الصورة"
+ ? "private:modify"
+ :
+ description: "يمكّن الطبيق من تعديل المشاركات والتيارات الخاصة."
+ name: "تعديل الخصوصيات"
+ ? "private:read"
+ :
+ description: "يمكن التطبيق من قراءة المشاركات والتيارات الخاصة."
+ name: "قراءة الخاصوصيات"
+ profile:
+ description: "يمكّن التطبيق من قراءة معلومات الملف الشخصي كاملة"
+ name: "الملف الشخصي الموسع"
+ ? "profile:modify"
+ :
+ description: "يمكّن التطبيق من تحديث معلومات الملف الشخصي."
+ name: "تعديل الملف الشخصي.‎"
+ ? "profile:read_private"
+ :
+ description: "يمكن التطبيق من قراءة البيانات الخاصة للملف الشخصي."
+ name: "قراءة خصوصيات الملف الشخصي"
+ ? "public:modify"
+ :
+ description: "يمكن التطبيق من تعديل وانشاء المشاركات والتفاعلات والبيانات العامة."
+ name: "تعديل العموميات"
+ ? "public:read"
+ :
+ description: "يمكّن التطبيق من قراءة المنشورات والتفاعلات وبيانات المستخدم العامة."
+ name: "قراءة العموميات"
+ ? "tags:modify"
+ :
+ description: "يمكّن التطبيق من تعديل الوسوم المتتبعة"
+ name: "تعديل الوسوم"
+ ? "tags:read"
+ :
+ description: "يمكّن التطبيق من قراءة الوسوم المتتبعة."
+ name: "قراءة الوسوم"
+ user_applications:
+ index:
+ access: "‎%{name}‎ يمكنه الوصول الى:"
+ edit_applications: "التطيقات"
+ no_requirement: "لا يحتاج ‎%{name}‎ الى اذون"
+ title: "التطبيقات المخولة"
+ no_applications: "ليس لديك تطبيقات مخولة"
+ revoke_autorization: "إلغاء الوصول"
+ tos: "اقرأ شروط استخدام التطبيق"
are_you_sure: "أمتأكّد؟"
are_you_sure_delete_account: "أمتأكّد من حذف حسابك؟ هذا إجراء لا عودة فيه!"
+ are_you_sure_ignore_user: "أمتأكد من تجاهل هذا المستخدم؟"
aspect_memberships:
destroy:
failure: "فشل في حذف عضو من الفئة"
+ forbidden: "غير مسموح لك بهذا"
+ invalid_statement: "رُفض التسجيل المكرر."
no_membership: "تعذَّر إيجاد العضو المحدد في هذه الفئة"
success: "حُذِفَ العضو من الفئة بنجاح"
aspects:
@@ -88,11 +260,13 @@ ar:
aspect_listings:
add_an_aspect: "+ أضف فئة جديدة"
aspect_stream:
+ make_something: "افعل شيئا"
stay_updated: "إبقَ على اطلاع"
- stay_updated_explanation: "تيّارك الرئيس مَمْلُوءٌ بجميع جهات إتصالك و الوسوم التي تتابع و منشورات من بعض أعضاء المجتمع المبدعين."
+ stay_updated_explanation: "ساحة المشاركات مَمْلُوءٌ بمشاركات متراسليك و الوسوم التي تتابع وبعض أعضاء المجتمع المبدعين."
destroy:
failure: "%{name} ليس خاليا ولا يمكن حذفه"
success: ".بنجاح %{name} تم إزالة"
+ success_auto_follow_back: "أُزيلت ‎%{name}‎ بنجاح. كنت تستخدم هذه الفئة للمتابعة التلقائية لكل من يتابعك.اختر فئة أخرى من اعدادات المستخدم للمتابعة التلقائية."
edit:
aspect_list_is_not_visible: "قائمة الفئة مخفية عن الأعضاء الأخرين في الفئة"
aspect_list_is_visible: "قائمة الفئة مرئية للأعضاء الآخرين في الفئة"
@@ -102,17 +276,26 @@ ar:
updating: "يحدّث"
index:
donate: "تبرّع"
+ donate_liberapay: "تبرع عبر liberapay"
help:
+ any_problem: "واجهة مشكلة؟"
+ contact_podmin: "اتصل بمدير الخادم"
do_you: "هل:"
feature_suggestion: "... تملك %{link} اقتراحا؟"
find_a_bug: "... وجدت %{link}?"
have_a_question: "... تملك %{link}?"
here_to_help: "مجتمع دياسبرا متأهب للمساعدة"
+ mail_podmin: "بريد مدير الخادم"
need_help: "هل تحتاج إلى مساعدة ؟"
+ support_forum: "يمكنك الانضمام الى %{support_forum}."
+ support_forum_link: "منتدى الدعم"
tag_bug: "#bug"
tag_feature: "ميزة"
tag_question: "سؤال"
+ tutorial_link_text: "دروس"
+ tutorials_and_wiki: "مساعدة في خطواتك الأةلى راجع: ‎%{faq}‎ ،‎%{tutorial}‎ و‎%{wiki}‎"
introduce_yourself: "هذه هى ساحة مشاركاتك.  هيا قدم نفسك."
+ keep_pod_running: "حافظ على ‎%{pod}‎ سريعا عبر تبرع شهري لصيانة السيرفرات"
new_here:
follow: "تابِع %{link} ورحب بالمُستخدمين الجدد لدياسبرا !"
learn_more: "تعلم المزيد"
@@ -123,6 +306,7 @@ ar:
welcome_to_diaspora: "مرحبا بك في دياسبرا , %{name} !"
no_contacts_message:
community_spotlight: "أضواء المجتمع"
+ invite_link_text: "أدعو"
or_spotlight: "أو يمكنك المشاركة مع %{link}"
try_adding_some_more_contacts: "يمكنك البحث عن متراسلين آخرين أو لربّما ‎%{invite_link}."
you_should_add_some_more_contacts: "عليك إضافة متراسلين آخرين!"
@@ -145,36 +329,67 @@ ar:
heading: "زر المفضلة"
post_something: "انشر شيئا على دياسبرا"
cancel: "ألغِ"
+ color_themes:
+ dark: "داكن"
+ dark_green: "أخضر داكن"
+ egyptian_blue: "أزرق مصري"
+ magenta: "أحمر أرجواني"
+ original: "الرمادي الأصلي"
+ original_white: "الخلفية البيضاء الأصلية"
comments:
+ create:
+ fail: "فشل إنشاء التعليق"
+ destroy:
+ fail: "فشل حذف التعليق"
+ success: "حُذف تعليق ‎%{id}‎ بنجاح"
new_comment:
comment: "علِّق"
commenting: "جارى التعليق..."
+ not_found: "لم يُعثر على المشاركة أو التعليق"
contacts:
index:
- all_contacts: "كل جهات الاتصال"
+ add_contact: "أضف جهة اتصال"
+ all_contacts: "كل المتراسلين"
community_spotlight: "ضوء المجتمع"
- my_contacts: "جهات الاتصال الخاصة بي"
+ my_contacts: "متراسليِّ"
no_contacts: "لا توجد جهات اتصال."
+ no_contacts_in_aspect: "ليس لديك جهات اتصال في هذه الفئة. أضف جهات اتصال لهذه الفئة من أدناه."
no_contacts_message: "انظر في {community_spotlight}%"
only_sharing_with_me: "فقط يتشاركون معي"
start_a_conversation: "ابدأ محادثة"
title: "جهات الاتصال"
+ user_search: "إبحث عن جهة اتصال"
spotlight:
community_spotlight: "ضوء المجتمع"
+ no_members: "بدون أعضاء"
+ suggest_member: "اقترح عضوا"
conversations:
create:
fail: "رسالة غير صالحة"
sent: "أُرْسِلَت الرسالة"
+ destroy:
+ delete_success: "حُذفت المحادثة بنجاح"
+ hide_success: "أُخفيت المحادثة بنجاح"
index:
+ conversations_inbox: "المحادثات - الوارد"
inbox: "الوارد"
+ new_conversation: "محادثة جديدة"
+ no_contacts: "أضف جهات اتصال لبدأ محادثة"
no_messages: "لا توجد رسائل"
new:
+ message: "رسالة"
send: "أَرْسِل"
sending: "يُرسـَل..."
subject: "موضوع"
+ subject_default: "بدون موضوع"
to: "إلى"
+ new_conversation:
+ fail: "رسالة غير صالحة"
+ not_found: "لم يُعثر على المحادثة"
show:
delete: "احْذِف المحادثة"
+ hide: "اخف المحادثة وأكتمها"
+ last_message: "آخر ما استلمت ‎%{timeago}‎"
reply: "رُدَّ"
replying: "يُجيب..."
date:
@@ -187,42 +402,179 @@ ar:
error_messages:
helper:
correct_the_following_errors_and_try_again: "صحّح الأخطاء الآتية وحاول مجدّدًا."
+ need_javascript: "يحتاج هذا الموقع جافا-سكربت ليعمل. فعلها ثم أعد تحميل الصفحة."
+ errors:
+ messages:
+ carrierwave_download_error: "فشل التحميل"
+ carrierwave_integrity_error: "نوع ملف ممنوع"
+ carrierwave_processing_error: "فشلت المعالجة"
+ content_type_blacklist_error: "يمنع عليك رفع ملفات ‎%{content_type}‎"
+ content_type_whitelist_error: "يمنع عليك رفع ملفات ‎%{content_type}‎"
+ extension_blacklist_error: "رفع ملفات ‎%{extension}‎ ممنوع. يمنع عليك رفع: ‎%{prohibited_types}‎"
+ extension_whitelist_error: "رفع ملفات ‎%{allowed_types}‎ ممنوع. يُسمح لك برفع: ‎%{extension}‎"
+ max_size_error: "يجب أن لا يزيزد حجم الملف عن ‎%{max_size}‎"
+ min_size_error: "يجب أن لا يقل حجم الملف عن ‎%{min_size}‎"
fill_me_out: "املأني"
find_people: "ابحث عن أشخاص أو #وسوم"
help:
+ account_and_data_management:
+ close_account_a: "في أسفل صفحة الإعدادات أنقر على زر \"اقفل الحساب\". أدخلة كلمة السر لتأكيد الاجراء.تذكر انه ‎<strong>‎ لن‎</strong>‎ يمكنك اعادة استخدام اسم المسخدم في نفس الخادم."
+ close_account_q: "كيف يمكنني حذف حسابي؟"
+ data_other_podmins_a: "عندما تبدأ المشاركة مع شخص من خادم آخر، أي مشاركة تشاركها معهم تخزن (تخزن مؤقتا) نسخة منها في ذلك الخادم بحيث يمكن لمديره الوصول اليها.عند حذفك لمشاركة تحذف مباشرة من خادمك ويرسل طلب لحذفها الى الخوادم الأخرى. أما صورك فتخزن في خادمك وحده ويرسل رابط لتلك الصور الى الخوادم الأخرى."
+ data_other_podmins_q: "هل يمكن لمدراء الخوادم الأخرى رؤية معلوماتي؟"
+ data_visible_to_podmin_a: "باختصار: كل شيئ. إن الاتصالات بين خوادم دياسبورا مشفرة لكن التخزين ليس كذلك. يمكن للمدير الوصول لكل البيانات في قاعدة البيانات (منشورات, ردود ,...) لهذا عليك اختيار خادم بعناية له مدير يمكنك الوثوق به أو استضف خادمك الخاص."
+ data_visible_to_podmin_q: "ماهي البيانات التي يمكن لمدير الخادم رأيتها؟"
+ download_data_a: "بالطبع، في تبويب الحساب من صفحة الاعدادات ستجد في نهايتها زرين: واحد لتزيل البيانات والآخر لتزيل الصور."
+ download_data_q: "هل يمكنني تحميل كل بياناتي؟"
+ move_pods_a: "قدَم الاصدار 0.7.0.0 من دياسبورا المرحلة الأولى لترحيل الحسابات: يمكنك الآن تصدير كل بياناتك من قسم \"للحساب\" في اعدادات المستخدم. في المستقبل ستتمكن من ترحيل حسابك كاملا بما في ذلك منشوراتك ومتراسليك لخادم آخر."
+ move_pods_q: "كيف أنقل حسابي من خادم لآخر؟"
+ title: "إدارة الحساب والبيانات"
+ aspects:
+ change_aspect_of_post_a: "لا يمكنك، ولكن يمكنك إنشاء مشاركة بنفس المحتوى مع تحديد فئات مختلفة."
+ change_aspect_of_post_q: "‏ هل يمكنني تعديل الفئات لمشاركة نشرتها؟"
+ contacts_know_aspect_a: "لا، لايمكن لهم رؤيةاسم الفئة تحت أي ظرف."
+ contacts_know_aspect_q: "هل تعرف جهات اتصالي الى أي فئة ينتمون؟"
+ delete_aspect_a: "من الشريط الجانبي لساحة المشاركات أنقر على \"فئاتي\" ثم أنقر على أيقونة القلم المجاور لاسم الفئة المستهدفة، أو انتقل الى صفحة جهات الاتصال واختر الفئة المستهدف ثم أنقر على أيقونة سلة المهملات الموجودة في أعلى الصفحة أقصى اليمين."
+ delete_aspect_q: "كيف أحذف فئة؟"
+ person_multiple_aspects_q: "هل يمكنني اضافة خص لعدة فئات؟"
+ post_multiple_aspects_a: "أثناء كتابتك للمشاركة استخدم زر تحديد الفئات لاختيار الفئات المستهدفة. الخيار الافتراضي هو كل الفئات اذا قمت بتعديله ستتمكن الفئات المحددة من رؤية المشاركة.أو يمكنك اختيار فئات من الشريط الجانبي ليتم تحديدهم تلقائيا عند كتابتك للمشاركة."
+ post_multiple_aspects_q: "هل يمكنني نشر مشاركة لعدة فئات؟"
+ remove_notification_a: "لا ينبه، وأيضا لا ينبه إن أضفته لفئة ان كنت تتشارك معه مسبقا."
+ remove_notification_q: "اذ حذفت شخصا من فئة أو عدة فئات، هل يُنبّه بذلك؟"
+ rename_aspect_a: "أنقر على فئاتي من الشريط الجانبي ثم أنقر على أيقونة القلم المجاورة للفئة المستهدفة. أو من خلال صفحة المتراسلين، اختر الفئة المستهدفة ثم على أيقونة التعديل المجاورة لاسم الفئة في أعلى الصفحة. غيّر الاسم ثم أنقر حدّث"
+ rename_aspect_q: "كيف أغير اسم فئة؟"
+ restrict_posts_i_see_a: "بالطبع، من فئاتي في الشريط الجانبي حدد الفئات المستهدفة. لن تظهر إلا مشاركات الفئات المحددة في ساحة المشاركات."
+ restrict_posts_i_see_q: "هل يمكنني تحديد مشاركات فئة معينة لتظهر وحدها في ساحة المشركات؟"
+ title: "الفئات"
+ what_is_an_aspect_a: "الفئات طريقة لفرز جهات الاتصال في دياسبورا، أصدقائك، عائلتك، أو العمل"
+ what_is_an_aspect_q: "ماهي الفئات"
+ who_sees_post_a: "إذا أنشأت مشاركة محددوة، لن يراه إلا الاشخاص المتواجدون في الفئة الموجهة اليهم (أو الفئات إن جعلته متعدد الفئات) لن يتمكن أي شخص خارج تلك الفئة من رؤية المشاركة."
+ who_sees_post_q: "لما أنشر في فئة، من يراه؟"
+ faq: "الأسئلة الشائعة"
+ foundation_website: "موقع مؤسسة دياسبورا"
getting_help:
+ get_support_a_faq: "راجع صفحة ‎%{faq}‎ في ويكي"
+ get_support_a_hashtag: "أكتب سؤالك في مشاركة وأضف اليها وسم ‎%{question}‎"
+ get_support_a_irc: "انضم إلينا في ‎%{irc}‎ (محادثة)"
+ get_support_a_tutorials: "تحقق من ‎%{tutorials}‎"
+ get_support_a_website: "زر ‎%{link}‎"
+ get_support_a_wiki: "ابحث في ‎%{link}‎"
+ get_support_q: "كيف أحصل على الدعم إن لم أجد ما أبتغي في الأسئلة المتداولة؟"
+ getting_started_a: "راجع ‎%{tutorial_series}‎ في موقع المشروع. سيعلمك الدليل كيفية التسجيل وأساسيات الاستخدام خطوة بخطوة."
+ getting_started_q: "أحتاج تعلم الأساسيات لأبدأ!"
title: "الحصول على المساعدة"
+ getting_started_tutorial: "سلسلة دروس \"بدأ الاستخدام\""
+ here: "هنا"
+ irc: "IRC"
keyboard_shortcuts:
+ keyboard_shortcuts_a1: "يمكنك استخدام الاختصارات التالية في ساحة المشاركات:"
+ keyboard_shortcuts_li1: "j – انتقل للمشاركة التالية"
+ keyboard_shortcuts_li2: "k – انتقل للمشاركة السابقة"
+ keyboard_shortcuts_li3: "c – علّق على المشاركة الحالية"
+ keyboard_shortcuts_li4: "l – ابدِ اعجابك بالمشاركة الحالية"
keyboard_shortcuts_li5: "r - أعد مشاركة التدوينة الحاليّة"
keyboard_shortcuts_li6: "m - وسّع التدوينة الحاليّة"
keyboard_shortcuts_li7: "o - افتح أوّل وصلة في التدوينة الحاليّة"
+ keyboard_shortcuts_li8: "Ctrl+Enter – أرسل الرسالة التي تكتب"
+ keyboard_shortcuts_q: "اختصارات لوحة المفاتح المتوفرة؟"
+ title: "اختصارات لوحة المفاتيح"
+ markdown: "ماركداون"
+ mentions:
+ how_to_mention_a: "أكتب \"@\" ثم اسم الشخص. أثناء الكتابة ستظهر قائمة منزلقة، اختر منها. تذكر انه يمكنك الاشخاص المتواجدون في فئاتك فقط."
+ how_to_mention_q: "كيف يمكنني الاشارة لشخص عند كتابة مشاركة؟"
+ mention_in_comment_q: "هل يمكنني الاشارة لشخص في تعليق؟"
+ title: "الإشارات"
+ what_is_a_mention_a: "هي رابط لملف شخصي يدرج في مشاركة. ينبَّهsomeone صاحب الملف الشخصي عند الاشارة إليه."
+ what_is_a_mention_q: "ماهي \" الاشارة\"؟"
posts_and_posting:
character_limit_a: "65535 محرفًا. هذا أكبر بِـ 65395 محرفًا الذي تحصل عليها في تويتر! ؛)"
+ third_party_tools: "أدوات الطرف الثالث"
title_header: "المساعدة"
+ tutorial: "دروس"
+ tutorials: "دروس"
+ wiki: "ويكي"
home:
+ default:
+ be_who_you_want_to_be: "كن من تريد"
+ be_who_you_want_to_be_info: "دياسبورا لا يجبرك على استخدام اسمك الحقيقي كالشبكات الأخرى. كن من تريد وشارك ما تريد. انت من يقرر كيف تتفاعل مع الأشخاص من حولك."
+ byline: "شبكة التواصل الاجتماعي أين تكون انت المتحكم فيها"
+ choose_your_audience: "اختر جمهورك"
+ choose_your_audience_info: "تسمح لك الفئات بالمشاركة مع أشخاص محددين. كن كتوما أو شارك مع الكل، شارك صورا مضحكة مع الكل، أو أعمق أسرارك مع أصدقائك المقربين. هنا أنت المتحكم."
+ diaspora_site_link: "شبكة دياسبورا الموحدة"
+ headline: "مرحبا في ‎%{pod_name}‎"
+ own_your_data: "انت المتحكم في بياناتك"
+ own_your_data_info: "تقوم كثير من الشبكات باستغلال بياناتك من أجل الربح، بعرض إشهارات موجهة لك بعد تحليل بياناتك. عكس ذلك لا تقوم دياسبورا باستخدام بياناتك لأي غرض عدى توصيلك بالأخرين."
+ part_of_diaspora: "جزء من ‎%{diaspora_site_link}‎"
podmin:
+ configure_your_pod: "أعدد خادمك"
+ contact_irc: "تواصل معنى على IRC"
+ contribute: "ساهم"
+ contribute_info: "ساهم في تحسين دياسورا*! بالإبلاغ عن العلل ‎%{report_bugs}‎."
+ create_an_account: "أنشئ حسابا"
+ create_an_account_info: "‎%{sign_up_link}‎ لإنشاء حساب جديد"
getting_help: "الحصول على المساعدة"
+ getting_help_info: "أضفنا بعض التلميحات والحلول للمشاكل الشائعة في‎%{faq} ‎. انضم إلينا في ‎%{irc}‎ ان أحببت."
+ headline: "مرحبا يا صديق"
+ make_yourself_an_admin: "تبرع"
+ report_bugs: "بلِّغ"
+ update_instructions: "تعليمات التحديث في ويكي دياسبورا*"
+ update_your_pod: "حدّث خادمك"
+ update_your_pod_info: "يمكنك العثور على ‎%{update_instructions}‎."
+ invitation_codes:
+ not_valid: "رمز الدعوة غير صالح بعد الآن"
invitations:
create:
+ closed: "الدعوات غير متاحة على هذا الخادم."
+ empty: "أدخل بريدا واحد على الأقل"
no_more: "لم يتبقى لك أية دعوات"
+ note_already_sent: "أُرسلت الدعوة الى ‎%{emails}‎"
rejected: "واجه هذا البريد الإلكتروني مشاكلا: "
sent: "تم إرسال دعوتك"
new:
+ codes_left:
+ few: "بقيت ‎%{count}‎ دعوات في هذا الرمز"
+ many: "بقيت ‎%{count}‎ دعوة في هذا الرمز"
+ one: "بقيت دعوة في هذا الرمز"
+ other: "بقيت‎%{count}‎ دعوة في هذا الرمز"
+ two: "بقيت دعوتان في هذا الرمز"
+ zero: "لم تتبقى دعوة في هذا الرمز"
+ comma_separated_plz: "يمكن إدخال أكثر من بريد إلكتروني واحد بادخال فاصلة بينهم"
invite_someone_to_join: "دعوة صديق للإنضمام إلى دياسبرا"
language: "اللغة"
+ paste_link: "ادعوا أصدقائك لداياسبور* بإعطائهم هذا الرابط أو أرسله لهم عبر البريد."
send_an_invitation: "إرسال دعوة"
+ sending_invitation: "يرسل الدعوة…"
layouts:
application:
back_to_top: "الذهاب إلى الاعلى"
+ discourse: "الدعم ومناقشات حول المشروع"
powered_by: "بدعم DIASPORA*"
public_feed: "ملقم دياسبرا العام لـ %{name}"
source_package: "نزّل حزمة الشِّفرة المصدريّة"
+ statistics_link: "احصائيات الخادم"
+ switch_to_standard_mode: "انتقل الى الوضع العادي"
+ switch_to_touch_optimized_mode: "انتقل الى وضع شاشة اللمس"
whats_new: "ما الجديد؟"
header:
code: "شيفرة"
logout: "خروج"
profile: "الملف الشخصى"
settings: "إعدادات"
+ toggle_navigation: "بدل التصفح"
+ likes:
+ create:
+ error: "فشل الإعجاب"
+ fail: "فشل إنشاء الاعحاب"
+ destroy:
+ error: "فشل إلغاء الإعجاب"
+ not_found: "لم يُعثر على المشاركة أو الإعجاب"
+ people_like_this:
+ few: "‎%{count}‎ إعجابات"
+ many: "‎%{count}‎ إعجابا"
+ one: "إعجاب واحد"
+ other: "‎%{count}‎ إعجاب"
+ two: "إعجابان"
+ zero: "بدون إعجابات"
limited: "محدّد"
more: "أكثر"
no_results: "لا نتائج"
@@ -248,7 +600,16 @@ ar:
other: "%{actors} علقوا على %{post_link}."
two: "%{actors} علقا على %{post_link}."
zero: "%{actors} علق على %{post_link}."
+ contacts_birthday:
+ few: "عيد مولد ‎%{actors}‎ في ‎%{date}‎"
+ many: "عيد مولد ‎%{actors}‎ في ‎%{date}‎"
+ one: "عيد مولد ‎%{actors}‎ في ‎%{date}‎"
+ other: "عيد مولد ‎%{actors}‎ في ‎%{date}‎"
+ two: "عيد مولد ‎%{actors}‎ في ‎%{date}‎"
+ zero: "لا أعياد ميلاد"
index:
+ all_notifications: "كل الإشعارات"
+ also_commented: "المعلّق عليها ايضا"
and: "و"
and_others:
few: "و %{count} آخرون"
@@ -257,11 +618,21 @@ ar:
other: "و %{count} آخرون"
two: "و %{count} آخران"
zero: "و لا أحد"
+ comment_on_post: "تعليق على مشاركة"
contacts_birthday: "تاريخ الميلاد"
+ liked: "أعجبتني"
mark_all_as_read: "تحديد الكل كمقروء"
+ mark_all_shown_as_read: "علِّم جميع التنبيهات الظاهرة كمقروءة"
+ mark_read: "علِّمه كمقروء"
mark_unread: "غير مقروء"
+ mentioned: "إشارة في تعليق"
+ mentioned_in_comment: "إشارة في تعليق"
no_notifications: "ليس هناك أيّ إخطار بعد."
notifications: "تنبيهات"
+ reshared: "أُعيد نشره"
+ show_all: "اعرض الكل"
+ show_unread: "اعرض غير المقروء"
+ started_sharing: "بدأُ المشاركة"
liked:
few: "%{actors} أعجبوا لتوهم بـ %{post_link}."
many: "%{actors} أعجبوا لتوهم بـ %{post_link}."
@@ -290,6 +661,11 @@ ar:
other: "%{actors} أشاروا إليك في مشاركة محذوفة."
two: "%{actors} أشارا إليك في مشاركة محذوفة."
zero: "%{actors} أشار إليك في مشاركة محذوفة."
+ mentioned_in_comment_deleted:
+ few: "‎%{actors}‎ أشاروا إليك في تعليق محذوف"
+ one: "‎%{actors}‎ أشار إليك في تعليق محذوف"
+ other: "‎%{actors}‎ أشاروا إليك في تعليق محذوف"
+ two: "‎%{actors}‎ أشارا إليك في تعليق محذوف"
private_message:
few: "%{actors} راسلوك."
many: "%{actors} راسلوك."
@@ -320,15 +696,21 @@ ar:
zero: "%{actors} بدأ المشاركة معك."
notifier:
a_post_you_shared: "مشاركة."
+ a_private_message: "يك رسالة خاصة في دياسبورا، تحقق منها."
also_commented:
limited_subject: "هناك تعليق جديد على تدوينة كتبتها"
click_here: "اضغط هنا"
comment_on_post:
+ limited_subject: "تعليق جديد على احدى مشاركاتك"
reply: "رُد أو اعرض مشاركة %{name} >"
confirm_email:
click_link: "لتفعيل عنوان بريدك الإلكتروني الجديد %{unconfirmed_email}, من فضلك إتبع هذا الرابط:"
subject: "من فضلك، فَعِّل عنوان بريدك الإلكتروني الجديد %{unconfirmed_email}"
- email_sent_by_diaspora: "أُرسِلَت هذه الرسالة بواسطة ديسبورا. إذا أردت إيقاف مثل هذه الرسالة، "
+ contacts_birthday:
+ birthday: "عيد مولد ‎%{name}‎ اليوم، تمنئ له عيد مولد سعيد!"
+ subject: "عيد مولد ‎%{name}‎ اليوم"
+ view_profile: "اعرض ملف ‎%{name}‎ الشخصي"
+ email_sent_by_diaspora: "أُرسِلَت هذه الرسالة بواسطة ‎%{pod_name}‎. إذا أردت إيقاف مثل هذه الرسالة،"
export_email:
body: |-
مرحبًا ‎%{name}‎،
@@ -350,6 +732,27 @@ ar:
آلة دياسبورا للبريد الإلكترونيّ!
subject: "آسفون، حدثت مشكلة مع بياناتك يا ‎%{name}‎"
+ export_photos_email:
+ body: |-
+ مرحبا ‎%{name}‎،
+
+ عولجت صورك وهي جاهزة للتنزيل، لتنزيلها اضغط على ‎%{url}‎ .
+
+ تحيات،
+
+ البريد الآلي لدياسبورا!
+ subject: "صورك جاهزة للتنزيل، ‎%{name}‎"
+ export_photos_failure_email:
+ body: |-
+ مرحبا ‎%{name}‎،
+
+ واجهتنا مشكلة أثناء معالجة صورك لتنزيلها.
+ حاول مجددا!
+
+ متأسفون،
+
+ البريد الآلي لدياسبورا
+ subject: "هناك مشكلة في صورك، ‎%{name}‎"
hello: "مرحبا %{name}!"
invite:
message: |-
@@ -359,13 +762,55 @@ ar:
%{invite_url}
مع الحب،
البريد الالكترونى اﻵلى لدياسبرا*
+ invited_you: "دعاك ‎%{name}‎ لداياسبورا*"
liked:
liked: "%{name} أعجبته مشاركتك."
+ limited_post: "أُعجب ‎%{name}‎ بمشاركتك المحدودة"
view_post: "عرض المشاركة >"
mentioned:
+ limited_post: "أُشير إليك في مشاركة محدودة"
subject: "%{name} قام بذكرك في دياسبرا"
+ mentioned_in_comment:
+ limited_post: "أُشير اليك.في تعليق على مشاركة محدودة'"
private_message:
reply_to_or_view: "رُد أو اعرض هذه المحادثة >"
+ subject: "لديك رسالة خاصة جديدة"
+ remove_old_user:
+ body: |-
+ مرحبا،
+ بعد انقطاعك ‎‎%{after_days}‎ يوم عن حسابك في ‎‎%{pod_url}‎ ، نرى انك لا تريد استخدامه. لذا ومن أجل ضمان أحسن أداء للمستخدمين النشطاء سنقوم بحذف كل الحسابات غير المرغوب فيها.
+ نتمنى أن تبقى جزءا من مجتمعنا، وندعوك لابقاء حسابك حي ان اردت.
+
+ لابقاء حسابك حي ما عليك سوى الولوج الى حسابك قبل ‎%{remove_after}‎. بعد ولوجك ألق نظرة على التغييرات والتحسينات التي طرأت على دياسبورا أثناء غيابك. تابع بعض الوسوم لتجد المحتوى الذي تحب.
+
+ لج من هنا ‎%{login_url}‎ اذا نسيت معلومات حسابك أطلب تذكيرا من الصفحة.
+
+ نتمنى رأيتك مجددا،
+
+ البريد الالكترونى اﻵلى لدياسبرا*.
+ subject: "سيتم ازالة حسابك بسبب كونه غير نشط"
+ report_email:
+ body: |-
+ مرحبا،
+
+ ال‎%{type}‎ ذو المعرف ‎%{id}‎ علِّم كتجريح.
+
+ السبب: ‎%{reason}‎
+
+ [‎%{url}‎][1]
+
+ رجاء عاينه في أقرب فرصة!
+
+
+ تحيتنا،
+
+ المراسل الآلي لدياسبورا
+
+ [1]: [‎%{url}‎]
+ subject: "علِّم ‎%{type}‎ جديد كتجريح"
+ type:
+ comment: "تعليق"
+ post: "مشاركة"
reshared:
reshared: "%{name} أعاد نشر مشاركتك."
view_post: "عرض المشاركة >"
@@ -384,11 +829,14 @@ ar:
add_contact:
invited_by: "تمت دعوتك بواسطة"
index:
+ couldnt_find_them: "لم تجدهم؟"
looking_for: "تبحث عن مشاركات موسومة بـ %{tag_link}؟"
no_one_found: "...ولم يعثر على أحد"
no_results: "يجب تحديد شيء للبحث عنه"
results_for: "نتائج البحث عن"
+ search_handle: "لتجد أصدقائك استخدم معرف دياسبورا (username@pod.tld)."
searching: "جارى البحث، كن صبوراً من فضلك..."
+ send_invite: "لاشيء؟ اذا أرسل دعوة!"
person:
thats_you: "هذا أنت"
profile_sidebar:
@@ -409,10 +857,20 @@ ar:
notice: "حُذِفَت الصورة."
new_profile_photo:
upload: "ارْفَع صورةً شخصيةً جديدة"
+ polls:
+ votes:
+ few: "‎%{count}‎ أصوات حتى الآن"
+ many: "‎%{count}‎ صوتا حتى الآن"
+ one: "صوت واحد حتى الآن"
+ other: "‎%{count}‎ صوت حتى الآن"
+ two: "صوتان حتى الآن"
+ zero: "بدون أصوات"
posts:
presenter:
title: "مشاركة من %{name}"
show:
+ forbidden: "غير مسموح لك بهذا"
+ location: "نُشر من ‎‎%{location}‎"
photos_by:
few: "%{count} صور بواسطة %{author}"
many: "%{count} صور بواسطة %{author}"
@@ -426,8 +884,15 @@ ar:
profiles:
edit:
allow_search: "اسمَح للجميع بالبحث عنك من خلال دياسبرا"
+ basic: "ملف الشخصي الأساسي"
+ extended: "ملفي الشخص الموسع"
first_name: "اسمُك"
last_name: "لقبُك"
+ limited: "محدود"
+ nsfw_check: "اجعل كل منشوراتي NSFW"
+ nsfw_explanation: "NSFW (\"غير مناسب للعمل\") هو معيار مستقل يستخدمه مجتمع دياسبورا لتحديد المحتوى الحساس غير المناسب مشاهدته في مكان العمل. اذا كنت لتخطط لنشر هذا النوع من المحتوى بانتظام، رجاء حدد هذا الخيار ليتم اخفائه في ساحة المشاركات عن الاشخاص الذي لا يرغبون برؤيته."
+ nsfw_explanation2: "اذا لم تحدد هذا الخيار، استخدم وسم nsfw# عند نشر محتوا حساسا"
+ public: "عام"
update_profile: "حَدِّث الملف الشخصى"
your_bio: "سيرتُك الشخصية"
your_birthday: "تاريخ ميلادك"
@@ -444,6 +909,7 @@ ar:
registrations:
create:
success: "لقد انضممت الى دياسبرا "
+ invalid_invite: "رابط الدعوة الذي قدمت ليس صالح!"
new:
email: "الإيميـــل"
enter_email: "أدخل عنوان بريد إلكتروني"
@@ -451,10 +917,37 @@ ar:
enter_password_again: "أعد إدخال كلمة المرور"
enter_username: "اختر معرف (فقط حروف, أرقام, و الإشارات الخطية)"
password: "كلمة السر"
+ password_confirmation: "تأكيد كلمة المرور"
sign_up: "سجّل"
+ submitting: "يرسل..."
+ terms: "بإنشاء حساب أنت توافق على ‎%{terms_link}‎"
+ terms_link: "شروط الخدمة"
username: "إسم المستخدم"
+ report:
+ comment_label: "<strong>التعليق</strong>: ‎%{data}‎"
+ confirm_deletion: "أمتأكد من حذف العنصر؟"
+ delete_link: "احذف العنصر"
+ not_found: "لم يُعثر على المشاركة/التعليق، يبدو أن المستخدم حذفه!"
+ post_label: "<strong>المشاركة</strong>: ‎%{content}‎"
+ reason_label: "السبب:"
+ reported_label: "<strong>بلغ عنه</strong>: ‎%{person}‎"
+ reported_user_details: "تفاصيل عن المُبلغِ عنه"
+ review_link: "علِّمه كمُعاين"
+ status:
+ destroyed: "دُمر المنشور"
+ failed: "حصل خطأ ما"
+ title: "ملخص الإبلاغات"
+ unreviewed_reports:
+ few: "عاينت ‎%{count}‎ تبليغات"
+ many: "عاينت ‎%{count}‎ تبليغا"
+ one: "عاينت تبليغ واحد"
+ other: "عاينت ‎%{count}‎ تبليغ"
+ two: "عاينت تبليغين"
+ zero: "لم تعايين أي تبليغ"
reshares:
comment_email_subject: "نشر %{resharer} المُعاد لمشاركة %{author}"
+ create:
+ error: "فشلت إعادة المشاركة."
reshare:
deleted: "لقد تم حذف المشاركة الأصلية بواسطة المسؤل ."
reshare_confirmation: "هل أُعِيد نشرالمشاركة %{author} ؟"
@@ -462,7 +955,9 @@ ar:
search: "ابحث"
services:
create:
+ already_authorized: "مستخدم بمعرف ‎%{diaspora_id}‎ صرح بأن ‎%{service_name}‎ حساب."
failure: "فشل التوثيق"
+ read_only_access: "لديك الحق في القراءة فقط، حاول الاستيثاق لاحقا"
success: "تمت المصادقة بنجاح"
destroy:
success: "تم مسح المصادقة بنجاح"
@@ -472,10 +967,14 @@ ar:
disconnect: "قطع الإتصال"
edit_services: "تعديل الخدمات"
logged_in_as: "متصل بحساب"
+ no_services_available: "تتوافر أي خدمات في هذا الخادم"
really_disconnect: "قطع إتصال %{service}?"
+ services_explanation: "يتيح لك توصيل خدمات النشر للطرف الثالث بنشر مشاركاتك في كل الخدمات فور كتابتها في داياسبورا*"
settings: "الإعدادات"
shared:
aspect_dropdown:
+ mobile_row_checked: "‎%{name}‎ (أزل)"
+ mobile_row_unchecked: "‎%{name}‎ (أضف)"
toggle:
few: "في %{count} فئات"
many: "في %{count} فئات"
@@ -500,23 +999,43 @@ ar:
visibility_dropdown: "استخدم القائمة المنسدلة لتغير رؤية مشالركاتك (نقترح ألإختار الأول )"
publisher:
discard_post: "تجاهل المشاركة"
+ get_location: "أحصل على موقعك"
new_user_prefill:
hello: "مرحبًا جميعًا، أنا #%{new_user_tag}. "
i_like: "انا مهتم بـ %{tags}."
invited_by: "شكراً على الدعوة، "
newhere: "جديد هنا"
+ poll:
+ add_a_poll: "أضف استطلاع"
posting: "يَنشُر ..."
+ remove_location: "أزل الموقع"
share: "شَارِك"
whats_on_your_mind: "ماذا يجول في خاطرك؟"
stream_element:
via: "بواسطة %{link}"
via_mobile: "عبر المحمول"
+ simple_captcha:
+ label: "أدخل الرمز في الصندوق"
+ message:
+ default: "الرمز السري لا يماثل الذي في الصورة"
+ failed: "فشلت عملية التحقق"
+ user: "الصورة السرية والرمز مختلفان"
+ placeholder: "أدخل القيمة الموجودة في الصورة"
statistics:
+ active_users_halfyear: "المستخدمون النشطاء في نصف سنة"
+ active_users_monthly: "المستخدمون النشطاء في شهر"
+ closed: "أغلق"
+ disabled: "غير متوفر"
+ enabled: "متوفر"
local_comments: "التعليقات المحلية"
+ local_posts: "المشاركات المحلية"
name: "الاسم"
network: "الشبكة"
+ open: "افتح"
+ registrations: "التسجيلات"
services: "الخدمات"
total_users: "مجموع المستخدمين"
+ version: "الاصدار"
status_messages:
new:
mentioning: "ذكر %{person}"
@@ -525,20 +1044,29 @@ ar:
تم استخدام %{current_length}حتى الآن
stream_helper:
no_more_posts: "لقد وصلت إلى نهاية التيار."
+ no_posts_yet: "بدون مشاركات حاليا"
streams:
activity:
title: "نشاطى"
+ admin:
+ title: "المدير"
aspects:
+ all: "كل الفئات"
title: "فئاتي"
aspects_stream: "الفئات"
comment_stream:
title: "المشاركات التى تم التعليق عليها"
+ commented:
+ title: "المشاركات المعلق عليها"
community_spotlight_stream: "مجتمع فى دائرة الضوء"
followed_tag:
add_a_tag: "أضف وسم"
+ all: "كل الوسوم"
follow: "تابِع"
title: "#الوسم المتتبع"
followed_tags_stream: "الوسوم #المُتتبعه"
+ liked:
+ title: "المشاركات المعجب بها"
mentioned_stream: "@اﻹشارات"
mentions:
title: "إاشاراتك"
@@ -546,11 +1074,39 @@ ar:
title: "ساحة المشاركات"
public:
title: "النشاط العام"
+ tags:
+ title: "مشاركات موسومة ب‎%{tags} ‎"
+ tag_followings:
+ manage:
+ no_tags: "اتت لا تتابع أي وسوم"
+ title: "أدِر الوسوم المُتابعة"
tags:
show:
follow: "تابع #%{tag}"
none: "الوسم الفارغ غير موجود!"
stop_following: "أوقف متابعة #%{tag}"
+ tagged_people:
+ few: "‎%{count}‎ أشهاص بوسم ‎%{tag}‎ "
+ many: "‎%{count}‎ شخصًا بوسم ‎%{tag}‎ "
+ one: "شخص واحد بوسم ‎%{tag}‎ "
+ other: "‎ ‎%{count}‎ شخص بوسم ‎%{tag}‎ "
+ two: "شخصان بوسم ‎%{tag}‎ "
+ zero: "لا أشخاص بوسم ‎%{tag}‎ "
+ two_factor_auth:
+ activated:
+ change_button: "عطِّل"
+ change_label: "أدخل كلمة المرور لتعطيل الاستيثاق بخطوتين"
+ status: "فُعل الاستيثاق بخطوتين"
+ confirm:
+ scan_explanation: "امسح رمز الاستعادة السريعة بتطبيق متوافق، مثل andOTP (أندرويد)FreeOTP (iOS)، (SailfishOS) SailOTP"
+ scan_title: "امسح رمز الاستعادة السريعة"
+ title: "أكد التفعيل"
+ deactivated:
+ change_button: "فعِّل"
+ change_label: "فعِّل الاستيثاق بخطوتين"
+ status: "الاستيثاق بخطوتين معطل"
+ explanation: "الاستيثاق بخطوتين طريقة فعالة لتأمين حسابك. عند ولوجك سيطلب منك ادخال رمز ذو 6 أرقم من أجل تأكيد هويتك.يجب الحذر عند استخدام هذه الطريقة ، ففقدانك لهاتفك ورموز الاستعادة الخاصة بها يعني فقدان حسابك للأبد."
+ title: "الاستيثاق بخطوتين"
username: "اسم المستخدم"
users:
confirm_email:
@@ -558,9 +1114,12 @@ ar:
email_not_confirmed: "لا يمكن تفعيل البريد الإلكتروني، أهو رابط خاطئ؟"
destroy:
no_password: "من فضلك أدخل كلمة المرور الحالية لتغلق حسابك."
+ success: "أُقفل حسابك. قد يتطلب اغلاق حسابك 20 دقيقة. شكرا لتجربة داياسبورا*."
wrong_password: "كلمة المرور المدخلة لم تطابق كلمة مرورك الحالية."
edit:
- also_commented: "...علق أحدهم على منشور مراسلك"
+ also_commented: "علق أحدهم على مشاركة علقت عليها"
+ auto_follow_aspect: "ادراج المستخدمين الذين شاركت معهم تلقائيا في الفئة:"
+ auto_follow_back: "شارك تلقئيا مع المستخدمين الذي بدؤوا المشاركة معك"
birthday: "عيد ميلاد شخص ما"
change: "تغيير"
change_color_theme: "تغيير لون السمة"
@@ -570,45 +1129,62 @@ ar:
character_minimum_expl: "يجب أن تكون ستة أحرف على الأقل."
close_account:
dont_go: "عزيزى , من فضلك لا تذهب"
+ lock_username: "سيُقفل اسم المستخدم الخاص بك. لن تتمكن من إنشاء حساب بنفس المعرف في هذا الخادم."
+ locked_out: "سيتم تسجيل خروجك وايقاف الولوج لحسابك حتى يتم حذفه."
+ make_diaspora_better: "عوض الرحيل نتمنى أن تبقى معنى لنجعل داياسبورا* مكان أفضل. اذا كنت تريد الرحيل اليك ما سيحدث:"
mr_wiggles: "الاستاذ . ويجليس سيكون حزين لانه يراك تذهب"
+ no_turning_back: "لا مجال للعودة، ان كنت متأكد أدخل كلمة المرور أدناه."
what_we_delete: "سنحذف جميع مشاركاتك وبيانات ملفك الشخصي في أقرب وقت ممكن. ستظل تعليقاتك على مشاركات الأشخاص الآخرين تظهر، ولكن سيتم ربطها مع حسابك بدلا من اسمك "
close_account_text: "أغلق الحساب"
comment_on_post: "...علق أحدهم على مشاركتك"
current_password: "كلمة المرور الحالية"
current_password_expl: "هي تلك التي أدخلتها أثناء تسجيل حسابك …"
+ default_post_visibility: "الفئة الافتراضية للنشر معها."
download_export: "نزّل ملفي الشخصيّ"
+ download_export_photos: "نزِّل صوري"
edit_account: "تعديل الحساب"
email_awaiting_confirmation: "لقد أرسلنا إليك رابط تفعيل إلى %{unconfirmed_email}. وحتى تتبع هذا الرابط وتفعل العنوان الجديد، سنستمر في استخدام بريدك الأساسي %{email}."
export_data: "تصدير البيانات"
export_in_progress: "نعالج بياناتك حاليًّا. فضلًا راجعنا بعد بضع لحظات."
following: "إعدادات المتابعة"
+ last_exported_html: "(آخر تحديث ‎%{timeago}‎)"
liked: "...أعجب أحدهم بمشاركتك"
mentioned: "...تم ذكرك فى رسالة؟"
+ mentioned_in_comment: "أُشير لك في تعليق"
new_password: "كلمة مرور جديدة"
private_message: "...وصلتك رسالة خاصة؟"
- receive_email_notifications: "استقبال تنبيهات عبر البريد الإلكتروني؟"
+ receive_email_notifications: "استقبال تنبيهات عبر البريد الإلكتروني في حالة:"
request_export: "اطلب بيانات ملفي الشخصيّ"
request_export_photos: "طلب صوري"
request_export_update: "أنعش بيانات ملفي الشخصيّ"
reshared: "...أعاد أحدهم نشر مشاركتك؟"
+ show_community_spotlight: "أظهر أعلام المجتمع في دفق المشاركات"
+ show_getting_started: "اعرض تلميحات \"بدأ الاستخدام\""
+ someone_reported: "أرسل شخص تبليغا"
started_sharing: "...بدأ أحدهم المشاركة معك؟"
stream_preferences: "تفضيلات ساحة المشاركة"
your_email: "بريدك الإلكتروني"
+ your_email_private: "لن يتمكن أحد من رؤية بريدك الإلكتروني"
your_handle: "حساب ديسبورا الخاص بك"
getting_started:
awesome_take_me_to_diaspora: "مدهش! انقلني إلى دياسبرا*"
+ community_welcome: "مجتمع داياسبورا* سعيد لانضمامك!"
hashtag_explanation: "الوسوم تسمح لك بالحديث عن اهتماماتك ومتابعتها. وهي أيضا طريقة عبقرية للعثور على أناس جدد بدياسبرا."
hashtag_suggestions: "جرب الوسوم التالية احب #فن، #أفلام، #صور، إلخ."
well_hello_there: "حسنا مرحبا جميعا"
+ what_are_you_in_to: "ما لذي تخطط له؟"
who_are_you: "من أنت؟"
privacy_settings:
ignored_users: "المستخدمين الذين تم تجاهلهم"
+ no_user_ignored_message: "انت لا تتجاهل أي شخص"
stop_ignoring: "اوقف التجاهل"
+ strip_exif: "انزع البيانات الفوقية مثل الموقع، المصور وطراز الكاميرا من الصور المرفوعة (مستحسن)"
title: "إعدادات الخصوصية"
public:
does_not_exist: "هذا المستخدم %{username} غير موجود"
update:
color_theme_changed: "تم تغيير لون السمة بنجاح."
+ color_theme_not_changed: "حصل خطأ أثناة تغيير لون السمة"
email_notifications_changed: "فشل تغيير اللغة"
follow_settings_changed: "تم تغيير إعدادات المتابعة"
follow_settings_not_changed: "لم يتم تعديل إعدادات المتابعة"
diff --git a/config/locales/diaspora/bs.yml b/config/locales/diaspora/bs.yml
index 0e53ec6c3..b57619f7b 100644
--- a/config/locales/diaspora/bs.yml
+++ b/config/locales/diaspora/bs.yml
@@ -32,7 +32,7 @@ bs:
person:
invalid: "je nevažeće."
username:
- invalid: "je nevažeće. Mi samo dozvoljavamo slova, brojeve i podcrte."
+ invalid: "je nevažeće. Mi samo dozvoljavamo slova, brojeve i podvlačenja."
taken: "je već uzeto."
admins:
admin_bar:
@@ -76,6 +76,8 @@ bs:
other: "%{count} korisnika"
zero: "%{count} korisnika"
week: "Sedmica"
+ user_entry:
+ current_sign_in_ip: "IP adresa pri trenutnoj prijavi"
user_search:
add_invites: "dodaj pozivnice"
email_to: "Email za Pozivnicu"
@@ -97,7 +99,7 @@ bs:
zero: "količina novih korisnika ove sedmice: %{count}"
current_server: "Trenutni datum servera je %{date}"
all_aspects: "Svi Aspekti"
- are_you_sure: "Jeste sigurni?"
+ are_you_sure: "Jeste li sigurni?"
are_you_sure_delete_account: "Jeste sigurni da želite zatvoriti račun? Ovo se ne može poništiti!"
aspect_memberships:
destroy:
@@ -109,7 +111,7 @@ bs:
failure: "Neuspješno dodavanje kontakta u aspekt."
success: "Uspješno dodavanje kontakta u aspekt."
aspect_listings:
- add_an_aspect: "+ Dodaj jedan aspekt"
+ add_an_aspect: "+ Dodaj aspekt"
aspect_stream:
make_something: "Napravi nešto"
stay_updated: "Budite Ažurni"
@@ -136,7 +138,7 @@ bs:
here_to_help: "Diaspora zajednica je ovdje!"
mail_podmin: "Podmin E-Mail"
need_help: "Trebate Pomoć?"
- tag_bug: "grešku"
+ tag_bug: "greška"
tag_feature: "značajku"
tag_question: "pitanje"
tutorial_link_text: "Tutorijali"
@@ -432,7 +434,7 @@ bs:
view_profile: "Pogledaj profil od %{name}"
thanks: "Hvala."
to_change_your_notification_settings: "da bi izmijenili vaše postavke obavijesti"
- nsfw: "Nije pogodno"
+ nsfw: "Bezobrazno"
ok: "Uredu"
people:
add_contact:
@@ -503,7 +505,7 @@ bs:
enter_email: "Unesite email"
enter_password: "Unesite šifru (šest karaktera minimalno)"
enter_password_again: "Unesite istu šifru kao i maloprije"
- enter_username: "Izaberite korisničko ime (samo slova, brojevi i podcrte)"
+ enter_username: "Izaberite korisničko ime (samo slova, brojevi i podvlačenja)"
password: "ŠIFRA"
password_confirmation: "POTVRDA ŠIFRE"
sign_up: "REGISTRACIJA"
diff --git a/config/locales/diaspora/ca.yml b/config/locales/diaspora/ca.yml
index 042dc12f7..e6c56ebf4 100644
--- a/config/locales/diaspora/ca.yml
+++ b/config/locales/diaspora/ca.yml
@@ -69,6 +69,7 @@ ca:
week: "Setmanals"
user_entry:
admin: "Administrador"
+ current_sign_in_ip: "Adreça IP de l'inici de sessió actual"
moderator: "Moderador"
spotlight: "Especials"
user_search:
@@ -183,9 +184,15 @@ ca:
post_something: "Publiqueu al Diàspora"
cancel: "Canceŀla"
comments:
+ create:
+ fail: "Ha fallat la creació del comentari"
+ destroy:
+ fail: "Ha fallat l'esborrat del comentari"
+ success: "El comentari %{id} s'ha esborrat correctament"
new_comment:
comment: "Comenta"
commenting: "S'està comentant…"
+ not_found: "No es troba l'article o el comentari"
contacts:
index:
all_contacts: "Tots els contactes"
@@ -211,6 +218,7 @@ ca:
sending: "S'està enviant…"
subject: "assumpte"
to: "a"
+ not_found: "No es troba la conversa"
show:
delete: "suprimeix i bloca la conversa"
reply: "respon"
@@ -282,6 +290,9 @@ ca:
logout: "Surt"
profile: "Perfil"
settings: "Paràmetres"
+ likes:
+ create:
+ fail: "Ha fallat la creació del m'agrada"
limited: "Limitat"
more: "Més"
no_results: "No s'ha trobat cap resultat"
diff --git a/config/locales/diaspora/cs.yml b/config/locales/diaspora/cs.yml
index 72f614f31..cfd601ac2 100644
--- a/config/locales/diaspora/cs.yml
+++ b/config/locales/diaspora/cs.yml
@@ -176,9 +176,6 @@ cs:
login_required: "Pro přístup k aplikaci musíte být autorizován přihlášením."
title: "Jejda! Něco se pokazilo :-("
scopes:
- aud:
- description: "Tohle udělí aplikaci oprávnění aud"
- name: "aud"
name:
description: "Tohle udělí aplikaci oprávnění pro jméno"
name: "jméno"
@@ -194,15 +191,9 @@ cs:
profile:
description: "To umožňuje aplikaci číst váš rozšířený profil"
name: "Rozšířený profil"
- read:
- description: "Toto umožňuje aplikaci číst Váš proud, Vaše konverzace a Váš celý profil."
- name: "číst profil, stream a konverzace"
sub:
description: "Tohle udělí aplikaci oprávnění sub"
name: "sub"
- write:
- description: "Toto povolí aplikaci odesílat nové příspěvky, psát konverzace a odesílat reakce."
- name: "posílat příspěvky, konverzace a reakce"
user_applications:
index:
access: "%{name} má přístup k:"
@@ -308,8 +299,6 @@ cs:
original: "Originální šedá"
original_white: "Originální bílé pozadí"
comments:
- create:
- error: "Komentář se nezdařil."
new_comment:
comment: "komentář"
commenting: "Komentování..."
@@ -420,11 +409,6 @@ cs:
what_is_an_aspect_q: "Co je to aspekt?"
who_sees_post_a: "Pokud vytvoříte omezený příspěvek, bude viditelný jen lidem, které máte v tomto aspektu (nebo aspektech, pokud je určen několika aspektům). Vaše kontakty, které nejsou v tomto aspektu, příspěvek neuvidí, pokud jste ho neudělal(a) veřejným. Vždy jen veřejné příspěvky budou viditelné těm, které jste nezařadil(a) do vašich aspektů."
who_sees_post_q: "Když posílám do určitého aspektu, kdo to vidí?"
- chat:
- add_contact_roster_a: "V první řadě musíte povolit chat s jedním z aspektů, kterého je daný uživatel členem. Za tímto účelem půjdete do %{contacts_page}, vyberete aspekt a kliknete na ikonku chatu. %{toggle_privilege} Můžete, pokud chcete, vytvořit speciální aspekt, který nazvete 'Chat' а uživatele, se kterými chcete moci chatovat přidáte do tohoto aspektu. Poté co toto uděláte, můžete otevřít uživatelské rozhraní chatu a vybrat osobu, se kterou chcete chatovat."
- add_contact_roster_q: "Jak mohu s někým chatovat na diaspora* ?"
- contacts_page: "Stránka kontaktů"
- title: "Chat"
community_guidelines: "komunitní směrnice"
faq: "často kladenými otázkami"
foundation_website: "webové stránky diaspora* foundation"
diff --git a/config/locales/diaspora/da.yml b/config/locales/diaspora/da.yml
index 9215ea650..a9208fe91 100644
--- a/config/locales/diaspora/da.yml
+++ b/config/locales/diaspora/da.yml
@@ -8,6 +8,7 @@ da:
_applications: "Applikationer"
_contacts: "Kontakter"
_help: "Hjælp"
+ _podmin_mail: "Kontakt Podmin"
_services: "Tjenester"
_statistics: "Statistik"
_terms: "Betingelser"
@@ -91,6 +92,7 @@ da:
user_entry:
account_closed: "Konto lukket"
admin: "Admin"
+ current_sign_in_ip: "IP-adresse ved nuværende indlogning"
diaspora_handle: "Diaspora ID"
email: "E-mail"
guid: "GUID"
@@ -162,40 +164,85 @@ da:
client_id_not_found: "Der er ikke fundet nogen klient med client_id %{client_id} og omdirigerings URI %{redirect_uri}"
deny: "Afvis"
no_requirement: "%{name} kræver ingen tilladelser"
+ private_contacts_linkage_error: "private:read og private:modify kræver også contacts:read"
redirection_message: "Er du sikker på at du vil give adgang til %{redirect_uri}?"
+ unknown_scope: "Ukendt scope: %{scope_name}"
error_page:
- contact_developer: "Du bør kontakte applikationens udvikler og vedlægge følgende fejlmeddelelse:"
+ contact_developer: "Du bør kontakte applikationens udvikler og vedlægge følgende detaljerede fejlmeddelelse:"
could_not_authorize: "Applikationen kan ikke autoriseres"
login_required: "Du skal logge ind for at kunne autorisere denne applikation"
title: "Ups! Noget gik galt :("
scopes:
- aud:
- description: "Dette giver aud tilladelser til applicationen"
- name: "aud"
+ ? "contacts:modify"
+ :
+ description: "Dette giver write-rettigheder til kontakter og relaterede data (såsom aspekter)."
+ name: "Kontakter (write)"
+ ? "contacts:read"
+ :
+ description: "Dette giver read-only-rettigheder til kontakter og relaterede data (såsom aspekter)."
+ name: "Kontakter (read-only)"
+ conversations:
+ description: "Dette giver læse- og skriverettigheder til private meddelelser."
+ name: "Samtaler"
+ email:
+ description: "Dette giver read-only-adgang til din e-mail-adresse."
+ name: "E-mail"
+ interactions:
+ description: "Dette giver adgang til at interagere med indlæg, for eksempel \"synes om\" eller indsende en kommentar."
+ name: "Interaktioner"
name:
- description: "Dette giver applikationen adgang til dit navn"
- name: "navn"
+ description: "Dette giver read-only-rettigheder til dit fulde navn."
+ name: "Fuldt navn"
nickname:
- description: "Dette giver applikationen adgang til dit kælenavn"
- name: "kælenavn"
+ description: "Dette giver applikationen read-only-rettigheder til dit brugernavn."
+ name: "Brugernavn"
+ notifications:
+ description: "Dette giver læse- og skriverettigheder til dine notifikationer."
+ name: "Notifikationer"
openid:
- description: "Dette tillader applikationen at læse fra din basis profil"
- name: "basis profil"
+ description: "Dette tildeler applikationen read-only-rettigheder til din basisprofils informationer."
+ name: "Basisprofil information"
picture:
- description: "Dette giver applikationen adgang til dine billeder"
- name: "billede"
+ description: "Dette giver applikationen read-only-rettigheder til dit profilbillede."
+ name: "Profilbillede"
+ ? "private:modify"
+ :
+ description: "Dette giver adgang til at offentliggøre private indlæg."
+ name: "Private Indlæg (write)"
+ ? "private:read"
+ :
+ description: "Dette giver read-only-adgang til din og dine kontakters private indlæg."
+ name: "Private indlæg (read-only)"
profile:
- description: "Dette tillader applikationen at læse din udvidede profil"
- name: "udvidet profil"
- read:
- description: "Dette tillader applikationen at læse fra din strøm, dine samtaler og hele din profil"
- name: "læs profil, strøm og samtaler"
+ description: "Dette giver applikationen read-only-rettigheder til dine udvidede profildata."
+ name: "Udvidet profil (read-only)"
+ ? "profile:modify"
+ :
+ description: "Dette giver adgang til at opdatere dine udvidede profildata."
+ name: "Udvidet profil (write)"
+ ? "profile:read_private"
+ :
+ description: "Dette giver read-only-adgang til dine private profildata."
+ name: "Private profildata (read-only)"
+ ? "public:modify"
+ :
+ description: "Dette giver skriveadgang til offentlige indlæg og relaterede data (såsom stemmer og vedhæftede medier)."
+ name: "Offentlige Indlæg (write)"
+ ? "public:read"
+ :
+ description: "Dette giver adgang til dine offentlige indlæg, inklusiv interaktioner og relaterede data."
+ name: "Offentlige Indlæg (read-only)"
sub:
- description: "Dette giver underprivilegier til applikationen"
- name: "under"
- write:
- description: "Dette tillader applikationen at sende indlæg, skrive meddelelser og sende reaktioner"
- name: "send indlæg, samtaler og reaktioner"
+ description: "Dette giver read-only-privilegier til din unikke identifikator."
+ name: "Unik identifikator"
+ ? "tags:modify"
+ :
+ description: "Dette giver adgang til at ændre de tags du følger."
+ name: "Tags (write)"
+ ? "tags:read"
+ :
+ description: "Dette giver read-only-adgang til dine fulgte tags og tag-strøm."
+ name: "Tags (read-only)"
user_applications:
index:
access: "%{name} har adgang til:"
@@ -258,7 +305,7 @@ da:
tutorial_link_text: "Guider"
tutorials_and_wiki: "%{faq}, %{tutorial} og %{wiki}: Hjælp til at komme i gang."
introduce_yourself: "Dette er din strøm. Hop ud i den og introducer dig selv."
- keep_pod_running: "Hjælp med at få %{pod} til at køre, og sørg for at administratoren kan få sig en kop kaffe i ny og næ med en månedlig donation."
+ keep_pod_running: "Hjælp med at få %{pod} til at køre, og sørg for at administratoren kan få sig en kop kaffe og et stykke wienerbrød i ny og næ med en månedlig donation."
new_here:
follow: "Følg %{link} og byd nye brugere velkommen til Diaspora!"
learn_more: "Lær mere"
@@ -302,10 +349,14 @@ da:
original_white: "Original hvid baggrund"
comments:
create:
- error: "Du kunne ikke kommentere."
+ fail: "Oprettelse af kommentar fejlede"
+ destroy:
+ fail: "Sletning af kommentar fejlede"
+ success: "Kommentar %{id} er blevet slettet"
new_comment:
comment: "Kommenter"
commenting: "Kommenterer ..."
+ not_found: "Indlæg eller kommentar blev ikke fundet"
contacts:
index:
add_contact: "Tilføj kontakt"
@@ -345,6 +396,7 @@ da:
to: "Til"
new_conversation:
fail: "Ugyldig meddelelse"
+ not_found: "Samtale blev ikke fundet"
show:
delete: "Slet samtalen"
hide: "Skjul konversationen og gør den tavs"
@@ -413,11 +465,6 @@ da:
what_is_an_aspect_q: "Hvad er et aspekt?"
who_sees_post_a: "Hvis du laver et lukket indlæg, vil det kun være synligt for de personer du har lagt i dette aspekt (eller aspekter, hvis det er lavet til flere aspekter) før du lavede dit indlæg. Kontakter der ikke er i det aspekt kan ikke se indlægget. Lukkede indlæg vil aldrig kunne ses af andre end dem du har i dine aspekter."
who_sees_post_q: "Hvis jeg skriver et indlæg til et aspekt hvem kan så se det?"
- chat:
- add_contact_roster_a: "Først skal du slå chat til for det af dine aspekter personen er i. For at gøre det gå til %{contacts_page}, vælg det aspekt du ønsker og klik chat-ikonnet. Herved slår du chat til for det aspekt. %{toggle_privilege} Hvis du ønsker det kan du lave et nyt aspekt kaldet \"Chat\" og så tilføje de personer du er interesseret i at chatte med. Når du har gjort det, åben chat interfacet og vælg den person du vil chatte med."
- add_contact_roster_q: "Hvordan chatter jeg med nogen i Diaspora?"
- contacts_page: "kontakt side"
- title: "Chat"
community_guidelines: "Sociale retningslinier"
faq: "FAQ"
foundation_website: "Diaspora-stiftelsens hjemmeside"
@@ -517,7 +564,7 @@ da:
can_comment_q: "Hvem kan kommentere eller like mine private indlæg?"
can_reshare_a: "Ingen. Private indlæg kan ikke videresendes. Diaspora-brugerne der kan se indlægget fordi de er i samme aspekt kan dog potentielt kopiere og indsætte det i et af deres egne indlæg. Hvad det angår er det op til dig hvem du stoler på."
can_reshare_q: "Hvem kan videredele mine private indlæg?"
- see_comment_a: "Kun de mennesker som indlægget blev delt med (dem der er i det aspekt som den oprindelige forfatter valgte for indlægget) kan se kommentarer og likes. "
+ see_comment_a: "Kun de mennesker som indlægget blev delt med (dem der er i det aspekt som den oprindelige forfatter valgte for indlægget) kan se kommentarer og \"synes om\". "
see_comment_q: "Når jeg kommenterer eller synes om privat indlæg, hvem kan så se det"
title: "Private indlæg"
who_sees_post_a: "Kun Diaspora-brugere der er logget ind, og som du har placeret i dette aspekt inden du skrev dit begrænsede indlæg kan se det."
@@ -659,9 +706,23 @@ da:
toggle_navigation: "Slå navigation til/fra"
likes:
create:
- error: "Du kunne ikke like."
+ error: "Du kunne ikke \"synes om\"."
+ fail: "Oprettelse af \"synes om\" fejlede"
destroy:
- error: "Kunne ikke fjerne synes om."
+ error: "Kunne ikke fjerne \"synes om\"."
+ not_found: "Indlæg eller \"synes om\" ikke fundet"
+ people_dislike_this:
+ one: "%{count} \"kan ikke lide\""
+ other: "%{count} \"kan ikke lide\""
+ zero: "Ingen \"kan ikke lide\""
+ people_like_this:
+ one: "%{count} \"synes om\""
+ other: "%{count} \"synes om\""
+ zero: "Ingen \"synes om\""
+ people_like_this_comment:
+ one: "%{count} \"synes om\""
+ other: "%{count} \"synes om\""
+ zero: "Ingen \"synes om\""
limited: "Begrænset"
more: "Mere"
no_results: "Ingen resultater fundet"
@@ -911,7 +972,7 @@ da:
Diasporas email-robot!
- [1]:%{url}
+ [1]: %{url}
subject: "%{type} blev markeret som stødende"
type:
comment: "kommentar"
@@ -1016,7 +1077,7 @@ da:
closed:
another_pod: "en anden pod"
closed_pod: "Denne pod er for tiden lukket for tilgang. Du kan dog stadig blive en del af Diaspora-netværket ved at tilmelde dig på %{wiki}. Fordi alle Diasporas pods er forbundet, vil du stadig have adgang til det samme indhold der."
- find_pods: "Der er en liste over de pods du kan tilmelde dig på %{poduptime}."
+ find_pods: "Der er en liste over de pods du kan tilmelde dig på %{fediverse_observer}."
other_questions: "Har du nogen spørgsmål vedrørende valg af pod, se vores %{wiki}."
create:
success: "Du er nu en del af Diaspora!"
@@ -1181,6 +1242,8 @@ da:
title: "'Synes om' strøm"
liked:
title: "Indlæg nogen syntes om"
+ local_public:
+ title: "Lokale indlæg"
mentioned_stream: "@Omtaler"
mentions:
title: "Dine omtaler"
diff --git a/config/locales/diaspora/de.yml b/config/locales/diaspora/de.yml
index e87455540..3af6011a1 100644
--- a/config/locales/diaspora/de.yml
+++ b/config/locales/diaspora/de.yml
@@ -8,6 +8,7 @@ de:
_applications: "Anwendungen"
_contacts: "Kontakte"
_help: "Hilfe"
+ _podmin_mail: "Podmin kontaktieren"
_services: "Dienste"
_statistics: "Statistiken"
_terms: "Bedingungen"
@@ -91,6 +92,7 @@ de:
user_entry:
account_closed: "Konto wurde geschlossen."
admin: "Administrator"
+ current_sign_in_ip: "IP-Adresse der aktuellen Anmeldung"
diaspora_handle: "diaspora* ID"
email: "E-Mail"
guid: "GUID"
@@ -162,40 +164,85 @@ de:
client_id_not_found: "Kein Client mit client_id %{client_id} und Weiterleitungs-URI %{redirect_uri} gefunden"
deny: "Ablehnen"
no_requirement: "%{name} benötigt keine Berechtigungen"
+ private_contacts_linkage_error: "private:read und private:modify erfordern außerdem contacts:read"
redirection_message: "Bist du dir sicher, dass du Zugriff von %{redirect_uri} zulassen möchtest?"
+ unknown_scope: "Unbekannte Berechtigung: %{scope_name}"
error_page:
contact_developer: "Du solltest den Entwickler der Anwendung kontaktieren und die folgende ausführliche Fehlermeldung beifügen:"
could_not_authorize: "Die Anwendung konnte nicht zugelassen werden"
login_required: "Du musst dich erst anmelden, bevor du diese Anwendung zulassen kannst"
title: "Oh! Etwas ist schiefgegangen :("
scopes:
- aud:
- description: "Dies gewährt der Anwendung aud-Berechtigungen"
- name: "aud"
+ ? "contacts:modify"
+ :
+ description: "Dies gewährt Schreibzugriff auf Kontakte und zugehörige Daten (wie Aspekte)."
+ name: "Kontakte (Schreiben)"
+ ? "contacts:read"
+ :
+ description: "Dies gewährt Lesezugriff auf Kontakte und zugehörige Daten (wie Aspekte)."
+ name: "Kontakte (Nur lesen)"
+ conversations:
+ description: "Dies gewährt Lese- und Schreibzugriff auf private Nachrichten."
+ name: "Konversationen"
+ email:
+ description: "Dies gewährt Lesezugriff auf deine E-Mail-Adresse."
+ name: "E-Mail"
+ interactions:
+ description: "Dies gewährt die Berechtigung, mit Beiträgen zu interagieren, wie beispielsweise ein Gefällt mir oder einen Kommentar abzugeben."
+ name: "Interaktionen"
name:
- description: "Dies gewährt der Anwendung Name-Berechtigungen"
- name: "Name"
+ description: "Dies gewährt Lesezugriff auf deinen vollständigen Namen."
+ name: "Vollständiger Name"
nickname:
- description: "Dies gewährt der Anwendung Benutzername-Berechtigungen"
+ description: "Dies gewährt Lesezugriff auf deinen Benutzernamen."
name: "Benutzername"
+ notifications:
+ description: "Dies gewährt Lese- und Schreibzugriff auf deine Benachrichtigungen."
+ name: "Benachrichtigungen"
openid:
- description: "Das ermöglicht der Anwendung, dein grundlegendes Profil auszulesen"
- name: "grundlegendes Profil"
+ description: "Das gewährt Lesezugriff auf deine grundlegenden Profilinformationen."
+ name: "Informationen im grundlegenden Profil"
picture:
- description: "Dies gewährt der Anwendung Bild-Berechtigungen"
- name: "Bild"
+ description: "Dies gewährt Lesezugriff auf dein Profilbild."
+ name: "Profilbild"
+ ? "private:modify"
+ :
+ description: "Dies gewährt die Berechtigung private Beiträge zu veröffentlichen."
+ name: "Private Beiträge (Schreiben)"
+ ? "private:read"
+ :
+ description: "Dies gewährt Lesezugriff auf deine privaten Beiträge sowie die deiner Kontakte."
+ name: "Private Beiträge (Nur lesen)"
profile:
- description: "Dies ermöglicht der Anwendung, Ihr erweitertes Profil auszulesen"
- name: "erweitertes Profil"
- read:
- description: "Das ermöglicht der Anwendung, deinen Stream, deine Konversationen und dein vollständiges Profil auszulesen"
- name: "Profil, Stream und Konversationen lesen"
+ description: "Dies gewährt Lesezugriff auf die Daten in deinem erweiterten Profil."
+ name: "Erweitertes Profil (Nur lesen)"
+ ? "profile:modify"
+ :
+ description: "Dies gewährt Zugriff um die Daten in deinem erweiterten Profil zu aktualisieren."
+ name: "Erweitertes Profil (Schreiben)"
+ ? "profile:read_private"
+ :
+ description: "Dies gewährt Lesezugriff auf die Daten in deinem privaten Profil."
+ name: "Private Profildaten (Nur lesen)"
+ ? "public:modify"
+ :
+ description: "Dies gewährt Schreibzugriff um öffentliche Beiträge und zugehörige Daten zu veröffentlichen (einschließlich Abstimmungen und angehängte Medien)."
+ name: "Öffentliche Beiträge (Schreiben)"
+ ? "public:read"
+ :
+ description: "Dies gewährt Zugriff auf deine öffentlichen Beiträge, einschließlich Interaktionen und zugehörige Daten."
+ name: "Öffentliche Beiträge (Nur lesen)"
sub:
- description: "Dies vererbt der Anwendung Berechtigungen"
- name: "sub"
- write:
- description: "Das ermöglicht der Anwendung, neue Beiträge zu senden, Konversationen zu schreiben und Reaktionen zu senden"
- name: "Beiträge, Konversationen und Reaktionen senden"
+ description: "Dies gewährt Lesezugriff auf deine eindeutige Kennung."
+ name: "Eindeutige Kennung"
+ ? "tags:modify"
+ :
+ description: "Dies gewährt Zugriff um die von dir gefolgten Tags zu verändern."
+ name: "Tags (Schreiben)"
+ ? "tags:read"
+ :
+ description: "Dies gewährt Lesezugriff auf deine gefolgten Tags und Tag-Streams."
+ name: "Tags (Nur lesen)"
user_applications:
index:
access: "%{name} hat Zugriff auf:"
@@ -302,10 +349,14 @@ de:
original_white: "Original weißer Hintergrund"
comments:
create:
- error: "Kommentieren fehlgeschlagen."
+ fail: "Kommentieren fehlgeschlagen"
+ destroy:
+ fail: "Kommentar löschen fehlgeschlagen"
+ success: "Kommentar %{id} wurde erfolgreich gelöscht"
new_comment:
comment: "Kommentieren"
commenting: "Kommentieren …"
+ not_found: "Beitrag oder Kommentar nicht gefunden"
contacts:
index:
add_contact: "Kontakt hinzufügen"
@@ -345,6 +396,7 @@ de:
to: "An"
new_conversation:
fail: "Ungültige Nachricht"
+ not_found: "Konversation nicht gefunden"
show:
delete: "Gespräch löschen"
hide: "Unterhaltung ausblenden und stumm schalten."
@@ -413,11 +465,6 @@ de:
what_is_an_aspect_q: "Was sind Aspekte?"
who_sees_post_a: "Wenn du einen begrenzten Beitrag erstellst, wird dieser nur für Leute sichtbar sein, die du dem ausgewählten Aspekt (oder den ausgewählten Aspekten, falls du mehrere ausgewählt hast) vor dem Erstellen des Beitrags hinzugefügt hast. Kontakte, die du hast, die aber nicht in dem Aspekt sind, haben keine Möglichkeit den Beitrag zu sehen. Begrenzte Beiträge werden nie für Leute sichtbar sein, die du nicht einem deiner Aspekte hinzugefügt hast."
who_sees_post_q: "Wenn ich einen Beitrag an einen Aspekt poste, wer sieht ihn dann?"
- chat:
- add_contact_roster_a: "Zuerst musst du den Chat für einen der Aspekte aktivieren, in denen sich die Person befindet. Dafür gehst du zur %{contacts_page}, wählst den gewünschten Aspekt aus und klickst auf das Chat-Icon, um den Chat für den Aspekt zu aktivieren. %{toggle_privilege} Wenn es dir lieber ist, kannst du auch einen speziellen Aspekt namens 'Chat' erstellen und zu ihm die Leute hinzufügen, mit denen du chatten willst. Wenn du damit fertig bist, öffnest du die Chatoberfläche und wählst die Person aus, mit der du chatten willst."
- add_contact_roster_q: "Wie kann ich auf diaspora* mit jemandem chatten?"
- contacts_page: "Kontaktseite"
- title: "Chat"
community_guidelines: "Community-Richtlinien"
faq: "FAQ"
foundation_website: "Webseite der diaspora*-Stiftung"
@@ -465,7 +512,7 @@ de:
diaspora_app_a: "Es sind einige Android-Apps von Communitymitgliedern in Entwicklung. Manche Apps werden nicht mehr gepflegt und funktionieren deshalb nicht mehr richtig mit der aktuellen diaspora*-Version. Für iOS gibt es keine App. Am besten rufst du diaspora* auch auf deinem Smartphone im Browser auf. Wir haben eine mobile Version gestaltet, die auf allen Geräten gut funktionieren sollte."
diaspora_app_q: "Gibt es eine diaspora* App für Android oder iOS?"
photo_albums_a: "Nein, momentan nicht. Aber du kannst dir die hochgeladenen Bilder in der Fotosektion in der linke Leiste auf dem Profil ansehen."
- photo_albums_q: "Gibt es Foto oder Videoalben?"
+ photo_albums_q: "Gibt es Foto- oder Videoalben?"
subscribe_feed_a: "Ja, allerdings ist diese Funktion noch immer nicht ganz ausgereift und das Ergebnis wird vielleicht nicht ganz richtig formatiert. Wenn du die Funktion dennoch benutzen willst, gehe einfach auf die Profilseite der Person und klicke auf die Feed-Schaltfläche deines Browsers oder kopiere die Profil-URL (z.B. https://podname.org/people/irgendeinenummer) und füge sie in einen Feedreader ein. Die resultierenden Feed-Adressen sehen z.B. so aus: https://podname.org/public/benutzername.atom – diaspora* benutzt Atom anstelle von RSS."
subscribe_feed_q: "Kann ich die öffentlichen Beiträge einer Person mit einem Feedreader verfolgen?"
title: "Diverses"
@@ -660,8 +707,22 @@ de:
likes:
create:
error: "Gefällt mir ist fehlgeschlagen."
+ fail: "Gefällt mir fehlgeschlagen"
destroy:
error: "Gefällt mir nicht mehr ist fehlgeschlagen."
+ not_found: "Beitrag oder Gefällt mir nicht gefunden"
+ people_dislike_this:
+ one: "%{count} Gefällt mir nicht"
+ other: "%{count} Gefällt mir nicht"
+ zero: "Kein Gefällt mir nicht"
+ people_like_this:
+ one: "%{count} Gefällt mir"
+ other: "%{count} Gefällt mir"
+ zero: "Kein Gefällt mir"
+ people_like_this_comment:
+ one: "%{count} Gefällt mir"
+ other: "%{count} Gefällt mir"
+ zero: "Kein Gefällt mir"
limited: "Begrenzt"
more: "Mehr"
no_results: "Keine Ergebnisse gefunden"
@@ -1013,7 +1074,7 @@ de:
closed:
another_pod: "einem anderen Pod"
closed_pod: "Dieser Pod ist derzeit für Neuanmeldungen geschlossen. Du kannst dem diaspora*-Netzwerk trotzdem beitreten, indem du dich auf %{wiki} registrierst. Da alle Pods miteinander verbunden sind, hast du von dort aus Zugriff auf dieselben Inhalte."
- find_pods: "Es gibt eine Liste von Pods, auf denen du dich registrieren kannst, auf %{poduptime}."
+ find_pods: "Es gibt eine Liste von Pods, auf denen du dich registrieren kannst, auf %{fediverse_observer}."
other_questions: "Wenn du noch weitere Fragen dazu hast, wie du einen Pod auswählst, lies unser %{wiki}."
create:
success: "Du bist diaspora* beigetreten!"
@@ -1178,6 +1239,8 @@ de:
title: "„Gefällt mir“-Stream"
liked:
title: "Beiträge, die dir gefallen"
+ local_public:
+ title: "Lokale Beiträge"
mentioned_stream: "@Erwähnungen"
mentions:
title: "@Erwähnungen"
diff --git a/config/locales/diaspora/de_formal.yml b/config/locales/diaspora/de_formal.yml
index 4cdca0599..42082be80 100644
--- a/config/locales/diaspora/de_formal.yml
+++ b/config/locales/diaspora/de_formal.yml
@@ -8,6 +8,7 @@ de_formal:
_applications: "Anwendungen"
_contacts: "Kontakte"
_help: "Hilfe"
+ _podmin_mail: "Podmin kontaktieren"
_services: "Dienste"
_statistics: "Statistik"
_terms: "Bedingungen"
@@ -91,6 +92,7 @@ de_formal:
user_entry:
account_closed: "Konto wurde geschlossen."
admin: "Administrator"
+ current_sign_in_ip: "IP Adresse der aktuellen Anmeldung"
diaspora_handle: "diaspora* ID"
email: "E-Mail"
guid: "GUID"
@@ -162,40 +164,85 @@ de_formal:
client_id_not_found: "Kein Client mit client_id %{client_id} und Weiterleitungs-URI %{redirect_uri} gefunden"
deny: "Ablehnen"
no_requirement: "%{name} benötigt keine Berechtigungen"
+ private_contacts_linkage_error: "private:read und private:modify erfordern außerdem contacts:read"
redirection_message: "Sind Sie sich sicher, dass Sie den Zugriff von %{redirect_uri} zulassen möchten?"
+ unknown_scope: "Unbekannte Berechtigung: %{scope_name}"
error_page:
contact_developer: "Sie sollten den Entwickler der Anwendung kontaktieren und die folgende ausführliche Fehlermeldung beifügen:"
could_not_authorize: "Die Anwendung konnte nicht zugelassen werden"
login_required: "Sie müssen sich erst anmelden, bevor Sie diese Anwendung zulassen können."
title: "Oh! Etwas ist schiefgegangen :("
scopes:
- aud:
- description: "Dies gewährt der Anwendung aud-Berechtigungen"
- name: "aud"
+ ? "contacts:modify"
+ :
+ description: "Dies gewährt Schreibzugriff auf Kontakte und zugehörige Daten (wie Aspekte)."
+ name: "Kontakte (Schreiben)"
+ ? "contacts:read"
+ :
+ description: "Dies gewährt Lesezugriff auf Kontakte und zugehörige Daten (wie Aspekte)."
+ name: "Kontakte (Nur lesen)"
+ conversations:
+ description: "Dies gewährt Lese- und Schreibzugriff auf private Nachrichten."
+ name: "Konversationen"
+ email:
+ description: "Dies gewährt Lesezugriff auf Ihre E-Mail-Adresse."
+ name: "E-Mail"
+ interactions:
+ description: "Dies gewährt die Berechtigung, mit Beiträgen zu interagieren, wie beispielsweise ein Gefällt mir oder einen Kommentar abzugeben."
+ name: "Interaktionen"
name:
- description: "Dies gewährt der Anwendung Name-Berechtigungen"
+ description: "Dies gewährt Lesezugriff auf Ihren vollständigen Namen."
name: "Name"
nickname:
- description: "Dies gewährt der Anwendung Benutzername-Berechtigungen"
+ description: "Dies gewährt Lesezugriff auf Ihren Benutzernamen."
name: "Benutzername"
+ notifications:
+ description: "Dies gewährt Lese- und Schreibzugriff auf Ihre Benachrichtigungen."
+ name: "Benachrichtigungen"
openid:
- description: "Das ermöglicht der Anwendung, Ihr grundlegendes Profil auszulesen"
+ description: "Dies ermöglicht der Anwendung, Ihr grundlegendes Profil auszulesen."
name: "grundlegendes Profil"
picture:
- description: "Dies gewährt der Anwendung Bild-Berechtigungen"
- name: "Bild"
+ description: "Dies gewährt Lesezugriff auf Ihr Profilbild."
+ name: "Profilbild"
+ ? "private:modify"
+ :
+ description: "Dies gewährt die Berechtigung, private Beiträge zu veröffentlichen."
+ name: "Private Beiträge (Schreiben)"
+ ? "private:read"
+ :
+ description: "Dies gewährt Lesezugriff auf Ihre privaten Beiträge sowie die Ihrer Kontakte."
+ name: "Private Beiträge (Nur lesen)"
profile:
- description: "Dies ermöglicht der Anwendung, Ihr erweitertes Profil auszulesen"
+ description: "Dies gewährt Lesezugriff auf die Daten in Ihrem erweiterten Profil."
name: "erweitertes Profil"
- read:
- description: "Das ermöglicht der Anwendung, Ihren Stream, Ihre Konversationen und Ihr vollständiges Profil auszulesen"
- name: "Profil, Stream und Konversationen lesen"
+ ? "profile:modify"
+ :
+ description: "Dies gewährt Zugriff um die Daten in Ihrem erweiterten Profil zu aktualisieren."
+ name: "Erweitertes Profil (Schreiben)"
+ ? "profile:read_private"
+ :
+ description: "Dies gewährt Lesezugriff auf die Daten in Ihrem privaten Profil."
+ name: "Private Profildaten (Nur lesen)"
+ ? "public:modify"
+ :
+ description: "Dies gewährt Schreibzugriff um öffentliche Beiträge und zugehörige Daten zu veröffentlichen (einschließlich Abstimmungen und angehängte Medien)."
+ name: "Öffentliche Beiträge (Schreiben)"
+ ? "public:read"
+ :
+ description: "Dies gewährt Zugriff auf Ihre öffentlichen Beiträge, einschließlich Interaktionen und zugehörige Daten."
+ name: "Öffentliche Beiträge (Nur lesen)"
sub:
- description: "Dies gewährt der Anwendung sub-Berechtigungen"
- name: "sub"
- write:
- description: "Dies ermöglicht der Anwendung, neue Beiträge zu senden, Konversationen zu schreiben und Reaktionen zu senden"
- name: "Beiträge, Konversationen und Reaktionen senden"
+ description: "Dies gewährt Lesezugriff auf Ihre eindeutige Kennung."
+ name: "Eindeutige Kennung"
+ ? "tags:modify"
+ :
+ description: "Dies gewährt Zugriff um die von Ihnen gefolgten Tags zu verändern."
+ name: "Tags (Schreiben)"
+ ? "tags:read"
+ :
+ description: "Dies gewährt Lesezugriff auf Ihre gefolgten Tags und Tag-Streams."
+ name: "Tags (Nur lesen)"
user_applications:
index:
access: "%{name} hat Zugriff auf:"
@@ -302,10 +349,14 @@ de_formal:
original_white: "Original weißer Hintergrund"
comments:
create:
- error: "Kommentieren fehlgeschlagen."
+ fail: "Kommentieren fehlgeschlagen"
+ destroy:
+ fail: "Kommentar löschen fehlgeschlagen"
+ success: "Kommentar %{id} wurde erfolgreich gelöscht"
new_comment:
comment: "Kommentieren"
commenting: "Kommentieren …"
+ not_found: "Beitrag oder Kommentar nicht gefunden"
contacts:
index:
add_contact: "Kontakt hinzufügen"
@@ -345,6 +396,7 @@ de_formal:
to: "An"
new_conversation:
fail: "Ungültige Nachricht"
+ not_found: "Konversation nicht gefunden"
show:
delete: "Konversation löschen"
hide: "Unterhaltung ausblenden und stummschalten"
@@ -413,11 +465,6 @@ de_formal:
what_is_an_aspect_q: "Was sind Aspekte?"
who_sees_post_a: "Wenn Sie einen begrenzten Beitrag posten, wird dieser nur für Leute sichtbar sein, die sich bereits vor dem Verfassen des Beitrags in dem ausgewählten Aspekt (oder in den ausgewählten Aspekten, falls Sie mehrere ausgewählt haben) befinden. Ihre anderen Kontakte werden ihn nicht sehen. Begrenzte Beiträge werden nie für Leute sichtbar sein, die sie nicht zu Ihren Aspekten hinzugefügt haben."
who_sees_post_q: "Wenn ich einen Beitrag an einen Aspekt poste, wer sieht ihn dann?"
- chat:
- add_contact_roster_a: "Zuerst müssen Sie den Chat für einen der Aspekte aktivieren, in denen sich die Person befindet. Dazu gehen Sie zur %{contacts_page}, wählen den gewünschten Aspekt aus und klicken auf das Chat-Icon, um den Chat für den Aspekt zu aktivieren. %{toggle_privilege} Wenn es Ihnen lieber ist, können Sie auch einen speziellen Aspekt namens „Chat” erstellen und zu ihm die Personen hinzufügen, mit denen Sie chatten möchten. Wenn Sie das erledigt haben, öffnen Sie die Chatoberfläche und wählen die Person aus, mit der Sie chatten möchten."
- add_contact_roster_q: "Wie kann ich auf diaspora* mit jemandem chatten?"
- contacts_page: "Kontaktseite"
- title: "Chat"
community_guidelines: "Community-Richtlinien"
faq: "FAQ"
foundation_website: "Webseite der diaspora*-Stiftung"
@@ -660,8 +707,22 @@ de_formal:
likes:
create:
error: "Gefällt mir ist fehlgeschlagen."
+ fail: "Gefällt mir fehlgeschlagen"
destroy:
error: "Gefällt mir nicht mehr ist fehlgeschlagen."
+ not_found: "Beitrag oder Gefällt mir nicht gefunden"
+ people_dislike_this:
+ one: "%{count} Gefällt mir nicht"
+ other: "%{count} Gefällt mir nicht"
+ zero: "Kein Gefällt mir nicht"
+ people_like_this:
+ one: "%{count} Gefällt mir"
+ other: "%{count} Gefällt mir"
+ zero: "Kein Gefällt mir"
+ people_like_this_comment:
+ one: "%{count} Gefällt mir"
+ other: "%{count} Gefällt mir"
+ zero: "Kein Gefällt mir"
limited: "Begrenzt"
more: "Mehr"
no_results: "Keine Ergebnisse gefunden"
@@ -1005,7 +1066,7 @@ de_formal:
closed:
another_pod: "einem anderen Pod"
closed_pod: "Dieser Pod ist derzeit für Neuanmeldungen geschlossen. Sie können dem diaspora*-Netzwerk trotzdem beitreten, indem Sie sich auf %{wiki} registrieren. Da alle Pods miteinander verbunden sind, haben Sie von dort aus Zugriff auf dieselben Inhalte."
- find_pods: "Es gibt eine Liste von Pods, auf denen Sie sich registrieren können, auf %{poduptime}."
+ find_pods: "Es gibt eine Liste von Pods, auf denen Sie sich registrieren können, auf %{fediverse_observer}."
other_questions: "Wenn Sie noch weitere Fragen dazu haben, wie Sie einen Pod auswählen, lesen Sie unser %{wiki}."
create:
success: "Sie sind diaspora* beigetreten!"
@@ -1170,6 +1231,8 @@ de_formal:
title: "„Gefällt mir”-Stream"
liked:
title: "Mit „Gefällt mir“ bewertete Beiträge"
+ local_public:
+ title: "Lokale Beiträge"
mentioned_stream: "@Erwähnungen"
mentions:
title: "Ihre Erwähnungen"
diff --git a/config/locales/diaspora/de-moo.yml b/config/locales/diaspora/de_moo.yml
index 61f2e569c..97883154e 100644
--- a/config/locales/diaspora/de-moo.yml
+++ b/config/locales/diaspora/de_moo.yml
@@ -4,10 +4,11 @@
-de-moo:
+de_moo:
_applications: "Anwendungen"
_contacts: "Mitkühe"
_help: "Hilfe"
+ _podmin_mail: "Leitkuh kontaktieren"
_services: "Dienste"
_statistics: "Statistiken"
_terms: "Bedingungen"
@@ -91,6 +92,7 @@ de-moo:
user_entry:
account_closed: "Konto wurde geschlossen"
admin: "Leitkuh"
+ current_sign_in_ip: "IP-Adresse der aktuellen Anmeldung"
diaspora_handle: "diaspora* ID"
email: "E-Mail"
guid: "GUID"
@@ -162,40 +164,85 @@ de-moo:
client_id_not_found: "Kein Client mit client_id %{client_id} und Weiterleitungs-URI %{redirect_uri} gefunden"
deny: "Verweigern"
no_requirement: "%{name} benötigt keine Berechtigungen"
+ private_contacts_linkage_error: "private:read und private:modify erfordern außerdem contacts:read"
redirection_message: "Bist du dir sicher, dass du Zugriff von %{redirect_uri} zulassen möchtest?"
+ unknown_scope: "Unbekannte Berechtigung: %{scope_name}"
error_page:
- contact_developer: "Du solltest den Entwickler der Anwendung kontaktieren und die folgende ausführliche Fehlermeldung beifügen:"
+ contact_developer: "Du solltest die Leitkuh der Anwendung kontaktieren und die folgende ausführliche Fehlermeldung beifügen:"
could_not_authorize: "Die Anwendung konnte nicht zugelassen werden"
login_required: "Du musst dich erst anmelden, bevor du diese Anwendung zulassen kannst"
title: "Oh! Etwas ist schiefgegangen :("
scopes:
- aud:
- description: "Dies gewährt der Anwendung aud-Berechtigungen"
- name: "aud"
+ ? "contacts:modify"
+ :
+ description: "Dies gewährt Schreibzugriff auf Mitkühe und zugehörige Daten (wie Herden)."
+ name: "Mitkühe (Schreiben)"
+ ? "contacts:read"
+ :
+ description: "Dies gewährt Lesezugriff auf Mitkühe und zugehörige Daten (wie Herden)."
+ name: "Mitkühe (Nur lesen)"
+ conversations:
+ description: "Dies gewährt Lese- und Schreibzugriff auf private Nachrichten."
+ name: "Konversationen"
+ email:
+ description: "Dies gewährt Lesezugriff auf deine E-Mail-Adresse."
+ name: "E-Mail"
+ interactions:
+ description: "Dies gewährt die Berechtigung, mit Beiträgen zu interagieren, wie beispielsweise ein Gefällt mir oder einen Kommentar abzugeben."
+ name: "Interaktionen"
name:
- description: "Dies gewährt der Anwendung Name-Berechtigungen"
- name: "Name"
+ description: "Dies gewährt Lesezugriff auf deinen vollständigen Namen."
+ name: "Vollständiger Name"
nickname:
- description: "Dies gewährt der Anwendung Benutzername-Berechtigungen"
+ description: "Dies gewährt Lesezugriff auf deinen Benutzernamen."
name: "Benutzername"
+ notifications:
+ description: "Dies gewährt Lese- und Schreibzugriff auf deine Benachrichtigungen."
+ name: "Benachrichtigungen"
openid:
description: "Das ermöglicht der Anwendung, dein grundlegendes Profil auszulesen"
name: "grundlegendes Profil"
picture:
- description: "Dies gewährt der Anwendung Bild-Berechtigungen"
- name: "Bild"
+ description: "Dies gewährt Lesezugriff auf dein Profilbild."
+ name: "Profilbild"
+ ? "private:modify"
+ :
+ description: "Dies gewährt die Berechtigung private Beiträge zu veröffentlichen."
+ name: "Private Beiträge (Schreiben)"
+ ? "private:read"
+ :
+ description: "Dies gewährt Lesezugriff auf deine privaten Beiträge sowie die deiner Mitkühe."
+ name: "Private Beiträge (Nur lesen)"
profile:
- description: "Das ermöglicht der Anwendung, dein erweitertes Profil auszulesen"
- name: "erweitertes Profil"
- read:
- description: "Das ermöglicht der Anwendung, deine Weide, deine Konversationen und dein vollständiges Profil auszulesen"
- name: "Profil, Weiden und Konversationen lesen"
+ description: "Dies gewährt Lesezugriff auf die Daten in deinem erweiterten Profil."
+ name: "Erweitertes Profil (Nur lesen)"
+ ? "profile:modify"
+ :
+ description: "Dies gewährt Zugriff um die Daten in deinem erweiterten Profil zu aktualisieren."
+ name: "Erweitertes Profil (Schreiben)"
+ ? "profile:read_private"
+ :
+ description: "Dies gewährt Lesezugriff auf die Daten in deinem privaten Profil."
+ name: "Private Profildaten (Nur lesen)"
+ ? "public:modify"
+ :
+ description: "Dies gewährt Schreibzugriff um öffentliche Beiträge und zugehörige Daten zu veröffentlichen (einschließlich Abstimmungen und angehängte Medien)."
+ name: "Öffentliche Beiträge (Schreiben)"
+ ? "public:read"
+ :
+ description: "Dies gewährt Zugriff auf deine öffentlichen Beiträge, einschließlich Interaktionen und zugehörige Daten."
+ name: "Öffentliche Beiträge (Nur lesen)"
sub:
- description: "Dies gewährt der Anwendung sub-Berechtigungen"
- name: "sub"
- write:
- description: "Das ermöglicht der Anwendung, neue Beiträge zu senden, Konversationen zu schreiben und Reaktionen zu senden"
- name: "Beiträge, Konversationen und Reaktionen senden"
+ description: "Dies gewährt Lesezugriff auf deine Ohrmarke."
+ name: "Ohrmarke"
+ ? "tags:modify"
+ :
+ description: "Dies gewährt Zugriff um die von dir gefolgten Tags zu verändern."
+ name: "Tags (Schreiben)"
+ ? "tags:read"
+ :
+ description: "Dies gewährt Lesezugriff auf deine gefolgten Tags und Tag-Weiden."
+ name: "Tags (Nur lesen)"
user_applications:
index:
access: "%{name} hat Zugriff auf:"
@@ -208,7 +255,7 @@ de-moo:
tos: "Die Nutzungsbedingungen der Anwendung ansehen"
are_you_sure: "Bist du dir sicher?"
are_you_sure_delete_account: "Möchtest du dein Konto wirklich schließen? Dieser Schritt kann nicht rückgängig gemacht werden!"
- are_you_sure_ignore_user: "Bist du sicher, dass du diese Kuh ignorieren möchtest?"
+ are_you_sure_ignore_user: "Bist du sicher, dass du dieses Rindvieh ignorieren möchtest?"
aspect_memberships:
destroy:
failure: "Die Kuh konnte nicht aus der Herde entfernt werden."
@@ -283,8 +330,8 @@ de-moo:
success: "Herde %{name} erfolgreich bearbeitet."
blocks:
create:
- failure: "Ich konnte diese Kuh nicht ignorieren. #evasion"
- success: "Alles klar, du wirst diese Kuh nicht mehr in deiner Weide sehen. #silencio!"
+ failure: "Ich konnte dieses Rindvieh nicht ignorieren. #evasion"
+ success: "Alles klar, du wirst dieses Rindvieh nicht mehr auf deiner Weide sehen. #silencio!"
destroy:
failure: "Ich konnte das Ignorieren dieser Kuh nicht beenden. #evasion"
success: "Mal sehen, was sie zu sagen haben! #sayhello"
@@ -302,10 +349,14 @@ de-moo:
original_white: "Original weißer Hintergrund"
comments:
create:
- error: "Kommentieren fehlgeschlagen."
+ fail: "Kommentieren fehlgeschlagen"
+ destroy:
+ fail: "Kommentar löschen fehlgeschlagen"
+ success: "Kommentar %{id} wurde erfolgreich gelöscht"
new_comment:
comment: "Kommentieren"
commenting: "Kommentieren …"
+ not_found: "Beitrag oder Kommentar nicht gefunden"
contacts:
index:
add_contact: "Kuh hinzufügen"
@@ -345,6 +396,7 @@ de-moo:
to: "An"
new_conversation:
fail: "Ungültige Nachricht"
+ not_found: "Konversation nicht gefunden"
show:
delete: "Diese Konversation löschen und blockieren"
hide: "Konversation ausblenden und stumm schalten."
@@ -413,11 +465,6 @@ de-moo:
what_is_an_aspect_q: "Was ist eine Herde?"
who_sees_post_a: "Wenn du einen begrenzten Beitrag erstellst, wird dieser nur für Kühe sichtbar sein, die du der ausgewählten Herde (oder den ausgewählten Herden, falls du mehrere ausgewählt hast) vor dem Erstellen des Beitrags hinzugefügt hast. Mitkühe, die du hast, die aber nicht in dieser Herde sind, haben keine Möglichkeit, den Beitrag zu sehen. Begrenzte Beiträge werden nie für Kühe sichtbar sein, die du nicht einer deiner Herden hinzugefügt hast."
who_sees_post_q: "Wenn ich einen Beitrag an einee Herde poste, wer sieht ihn dann?"
- chat:
- add_contact_roster_a: "Zuerst musst du den Chat für eine der Herden aktivieren, in denen sich die Mitkuh befindet. Dafür gehst du zur %{contacts_page}, wählst die gewünschte Herde aus und klickst auf das Chat-Icon, um den Chat für diese Herde zu aktivieren. %{toggle_privilege} Wenn es dir lieber ist, kannst du auch eine spezielle Herde namens 'Chat' erstellen und zu dieser die Kühe hinzufügen, mit denen du chatten willst. Wenn du damit fertig bist, öffnest du die Chatoberfläche und wählst die Mitkuh aus, mit der du chatten willst."
- add_contact_roster_q: "Wie kann ich mit Kühen in diaspora* chatten?"
- contacts_page: "Mitküheweide"
- title: "Chat"
community_guidelines: "Community-Richtlinien"
faq: "FAQ"
foundation_website: "Webseite der diaspora* Foundation"
@@ -488,9 +535,9 @@ de-moo:
format_text_q: "Wie kann ich den Text in meinen Beiträgen formatieren (fett, kursiv, etc.)?"
hide_posts_a: "Wenn du deinen Mauszeiger über einem Beitrag positionierst, erscheint rechts ein kleines X. Klicke darauf, um den Beitrag zu verstecken und die Benachrichtigungen zu ihm zu deaktivieren. Du kannst den Beitrag weiterhin auf der Profilweide der Kuh betrachten, die ihn gepostet hat."
hide_posts_q: "Wie kann ich einen Beitrag verstecken?"
- ignore_user_a1: "Wenn du derzeit mit dieser Kuh teilst, entferne sie aus deinen Herden, viele ihrer Beiträge erscheinen dann nicht mehr in deiner Weide. Eine vollständigere Methode ist, die entsprechende Kuh zu „ignorieren“. Dies verhindert, dass jegliche Beiträge der Kuh in deiner Weide erscheinen, sie deine Beiträge mit „Gefällt mir“ markieren oder kommentieren kann. Sie wird jedoch immer noch in der Lage sein, deine Beiträge weiterzusagen und diese dann zu kommentieren. Ihre Kommentare zu Beiträgen anderer Kühen, die in deiner Weide erscheinen, sind noch für dich sichtbar."
- ignore_user_a2: "Um eine Kuh zu ignorieren, klicke auf das „Ignorieren“-Symbol (ein diagonal durchgestrichener Kreis) oben rechts auf einem Beitrag. Die Beiträge werden sofort aus deiner Weide verschwinden. Alternativ gehst du auf die Profilweide der zu ignorierenden Kuh und klickst dort auf das Ignorier-Symbol. Du kannst die Beiträge weiterhin auf der Profilweide sehen oder indem du die Einzelbeitragsansicht verwendest."
- ignore_user_a3: "Eine Liste der von dir ignorierten Kühen findest du in deinen Kontoeinstellungen unter Privatsphäre. Um jemanden nicht mehr zu ignorieren, entferne sie aus der Liste auf dieser Seite."
+ ignore_user_a1: "Wenn du derzeit mit dieser Kuh teilst, entferne sie aus deinen Herden, viele ihrer Beiträge erscheinen dann nicht mehr in deiner Weide. Eine vollständigere Methode ist, die entsprechende Kuh zu „ignorieren“. Dies verhindert, dass jegliche Beiträge dieses Rindviehs in deiner Weide erscheinen, sie deine Beiträge mit „Gefällt mir“ markieren oder kommentieren kann. Es wird jedoch immer noch in der Lage sein, deine Beiträge weiterzusagen und diese dann zu kommentieren. Ihre Kommentare zu Beiträgen anderer Kühen, die in deiner Weide erscheinen, sind noch für dich sichtbar."
+ ignore_user_a2: "Um eine Kuh zu ignorieren, klicke auf das „Ignorieren“-Symbol (ein diagonal durchgestrichener Kreis) oben rechts auf einem Beitrag. Die Beiträge werden sofort aus deiner Weide verschwinden. Alternativ gehst du auf die Profilweide des zu ignorierenden Rindviehs und klickst dort auf das Ignorier-Symbol. Du kannst die Beiträge weiterhin auf der Profilweide sehen oder indem du die Einzelbeitragsansicht verwendest."
+ ignore_user_a3: "Eine Liste der von dir ignorierten Rindviecher findest du in deinen Kontoeinstellungen unter Privatsphäre. Um jemanden nicht mehr zu ignorieren, entferne sie aus der Liste auf dieser Seite."
ignore_user_q: "Wie verhindere ich, dass jemandes Beiträge in meiner Weide erscheinen?"
insert_images_a: "Wenn du ein auf deinem Computer gespeichertes Bild in deinem Beitrag verwenden willst, klicke auf das kleine Kamerasymbol am unteren Rand des Veröffentlichungsfeldes. Auch per Drag&Drop kannst du von deinem Computer Bilder auf das Symbol ziehen. Willst du ein Bild aus dem Web in deinem Beitrag einfügen, klicke auf die „Bild“-Schaltfläche an der Oberseite des Veröffentlichungsfeldes. Diese erstellt für dich den Markdown-Code."
insert_images_comments_a: "Du kannst Markdown verwenden, um ein Bild aus dem Internet in einen Kommentar einzufügen, genau wie in Beiträgen. Du kannst allerdings keine Bilder von deinem Computer direkt in Kommentare hochladen. Lade sie auf einen Bilder-Hosting-Dienst hoch und füge sie dann mittels der Bild-Schaltfläche über dem Eingabefeld ein."
@@ -531,7 +578,7 @@ de-moo:
who_sees_profile_a: "Dein grundlegendes Profil (Name, Profilbild und #Tags) ist öffentlich. Dein erweitertes Profil ist standardmäßig privat, aber du kannst es komplett öffentlich zugänglich machen, wenn du möchtest. Nur Kühe, mit denen du teilst (das heißt, du hast sie zu einer deiner Herden hinzugefügt), können dein erweitertes Profil sehen, wenn du es privat hältst. Andere Kühe werden nur deine öffentlichen Informationen sehen. Jede Profilinformation, die du öffentlich machst, kann von jeder Kuh im Internet gesehen und von Suchmaschinen indexiert werden"
who_sees_profile_q: "Wer sieht mein Profil?"
public_posts:
- can_comment_reshare_like_a: "Alle angemeldeten diaspora*-Kühe können öffentliche Beiträge wiederkäuen, kommentieren, beziehungsweise „Gefällt mir“ drücken. Ausgenommen sind die von dir ignorierten Kühe; diese können nicht kommentieren oder „Gefällt mir“ drücken."
+ can_comment_reshare_like_a: "Alle angemeldeten diaspora*-Kühe können öffentliche Beiträge wiederkäuen, kommentieren, beziehungsweise „Gefällt mir“ drücken. Ausgenommen sind die von dir ignorierten Rindviecher; diese können nicht kommentieren oder „Gefällt mir“ drücken."
can_comment_reshare_like_q: "Wer kann meinen öffentlichen Beitrag kommentieren, wiederkäuen oder bei ihm auf „Gefällt mir“ drücken?"
deselect_aspect_posting_a: "Öffentliche Beiträge werden durch das Abwählen von Herden nicht beeinflusst. Sie werden weiterhin in den Weiden all deiner Mitkühe angezeigt werden. Um einen Beitrag nur für bestimmte Herden sichtbar zu machen, musst du diese mit der Schaltfläche unter dem Eingabefeld auswählen."
deselect_aspect_posting_q: "Was passiert mit öffentlichen Beiträgen, wenn ich in der linken Spalte die Auswahl einer oder mehrerer Herden aufhebe?"
@@ -660,8 +707,22 @@ de-moo:
likes:
create:
error: "Gefällt mir ist fehlgeschlagen."
+ fail: "Gefällt mir fehlgeschlagen"
destroy:
error: "Gefällt mir nicht mehr ist fehlgeschlagen."
+ not_found: "Beitrag oder Gefällt mir nicht gefunden"
+ people_dislike_this:
+ one: "%{count} Gefällt mir nicht"
+ other: "%{count} Gefällt mir nicht"
+ zero: "Kein Gefällt mir nicht"
+ people_like_this:
+ one: "%{count} Gefällt mir"
+ other: "%{count} Gefällt mir"
+ zero: "Kein Gefällt mir"
+ people_like_this_comment:
+ one: "%{count} Gefällt mir"
+ other: "%{count} Gefällt mir"
+ zero: "Kein Gefällt mir"
limited: "Begrenzt"
more: "Mehr"
no_results: "Keine Ergebnisse gefunden."
@@ -1030,7 +1091,7 @@ de-moo:
closed:
another_pod: "einem anderen Bauernhof"
closed_pod: "Dieser Bauernhof ist derzeit für Neuanmeldungen geschlossen. Du kannst dem diaspora*-Netzwerk trotzdem beitreten, indem du sich auf %{wiki} registrierst. Da alle Bauernhöfe miteinander verbunden sind, hast du von dort aus Zugriff auf dieselben Inhalte."
- find_pods: "Es gibt eine Liste von Bauernhöfen, auf denen du dich registrieren kannst, auf %{poduptime}."
+ find_pods: "Es gibt eine Liste von Bauernhöfen, auf denen du dich registrieren kannst, auf %{fediverse_observer}."
other_questions: "Wenn du noch weitere Fragen dazu hast, wie du einen Bauernhof auswählst, lies unser %{wiki}."
create:
success: "Du bist diaspora* beigetreten!"
@@ -1199,6 +1260,8 @@ de-moo:
title: "\"Gefällt mir\"-Weide"
liked:
title: "Beiträge, die dir gefallen"
+ local_public:
+ title: "Lokale Beiträge"
mentioned_stream: "@Anmuuuhungen"
mentions:
title: "@Anmuuuhungen"
@@ -1332,7 +1395,7 @@ de-moo:
what_are_you_in_to: "Was machst du so?"
who_are_you: "Wer bist du?"
privacy_settings:
- ignored_users: "Kühe, die ignoriert werden"
+ ignored_users: "Ignorierte Rindviecher"
no_user_ignored_message: "Du ignorierst im Moment keine andere Kuh"
stop_ignoring: "Aufhören, zu ignorieren"
strip_exif: "Entferne Metadaten, wie deinen Ort, Autor und Kameramodell von hochgeladenen Bildern (empfohlen)"
diff --git a/config/locales/diaspora/el.yml b/config/locales/diaspora/el.yml
index 8d81ef71a..f8b48c7e4 100644
--- a/config/locales/diaspora/el.yml
+++ b/config/locales/diaspora/el.yml
@@ -521,12 +521,11 @@ el:
two: "Σε %{count} πτυχές"
zero: "Προσθήκη επαφής"
invitations:
- by_email: "Μέσω email"
+ by_email: "Προσκάλεσε φίλους μέσω email"
invite_your_friends: "Προσκάλεσε φίλους"
invites: "Προσκλήσεις"
share_this: "Μοιράσου αυτόν τον σύνδεσμο με email, blog, ή σε κάποιο κοινωνικό δίκτυο!"
public_explain:
- atom_feed: ""
control_your_audience: "Έλεγξε το κοινό σου"
logged_in: "Σύνδεση στο %{service}"
manage: "Διαχείριση συνδεμένων υπηρεσιών"
diff --git a/config/locales/diaspora/en.yml b/config/locales/diaspora/en.yml
index fa3aa016f..4558214f9 100644
--- a/config/locales/diaspora/en.yml
+++ b/config/locales/diaspora/en.yml
@@ -32,6 +32,7 @@ en:
no_results: "No results found"
_contacts: "Contacts"
_terms: "Terms"
+ _podmin_mail: "Contact Podmin"
_statistics: "Statistics"
# For reference translation; the real ActiveRecord English transations are actually
@@ -1055,7 +1056,7 @@ en:
closed:
closed_pod: "This pod is currently closed to new registrations. However, you can still join the diaspora* network by registering on %{wiki}. Because all pods are interconnected, you will have access to the same content there."
another_pod: "another pod"
- find_pods: "There’s a list of pods you can sign up to at %{poduptime}."
+ find_pods: "There’s a list of pods you can sign up to at %{fediverse_observer}."
other_questions: "If you have any other questions regarding choosing a pod, check out our %{wiki}."
invalid_invite: "The invite link you provided is no longer valid!"
diff --git a/config/locales/diaspora/en_valspeak.yml b/config/locales/diaspora/en_valspeak.yml
index 305e5df24..e7af9a7e8 100644
--- a/config/locales/diaspora/en_valspeak.yml
+++ b/config/locales/diaspora/en_valspeak.yml
@@ -292,10 +292,6 @@ en_valspeak:
what_is_an_aspect_q: "Wat is an aspect er group er whatev?"
who_sees_post_a: "so like, if u like... make a postie thats like... limited, it will only like, b seen by the ppl u have in ur aspect or group or groups err whatever. BFFs u have that like... arent in the aspect have like... no way of seein the postie, unless u set it 2 like... internet or public n junk. like, only like... posties that r set 2 public can b seen by ppl who u havent like... place in 1 of ur aspects. totally weird, right?"
who_sees_post_q: "when i like... make a postie 2 a aspect er whatever.. who can like.. see it?"
- chat:
- add_contact_roster_q: "So like, how do I cht with ppl in d*?"
- contacts_page: "ppl page"
- title: "Chttt"
faq: "FACK"
foundation_website: "d* foundation site! i lurve it!! <3"
getting_help:
diff --git a/config/locales/diaspora/eo.yml b/config/locales/diaspora/eo.yml
index 636e7bd62..b1b9539d1 100644
--- a/config/locales/diaspora/eo.yml
+++ b/config/locales/diaspora/eo.yml
@@ -72,19 +72,25 @@ eo:
diaspora_handle: "DIASPORA* identigilo"
email: "Retpoŝtadreso"
id: "Identigilo"
+ last_seen: "Laste vidita"
? "no"
: Ne
nsfw: "#nsfw"
+ unknown: "Nekonata"
? "yes"
: Jes
user_search:
add_invites: "aldonu invitojn"
+ close_account: "Fermi konton"
+ does_not_exist: "Uzanto ne ekzistas!"
email_to: "Retmesaĝo por inviti"
+ invite: "Inviti"
under_13: "Montru uzantojn malpli ol 13-jaraĝajn (por la usona regularo COPPA)"
users:
one: "%{count} uzanto trovita"
other: "%{count} uzantoj trovitaj"
- zero: "%{count} uzantoj trovitaj"
+ zero: "Neniu uzanto trovita"
+ view_profile: "Vidi profilon"
you_currently:
other: "vi aktuale havas ankoraŭ %{user_invitation} invitojn %{link}"
weekly_user_stats:
@@ -94,6 +100,24 @@ eo:
zero: "Kiomo de novaj uzantoj ĉi-semajne: neniu"
current_server: "Aktuala dato de servilo estas %{date}"
all_aspects: "Ĉiuj aspektoj"
+ api:
+ openid_connect:
+ error_page:
+ title: "Ho! Io misokazis :("
+ scopes:
+ email:
+ name: "Retpoŝtadreso"
+ name:
+ name: "Tuta nomo"
+ nickname:
+ name: "Uzantnomo"
+ notifications:
+ name: "Atentigoj"
+ picture:
+ name: "Profilbildo"
+ user_applications:
+ index:
+ access: "%{name} rajtas al:"
are_you_sure: "Ĉu vi certas?"
are_you_sure_delete_account: "Ĉu vi certe volas forigi vian konton? Vi ne povos malfari tion!"
aspect_memberships:
@@ -133,6 +157,7 @@ eo:
here_to_help: "Jen la DIASPORA* komunumo!"
mail_podmin: "Podestra retpoŝtadreso"
need_help: "Ĉu Vi Bezonas Helpon?"
+ support_forum: "Vi povas ankaŭ aniĝi %{support_forum}."
tag_bug: "cimo"
tag_feature: "trajtpeto"
tag_question: "demando"
@@ -150,6 +175,7 @@ eo:
welcome_to_diaspora: "Bonvenon al diaspora*, %{name}!"
no_contacts_message:
community_spotlight: "en komunuma ĉeflumo"
+ invite_link_text: "inviti"
or_spotlight: "Aŭ vi povas kunhavigi kun %{link}"
try_adding_some_more_contacts: "Vi povas serĉi aŭ %{invite_link} pliajn kontaktojn."
you_should_add_some_more_contacts: "Vi devus aldoni pliajn kontaktojn!"
@@ -173,6 +199,8 @@ eo:
heading: "Legosigneto"
post_something: "Afiŝi ion en DIASPORA*"
cancel: "Nuligi"
+ color_themes:
+ dark: "Malhela"
comments:
new_comment:
comment: "Komenti"
@@ -201,9 +229,11 @@ eo:
new_conversation: "Nova konversacio"
no_messages: "neniuj mesaĝoj"
new:
+ message: "Mesaĝo"
send: "Sendi"
sending: "Poŝtanta..."
subject: "temo"
+ subject_default: "Sen temo"
to: "al"
new_conversation:
fail: "Nevalida mesaĝo"
@@ -252,7 +282,7 @@ eo:
get_support_a_hashtag: "Demandu per publika afiŝo uzante la %{question} etikedo"
get_support_a_irc: "aliĝu al ni en %{irc} (rektbabilejo)"
get_support_a_tutorials: "Vidu niajn %{tutorials}"
- get_support_a_website: "vizitu nian %{link}"
+ get_support_a_website: "Vizitu nian %{link}"
get_support_a_wiki: "serĉi en %{link}"
get_support_q: "Kio, se mia demando ne estas respondita en ĉi tiu respondaro? Kie alie mi povas atingi helpon?"
getting_started_a: "Vi bonŝancas. Provu la %{tutorial_series} en nia projektrejejo. Ĝi enkondukos vin paŝo post paŝo tra la aliĝilon kaj instruos vin ĉiujn bazajn bezonatajn informojn pri la uzado de diaspora*."
@@ -261,6 +291,9 @@ eo:
getting_started_tutorial: "\"Instrukcio por komencantoj\""
here: "ĉi tie"
irc: "IRC"
+ keyboard_shortcuts:
+ keyboard_shortcuts_li4: "l – Ŝati la aktualan afiŝon"
+ keyboard_shortcuts_li8: "Ctrl+Enter – Sendas skribatan mesaĝon"
markdown: "Markdown"
mentions:
how_to_mention_q: "Kiel mi povas mencii iun ajn, farante afiŝon?"
@@ -285,6 +318,9 @@ eo:
private_posts:
can_reshare_q: "Kiu povas rediskonigi mian privatan afiŝon?"
title: "Privataj afiŝoj"
+ profile:
+ title: "Profile"
+ whats_in_profile_q: "Kio estas en mia profilo?"
public_posts:
find_public_post_q: "Kiel aliaj personoj povas trovi mian publikan afiŝon?"
title: "Publikaj afiŝoj"
@@ -302,6 +338,13 @@ eo:
tutorial: "enkonduko"
tutorials: "enkondukoj"
wiki: "vikio"
+ home:
+ default:
+ diaspora_site_link: "diaspora* federita reto"
+ headline: "Bonvenon al %{pod_name}"
+ podmin:
+ create_an_account: "Krei konton"
+ headline: "Bonvenon, amiko."
invitations:
create:
empty: "Bonvole tajpu almenaŭ unu retpoŝtadreson."
@@ -332,6 +375,19 @@ eo:
logout: "Elsaluti"
profile: "Profilo"
settings: "Agordoj"
+ likes:
+ people_dislike_this:
+ one: "%{count} malŝato"
+ other: "%{count} malŝatoj"
+ zero: "Sen malŝatoj"
+ people_like_this:
+ one: "%{count} ŝato"
+ other: "%{count} ŝatoj"
+ zero: "Sen ŝatoj"
+ people_like_this_comment:
+ one: "%{count} ŝato"
+ other: "%{count} ŝatoj"
+ zero: "Sen ŝatoj"
limited: "Limigita"
more: "Pli"
no_results: "Neniuj rezultoj estas trovitaj"
@@ -363,6 +419,8 @@ eo:
other: "kaj %{count} aliaj"
zero: "kaj neniu alia"
comment_on_post: "Komenti afiŝon"
+ contacts_birthday: "Naskiĝtago"
+ liked: "Ŝatita"
mark_all_as_read: "Marki ĉiujn kvazaŭ legitaj"
mark_read: "Marki kiel legita"
mark_unread: "Marku kiel nelegita"
@@ -421,6 +479,8 @@ eo:
confirm_email:
click_link: "Por aktivigi vian novan retpoŝtadreson %{unconfirmed_email}, bonvolu iru al tiu ĉi ligilo:"
subject: "Bonvolu aktivigi vian novan retpoŝtadreson %{unconfirmed_email}"
+ contacts_birthday:
+ view_profile: "Vidi %{name}-an profilon"
email_sent_by_diaspora: "Tiu ĉi mesaĝo estis sendita de %{pod_name}. Se vi deziras haltigi la ricevadon de mesaĝoj kiel tiu ĉi,"
hello: "Saluton %{name}!"
invite:
@@ -496,6 +556,11 @@ eo:
notice: "Bildo forviŝiĝis."
new_profile_photo:
upload: "Alŝutu novan profilbildon!"
+ polls:
+ votes:
+ one: "%{count} voĉo ĝis nun"
+ other: "%{count} voĉoj ĝis nun"
+ zero: "Sen voĉoj ĝis nun"
posts:
presenter:
title: "Mesaĝo de %{name}"
@@ -515,6 +580,7 @@ eo:
allow_search: "Permesu al homoj serĉi vin ene de DIASPORA*"
first_name: "Persona nomo"
last_name: "Familinomo"
+ settings: "Profilaj agordoj"
update_profile: "Ĝisdatigi profilon"
your_bio: "Via biografio"
your_birthday: "Via naskiĝtago"
@@ -571,6 +637,7 @@ eo:
failure:
error: "estis eraro, kiam ni provis konekti tiun servon"
index:
+ connect: "Konekti"
disconnect: "malkonekti"
edit_services: "Redakti servojn"
logged_in_as: "ensalutinta kiel"
@@ -611,6 +678,8 @@ eo:
i_like: "Mi interesiĝas pri %{tags}."
invited_by: "Dankon pro la invito,"
newhere: "NewHere"
+ poll:
+ add_a_poll: "Aldoni enketon"
posting: "Afiŝanta..."
remove_location: "Forigi lokon"
share: "Konigi"
@@ -621,6 +690,14 @@ eo:
simple_captcha:
label: "Enigu la kodo en la dialogujon."
placeholder: "Enigu la signifon de la bildo"
+ statistics:
+ closed: "Fermita"
+ disabled: "Ne disponebla"
+ enabled: "Disponebla"
+ name: "Nomo"
+ network: "Reto"
+ open: "Malfermita"
+ version: "Versio"
status_messages:
new:
mentioning: "Mencianta: %{person}"
@@ -636,11 +713,14 @@ eo:
community_spotlight_stream: "Komunuma Ĉeflumo"
followed_tag:
add_a_tag: "Aldoni etikedon"
+ all: "Ĉiuj etikedoj"
follow: "Sekvi"
title: "#Sekvataj etikedoj"
followed_tags_stream: "#Sekvataj etikedoj"
like_stream:
title: "Kiel torento"
+ liked:
+ title: "Ŝatitaj afiŝoj"
mentioned_stream: "@Mencioj"
mentions:
title: "@Mencioj"
@@ -686,6 +766,7 @@ eo:
comment_on_post: "...iu komentas pri via afiŝo?"
current_password: "Nuna pasvorto"
current_password_expl: "tiu per kiu vi ensalutis..."
+ download_export: "Elŝuti mian profilon"
edit_account: "Redakti konton"
email_awaiting_confirmation: "Ni sendis al vi aktivigan ligilon ĉe %{unconfirmed_email}. Ĝis kiam vi klakos tiun ĉi ligilon kaj aktivigos la novan repoŝtadreson, ni uzados vian ĝisnunan retpoŝtadreson %{email}."
export_data: "Eksporti datumojn"
diff --git a/config/locales/diaspora/es-AR.yml b/config/locales/diaspora/es-AR.yml
index 2821951f3..459ddb4c8 100644
--- a/config/locales/diaspora/es-AR.yml
+++ b/config/locales/diaspora/es-AR.yml
@@ -90,15 +90,19 @@ es-AR:
week: "Semana"
user_entry:
account_closed: "Cuenta de usuario cerrada"
+ admin: "Administrador"
+ current_sign_in_ip: "Dirección IP del inicio de sesión actual"
diaspora_handle: "Tu ID de diaspora*"
email: "Correo electrónico"
guid: "GUID"
id: "Identificador ID"
invite_token: "Identificador de invitación"
last_seen: "Visto por última vez"
+ moderator: "Moderador"
? "no"
: "No"
nsfw: "No apto para todo público (#nsfw)"
+ spotlight: "Destacado"
unknown: "Desconocido"
? "yes"
: Si
@@ -106,14 +110,29 @@ es-AR:
account_closing_scheduled: "La cuenta de %{name} está agendada para ser eliminada. Será procesada en unos momentos..."
account_locking_scheduled: "El bloqueo de la cuenta de %{name} se ha añadido a la lista de tareas. Será procesada en unos minutos..."
account_unlocking_scheduled: "El desbloqueo de la cuenta de %{name} se ha añadido a la lista de tareas. Será procesada en unos minutos..."
+ add_admin: "Se ha convertido a %{name} en administrador."
add_invites: "Añadir invitaciones"
+ add_moderator: "Se ha convertido a %{name} en moderador."
+ add_spotlight: "Se ha añadido a %{name} a la comunidad destacada."
are_you_sure: "¿Estás seguro de que quieres eliminar tu cuenta? ¡Esto no se puede deshacer!"
are_you_sure_lock_account: "¿Estás seguro que quieres bloquear esta cuenta?"
are_you_sure_unlock_account: "¿Estás seguro que quieres desbloquear esta cuenta?"
close_account: "Cerrar cuenta"
+ delete_admin: "Se ha eliminado a %{name} de la lista de administradores."
+ delete_moderator: "Se ha eliminado a %{name} de la lista de moderadores."
+ delete_spotlight: "Se ha eliminado a %{name} de la comunidad destacada."
+ does_not_exist: "El usuario no existe!"
email_to: "Mandar invitación por correo electrónico a"
invite: "Invitar"
lock_account: "Bloquear cuenta"
+ make_admin: "Convertir en administrador"
+ make_moderator: "Convertir en moderador"
+ make_spotlight: "Añadir a la comunidad destacada"
+ remove_admin: "Remover como administrador"
+ remove_moderator: "Eliminar como moderador"
+ remove_spotlight: "Eliminar de la comunidad destacada"
+ role_implemented: "¡Ya se ha dado a %{name} este rol!"
+ role_removal_implemented: "¡Ya se ha eliminado a %{name} de este rol!"
under_13: "Mostrar usuarios menores de 13 años (COPPA)"
unlock_account: "Desbloquear cuenta"
users:
@@ -144,40 +163,85 @@ es-AR:
client_id_not_found: "No se encontró ningún cliente con el ID de cliente %{client_id} o con la URI de redireccionamiento %{redirect_uri}"
deny: "Denegar"
no_requirement: "%{name} no necesita permisos"
+ private_contacts_linkage_error: "private:read y private:modify requieren contacts:read también"
redirection_message: "¿Estás seguro que quieres dar acceso a %{redirect_uri}?"
+ unknown_scope: "Alcance desconocido: %{scope_name}"
error_page:
- contact_developer: "Deberías contactar con el desarrollador de la aplicación y enviarle el siguiente mensaje de error:"
+ contact_developer: "Por favor contacta al desarrollador de la aplicación y envíale el siguiente mensaje de error:"
could_not_authorize: "No se pudo autorizar la aplicación"
login_required: "Tienes que loguearte para poder autorizar a esta aplicación"
title: "¡Oh! Algo salió mal :("
scopes:
- aud:
- description: "Esto otorga permisos aud a la aplicación"
- name: "aud"
+ ? "contacts:modify"
+ :
+ description: "Se concede a la aplicación permiso para modificar la información de tus contactos e información relacionada (como los aspectos)."
+ name: "Contactos (escritura)"
+ ? "contacts:read"
+ :
+ description: "Se concede a la aplicación permiso de sólo lectura para acceder a tus contactos e información relacionada (como los aspectos)."
+ name: "Contactos (sólo lectura)"
+ conversations:
+ description: "Se conceden a la aplicación permisos de lectura y escritura de mensajes privados."
+ name: "Conversaciones"
+ email:
+ description: "Se concede a la aplicación acceso para leer los datos de la dirección de correo electrónico del usuario."
+ name: "E-Mail"
+ interactions:
+ description: "Se concede a la aplicación permiso de lectura, escritura y para interactuar con las publicaciones."
+ name: "Interacciones"
name:
- description: "Esto otorga permisos de nombre a la aplicación"
- name: "nombre"
+ description: "Permite acceso de sólo lectura a tu nombre completo"
+ name: "Nombre completo"
nickname:
- description: "Esto otorga permisos de apodo a la aplicación"
- name: "apodo"
+ description: "Permite acceso de sólo lectura a tu nombre de usuario"
+ name: "Nombre de usuario"
+ notifications:
+ description: "Se concede a la aplicación permisos de lectura y escritura para las notificaciones del usuario."
+ name: "Notificaciones"
openid:
- description: "Permite que la aplicación lea tu perfil básico"
- name: "perfil básico"
+ description: "Permite acceso a tu perfil básico en modo sólo lectura"
+ name: "Información del perfil básico"
picture:
- description: "Esto otorga permisos de imagen a la aplicación"
- name: "imagen"
+ description: "Permite acceso de sólo lectura a tu imagen de perfil"
+ name: "Imagen de perfil"
+ ? "private:modify"
+ :
+ description: "Se concede a la aplicación permiso para publicar posts privados."
+ name: "Posts privados (escritura)"
+ ? "private:read"
+ :
+ description: "Se concede a la aplicación permiso para acceder a tus posts privados y los posts privados de tus contactos."
+ name: "Posts privados (sólo lectura)"
profile:
- description: "Permite que la aplicación lea tu perfil extendido"
- name: "perfil extendido"
- read:
- description: "Esto permite a la aplicación leer tu Entrada, tus conversaciones y tu perfil completo"
- name: "leer perfil, Entrada y conversaciones"
+ description: "Permite acceso de sólo lectura a tu información del perfil extendido"
+ name: "Perfil extendido (sólo lectura)"
+ ? "profile:modify"
+ :
+ description: "Se concede a la aplicación permiso para actualizar los datos de tu perfil extendido."
+ name: "Perfil extendido (escritura)"
+ ? "profile:read_private"
+ :
+ description: "Se concede a la aplicación permiso de sólo lectura para acceder a los datos de tu perfil privado."
+ name: "Datos del perfil privado (sólo lectura)"
+ ? "public:modify"
+ :
+ description: "Concede a la aplicación permiso para publicar posts públicos e información relacionada (como archivos adjuntos)."
+ name: "Posts públicos (escritura)"
+ ? "public:read"
+ :
+ description: "Se concede a la aplicación permiso para acceder a tus posts públicos, incluyendo interacciones e información relacionada."
+ name: "Posts públicos (sólo lectura)"
sub:
- description: "Esto otorga permisos sub a la aplicación"
- name: "sub"
- write:
- description: "Permite a la aplicación enviar nuevos posts, escribir conversaciones y enviar reacciones"
- name: "enviar publicaciones, conversaciones y reacciones"
+ description: "Permite acceso de sólo lectura a tu identificador único"
+ name: "Identificador único"
+ ? "tags:modify"
+ :
+ description: "Se concede a la aplicación permiso para modificar las etiquetas que sigues."
+ name: "Etiquetas (escritura)"
+ ? "tags:read"
+ :
+ description: "Se concede a la aplicación permiso de sólo lectura para acceder a las etiquetas que sigues."
+ name: "Etiquetas (sólo lectura)"
user_applications:
index:
access: "%{name} tiene acceso a:"
@@ -185,11 +249,12 @@ es-AR:
no_requirement: "%{name} no necesita permisos"
title: "Aplicaciones autorizadas"
no_applications: "No tienes aplicaciones autorizadas"
- policy: "Mira las políticas de privacidad de la aplicación"
+ policy: "Ver la Política de Privacidad de la aplicación"
revoke_autorization: "Revocar"
tos: "Ver los Términos de Servicio de la aplicación"
are_you_sure: "¿Estás seguro?"
are_you_sure_delete_account: "¿Seguro que quieres eliminar tu cuenta? ¡Esto no se podrá deshacer!"
+ are_you_sure_ignore_user: "Vas a ignorar a este usuario, ¿estás seguro?"
aspect_memberships:
destroy:
failure: "El contacto no se pudo eliminar del aspecto"
@@ -283,10 +348,14 @@ es-AR:
original_white: "Fondo blanco original"
comments:
create:
- error: "Hubo un error al comentar."
+ fail: "La creación del comentario ha fallado"
+ destroy:
+ fail: "El borrado del comentario ha fallado"
+ success: "El comentario %{id} se ha eliminado correctamente"
new_comment:
comment: "Comentar"
commenting: "Comentando..."
+ not_found: "Post o comentario no encontrado"
contacts:
index:
add_contact: "Agregar contacto"
@@ -326,6 +395,7 @@ es-AR:
to: "Para"
new_conversation:
fail: "Mensaje inválido"
+ not_found: "Conversación no encontrada"
show:
delete: "Eliminar y bloquear conversación"
hide: "Ocultar y silenciar la conversación"
@@ -347,7 +417,12 @@ es-AR:
errors:
messages:
carrierwave_download_error: "no se pudo descargar"
+ carrierwave_integrity_error: "no se permite este tipo de archivo"
carrierwave_processing_error: "falló al procesar"
+ max_size_error: "El tamaño del archivo debe ser menor que %{max_size}"
+ min_size_error: "El tamaño del archivo debe ser mayor que %{min_size}"
+ mini_magick_processing_error: "Error al procesar con MiniMagick, ¿tal vez no es una imagen? Error original: %{e}"
+ rmagick_processing_error: "Error al procesar con rmagick, ¿tal vez no es una imagen?"
fill_me_out: "Completame"
find_people: "Encontrá gente o #etiquetas"
help:
@@ -385,11 +460,6 @@ es-AR:
what_is_an_aspect_q: "¿Qué es un aspecto?"
who_sees_post_a: "Si haces una publicación restringida (limitada, privada), ésta solo será visible para las personas que hayas incluido en ese aspecto (o esos aspectos, si la hiciste para varios aspectos). Los contactos que no pertenecen a ese o esos aspectos no tendrán forma de ver la publicación, a menos que la hagas pública. Solo las publicaciones públicas serán visibles para cualquiera que no hayas incluido en uno o varios de tus aspectos."
who_sees_post_q: "Cuando publico en un aspecto, ¿quienes pueden verlo?"
- chat:
- add_contact_roster_a: "Primero, necesitas activar el chat para uno de los aspectos en donde está el usuario. Para hacer eso, ve a la %{contacts_page}, selecciona el aspecto que quieras y haz clic en el icono de chat para activarlo en ese aspecto. %{toggle_privilege} Si lo prefieres, puedes crear un aspecto especial llamado \"Chat\" y agregar allí a los usuarios con los que quieres chatear. Una vez que hayas hecho ésto, abre la interfaz de chat ubicada a la derecha de tu Entrada y selecciona al usuario con quien quieres chatear."
- add_contact_roster_q: "¿Cómo hago para chatear con alguien en diaspora*?"
- contacts_page: "página de contactos"
- title: "Chat"
community_guidelines: "Normas de la comunidad"
faq: "Preguntas frecuentes"
foundation_website: "página web de la Fundación diaspora*"
@@ -424,7 +494,7 @@ es-AR:
mentions:
how_to_mention_a: "Escribe el signo \"@\" y comience a escribir el nombre. Un menú desplegable con opciones aparecerá para seleccionarlo más fácilmente. Sólo es posible mencionar a las personas que tienes agregadas a uno o varios aspectos."
how_to_mention_q: "¿Cómo puedo mencionar a alguien cuando hago una publicación?"
- mention_in_comment_a: "¡Si! Desde la versión 0.7.0.0 puedes mencionar a alguien en un comentario de la misma forma que lo harías en una publicación, escribiendo \"@\" seguido de su nombre. Por favor tenga en cuenta que cuando usted comenta en una publicación que no es pública solo puede mencionar usuarios los cuales ya hayan interactuado con la publicación."
+ mention_in_comment_a: "¡Si! Desde la versión 0.7.0.0 puedes mencionar a alguien en un comentario de la misma forma que lo harías en una publicación, escribiendo \"@\" seguido de su nombre. Por favor tenga en cuenta que cuando usted comenta en una publicación que no es pública sólo puede mencionar a usuarios que ya hayan interactuado con la publicación."
mention_in_comment_q: "¿Puedo mencionar a alguien en un comentario?"
see_mentions_a: "Sí, haz clic en \"@Menciones\" en la columna izquierda de tu página de inicio."
see_mentions_q: "¿Existe alguna manera de ver las publicaciones en las cuales he sido mencionado?"
@@ -463,7 +533,7 @@ es-AR:
ignore_user_a3: "La lista de personas que has ignorado puedes verla en los ajustes de tu cuenta, en la sección Privacidad. Para dejar de ignorar a alguien, debes quitar a esa persona de la lista en esa página."
ignore_user_q: "¿Cómo puedo impedir que las publicaciones de una persona aparezcan en mi Entrada?"
insert_images_a: "Haz clic en el icono pequeño con forma de cámara para insertar imágenes en una publicación. Presiona el icono de imágenes nuevamente para añadir otra foto, o selecciona varias al mismo tiempo. También puedes arrastrar y soltar una o varias imágenes desde tu computadora a ese icono. Si quieres insertar una imagen desde la web en tu publicación, haz clic en el botón de imagen en la parte superior del cuadro de publicación, lo que creará el código Markdown para vos."
- insert_images_comments_a: "Podés utilizar Markdown para ingresar una imagen desde la web a un comentario, igual que en las publicaciones. Sin embargo, no podés subir imagenes desde tu computadora directamente a los comentarios. Cargalos a un servicio de hosting para imagenes y entonces ingresarlos usando el botón de imagen encima del editor."
+ insert_images_comments_a: "Podés utilizar Markdown para ingresar una imagen desde la web a un comentario, igual que en las publicaciones. Sin embargo, no podés subir imágenes desde tu computadora directamente a los comentarios. Cargalos a un servicio de hosting para imágenes y entonces ingresalos usando el botón de imagen encima del editor."
insert_images_comments_q: "¿Puedo insertar imágenes en los comentarios?"
insert_images_q: "¿Cómo puedo insertar imágenes en las publicaciones?"
post_location_a: "Pulsa el icono de localización al lado de la cámara en el publicador (el cuadro de publicación). Ello insertará tu localización desde OpenStreetMap. Puedes editar tu localización y escoger publicar sólo el nombre de la ciudad en la que estás en lugar de tu dirección exacta."
@@ -560,9 +630,11 @@ es-AR:
byline: "La red social Libre donde tú tienes el control"
choose_your_audience: "Elige tu público"
choose_your_audience_info: "Los aspectos de diaspora* te permiten compartir sólamente con las personas que quieras. Puedes ser tan público o privado como prefieras. Comparte una foto divertida con el mundo entero, o un oscuro secreto con tus amigos más cercanos. Tú tienes el control."
+ diaspora_site_link: "Red federada de diaspora*"
headline: "Bienvenido a %{pod_name}"
own_your_data: "Sé el dueño de tus datos"
own_your_data_info: "Muchas redes usan tus datos para hacer dinero analizando tus interacciones y usando esa información para mostrarte anuncios publicitarios. diaspora* no usa tus datos para ningún propósito más que permitirte estar en contacto con otras personas."
+ part_of_diaspora: "Parte de %{diaspora_site_link}"
podmin:
byline: "Estás a punto de cambiar Internet. Vamos a configurarlo, ¿dale?"
configuration_info: "Abre %{database_path} y %{diaspora_path} en tu editor de texto favorito y revísalos cuidadosamente, están comentados al detalle."
@@ -613,6 +685,8 @@ es-AR:
public_feed: "Canal público para %{name}"
source_package: "Descargar el paquete con el código fuente"
statistics_link: "Estadísticas del pod"
+ switch_to_standard_mode: "Cambiar al modo estándar"
+ switch_to_touch_optimized_mode: "Cambiar al modo optimizado para pantallas táctiles"
whats_new: "¿Qué hay de nuevo?"
header:
code: "Código"
@@ -623,8 +697,10 @@ es-AR:
likes:
create:
error: "¡Falló el 'Me gusta'!"
+ fail: "La creación del \"Me gusta\" falló"
destroy:
error: "Ocurrió un error al quitar el \"Me gusta\""
+ not_found: "Post o \"Me gusta\" no encontrado"
limited: "Limitado"
more: "Más"
no_results: "No hay resultados"
@@ -728,7 +804,7 @@ es-AR:
limited_subject: "Hay un nuevo comentario en una de tus publicaciones"
reply: "Responder o ver la publicación de %{name} >"
confirm_email:
- click_link: "Para activar tu nueva dirección de correo %{unconfirmed_email}, por favor seguí este enlace::"
+ click_link: "Para activar tu nueva dirección de correo %{unconfirmed_email}, por favor seguí este enlace:"
subject: "Por favor, activá tu nueva dirección de correo %{unconfirmed_email}"
contacts_birthday:
birthday: "%{name} está de cumpleaños hoy. ¡Deséale un 'Muy feliz cumpleaños'!"
@@ -969,7 +1045,9 @@ es-AR:
registrations:
closed:
another_pod: "otro pod"
- closed_pod: "En este momento este pod se encuentra cerrado a nuevas registros. De igual forma, todavía puedes unirte a la red de diaspora* registrandote en %{wiki}. Ya que todos los pods están interconectados, tendrás acceso al mismo contenido."
+ closed_pod: "En este momento este pod se encuentra cerrado a nuevos registros. De igual forma, todavía puedes unirte a la red de diaspora* registrándote en %{wiki}. Ya que todos los pods están interconectados, tendrás acceso al mismo contenido."
+ find_pods: "Aquí hay una lista de los pods en los que es posible registrarse: %{fediverse_observer}"
+ other_questions: "Visita nuestra %{wiki} si no sabes qué pod elegir o si tienes dudas respecto a la elección de un pod."
create:
success: "¡Te has unido a diaspora*!"
invalid_invite: "¡El enlace de la invitación ya no es válido!"
@@ -1103,6 +1181,7 @@ es-AR:
total_users: "Usuarios totales"
version: "Versión"
status_messages:
+ bad_aspects: "No se pueden aplicar los IDs proporcionados en los aspectos (no existen o no se poseen)"
new:
mentioning: "Mencionar a: %{person}"
too_long: "Por favor haz que tu mensaje de estado tenga menos de %{count} caracteres. En este momento el máximo permitido es de %{current_length} caracteres."
@@ -1156,11 +1235,41 @@ es-AR:
one: "1 persona etiquetada con %{tag}"
other: "%{count} personas etiquetadas con %{tag}"
zero: "Ninguna persona etiquetada con %{tag}"
+ two_factor_auth:
+ activated:
+ change_button: "Desactivar"
+ change_label: "Introduce tu contraseña para desactivar la autenticación de doble factor"
+ status: "Se ha activado la autenticación de doble factor"
+ confirm:
+ activate_button: "Confirmar y activar"
+ input_explanation: "Cuando hayas escaneado el código QR o introducido el secreto, introduce el código de seis dígitos y confirma la configuración."
+ input_title: "Confirmar con token TOTP"
+ manual_explanation: "En caso de no poder escanear el código QR automáticamente, puedes introducir manualmente el secreto en tu aplicación."
+ scan_title: "Escanear el código QR"
+ title: "Confirmar activación"
+ deactivated:
+ change_button: "Activar"
+ change_label: "Activar la autenticación de doble factor"
+ status: "La autenticación de doble factor no está activada"
+ flash:
+ error_token: "El token es incorrecto o no es válido"
+ success_activation: "La autenticación de doble factor ha sido activada correctamente"
+ success_deactivation: "La autenticación de doble factor ha sido desactivada correctamente"
+ input_token:
+ label: "Token de doble factor"
+ placeholder: "Token de seis dígitos para la autentificación de doble factor"
+ recovery:
+ button: "Generar nuevos códigos de recuperación"
+ explanation_short: "Los códigos de recuperación te permiten volver a acceder a tu cuenta en el caso de pérdida de tu teléfono móvil. Por favor, ten en cuenta que solo puedes usar cada código una sola vez."
+ invalidation_notice: "Si has perdido los códigos de recuperación, aquí puedes volver a generarlos. Los códigos de recuperación anteriores dejarán de tener validez."
+ reminder: "También puedes usar uno de los códigos de recuperación."
+ title: "Códigos de recuperación"
+ title: "Autentificación de doble factor"
username: "Nombre de usuario"
users:
confirm_email:
email_confirmed: "E-Mail %{email} activado"
- email_not_confirmed: "El E-Mail no pudo ser activado. Link equivocado?"
+ email_not_confirmed: "El E-Mail no pudo ser activado. ¿Link equivocado?"
destroy:
no_password: "Por favor, introduce tu contraseña actual para cerrar y destruir tu cuenta."
success: "Tu cuenta ha sido bloqueada. Nos puede tomar unos 20 minutos cerrar tu cuenta definitivamente. Muchas gracias por probar diaspora*."
@@ -1204,7 +1313,8 @@ es-AR:
new_password: "Contraseña nueva"
private_message: "...recibís un mensaje privado?"
protocol_handler:
- register: "Regístrate web+diaspora:// controlador en este navegador"
+ register: "Controlador de registro web+diaspora:// en este navegador"
+ title: "controlador de protocolo web+diaspora://"
receive_email_notifications: "¿Recibir notificaciones por correo electrónico cuando..."
request_export: "Solicitar los datos de mi perfil"
request_export_photos: "Solicitar la descarga de mis fotos"
diff --git a/config/locales/diaspora/es-MX.yml b/config/locales/diaspora/es-MX.yml
index 77b3a49bd..b32f5c033 100644
--- a/config/locales/diaspora/es-MX.yml
+++ b/config/locales/diaspora/es-MX.yml
@@ -21,6 +21,14 @@ es-MX:
attributes:
diaspora_handle:
taken: "ya está ocupado."
+ poll:
+ attributes:
+ poll_answers:
+ not_enough_poll_answers: "No se han proporcionado suficientes opciones de encuesta."
+ poll_participation:
+ attributes:
+ poll:
+ already_participated: "¡Ya participó en esta encuesta!"
reshare:
attributes:
root_guid:
@@ -38,6 +46,7 @@ es-MX:
admin_bar:
pages: "Páginas"
pod_stats: "Estadísticas del servidor"
+ report: "Informes"
sidekiq_monitor: "Monitor Sidekiq"
user_search: "Búsqueda de usuario"
weekly_user_stats: "Estadísticas semanales de usuario"
@@ -70,12 +79,15 @@ es-MX:
week: "Semana"
user_search:
add_invites: "añadir invitaciones"
+ are_you_sure: "¿Está seguro de que desea cerrar esta cuenta?"
+ close_account: "Cerrar cuenta"
email_to: "Mandar invitación por correo electrónico a"
under_13: "Mostrar usuarios menores de 13 años (COPPA)"
users:
one: "Un usuario encontrado"
other: "%{count} usuarios encontrados"
zero: "Ningún usuario encontrado"
+ view_profile: "Ver perfil"
you_currently:
other: "Actuamente tienes %{user_invitation} invitaciones para enviar %{link}"
weekly_user_stats:
@@ -266,6 +278,7 @@ es-MX:
mentions:
how_to_mention_a: "Escribe el símbolo «@», y comienza a escribir su nombre. Un menú contextual aparecerá para permitirte seleccionar más fácilmente los nombres. Ten en cuenta que únicamente es posible mencionar a aquellas personas que hayas añadido a un aspecto."
how_to_mention_q: "¿Cómo menciono a alguien al realizar una publicación?"
+ mention_in_comment_a: "Desde la versión 0.7.0.0, ¡sí! Puede mencionar a alguien en un comentario de la misma manera que lo haría en una publicación, escribiendo “@” y luego comience a escribir su nombre. Tenga en cuenta que cuando comenta una publicación que no es pública, solo puede mencionar a los usuarios que ya han interactuado con la publicación.mención"
mention_in_comment_q: "¿Puedo mencionar a alguien en un comentario?"
see_mentions_a: "Sí, haz clic en «Menciones», en la columna izquierda de tu página de inicio."
see_mentions_q: "¿Es posible ver las publicaciones en las cuales he sido mencionado?"
@@ -279,6 +292,7 @@ es-MX:
diaspora_app_q: "¿Existe una aplicación de diaspora* para Android o iOS?"
photo_albums_a: "No actualmente. Sin embargo, puedes ver las imágenes que un usuario ha subido, desde la sección de «Fotos», en la barra lateral de su página de perfil."
photo_albums_q: "¿Existen álbumes de fotos o videos?"
+ subscribe_feed_a: "Sí, pero esta todavía no es una característica pulida y el formato de los resultados sigue siendo bastante aproximado. Si desea probarlo de todos modos, vaya a la página de perfil de alguien y haga clic en el botón de alimentación en su navegador, o puede copiar la URL del perfil (por ejemplo, https://podname.org/people/somenumber) y pegarla en un lector de feeds . La dirección de la fuente resultante se ve así: https://podname.org/public/username.atom - diaspora * usa Atom en lugar de RSS."
subscribe_feed_q: "¿Puedo suscribirme a las publicaciones públicas de alguien utilizando un lector de fuentes web?"
title: "Misceláneo"
pods:
@@ -316,19 +330,26 @@ es-MX:
can_comment_q: "¿Quién puede comentar o dar \"Me gusta\" a mi publicación privada?"
can_reshare_a: "Nadie. Las publicaciones privadas no son re-compartibles. Sin embargo, los usuarios de diaspora* en ese aspecto pueden potencialmente copiar y pegarlo. Depende de si usted confía en esas personas."
can_reshare_q: "¿Quién puede volver a compartir mi publicación privada?"
+ see_comment_a: "Solo las personas con las que se compartió la publicación (las personas que están en los aspectos seleccionados por el póster original) pueden ver sus comentarios y me gusta."
+ see_comment_q: "Cuando comento o me gusta una publicación privada, ¿quién puede verla?"
title: "Publicaciones privadas"
who_sees_post_a: "Únicamente los usuarios de diaspora* que hayan iniciado sesión, y a quienes hayas añadido a dicho aspecto, podrán ver tu publicación limitada."
who_sees_post_q: "¿Cuando publico un mensaje para un aspecto (es decir, una publicación privada) quién puede verlo?"
public_posts:
can_comment_reshare_like_a: "Cualquier usuario de diaspora* que haya iniciado sesión puede marcar como «me gusta», volver a compartir, o comentar en tu publicación pública."
can_comment_reshare_like_q: "¿Quién puede marcar como «me gusta», volver a compartir, o comentar en mi publicación pública?"
+ deselect_aspect_posting_a: "Anular la selección de aspectos no afecta a una publicación pública. Seguirá siendo público y aparecerá en las novedades de todos sus contactos. Para hacer que una publicación sea visible solo para aspectos específicos, debe seleccionar esos aspectos en el selector de aspectos debajo del editor."
+ deselect_aspect_posting_q: "¿Qué sucede cuando anulo la selección de uno o más aspectos en la columna de la izquierda al hacer una publicación pública?"
find_public_post_a: "Tus publicaciones públicas aparecerán en la «Entrada» de cualquiera que te esté siguiendo. Si añadiste #etiquetas en la publicación, cualquiera que esté siguiendo dichas etiquetas encontrará tu publicación en su «Entrada». Cada publicación pública también tiene una URL específica, que toda persona puede ver, incluso si no ha iniciado sesión. Así que las publicaciones públicas pueden ser enlazadas directamente desde Twitter, blogs, etcétera. También podrían ser indexadas por motores de búsqueda."
find_public_post_q: "¿Cómo pueden encontrar otras personas una de mis publicaciones públicas?"
+ see_comment_reshare_like_a: "Los comentarios, los me gusta y las opciones para compartir de publicaciones públicas también son públicos. Cualquier usuario de la diáspora * que haya iniciado sesión y cualquier otra persona en Internet puede ver sus interacciones con una publicación pública. "
see_comment_reshare_like_q: "¿Cuando marco como «me gusta», vuelvo a compartir, o comento en una publicación, quién puede verlo?"
title: "Publicaciones públicas"
who_sees_post_a: "Cualquiera que utilice el Internet podría ver una publicación que marques como «pública»; por tanto, asegúrate de que realmente deseas hacerla pública. Es una buena manera de compartir con el mundo."
who_sees_post_q: "¿Cuándo realizo una publicación pública, quién puede verla?"
resharing_posts:
+ reshare_private_post_aspects_a: "No, no es posible compartir ninguna publicación privada. Esto es para respetar las intenciones del cartel original, que lo compartió solo con un grupo particular de personas."
+ reshare_private_post_aspects_q: "¿Puedo compartir una publicación privada con aspectos seleccionados?"
reshare_public_post_aspects_a: "No, cuando vuelves a compartir una publicación pública, esta se convierte automáticamente en una de tus publicación públicas. Para compartirla solamente con ciertos aspectos, copia y pega el contenido de esta en una nueva publicación."
reshare_public_post_aspects_q: "¿Puedo volver a compartir una publicación pública solo para ciertos aspectos?"
title: "Volver a compartir publicaciones"
@@ -337,6 +358,9 @@ es-MX:
add_to_aspect_a2: "Esto se conoce como «intercambio asimétrico». Si Ben también agrega a Amy a un aspecto, entonces se convertirá en «intercambio mutuo»; por tanto, las publicaciones públicas —y las publicaciones privadas pertinentes— tanto de Amy como de Ben, aparecerán en la «Entrada» de ambos. "
add_to_aspect_li1: "Ben recibirá una notificación, indicándole que Amy ha «comenzado a compartir» con él."
add_to_aspect_li2: "Las publicaciones públicas de Ben comenzarán a aparecer en la «Entrada» de Amy."
+ add_to_aspect_li3: "Amy no verá ninguna de las publicaciones privadas de Ben."
+ add_to_aspect_li4: "Ben no verá las publicaciones públicas o privadas de Amy en su Entrada."
+ add_to_aspect_li5: "Pero si Ben va a la página de perfil de Amy, verá las publicaciones privadas que Amy hace sobre el aspecto en el que lo ha colocado (así como sus publicaciones públicas, que cualquiera puede ver allí)."
add_to_aspect_li6: "Ben podrá ver el perfil privado de Amy (biografía, ubicación geográfica, género y fecha de cumpleaños)."
add_to_aspect_li7: "Amy aparecerá como «compartiendo solo conmigo», en la página de contactos de Ben."
add_to_aspect_q: "¿Qué sucede cuando agrego a alguien a uno de mis aspectos? ¿O cuando alguien me añade a uno de los suyos?"
@@ -360,6 +384,7 @@ es-MX:
what_are_tags_for_a: "Las etiquetas son una forma de categorizar una publicación, usualmente de acuerdo al tema. Buscar un etiqueta en particular muestra todas las publicaciones que incluyan esta, y las cuales puedas ver (tanto públicas como privadas). Lo cual permite a la gente que esté interesada en un tema en específico encontrar publicaciones relacionadas."
what_are_tags_for_q: "¿Cuál es la función de las etiquetas?"
third_party_tools: "herramientas de terceros"
+ title_header: "Ayuda"
tutorial: "tutorial"
tutorials: "tutoriales"
wiki: "wiki"
@@ -410,14 +435,24 @@ es-MX:
other: "%{actors} comentaron en tu %{post_link}."
zero: "%{actors} comentó en tu %{post_link}."
index:
+ all_notifications: "Todas las Notificaciones"
+ also_commented: "También comentó"
and: "y"
and_others:
one: "y uno más"
other: "y %{count} más"
zero: "y nadie más"
+ comment_on_post: "Comentar en la publicación"
+ liked: "Me gusta"
mark_all_as_read: "Marcar todo como leído"
+ mark_read: "Marcar como leído"
mark_unread: "Marcar como no leído"
+ mentioned: "Mencionado en la publicación"
notifications: "Notificaciones"
+ reshared: "Compartido"
+ show_all: "Mostrar todo"
+ show_unread: "Mostrar no leído"
+ started_sharing: "Comenzó a compartir"
liked:
one: "A %{actors} le gustó tu %{post_link}."
other: "A %{actors} les gustó tu %{post_link}."
@@ -484,6 +519,28 @@ es-MX:
subject: "%{name} te mencionó en diaspora*"
private_message:
reply_to_or_view: "Responder o ver esta conversación >"
+ report_email:
+ body: |-
+ Hola,
+
+ el% {type} con ID% {id} se marcó como ofensivo.
+
+ Razón:% {razón}
+
+ [% {url}] [1]
+
+ ¡Revíselo lo antes posible!
+
+
+ Salud,
+
+ ¡El robot de correo electrónico de la diáspora *!
+
+ [1]:% {url}
+ subject: "Se marcó un nuevo% {type} como ofensivo"
+ type:
+ comment: "comentario"
+ post: "correo"
reshared:
reshared: "%{name} compartió tu publicación"
view_post: "Ver publicación >"
@@ -502,11 +559,14 @@ es-MX:
add_contact:
invited_by: "fuiste invitado por"
index:
+ couldnt_find_them: "¿No pudiste encontrarlos?"
looking_for: "¿Buscando publicaciones etiquetadas con %{tag_link}?"
no_one_found: "…y nadie fue encontrado."
no_results: "¡Eh! Necesitas buscar algo."
results_for: "buscar resultados para"
+ search_handle: "Utilice su * ID de diáspora (username@pod.tld) ​​para asegurarse de encontrar a sus amigos."
searching: "buscando, por favor sé paciente…"
+ send_invite: "¿Todavía nada? Envíe una invitación"
person:
thats_you: "¡Ese eres tú!"
profile_sidebar:
@@ -574,6 +634,19 @@ es-MX:
sign_up: "REGISTRARSE"
submitting: "Enviando…"
username: "NOMBRE DE USUARIO"
+ report:
+ comment_label: "<strong> Comentario </strong>:% {data}"
+ confirm_deletion: "¿Estás seguro de eliminar el artículo?"
+ delete_link: "Eliminar elemento"
+ not_found: "No se encontró la publicación / comentario. ¡Parece que fue eliminado por el usuario!"
+ post_label: "<strong> Publicación </strong>:% {content}"
+ reason_label: "Razón"
+ reported_label: "<strong> Informado por </strong>% {person}"
+ review_link: "Marcar como revisado"
+ status:
+ destroyed: "La publicación ha sido eliminada"
+ failed: "Algo salió mal"
+ title: "Resumen de informes"
reshares:
comment_email_subject: "%{resharer} compartió una pubilcación de %{author}"
reshare:
@@ -628,7 +701,10 @@ es-MX:
i_like: "Tengo interés en %{tags}. "
invited_by: "Gracias por la invitación, "
newhere: "Hola"
+ poll:
+ add_a_poll: "Agregar una encuesta"
posting: "Publicando…"
+ remove_location: "Quitar ubicación"
share: "Comparte"
whats_on_your_mind: "¿Qué tienes en mente?"
stream_element:
@@ -717,6 +793,7 @@ es-MX:
reshared: "Alguien comparte tu publicación."
show_community_spotlight: "¿Mostrar «Lo más destacado de la comunidad» en tu Entrada?"
show_getting_started: "Volver a activar la guía de primeros pasos"
+ someone_reported: "alguien envía un informe"
started_sharing: "Alguien comienza a compartir contigo."
stream_preferences: "Preferencias de Entrada"
your_email: "Tu correo electrónico"
diff --git a/config/locales/diaspora/es.yml b/config/locales/diaspora/es.yml
index c7b804b1c..182a22bdf 100644
--- a/config/locales/diaspora/es.yml
+++ b/config/locales/diaspora/es.yml
@@ -8,6 +8,7 @@ es:
_applications: "Aplicaciones"
_contacts: "Contactos"
_help: "Ayuda"
+ _podmin_mail: "Contactar administrador"
_services: "Servicios"
_statistics: "Estadísticas"
account: "Cuenta"
@@ -90,6 +91,7 @@ es:
user_entry:
account_closed: "cuenta cerrada"
admin: "Administrador"
+ current_sign_in_ip: "Dirección IP del inicio de sesión actual"
diaspora_handle: "Administrar Diaspora"
email: "Correo Electrónico"
guid: "GUID"
@@ -161,34 +163,85 @@ es:
client_id_not_found: "Ningún se encontro ningún cliente con el ID de cliente %{client_id} o con la URI de redireccionamiento %{redirect_uri}"
deny: "Denegar"
no_requirement: "%{name} no necesita permisos"
+ private_contacts_linkage_error: "Privado:lectura y privado:Contáctos necesita modificación:leer completo"
redirection_message: "¿Estás seguro que quieres dar acceso a %{redirect_uri}?"
+ unknown_scope: "Alcance desconocido: %{scope_name}"
error_page:
contact_developer: "Deberías contactar con el desarrollador de la aplicación y enviarle el siguiente mensaje de error:"
could_not_authorize: "No se pudo autorizar la aplicación"
login_required: "Tienes que identificarte antes de autorizar esta aplicación"
title: "¡Oh! Algo salió mal :("
scopes:
- aud:
- description: ""
+ ? "contacts:modify"
+ :
+ description: "Se conceden a la aplicación permisos de escritura de la información de contacto e información relacionada (aspectos como)."
+ name: "Contactos:modificar"
+ ? "contacts:read"
+ :
+ description: "Se conceden a la aplicación permisos de lectura de la información de contacto e información relacionada (aspectos como)."
+ name: "Contáctos:lectura"
+ conversations:
+ description: "Se conceden a la aplicación permisos de lectura y escritura de mensajes privados."
+ name: "conversaciones"
+ email:
+ description: "Se concede a la aplicación acceso para leer los datos de la dirección de correo electrónico del usuario."
+ name: "correo"
+ interactions:
+ description: "Se concede a la aplicación permiso de lectura, escritura y para interactuar con las publicaciones."
+ name: "interacciones"
name:
+ description: "Esto concede a la aplicación acceso de lectura a los datos de los nombres."
name: "Nombre"
nickname:
+ description: "Esto concede a la aplicación acceso de lectura a los datos del nombre de usuario."
name: "apodo"
+ notifications:
+ description: "Se concede a la aplicación permisos de lectura y escritura en las notificaciones para el usuario."
+ name: "notificaciones"
openid:
description: "Permite que la aplicación lea tu perfil básico"
name: "perfil básico"
picture:
description: "Esto permite a la aplicación el acceso a la galería de imágenes."
name: "fotografía"
+ ? "private:modify"
+ :
+ description: "Concede permiso para publicar publicaciones privadas."
+ name: "privado:modificar"
+ ? "private:read"
+ :
+ description: "Concede permiso de solo lectura a tus publicaciones privadas y las publicaciones privadas de tus contactos."
+ name: "privado:lectura"
profile:
description: "Esto permite que la aplicación tenga acceso a la información que figura en tu perfil."
name: "Perfil."
- read:
- description: "Esto permite a la aplicación leer tu portada, tus conversaciones y tu perfil completo"
- name: "leer perfil, portada y conversaciones"
- write:
- description: "Permite a la aplicación enviar nuevos mensajes, escribir conversaciones y enviar reacciones"
- name: "enviar mensajes, conversaciones y reacciones"
+ ? "profile:modify"
+ :
+ description: "Concede permiso para actualizar los datos de tu perfil extendido."
+ name: "perfil:modificar"
+ ? "profile:read_private"
+ :
+ description: "Concede perimiso de solo lectura a los datos de tu perfil privado."
+ name: "perfil:leer_privado"
+ ? "public:modify"
+ :
+ description: "Concede permiso de escritura para publicar publicaciónes públicas y datos relacionados (como votos y archivos adjuntos)."
+ name: "publico:modificar"
+ ? "public:read"
+ :
+ description: "Concede permiso para acceder a tus publicaciones púbicas, incluyendo interacciones y datos relacionados."
+ name: "público:lectura"
+ sub:
+ description: "Esto concede permisos secundarios a la aplicación."
+ name: "secundario"
+ ? "tags:modify"
+ :
+ description: "Concede permiso para cambiar las etiquetas que sigues."
+ name: "Etiquetas (Escritura)"
+ ? "tags:read"
+ :
+ description: "Concede permiso de solo-lectura a las etiquetas que sigues y entradas de etiquetas."
+ name: "Etiquetas (Solo lectura)"
user_applications:
index:
access: "%{name} tiene acceso a:"
@@ -295,10 +348,14 @@ es:
original_white: "Fondo blanco original"
comments:
create:
- error: "Hubo un error al comentar."
+ fail: "La creación del comentario ha fallado"
+ destroy:
+ fail: "El borrado del comentario ha fallado"
+ success: "El comentario %{id} se ha borrado correctamente"
new_comment:
comment: "Comentar"
commenting: "Comentando..."
+ not_found: "Post o comentario no encontrado"
contacts:
index:
add_contact: "Añadir contacto"
@@ -338,6 +395,7 @@ es:
to: "Para"
new_conversation:
fail: "Mensaje no válido"
+ not_found: "Conversación no encontrada"
show:
delete: "Borrar conversación"
hide: "ocultar y silenciar la conversación"
@@ -406,11 +464,6 @@ es:
what_is_an_aspect_q: "¿Qué es un aspecto?"
who_sees_post_a: "Si haces una publicación limitada, solo será visible para las personas que hayas puesto en ese especto (o los aspectos, si está hecho para múltiples aspectos). Los contactos que tengas que no estén en el aspecto, no tienen forma de ver la publicación, a menos que la hayas hecho pública. Solo las publicaciones públicas serán visibles alguna vez por alguien que no hayas incluido en alguno de tus aspectos."
who_sees_post_q: "Cuando publico en un aspecto, ¿Quienes pueden verlo?"
- chat:
- add_contact_roster_a: "En primer lugar, necesitas activar el chat para uno de los aspectos en los que está esa persona. Para hacerlo, ve a la %{contacts_page}, selecciona el aspecto que quieras y pulsa sobre el icono del chat para activar el chat en ese aspecto. %{toggle_privilege} Si lo prefieres, podrías crear un aspecto especial llamado \"Chat\" y añadir a la persona con la que quieras chatear en ese aspecto. Ona vez que hayas hecho esto, abre la ventana de chat y selecciona la persona con la que quieras hablar."
- add_contact_roster_q: "¿Cómo puedo chatear con alguien en Diaspora*?"
- contacts_page: "página de contactos"
- title: "Chat"
community_guidelines: "normas de la comunidad"
faq: "Preguntas Más Frecuentes"
foundation_website: "página web de la fundación Diaspora*"
@@ -653,8 +706,22 @@ es:
likes:
create:
error: "Ha ocurrido un error al darle \"Me gusta\"."
+ fail: "La creación del enlace falló"
destroy:
error: "Ocurrió un error al quitar el \"Me gusta\""
+ not_found: "Post o like no encontrado"
+ people_dislike_this:
+ one: "Un \"no me gusta\""
+ other: "%{count} \"no me gusta\""
+ zero: "Ningún \"no me gusta\""
+ people_like_this:
+ one: "Un like"
+ other: "%{count} likes"
+ zero: "Sin likes"
+ people_like_this_comment:
+ one: "Un like"
+ other: "%{count} likes"
+ zero: "Sin likes"
limited: "Limitado"
more: "Más"
no_results: "No hay resultados"
@@ -988,7 +1055,7 @@ es:
closed:
another_pod: "Otro pod"
closed_pod: "La inscripción de nuevos usuarios se encuentra cerrada en este momento en este pod. Puedes unirte de todas maneras a la red de diaspora* registrándote en %{wiki}. ¡Tendrás acceso al mismo tipo de contenido ya que todos los pods están entrelazados y conectados de forma interna!"
- find_pods: "Lista de los pods en los que es posible registrarse: %{poduptime}"
+ find_pods: "Lista de los pods en los que es posible registrarse: %{fediverse_observer}"
other_questions: "Échale un vistazo nuestra %{wiki} si no sabes que pod elegir."
create:
success: "¡Te has unido a Diaspora*!"
@@ -1154,6 +1221,8 @@ es:
title: "Me gusta"
liked:
title: "Publicaciones que te han gustado"
+ local_public:
+ title: "Publicaciones locales"
mentioned_stream: "@Menciones"
mentions:
title: "@Menciones"
diff --git a/config/locales/diaspora/et.yml b/config/locales/diaspora/et.yml
index d7bd36604..80cbaeced 100644
--- a/config/locales/diaspora/et.yml
+++ b/config/locales/diaspora/et.yml
@@ -118,10 +118,6 @@ et:
helper:
correct_the_following_errors_and_try_again: "Palun paranda järgnevad vead ja proovi uuesti:"
find_people: "Otsi inimesi või #silte"
- help:
- chat:
- contacts_page: "kontaktide leht"
- title: "Vestlus"
home:
default:
choose_your_audience: "Vali oma publik"
diff --git a/config/locales/diaspora/fi.yml b/config/locales/diaspora/fi.yml
index 3b69c0393..d45e91aa5 100644
--- a/config/locales/diaspora/fi.yml
+++ b/config/locales/diaspora/fi.yml
@@ -159,12 +159,6 @@ fi:
name: "kuva"
profile:
name: "Laajennettu profiili"
- read:
- description: "Tämä antaa sovellukselle oikeudet lukea virtasi, keskustelusi ja täysprofiilisi"
- name: "lue profiili, virta ja keskustelut"
- write:
- description: "Tämä antaa sovellukselle oikeudet lähettää uusia julkaisuja, kirjoittaa keskusteluja ja lähettää reaktioita."
- name: "lähetä julkaisut, keskustelut ja reaktiot"
user_applications:
index:
access: "Käyttäjällä %{name} on pääsy näihin kohteisiin:"
@@ -269,8 +263,6 @@ fi:
original: "Alkuperäinen harmaa"
original_white: "Alkuperäinen valkoinen tausta"
comments:
- create:
- error: "Kommentin luominen epäonnistui."
new_comment:
comment: "Kommentoi"
commenting: "Kommentoidaan..."
@@ -381,10 +373,6 @@ fi:
what_is_an_aspect_q: "Mikä on näkymä?"
who_sees_post_a: "Jos teet rajoitetun julkaisun sen näkevät vain henkilöt, jotka olet sijoittanut kyseiseen näkymään (tai näkymiin). Henkilöt, jotka eivät kuulu kyseiseen näkymään, eivät voi mitenkään nähdä sellaista julkaisua ellet ole tehnyt siitä julkista. Vain julkiset julkaisut ovat sellaisten henkilöiden nähtävillä, jotka eivät kuulu mihinkään näkymistäsi."
who_sees_post_q: "Kun julkaisen näkymälle kuka voi nähdä sen?"
- chat:
- add_contact_roster_q: "Kuinka keskustelen jonkun kanssa Diasporassa?"
- contacts_page: "Kontaktit-sivu"
- title: "Keskustelu"
community_guidelines: "yhteisön suositukset"
faq: "UKK"
foundation_website: "Diaspora-säätiön kotisivu"
diff --git a/config/locales/diaspora/fr.yml b/config/locales/diaspora/fr.yml
index bd2c6b1e5..4139e6ab2 100644
--- a/config/locales/diaspora/fr.yml
+++ b/config/locales/diaspora/fr.yml
@@ -91,6 +91,7 @@ fr:
user_entry:
account_closed: "Compte fermé"
admin: "Administrateur"
+ current_sign_in_ip: "Adresse IP de la connexion actuelle"
diaspora_handle: "identifiant diaspora*"
email: "E-mail"
guid: "GUID"
@@ -162,40 +163,85 @@ fr:
client_id_not_found: "Pas de client avec client_id %{client_id} avec URL de redirection %{redirect_uri} trouvé"
deny: "Refuser"
no_requirement: "%{name} n'a pas besoin de permissions"
+ private_contacts_linkage_error: "private:read et private:modify nécessite contacts:read"
redirection_message: "Voulez-vous vraiment donner accès à %{redirect_uri} ?"
+ unknown_scope: "Périmètre inconnu : %{scope_name}"
error_page:
- contact_developer: "Vous devriez contacter le développeur de l'application et inclure le message d'erreur détaillé suivant :"
+ contact_developer: "Veuillez contacter le développeur de l'application et inclure le message d'erreur détaillé suivant :"
could_not_authorize: "L'application n'a pas pu être autorisée"
login_required: "Vous devez d'abord vous connecter afin de pouvoir autoriser cette application"
title: "Oups ! Quelque-chose n'a pas marché :("
scopes:
- aud:
- description: "Cela donne la permission aud à l'application"
- name: "aud"
+ ? "contacts:modify"
+ :
+ description: "Ceci donne accès en écriture aux contacts et aux données connexes (comme les aspects)."
+ name: "Contacts (Écriture)"
+ ? "contacts:read"
+ :
+ description: "Ceci donne accès en lecture seule aux contacts et aux données connexes (comme les aspects)."
+ name: "Contacts (lecture seule)"
+ conversations:
+ description: "Ceci donne des permissions de lecture et d'écriture sur les messages privés."
+ name: "Conversations"
+ email:
+ description: "Ceci donne un accès en lecture seule à votre adresse de courriel."
+ name: "Adresse de courriel"
+ interactions:
+ description: "Ceci donne la permission d'interagir avec les messages, par exemple les « j'aime » ou la soumission de commentaires."
+ name: "Interactions"
name:
- description: "Cela donne la permission nom à l'application"
- name: "nom"
+ description: "Ceci donne un accès en lecture seule à votre nom complet."
+ name: "Nom complet"
nickname:
- description: "Cela donne les permissions liées au surnom à l'application"
- name: "Surnom"
+ description: "Ceci donne un accès en lecture seule à votre nom d'utilisateur."
+ name: "Nom d'utilisateur"
+ notifications:
+ description: "Ceci donne accès en lecture et en écriture à vos notifications."
+ name: "Notifications"
openid:
- description: "Ceci permet à l'application de voir votre profil basique"
- name: "profil basique"
+ description: "Ceci permet à l'application de voir les informations de base de votre profil."
+ name: "Informations de base du profil"
picture:
- description: "Cela donne les permissions liées aux images à l'application"
- name: "image"
+ description: "Ceci donne un accès en lecture seule à votre image de profil."
+ name: "Image de profil"
+ ? "private:modify"
+ :
+ description: "Ceci donne la permission de publier des messages privés."
+ name: "Messages privés (Écriture)"
+ ? "private:read"
+ :
+ description: "Ceci donne accès en lecture seule à vos messages privés et à ceux de vos contacts."
+ name: "Messages privés (Lecture seule)"
profile:
- description: "Ceci autorise l'application à lire votre profil complet"
- name: "profil complet"
- read:
- description: "Ceci permet à l'application de voir votre flux, vos conversations et votre profil complet"
- name: "voir profil, flux et conversations"
+ description: "Ceci donne un accès en lecture seule aux données de votre profil étendu."
+ name: "Profil étendu (lecture seule)"
+ ? "profile:modify"
+ :
+ description: "Ceci donne la permission de mettre à jour les données de votre profil étendu."
+ name: "Profil étendu (Écriture)"
+ ? "profile:read_private"
+ :
+ description: "Ceci donne un accès en lecture seule aux données de votre profil privé."
+ name: "Données du profil privé (Lecture seule)"
+ ? "public:modify"
+ :
+ description: "Ceci donne la permission de publier des messages publics et des données connexes (comme les votes et les médias joints)."
+ name: "Messages publics (Écriture)"
+ ? "public:read"
+ :
+ description: "Ceci donne accès à vos messages publics, incluant les interactions et les données connexes."
+ name: "Messages publics (Lecture seule)"
sub:
- description: "Ceci octroie des sous-permissions à l'application"
- name: "sous"
- write:
- description: "Ceci permet à l'application d'envoyer de nouvelles publications, écrire des conversations et publier des réactions"
- name: "envoyer publications, conversations et réactions"
+ description: "Ceci donne un accès en lecture seule à votre identifiant unique."
+ name: "Identifiant unique"
+ ? "tags:modify"
+ :
+ description: "Ceci donne la permission de changer les tags que vous suivez."
+ name: "Tags (Écriture)"
+ ? "tags:read"
+ :
+ description: "Ceci donne accès en lecture seule aux tags et aux flux de tags que vous suivez."
+ name: "Tags (Lecture seule)"
user_applications:
index:
access: "%{name} a accès à :"
@@ -302,10 +348,14 @@ fr:
original_white: "Fond blanc"
comments:
create:
- error: "Impossible de commenter."
+ fail: "La création du commentaire a échoué"
+ destroy:
+ fail: "La suppression du commentaire a échoué"
+ success: "Le commentaire %{id} a été supprimé avec succès"
new_comment:
comment: "Commenter"
commenting: "Commentaire en cours d'envoi..."
+ not_found: "Message ou commentaire introuvable"
contacts:
index:
add_contact: "Ajouter ce contact"
@@ -345,6 +395,7 @@ fr:
to: "Pour"
new_conversation:
fail: "Message invalide"
+ not_found: "Conversation introuvable"
show:
delete: "Supprimer la conversation"
hide: "Masquer et rendre la conversation muette"
@@ -376,7 +427,7 @@ fr:
min_size_error: "La taille du fichier devrait être supérieure à %{min_size}"
mini_magick_processing_error: "La manipulation par MiniMagick a échoué, peut-être n'est-ce pas une image ? Erreur initiale : %{e}"
rmagick_processing_error: "La manipulation par rmagick a échoué, peut-être n'est-ce pas une image ?"
- fill_me_out: "Écrire ici"
+ fill_me_out: "Remplir"
find_people: "Rechercher des personnes ou des #tags"
help:
account_and_data_management:
@@ -413,13 +464,6 @@ fr:
what_is_an_aspect_q: "Qu'est-ce qu'un aspect ?"
who_sees_post_a: "Si vous créez un message privé, il sera uniquement visible par les gens que vous avez placés dans cet aspect (ou ces aspects, si vous le publiez à plusieurs aspects). Les contacts que vous avez et qui ne sont pas dans ces aspects n'ont aucun moyen de voir le message, sauf si vous l'avez rendu public. Les messages limités ne seront jamais visibles aux personnes que vous n'avez pas placé dans vos aspects."
who_sees_post_q: "Lorsque je publie un message dans un aspect, qui peut le voir ?"
- chat:
- add_contact_roster_a: |-
- Tout d'abord, vous devez activer le chat pour l'un des aspects dans lequel cette personne se trouve. Pour ce faire, allez sur %{contacts_page}, sélectionnez l'aspect désiré et cliquez sur l'icône du chat pour activer le chat pour cet aspect.
- %{toggle_privilege} Vous pouvez, si vous préférez, créer un aspect dédié appeler "Chat" et ajouter les personnes avec qui vous souhaitez discuter dans cet aspect. Une fois ceci fait, ouvrez l'interface du chat et sélectionner la personne avec qui vous souhaitez discuter.
- add_contact_roster_q: "Comment chatter avec quelqu'un dans diaspora* ?"
- contacts_page: "page des contacts"
- title: "Chat"
community_guidelines: "Lignes directrices pour la communauté"
faq: "FAQ"
foundation_website: "site Internet de la fondation diaspora*"
@@ -662,8 +706,22 @@ fr:
likes:
create:
error: "Impossible d'aimer."
+ fail: "La création du « j'aime » a échoué"
destroy:
error: "Impossible de ne plus aimer."
+ not_found: "Message ou « j'aime » non trouvé"
+ people_dislike_this:
+ one: "%{count} réprobation"
+ other: "%{count} réprobations"
+ zero: "Aucune réprobation"
+ people_like_this:
+ one: "%{count} « j'aime »"
+ other: "%{count} « j'aime »"
+ zero: "Aucun « j'aime »"
+ people_like_this_comment:
+ one: "%{count} « j'aime »"
+ other: "%{count} « j'aime »"
+ zero: "Aucun « j'aime »"
limited: "Limité"
more: "Plus"
no_results: "Aucun résultat trouvé"
@@ -923,7 +981,7 @@ fr:
invited_by: "Vous avez été invité(e) par"
index:
couldnt_find_them: "Vous ne les trouvez pas ?"
- looking_for: "Rechercher des commentaires taggés %{tag_link}?"
+ looking_for: "Rechercher des messages tagués %{tag_link}?"
no_one_found: "… et personne n'a été trouvé."
no_results: "Hé ! Vous devez rechercher quelque chose."
results_for: "Utilisateurs correspondant à %{search_term}"
@@ -1001,7 +1059,7 @@ fr:
closed:
another_pod: "un autre pod"
closed_pod: "Les inscriptions sont actuellement fermées sur ce pod. Néanmoins, vous pouvez toujours rejoindre le réseau diaspora* en vous inscrivant sur %{wiki}. Comme tous les pods sont interconnectés, vous accéderez au même contenu."
- find_pods: "Une liste de pods sur lesquels vous pouvez vous inscrire est disponible sur %{poduptime}."
+ find_pods: "Une liste de pods sur lesquels vous pouvez vous inscrire est disponible sur %{fediverse_observer}."
other_questions: "Si vous avez d'autres questions sur le choix d'un pod, consultez notre %{wiki}."
create:
success: "Vous avez rejoint diaspora* !"
diff --git a/config/locales/diaspora/gl.yml b/config/locales/diaspora/gl.yml
index 7cc090c76..27886eb60 100644
--- a/config/locales/diaspora/gl.yml
+++ b/config/locales/diaspora/gl.yml
@@ -8,6 +8,7 @@ gl:
_applications: "Aplicacións"
_contacts: "Contactos"
_help: "Axuda"
+ _podmin_mail: "Contacta con Podmin"
_services: "Servizos"
_statistics: "Estatísticas"
_terms: "Termos"
@@ -42,7 +43,7 @@ gl:
person:
invalid: "non é correcto."
username:
- invalid: "non é correcto. Só se permiten letras do alfabeto latino, números e guións baixos."
+ invalid: "non é correcto. Só se permiten letras do alfabeto latino, números e trazo baixo."
taken: "xa está collido."
admins:
admin_bar:
@@ -91,6 +92,7 @@ gl:
user_entry:
account_closed: "Conta pechada"
admin: "Admin"
+ current_sign_in_ip: "Enderezo IP para a conexión actual"
diaspora_handle: "ID diaspora*"
email: "Correo-e"
guid: "GUID"
@@ -140,7 +142,9 @@ gl:
zero: "%{count} usuarias atopadas"
view_profile: "Ver perfil"
you_currently:
- other: "Ten actualmente %{user_invitation} invitacións, restan %{link}"
+ one: "Tes %{count} convite restante %{link} "
+ other: "Tes %{count} convites restantes %{link}"
+ zero: "Non tes convites restantes %{link}"
weekly_user_stats:
amount_of:
one: "Número de novas usuarias esta semana: %{count}"
@@ -160,40 +164,85 @@ gl:
client_id_not_found: "Non se atopou un cliente con client_id %{client_id} e con redirección URI %{redirect_uri}"
deny: "Rexeitar"
no_requirement: "%{name} non require permisos"
+ private_contacts_linkage_error: "privado:lectura e privado:modificar tamén require contactos:lectura"
redirection_message: "Queres darlle acceso a %{redirect_uri}?"
+ unknown_scope: "Ámbito descoñecido: %{scope_name}"
error_page:
- contact_developer: "Debes contactar coas desenvolvedoras da aplicación e incluír a seguinte información detallada do fallo:"
+ contact_developer: "Contacta coas desenvolvedoras da aplicación e inclúe a seguinte información detallada do fallo:"
could_not_authorize: "Non se puido autorizar a aplicación"
login_required: "Debes conectarte antes de poder autorizar esta aplicación"
title: "Vaia! Algo foi mal :("
scopes:
- aud:
- description: "Esto proporciona permisos de aud a aplicación"
- name: "aud"
+ ? "contacts:modify"
+ :
+ description: "Esto outorga permiso de escritura aos contactos e datos relacionados (como os aspectos)."
+ name: "Contactos (Escribir)"
+ ? "contacts:read"
+ :
+ description: "Esto outorga acceso de só lectura aos contactos e datos relacionados (como os aspectos)."
+ name: "Contactos (Só lectura)"
+ conversations:
+ description: "Esto outorga permiso de lectura e escritura as mensaxes privadas."
+ name: "Conversas"
+ email:
+ description: "Esto outorga acceso de Só lectura ao teu enderezo de email."
+ name: "Email"
+ interactions:
+ description: "Esto outorga permiso para interactuar coas publicacións, por exemplo darlle a gústame ou enviar un comentario."
+ name: "Interaccións"
name:
- description: "Esto proporciona permisos de nome a aplicación"
- name: "nome"
+ description: "Esto outorga acceso de Só lectura ao teu nome completo."
+ name: "Nome completo"
nickname:
- description: "Esto proporciona permisos de alcume a aplicación"
- name: "alcume"
+ description: "Esto outorga acceso de Só lectura ao teu nome de usuaria."
+ name: "Nome de usuaria"
+ notifications:
+ description: "Esto outorga permiso de escritura e lectura ás túas notificacións."
+ name: "Notificacións"
openid:
- description: "Esto permite a aplicación ler o teu perfil básico"
- name: "perfil básico"
+ description: "Esto outorga acceso de lectura á información básica do teu perfil."
+ name: "Información básica do perfil"
picture:
- description: "Esto da permisos de imaxe a aplicación"
- name: "imaxe"
+ description: "Esto outorga acceso de Só lectura á túa imaxe de perfil."
+ name: "Imaxe do perfil"
+ ? "private:modify"
+ :
+ description: "Esto permite escribir publicacións privadas"
+ name: "Publicacións privadas (Escritura)"
+ ? "private:read"
+ :
+ description: "Esto outorga acceso de Só lectura ás publicacións privadas túas e dos teus contactos."
+ name: "Publicacións privadas (Só lectura)"
profile:
- description: "Esto permite a aplicación ler o teu perfil extendido"
- name: "perfil extendido"
- read:
- description: "Esto permite a aplicación ler a túa cronoloxía, conversas e o perfil completo"
- name: "ler perfil, cronoloxía e conversas"
+ description: "Esto outorga acceso de Só lectura aos datos do teu perfil extendido."
+ name: "Perfil extendido (Só lectura)"
+ ? "profile:modify"
+ :
+ description: "Esto outorga acceso para actualizar os datos do teu perfil extendido."
+ name: "Perfil extendido (Escritura)"
+ ? "profile:read_private"
+ :
+ description: "Esto outorga acceso de Só lectura aos datos privados do teu perfil"
+ name: "Datos privados do perfil (Só lectura)"
+ ? "public:modify"
+ :
+ description: "Esto outorga acceso de escritura para escribir publicacións públicas e datos relacionados (como votos e multimedia engadido)."
+ name: "Publicacións públicas (Escritura)"
+ ? "public:read"
+ :
+ description: "Esto outorga acceso ás túas publicacións públicas, incluíndo interaccións e datos relativos."
+ name: "Publicacións públicas (Só lectura)"
sub:
- description: "Esto garante sub permisos a aplicación"
- name: "sub"
- write:
- description: "Esto permite que a aplicación envíe novas publicacións, escriba conversas, e envíe reaccións"
- name: "enviar publicacións, conversas e reaccións"
+ description: "Esto outorga acceso de Só lectura ao teu identificador único."
+ name: "Identificador único"
+ ? "tags:modify"
+ :
+ description: "Esto outorga acceso a cambiar as etiquetas que segues."
+ name: "Etiquetas (Escritura)"
+ ? "tags:read"
+ :
+ description: "Esto outorga acceso de Só lectura ás túas etiquetas e cronoloxía de etiquetas."
+ name: "Etiquetas (Só lectura)"
user_applications:
index:
access: "%{name} ten acceso a:"
@@ -205,7 +254,7 @@ gl:
revoke_autorization: "Revogar"
tos: "Ver os termos de servizo da aplicación"
are_you_sure: "Está seguro?"
- are_you_sure_delete_account: "Está seguro de que quere pechar a súa conta? Non haberá volta atrás!"
+ are_you_sure_delete_account: "Tes a certeza de querer pechar a túa conta? Non haberá volta atrás!"
are_you_sure_ignore_user: "Vas ignorar esta usuaria, queres ignorala?"
aspect_memberships:
destroy:
@@ -231,7 +280,7 @@ gl:
edit:
aspect_list_is_not_visible: "Os contactos do aspecto non poden ver a lista dos membros."
aspect_list_is_visible: "Os contactos do aspecto poden ver a lista dos membros."
- confirm_remove_aspect: "Está seguro de que quere eliminar este aspecto?"
+ confirm_remove_aspect: "Tes a certeza de querer eliminar este aspecto?"
rename: "Renomear"
update: "Actualizar"
updating: "Actualizando…"
@@ -300,10 +349,14 @@ gl:
original_white: "Fondo branco orixinal"
comments:
create:
- error: "Fallo ao comentar."
+ fail: "Fallou a creación do comentario"
+ destroy:
+ fail: "Non se borrou o comentario"
+ success: "Eliminouse o comentario con %{id}"
new_comment:
comment: "Deixar un comentario"
commenting: "Comentando…"
+ not_found: "Non se atopou a publicación ou comentario"
contacts:
index:
add_contact: "Engadir contacto"
@@ -343,6 +396,7 @@ gl:
to: "Para"
new_conversation:
fail: "Mensaxe non válida"
+ not_found: "Non se atopou a conversa"
show:
delete: "Eliminar a conversa"
hide: "Ocultar e acalar a conversa"
@@ -411,11 +465,6 @@ gl:
what_is_an_aspect_q: "Que é un aspecto?"
who_sees_post_a: "Si fai unha publicación limitada, só será visible para a xente que vostede incluíu en ese aspecto (ou aspectos, se se publica en varios) antes de facer a publicación. Os contactos que teña que non estén en esos aspectos non teñen forma de ver a publicación. As publicacións limitadas non serán visibles para ninguén que vostede non incluíse en algún dos seus aspectos."
who_sees_post_q: "Cando publico nun aspecto, quen o ve?"
- chat:
- add_contact_roster_a: "Primeiro, debes activar o chat para un dos aspectos en que está esa persoa. Para facelo, vaite a %{contacts_page}, escolle o aspecto que desexas e pulsa na icona de chat para activar o chat nese aspecto. %{toggle_privilege} Poderías, se quixeses, crear un novo aspecto especial chamado \"Chat\" e engadir a el as persoas coas que queres conversar. Unha vez feito, abre a interface de chat e escolle a persoa coa que queres conversar."
- add_contact_roster_q: "Como converso con alguén en diaspora*?"
- contacts_page: "páxina de contactos"
- title: "Chat"
community_guidelines: "normas da comunidade"
faq: "PMF"
foundation_website: "sitio web da diaspora* foundation"
@@ -448,7 +497,7 @@ gl:
title: "Atallos de teclado"
markdown: "Markdown"
mentions:
- how_to_mention_a: "Escriba o signo \"@\" e comece a escribir o seu nome. Un menú desplegable aparecerá para permitirlle escollelo facilmente. Aviso: só pode mencionar a xente que vostede engadiu en algún aspecto."
+ how_to_mention_a: "Escribe o signo \"@\" e comeza a escribir o seu nome. Un menú despregable aparecerá para permitirche escollelo facilmente. Aviso: só podes mencionar a xente que engadiches nalgún aspecto."
how_to_mention_q: "Como menciono alguén ao facer unha publicación?"
mention_in_comment_a: "Si!, desde a versión 0.7.0.0 pode mencionar a alguén nun comentario do mesmo xeito que faría nunha publicación, escribindo \"@\" e comezando a escribir o seu nome. Cando comenta nunha publicación que non é pública, só pode mencionar usuarias que xa interactuaron coa publicación."
mention_in_comment_q: "Podo mencionar a alguén nun comentario?"
@@ -482,7 +531,7 @@ gl:
character_limit_q: "Cal é o límite de caracteres para publicacións?"
embed_multimedia_a: "Como norma xeral pode simplemente pegar o URL (ex. http://www.youtube.com/watch?v=nnnnnnnnnnn ) na súa publicación e o vídeo ou audio será incrustado automáticamente. As webs soportadas inclúen: YouTube, Vimeo, SoundCloud, Flickr e algún máis. diaspora* utiliza oEmbed para esta característica. Se publica unha ligazón directa a un ficheiro de vídeo ou audio, diaspora* inscrustarao utilizando o reprodutor HTML5 estándar. Cada vez soportamos máis tipos de ficheiros. Lembre utilizar sempre URL completas – sen ligazóns acurtadas, sen operadores tras o URL base – e déalle un pouco de tempo antes de actualizar a páxina tras publicala para ver a vista previa."
embed_multimedia_q: "Como inscrusto vídeo, audio, ou outros ficheiros de medios nunha publicación?"
- format_text_a: "diaspora* utiliza un sistema simplificado chamado %{markdown}. O cadro de edición ten botóns para facilitarlle a tarefa. Si quere darlle formato a publicación de xeito manual pode atopar unha guía sobre o formato Markdown %{here}. A pestana de vista previa permítelle ver como será vista a mensaxe antes de compartila. Lembre que non poderá editala unha vez publicada, así que utilice a vista previa para asegurarse de que aparece tal como desexa."
+ format_text_a: "diaspora* utiliza un sistema simplificado chamado %{markdown}. O cadro de edición ten botóns para facilitarche a tarefa. Se queres darlle formato a publicación de xeito manual podes atopar unha guía sobre o formato Markdown %{here}. A pestana de vista previa permíteche ver como será vista a mensaxe antes de compartila. Lembra que non poderás editala unha vez publicada, así que usa a vista previa para asegurarte de que aparece tal como desexas."
format_text_q: "Como lle dou formato ao texto nas miñas publicacións (resaltar, cursiva,etc.)?"
hide_posts_a: "Se sitúa o punteiro sobre a parte superior da publicación, un X aparece a dereita. Púlseo para agochar a publicación e acale as notificións sobre ela. Podería seguir vendo a publicación se visita a páxina de perfil de quen a publicou."
hide_posts_q: "Cómo oculto unha publicación?"
@@ -590,7 +639,7 @@ gl:
be_who_you_want_to_be_info: "Moitas redes insisten en que utilices a túa identidade real. Non en diaspora*. Aquí podes escoller quen queres ser, e compartir moito ou pouco sobre ti mesma como desexes. Depende de ti o xeito en que interactúas con outras persoas."
byline: "O entorno social conectado onde ti tes o control"
choose_your_audience: "Escolle a túa audiencia"
- choose_your_audience_info: "Os aspectos en diaspora* permítenche compartir só coa xente que desexas. Pode ser tan público ou privado como queiras. Comparte unha foto divertida con todo o mundo, ou un segredo íntimo só coas persoas máis próximas. Ti ten o control."
+ choose_your_audience_info: "Os aspectos en diaspora* permítenche compartir só coa xente que desexas. Pode ser tan público ou privado como queiras. Comparte unha foto divertida con todo o mundo, ou un segredo íntimo só coas persoas máis próximas. Ti tes o control."
diaspora_site_link: "rede federada diaspora*"
headline: "Benvida a %{pod_name}"
own_your_data: "Es dona dos teus datos"
@@ -658,18 +707,29 @@ gl:
likes:
create:
error: "Fallou o gústame."
+ fail: "Fallou a creación da ligazón"
destroy:
error: "Fallo ao retirar o gústame"
+ not_found: "Publicación ou gústame non atopados"
+ people_dislike_this:
+ one: "%{count} Non me gusta"
+ other: "%{count} Non me gusta"
+ zero: "Sen Non me gusta"
+ people_like_this:
+ one: "%{count} gústame"
+ other: "%{count} gústame"
+ zero: "Sen Gústame"
+ people_like_this_comment:
+ one: "%{count} gústame"
+ other: "%{count} gústame"
+ zero: "Sen gústame"
limited: "Limitado"
more: "Máis"
no_results: "Non se atopou nada"
notifications:
also_commented:
- few: "%{actors} comentaron tamén a %{post_link} de %{post_author}."
- many: "%{actors} comentaron tamén a %{post_link} de %{post_author}."
one: "%{actors} comentou tamén a publicación %{post_link} de %{post_author}."
other: "%{actors} comentaron tamén a publicación %{post_link} de %{post_author}."
- two: "%{actors} comentaron tamén a %{post_link} de %{post_author}."
zero: "%{actors} comentou tamén a publicación %{post_link} de %{post_author}."
also_commented_deleted:
few: "%{actors} comentaron unha publicación eliminada."
@@ -679,11 +739,8 @@ gl:
two: "%{actors} comentaron unha publicación eliminada."
zero: "%{actors} comentou unha publicación eliminada."
comment_on_post:
- few: "%{actors} comentaron a súa %{post_link}."
- many: "%{actors} comentaron a súa %{post_link}."
one: "%{actors} comentou a súa publicación %{post_link}."
other: "%{actors} comentaron a súa publicación %{post_link}."
- two: "%{actors} comentaron a súa %{post_link}."
zero: "%{actors} comentou a súa publicación %{post_link}."
contacts_birthday:
one: "%{actors} cumplen anos o %{date}"
@@ -716,32 +773,20 @@ gl:
show_unread: "Mostrar non lido"
started_sharing: "Comezou a compartir"
liked:
- few: "A %{actors} gustoulles a súa %{post_link}."
- many: "A %{actors} gustoulles a súa %{post_link}."
one: "A %{actors} gustoulle a súa publicación %{post_link}."
other: "A %{actors} gustoulles a súa publicación %{post_link}."
- two: "A %{actors} gustoulles a súa %{post_link}."
zero: "A %{actors} gustoulle a súa publicación %{post_link}."
liked_post_deleted:
- few: "A %{actors} gustoulles a súa publicación eliminada."
- many: "A %{actors} gustoulles a súa publicación eliminada."
one: "A %{actors} gustoulle a súa publicación eliminada."
other: "A %{actors} gustoulles a súa publicación eliminada."
- two: "A %{actors} gustoulles a súa publicación eliminada."
zero: "A %{actors} gustoulle a súa publicación eliminada."
mentioned:
- few: "%{actors} mencionárono nunha %{post_link}."
- many: "%{actors} mencionárono nunha %{post_link}."
one: "%{actors} mencionouno na publicación %{post_link}."
other: "%{actors} mencionárono na publicación %{post_link}."
- two: "%{actors} mencionárono nunha %{post_link}."
zero: "%{actors} o mencionou nunha %{post_link}."
mentioned_deleted:
- few: "%{actors} mencionárono nunha publicación eliminada."
- many: "%{actors} mencionárono nunha publicación eliminada."
one: "%{actors} mencionouno nunha publicación eliminada."
other: "%{actors} mencionárono nunha publicación eliminada."
- two: "%{actors} mencionárono nunha publicación eliminada."
zero: "%{actors} mencionouno nunha publicación eliminada."
mentioned_in_comment:
one: "%{actors} mencionoute nun <a href='%{comment_path}'>comentario</a> a publicación %{post_link}."
@@ -798,13 +843,13 @@ gl:
body: |-
Ola %{name},
- diaspora* detectou un intento de acceso a túa sesión que podería non ter autorización. Para evitar calquera posibilidade de que os teus datos fosen comprometidos, procedemos a desconectala. Non te preocupes, podes voltar a conectar novamente de xeito seguro.
+ diaspora* detectou un intento de acceso a túa sesión que podería non ter autorización. Para evitar calquera posibilidade de que os teus datos fosen comprometidos, procedemos a desconectala. Non te preocupes, podes volver a conectar novamente de xeito seguro.
- Fíxose unha solicitude utilizando un testemuño CSRF incorrecto ou omitido. Esto podería ser totalmente inofensivo, pero podería tratarse dun intento de suplantación (ataque CSRF).
+ Fíxose unha solicitude utilizando un testemuño CSRF incorrecto ou omiteuse. Esto podería ser totalmente inofensivo, pero podería tratarse dun intento de suplantación (ataque CSRF).
Esto podería estar causado por:
- - Un engadido do navegador manipulando a petición ou facendo peticións sen o testemuño;
+ - Un complemento do navegador manipulando a petición ou facendo peticións sen o testemuño;
- Unha lapela que quedou aberta dunha sesión anterior;
- Outro sitio web facendo peticións, con ou sen o teu permiso;
- Outras ferramentas externas;
@@ -812,7 +857,7 @@ gl:
Para máis información sobre CSRF mira [%{link}](%{link}).
- Se esta mensaxe aparece de xeito repetido, por favor comproba a lista superior, incluíndo os engadidos para o navegador.
+ Se esta mensaxe aparece de xeito repetido, por favor comproba a lista superior, incluíndo os complementos para o navegador.
Grazas,
O robot de correo de diaspora*!
@@ -832,8 +877,8 @@ gl:
body: |-
Ola %{name}
- Algo aconteceu mentras procesábamos os seus datos para descargar.
- Inténteo de novo!
+ Algo aconteceu mentras procesábamos os teus datos para descargar.
+ Inténtao de novo!
Lamentámolo,
@@ -865,20 +910,20 @@ gl:
message: |-
Ola,
- Foi convidado por %{user} a unirse a diaspora*
+ %{user} convidoute a unirte a diaspora*
- Prema nesta ligazón para comezar
+ Preme nesta ligazón para comezar
[%{invite_url}][1]
- Ou pode engadir a %{diaspora_id} aos seus contactos se xa ten unha conta.
+ Ou podes engadir a %{diaspora_id} aos teus contactos se xa tes unha conta.
Chuchos.
O robot de correo de diaspora*
- P.S.: Por se non coñece (aínda) o que é diaspora*, [aqui][2] ten a resposta!
+ P.S.: Por se non coñeces (aínda) o que é diaspora*, [aqui][2] tes a resposta!
[1]: %{invite_url}
[2]: %{diasporafoundation_url}
@@ -922,7 +967,7 @@ gl:
[%{url}][1]
- Por favor revísea o antes posible!
+ Por favor revísaa o antes posible!
Saúdos,
@@ -1003,7 +1048,7 @@ gl:
profile: "Perfil"
profiles:
edit:
- allow_search: "Permitir que o atopen ao buscar en diaspora*"
+ allow_search: "Permitir que te atopen ao buscar en diaspora*"
basic: "O meu perfil básico"
basic_hint: "Cada elemento no teu perfil é optativo. O perfil básico sempre será visible de xeito público."
extended: "O meu perfil extendido"
@@ -1034,7 +1079,7 @@ gl:
closed:
another_pod: "outra instancia"
closed_pod: "Actualmente esta instancia ten o rexistro pechado. Porén, podes igualmente unirte a rede diaspora* rexistrándote en %{wiki}. Como todos os nodos están conectados, terás acceso ao mesmo contido desde alí."
- find_pods: "Existe unha lista de instancias nas que podes rexistrarse en %{poduptime}."
+ find_pods: "Existe unha lista de instancias nas que podes rexistrarse en %{fediverse_observer}."
other_questions: "Se tes preguntas sobre a elección dunha instancia, lé a nosa %{wiki}."
create:
success: "Xa está en diaspora*!"
@@ -1044,7 +1089,7 @@ gl:
enter_email: "Escriba un enderezo de correo electrónico"
enter_password: "Escriba un contrasinal (6 caracteres min.)"
enter_password_again: "Repita o contrasinal"
- enter_username: "Escolla un nome de usuario (só letras, números e guións baixos)"
+ enter_username: "Escolle un nome de usuaria (só letras, números e trazos baixos)"
password: "Contrasinal"
password_confirmation: "Confirmación do contrasinal"
sign_up: "Crear conta"
@@ -1075,7 +1120,7 @@ gl:
create:
error: "Fallo ao compartir."
reshare:
- deleted: "O autor da publicación orixinal eliminouna."
+ deleted: "A autora da publicación orixinal eliminouna."
reshare_confirmation: "Repetir a publicación de %{author}?"
reshared_via: "Repetido de"
search: "Busca"
@@ -1110,11 +1155,8 @@ gl:
mobile_row_checked: "%{name} (eliminar)"
mobile_row_unchecked: "%{name} (engadir)"
toggle:
- few: "En %{count} aspectos"
- many: "En %{count} aspectos"
one: "En %{count} aspecto"
other: "En %{count} aspectos"
- two: "En dous aspectos"
zero: "En ningún aspecto"
invitations:
by_email: "Convidar a contactos por correo electrónico"
@@ -1203,6 +1245,8 @@ gl:
title: "Favoritos"
liked:
title: "Publicacións gustadas"
+ local_public:
+ title: "Publicacións locais"
mentioned_stream: "@Mencións"
mentions:
title: "@Mencións"
@@ -1268,7 +1312,7 @@ gl:
email_not_confirmed: "Non se puido activar o enderezo de correo electrónico. Confundiuse de ligazón?"
destroy:
no_password: "Escriba o seu contrasinal actual para pechar a conta."
- success: "Bloqueouse a súa conta. Pode levar ata 20 minutos pechala completamente. Grazas por darlle unha oportunidade a diaspora*."
+ success: "Bloqueouse a túa conta. Pode levar ata 20 minutos pechala completamente. Grazas por darlle unha oportunidade a diaspora*."
wrong_password: "O contrasinal introducido é incorrecto."
edit:
also_commented: "alguén comentou nunha publicación onde vostede tamén comentou."
@@ -1287,7 +1331,7 @@ gl:
locked_out: "Pecharase a súas sesión e non poderá volver entrar coa súa conta."
make_diaspora_better: "Estaríamos encantados de que non marchase e nos axudase a mellorar diaspora* en lugar de marchar. Se realmente desexa marchar, aquí ten o que acontece a seguir:"
mr_wiggles: "Botarémolo de menos."
- no_turning_back: "Non hai volta atrás! Se realmente está seguro, introduza aqui abaixo o contrasinal."
+ no_turning_back: "Non hai volta atrás! Se tes certeza sobre o que estás a facer, escribe aqui abaixo o contrasinal."
what_we_delete: "Eliminaranse as súas publicacións e datos do perfil canto antes. Os seus comentarios en publicacións alleas seguirán aparecendo, pero estarán asociados ao seu ID en diaspora* e non ao seu nome."
close_account_text: "Pechar a conta"
comment_on_post: "comentarios nas publicacións propias."
@@ -1330,7 +1374,7 @@ gl:
getting_started:
awesome_take_me_to_diaspora: "Xenial! Vaiamos a diaspora*"
community_welcome: "Estamos felices de que te unises a comunidade diaspora*!"
- hashtag_explanation: "Empregue as etiquetas para falar dos seus intereses e estar ao tanto das publicacións relacionadas. Ademais, son un xeito ideal de coñecer xente en Diaspora."
+ hashtag_explanation: "Empregua as etiquetas para falar dos teus intereses e estar ao día das publicacións relacionadas. Ademais, son un xeito ideal de coñecer xente en diaspora*."
hashtag_suggestions: "Probe a seguir etiquetas coma #arte, #cine, #gif, etc."
well_hello_there: "Ola!"
what_are_you_in_to: "Que lle interesa?"
diff --git a/config/locales/diaspora/hi.yml b/config/locales/diaspora/hi.yml
index 9f20a6726..431e49f93 100644
--- a/config/locales/diaspora/hi.yml
+++ b/config/locales/diaspora/hi.yml
@@ -5,9 +5,11 @@
hi:
+ _applications: "ऍप्लिकेशन"
_services: "सेवाएं"
account: "खाता"
are_you_sure: "क्या आपको यकीन है?"
+ are_you_sure_delete_account: "क्या आप वाकई अपना खाता बंद करना चाहते हैं? इसे पूर्ववत नहीं किया जा सकता!"
aspects:
index:
help:
@@ -15,8 +17,12 @@ hi:
cancel: "रद्द करें"
delete: "मिटाओ"
email: "ईमेल"
+ fill_me_out: "मुझे भरें"
+ limited: "सीमित"
ok: "ठीक"
privacy: "गोपनीयता"
profile: "प्रोफ़ाइल"
- settings: "विन्यास"
+ public: "सार्वजनिक"
+ search: "खोज"
+ settings: "सेटिंग्स"
username: "उपयोगकर्ता नाम" \ No newline at end of file
diff --git a/config/locales/diaspora/hu.yml b/config/locales/diaspora/hu.yml
index a72b3b642..e165b25e7 100644
--- a/config/locales/diaspora/hu.yml
+++ b/config/locales/diaspora/hu.yml
@@ -46,6 +46,7 @@ hu:
taken: "már foglalt."
admins:
admin_bar:
+ dashboard: "Vezérlőpult"
pages: "Oldalak"
pod_network: "Pod hálózat"
pod_stats: "Pod statisztika"
@@ -310,9 +311,6 @@ hu:
what_is_an_aspect_a: "A csoport (vagy eredetileg \"aspektus\") az a mód, ahogy a kapcsolataidat rendszerezed a diaspora-n. Különböző arcaidat, oldalaidat különbözőképpen mutathatod meg például a munkatársaid, a családod, netán meghatározott közösséghez tartozó barátaid számára."
what_is_an_aspect_q: "Mit jelent a \"csoport\"?"
who_sees_post_q: "Amikor bejegyzést írok egy csoportba, ki láthatja azt?"
- chat:
- add_contact_roster_q: "Hogyan tudok csevegni valakivel a diasporán*?"
- title: "Csevegés"
faq: "GYIK"
foundation_website: "diaspora* alapítvány"
getting_help:
diff --git a/config/locales/diaspora/hye-classical.yml b/config/locales/diaspora/hye-classical.yml
index 61a442fbb..ec0087b84 100644
--- a/config/locales/diaspora/hye-classical.yml
+++ b/config/locales/diaspora/hye-classical.yml
@@ -151,8 +151,6 @@ hye-classical:
login_required: "Նախ պէտք է մուտք գործես, որ կարողանաս արտօնել այս յաւելուածը"
title: "Օհ, ինչ-որ բան սխալ գնաց ։Չ"
scopes:
- aud:
- description: "Սա aud թոյլատուութիւն է տալիս ծրագրին"
name:
description: "Սա անվան թոյլտւութիւն է տալիս ծրագրին"
name: "անուն"
@@ -168,14 +166,8 @@ hye-classical:
profile:
description: "Սա կը թողնի հաւելուածին կարդալ քո ընդլայնուած էջը"
name: "ընդլայնուած էջ"
- read:
- description: "Սա կը թողնի յաւելուածին կարդալ քո լրահոսը, քո զրոյցներն ու քո ամբողջական էջը"
- name: "կարդալ անձնական էջը, լրահոսն ու զրոյցները"
sub:
description: "Սա sub թոյլատուութիւն է տալիս ծրագրին"
- write:
- description: "Սա կը թողնի յաւելուածին ուղարկել նոր գրառումները, ստեղծել նոր զրոյցներ ու ուղարկել արձագանքները"
- name: "ուղարկել գրառումները, զրոյցներն ու արձագանքները"
user_applications:
index:
access: "%{name} օգտատէրը մատչում ունի հետեւեալին՝"
@@ -279,8 +271,6 @@ hye-classical:
original: "Նախօրինակը՝ մոխրագոյն"
original_white: "Նախօրինակը՝ սպիտակ ետին պլանով"
comments:
- create:
- error: "Չյաջողուեց մեկնաբանել։"
new_comment:
comment: "մեկնաբանել"
commenting: "Մեկնաբանւում է…"
@@ -386,11 +376,6 @@ hye-classical:
what_is_an_aspect_q: "Ի՞նչ է խումբը։"
who_sees_post_a: "Եթե փակ գրառում ես անում, այն միայն տեսանելի կը լինի ընտրածդ խմբի (կամ խմբերի, եթէ մի քանիսն ես ընտրել) մարդկանց համար։ Միւսները, ովքեր այդ խմբ(եր)ում չեն, չունեն տարբերակ դա տեսնելու։ Միայն հրապարակային գրառումներն են, որ տեսանելի են նաեւ մարդկանց, որոնց հետ չես կիսւում։"
who_sees_post_q: "Երբ ես գրառում եմ որեւէ խմբի համար, ո՞վ է դա տեսնում։"
- chat:
- add_contact_roster_a: "Այո, դրա համար նախ պէտք է ակտիւացնես չաթը այն խմբերից մէկի համար, որում քեզ անհրաժեշտ մարդը կայ։ Դա անելու համար գնա %{contacts_page}, ընտրիր համապատասխան խումբը եւ սեղմիր չաթի նշանի վրայ, որ ակտիւացնես այն։ %{toggle_privilege} Գործդ հեշտացնելու համար կարող ես ստեղծել յատուկ խումբ «Չաթ» անուամբ ու աւելացնել այնտեղ այն մարդկանց, ում հետ հաւէս ունես չաթուելու։ Քեզ կը մնայ միայն բացել չաթուելու միջերեսը ու ընտրել նրան, ում հետ ուզում ես չաթուել։"
- add_contact_roster_q: "Հնարաւո՞ր է չաթուել մարդկանց հետ դիասպորա*֊ում։"
- contacts_page: "«Կապեր» էջը"
- title: "Չաթ"
community_guidelines: "համայնքի կանոնակարգ"
faq: "ՀՏՀ"
foundation_website: "դիասպորա* հիմնադրամի կայքը"
diff --git a/config/locales/diaspora/hye.yml b/config/locales/diaspora/hye.yml
index d27468be7..959eeec0a 100644
--- a/config/locales/diaspora/hye.yml
+++ b/config/locales/diaspora/hye.yml
@@ -147,9 +147,6 @@ hye:
login_required: "Նախ պետք է մուտք գործես, որ կարողանաս արտոնել այս հավելվածը"
title: "Օհ, ինչ-որ բան սխալ գնաց ։Չ"
scopes:
- aud:
- description: "Սա aud թույլատվություն է տալիս ծրագրին"
- name: "aud"
name:
description: "Սա անվան թույլտվություն է տալիս ծրագրին"
name: "անուն"
@@ -165,15 +162,9 @@ hye:
profile:
description: "Սա կթողնի հավելվածին կարդալ քո ընդլայնված էջը"
name: "ընդլայնված էջ"
- read:
- description: "Սա կթողնի հավելվածին կարդալ քո լրահոսը, քո զրույցները ու քո ամբողջական էջը"
- name: "կարդալ անձնական էջը, լրահոսն ու զրույցները"
sub:
description: "Սա sub թույլատվություն է տալիս ծրագրին"
name: "sub"
- write:
- description: "Սա կթողնի հավելվածին ուղարկել նոր գրառումները, ստեղծել նոր զրույցներ ու ուղարկել արձագանքները"
- name: "ուղարկել գրառումները, զրույցներն ու արձագանքները"
user_applications:
index:
access: "%{name} օգտատերը մատչում ունի հետեւյալին՝"
@@ -277,8 +268,6 @@ hye:
original: "Նախօրինակը՝ մոխրագույն"
original_white: "Նախօրինակը՝ սպիտակ ետին պլանով"
comments:
- create:
- error: "Չհաջողվեց մեկնաբանել։"
new_comment:
comment: "Մեկնաբանել"
commenting: "Մեկնաբանվում է…"
@@ -384,11 +373,6 @@ hye:
what_is_an_aspect_q: "Ի՞նչ է խումբը։"
who_sees_post_a: "Եթե փակ գրառում ես անում, դա միայն տեսանելի կլինի ընտրածդ խմբի (կամ խմբերի, եթե մի քանիսն ես ընտրել) մարդկանց համար։ Մյուսները, ովքեր այդ խմբ(եր)ում չեն, չունեն տարբերակ դա տեսնելու։ Միայն հրապարակային գրառումներն են, որ տեսանելի են նաեւ մարդկանց, որոնց հետ չես կիսվում։"
who_sees_post_q: "Երբ ես գրառում եմ որևէ խմբի համար, ո՞վ է դա տեսնում։"
- chat:
- add_contact_roster_a: "Այո, դրա համար նախ պետք է ակտիվացնես չաթը այն խմբերից մեկի համար, որում քեզ անհրաժեշտ մարդը կա։ Դա անելու համար գնա %{contacts_page}, ընտրիր համապատասխան խումբը եւ սեղմիր չաթի նշանի վրա, որ ակտիվացնես այն։ %{toggle_privilege} Գործդ հեշտացնելու համար կարող ես ստեղծել հատուկ խումբ «Չաթ» անվամբ ու ավելացնել էնտեղ այն մարդկանց, ում հետ հավես ունես չաթվելու։ Քեզ կմնա միայն բացել չաթվելու միջերեսը ու ընտրել նրան, ում հետ ուզում ես չաթվել։"
- add_contact_roster_q: "Հնարավո՞ր է չաթվել մարդկանց հետ դիասպորա*յում։"
- contacts_page: "«Կապեր» էջը"
- title: "Չաթ"
community_guidelines: "համայնքի կանոնակարգ"
faq: "ՀՏՀ"
foundation_website: "դիասպորա* հիմնադրամի կայքը"
diff --git a/config/locales/diaspora/ia.yml b/config/locales/diaspora/ia.yml
index f59c328a3..0d8c3e489 100644
--- a/config/locales/diaspora/ia.yml
+++ b/config/locales/diaspora/ia.yml
@@ -8,6 +8,7 @@ ia:
_applications: "Applicationes"
_contacts: "Contactos"
_help: "Adjuta"
+ _podmin_mail: "Contactar le administrator del pod"
_services: "Servicios"
_statistics: "Statisticas"
_terms: "Terminos"
@@ -91,6 +92,7 @@ ia:
user_entry:
account_closed: "Conto claudite"
admin: "Administrator"
+ current_sign_in_ip: "Adresse IP al initio del session actual"
diaspora_handle: "ID de diaspora*"
email: "E-mail"
guid: "GUID"
@@ -162,40 +164,85 @@ ia:
client_id_not_found: "Nulle cliente con client_id %{client_id} con URI de redirection %{redirect_uri} trovate"
deny: "Refusar"
no_requirement: "%{name} non require permissiones"
+ private_contacts_linkage_error: "private:lectura e private:modification require etiam contactos:lectura"
redirection_message: "Es tu secur de voler dar accesso a %{redirect_uri}?"
+ unknown_scope: "Portata incognite: %{scope_name}"
error_page:
contact_developer: "Per favor, contacta le programmator del application e include tote le message de error sequente:"
could_not_authorize: "Le application non poteva esser autorisate"
login_required: "Tu debe aperir session ante de poter autorisar iste application"
title: "Un problema ha occurrite."
scopes:
- aud:
- description: "Isto concede permissiones \"aud\" al application"
- name: "aud"
+ ? "contacts:modify"
+ :
+ description: "Isto concede le accesso in scriptura al contactos e al datos associate (p.ex. aspectos)."
+ name: "Contactos (scriptura)"
+ ? "contacts:read"
+ :
+ description: "Isto concede le accesso in lectura sol al contactos e al datos associate (p.ex. aspectos)."
+ name: "Contactos (lectura sol)"
+ conversations:
+ description: "Isto concede le permission de lectura e scriptura al messages private."
+ name: "Conversationes"
+ email:
+ description: "Isto concede le accesso in lectura sol a tu adresse de e-mail."
+ name: "E-mail"
+ interactions:
+ description: "Isto concede le accesso necessari pro interager con entratas, p.ex. appreciar o commentar."
+ name: "Interactiones"
name:
- description: "Isto concede permissiones \"name\" al application"
- name: "nomine"
+ description: "Isto concede le accesso in lectura sol a tu nomine complete."
+ name: "Nomine complete"
nickname:
- description: "Isto concede permissiones \"nickname\" al application"
- name: "pseudonymo"
+ description: "Isto concede le accesso in lectura sol a tu nomine de usator."
+ name: "Nomine de usator"
+ notifications:
+ description: "Isto concede le accesso in lectura e scriptura a tu notificationes."
+ name: "Notificationes"
openid:
- description: "Isto permitte que le application lege tu profilo basic"
- name: "profilo basic"
+ description: "Isto concede le accesso in lectura sol al informationes de base de tu profilo."
+ name: "Informationes de base del profilo"
picture:
- description: "Isto concede permissiones \"picture\" al application"
- name: "imagine"
+ description: "Isto concede le accesso in lectura sol al imagine de tu profilo."
+ name: "Imagine del profilo"
+ ? "private:modify"
+ :
+ description: "Isto concede le accesso necessari pro publicar entratas private."
+ name: "Entratas private (scriptura)"
+ ? "private:read"
+ :
+ description: "Isto concede le accesso in lectura sol al entratas private de te e de tu contactos."
+ name: "Entratas private (lectura sol)"
profile:
- description: "Isto permitte que le application lege tu profilo extendite"
- name: "profilo extendite"
- read:
- description: "Isto permitte que le application lege tu fluxo, tu conversationes e tu profilo complete"
- name: "leger profilo, fluxo e conversationes"
+ description: "Isto concede le accesso in lectura sol al informationes de tu profilo extendite."
+ name: "Profilo extendite (lectura sol)"
+ ? "profile:modify"
+ :
+ description: "Isto concede le accesso necessari pro actualisar le datos de tu profilo extendite."
+ name: "Profilo extendite (scriptura)"
+ ? "profile:read_private"
+ :
+ description: "Isto concede le accesso in lectura sol al datos de tu profilo private."
+ name: "Datos del profilo private (lectura sol)"
+ ? "public:modify"
+ :
+ description: "Isto concede le accesso in scriptura necessari pro publicar entratas public e datos associate (p.ex. votos e attachamentos multimedial)."
+ name: "Entratas public (scriptura)"
+ ? "public:read"
+ :
+ description: "Isto concede le accesso a tu entratas public, incluse interactiones e datos associate."
+ name: "Entratas public (lectura sol)"
sub:
- description: "Isto concede permissiones \"sub\" al application"
- name: "sub"
- write:
- description: "Isto permitte que le application publica nove entratas, scribe conversationes e invia reactiones"
- name: "inviar entratas, conversationes e reactiones"
+ description: "Isto concede le accesso in lectura sol a tu identificator unic."
+ name: "Identificator unic"
+ ? "tags:modify"
+ :
+ description: "Isto concede le accesso necessari pro modificar le etiquettas que tu seque."
+ name: "Etiquettas (scriptura)"
+ ? "tags:read"
+ :
+ description: "Isto concede le accesso in lectura sol al etiquettas e fluxos de etiquetta que tu seque."
+ name: "Etiquettas (lectura sol)"
user_applications:
index:
access: "%{name} ha accesso a:"
@@ -208,7 +255,7 @@ ia:
tos: "Vider le conditiones de servicio del application"
are_you_sure: "Es tu secur?"
are_you_sure_delete_account: "Es tu secur de voler clauder tu conto? Isto non pote esser disfacite!"
- are_you_sure_ignore_user: "Tu va ignorar iste usator. Es tu secur?"
+ are_you_sure_ignore_user: "Tu es sur le puncto de ignorar iste usator. Es tu secur?"
aspect_memberships:
destroy:
failure: "Le remotion del persona del aspecto ha fallite."
@@ -302,10 +349,14 @@ ia:
original_white: "Fundo blanc original"
comments:
create:
- error: "Commento fallite."
+ fail: "Le creation del commento ha fallite"
+ destroy:
+ fail: "Le deletion del commento ha fallite"
+ success: "Le commento %{id} ha essite delite"
new_comment:
comment: "Commentar"
commenting: "Commenta…"
+ not_found: "Entrata o commento non trovate"
contacts:
index:
add_contact: "Adder contacto"
@@ -345,6 +396,7 @@ ia:
to: "A"
new_conversation:
fail: "Message non valide"
+ not_found: "Conversation non trovate"
show:
delete: "Deler conversation"
hide: "Celar e silentiar le conversation"
@@ -413,11 +465,6 @@ ia:
what_is_an_aspect_q: "Que es un aspecto?"
who_sees_post_a: "Si tu scribe un entrata limitate, illo essera visibile solmente pro le personas que tu ha mittite in ille aspecto (o in ille aspectos, si tu lo ha inviate a plure aspectos) ante de publicar le entrata. Tu contactos que non es in le aspecto non potera vider le entrata. Entratas limitate nunquam essera visibile pro alcun persona que tu non ha mittite in un de tu aspectos."
who_sees_post_q: "Quando io invia qualcosa a un aspecto, qui lo videra?"
- chat:
- add_contact_roster_a: "Primo tu debe activar le chat pro un del aspectos in le quales iste persona es presente. Pro facer isto, va al %{contacts_page}, selige le aspecto que tu vole e clicca sur le icone de chat pro activar le chat pro ille aspecto. %{toggle_privilege} Alternativemente, tu pote crear un aspecto special nominate 'Chat' e adder a ille aspecto le personas con qui tu vole chattar. Un vice que tu ha facite isto, aperi le interfacie de chat e selige le persona con qui tu vole chattar."
- add_contact_roster_q: "Como pote io parlar in directo a qualcuno in diaspora*?"
- contacts_page: "pagina de contactos"
- title: "Chat"
community_guidelines: "directivas del communitate"
faq: "FAQ"
foundation_website: "le sito web del fundation diaspora*"
@@ -660,8 +707,22 @@ ia:
likes:
create:
error: "Appreciation fallite."
+ fail: "Le creation del appreciation ha fallite"
destroy:
error: "Le cancellation del appreciation ha fallite."
+ not_found: "Entrata o appreciation non trovate"
+ people_dislike_this:
+ one: "%{count} dispreciation"
+ other: "%{count} dispreciationes"
+ zero: "Nulle dispreciation"
+ people_like_this:
+ one: "1 appreciation"
+ other: "%{count} appreciationes"
+ zero: "Nulle appreciation"
+ people_like_this_comment:
+ one: "1 appreciation"
+ other: "%{count} appreciationes"
+ zero: "Nulle appreciation"
limited: "Limitate"
more: "Plus"
no_results: "Nulle resultato trovate"
@@ -880,7 +941,7 @@ ia:
body: |-
Salute,
- le %{type} con ID %{id} ha essite marcate como offensive.
+ Le %{type} con ID %{id} ha essite marcate como offensive.
Motivo: "%{reason}"
@@ -995,7 +1056,7 @@ ia:
closed:
another_pod: "un altere pod"
closed_pod: "Iste pod es actualmente claudite pro le creation de contos, ma tu pote totevia adherer al rete de diaspora* per inscriber te a %{wiki}. Post que tote le pods es interconnectite, tu potera acceder al mesme contento."
- find_pods: "Un lista de pods ubi tu pote inscriber te se trova a %{poduptime}."
+ find_pods: "Un lista de pods ubi tu pote inscriber te se trova a %{fediverse_observer}."
other_questions: "Si tu ha altere questiones sur le election de un pod, consulta nostre %{wiki}."
create:
success: "Tu ha adherite a diaspora*!"
@@ -1160,6 +1221,8 @@ ia:
title: "Fluxo de entratas appreciate"
liked:
title: "Entratas appreciate"
+ local_public:
+ title: "Entratas local"
mentioned_stream: "@Mentiones"
mentions:
title: "@Mentiones"
@@ -1186,7 +1249,7 @@ ia:
two_factor_auth:
activated:
change_button: "Disactivar"
- change_label: "Disactiva le authentication bifactorial per entrar tu contrasigno"
+ change_label: "Disactiva le authentication bifactorial inserente tu contrasigno"
status: "Authentication bifactorial activate"
confirm:
activate_button: "Confirmar e activar"
@@ -1202,7 +1265,7 @@ ia:
change_button: "Activar"
change_label: "Activar authentication bifactorial"
status: "Authentication bifactorial non activate"
- explanation: "Le authentication bifactorial es un maniera efficace de assecurar que tu es le unic persona que pote aperir session in tu conto. Quando tu aperi session, tu entrara un codice a 6 digitos accompaniante tu contrasigno pro provar tu identitate. Ma sia caute: si tu perde tu telephono e le codices de recuperation create quando tu activa iste function, le accesso a tu conto de diaspora* essera perdite pro sempre."
+ explanation: "Le authentication bifactorial es un maniera efficace de assecurar que tu es le unic persona que pote aperir session in tu conto. Quando tu aperi session, tu entrara un codice a 6 digitos accompaniante tu contrasigno pro provar tu identitate. Ma sia caute: si tu perde tu telephono e le codices de recuperation create quando tu activa iste function, le accesso a tu conto de diaspora* essera blocate pro sempre."
flash:
error_token: "Le codice es incorrecte o invalide"
success_activation: "Le activation del authentication bifactorial ha succedite"
@@ -1212,7 +1275,7 @@ ia:
placeholder: "codice bifactorial a sex digitos"
recovery:
button: "Generar nove codices de recuperation"
- explanation: "Si tu jammais perde le accesso a tu telephono, tu pote usar un del codices de recuperation sequente pro reganiar le accesso a tu conto. Mantene le codices de recuperation ben secur. Per exemplo, tu pote imprimer los e guardar los con altere documentos importante."
+ explanation: "In caso que tu perde le accesso a tu telephono, tu pote usar un del codices de recuperation sequente pro reganiar le accesso a tu conto. Mantene le codices de recuperation ben secur. Per exemplo, tu pote imprimer los e guardar los con altere documentos importante."
explanation_short: "Le codices de recuperation te permitte reganiar le accesso a tu conto si tu perde tu telephono. Nota ben que tu pote usar cata codice de recuperation solmente un vice."
invalidation_notice: "Si tu perde tu codices de recuperation, tu pote generar alteres hic. Le ancian codices de recuperation devenira invalide."
reminder: "Alternativemente, tu pote usar un del codices de recuperation."
diff --git a/config/locales/diaspora/it.yml b/config/locales/diaspora/it.yml
index 053250870..bb17708f2 100644
--- a/config/locales/diaspora/it.yml
+++ b/config/locales/diaspora/it.yml
@@ -220,9 +220,15 @@ it:
egyptian_blue: "Blu pompeiano"
magenta: "Magenta"
comments:
+ create:
+ fail: "La creazione dei commenti è fallita"
+ destroy:
+ fail: "La cancellazione del commento è fallita"
+ success: "Commento numero %{id} è stato rimosso con successo"
new_comment:
comment: "Commenta"
commenting: "Invio commento in corso..."
+ not_found: "Commento o post non trovati"
contacts:
index:
add_contact: "Aggiungi contatto"
@@ -256,6 +262,7 @@ it:
to: "A"
new_conversation:
fail: "Messaggio non valido"
+ not_found: "Conversazione non trovata"
show:
delete: "Elimina la conversazione"
reply: "Rispondi"
@@ -320,8 +327,6 @@ it:
what_is_an_aspect_q: "Cosa è un aspetto?"
who_sees_post_a: "Se crei un post privato, sarà visibile solamente alle persone negli aspetti che avrai scelto. I contatti che non sono nell'aspetto o negli aspetti scelti non avranno modo di vedere il post, a meno che non sia pubblico. Solo i post pubblici saranno visibili da tutti coloro che non hai messo in nessun aspetto."
who_sees_post_q: "Quando pubblico un contenuto ad un aspetto, chi lo vede?"
- chat:
- title: "Chat"
community_guidelines: "Linee guida della Community"
faq: "FAQ"
foundation_website: "Sito web diaspora foundation"
@@ -504,6 +509,9 @@ it:
logout: "Esci"
profile: "Profilo"
settings: "Impostazioni"
+ likes:
+ create:
+ fail: "La creazione dei like è fallita"
limited: "Non pubblico"
more: "Altro"
no_results: "La ricerca non ha prodotto risultati"
diff --git a/config/locales/diaspora/ja.yml b/config/locales/diaspora/ja.yml
index 2b51505b2..c122f5dbf 100644
--- a/config/locales/diaspora/ja.yml
+++ b/config/locales/diaspora/ja.yml
@@ -162,9 +162,6 @@ ja:
login_required: "このアプリケーションを許可するには、まずログインする必要があります"
title: "何か問題があります :("
scopes:
- aud:
- description: "これは、アプリケーションに監査権限を付与します"
- name: "監査"
name:
description: "これは、アプリケーションに名前のアクセス許可を付与します"
name: "名前"
@@ -180,15 +177,9 @@ ja:
profile:
description: "これは、アプリケーションがあなたの拡張プロフィールを読むことができるようにします"
name: "拡張プロフィール"
- read:
- description: "これはアプリケーションが、あなたのストリーム、あなたの会話、あなたのプロフィールを読むことができるようにします"
- name: "プロフィール、ストリーム、会話を読む"
sub:
description: "これは、アプリケーションにサブ権限を付与します"
name: "サブ"
- write:
- description: "アプリケーションが、新しい投稿の送信、会話の書き込み、リアクションの送信をすることができます"
- name: "投稿の送信、会話、リアクション"
user_applications:
index:
access: "%{name}はアクセス許可があります:"
@@ -294,8 +285,6 @@ ja:
original: "オリジナルグレー"
original_white: "オリジナルの白い背景"
comments:
- create:
- error: "コメントに失敗しました。"
new_comment:
comment: "コメント"
commenting: "コメント投稿中…"
@@ -406,11 +395,6 @@ ja:
what_is_an_aspect_q: "アスペクトとは何ですか?"
who_sees_post_a: "限定公開の投稿を行う場合、投稿を行う前にアスペクト (複数のアスペクトに行われた場合はそれらのアスペクト) に配置した人にだけ表示されます。アスペクトにいない連絡先は投稿を見る方法がありません。限定公開の投稿は、あなたのアスペクトの一つに配置されていない人には表示されません。"
who_sees_post_q: "アスペクトに投稿すると、誰がそれを見ますか?"
- chat:
- add_contact_roster_a: "まず、人がいるアスペクトの一つでチャットを有効にする必要があります。これを行うには、%{contacts_page}に移動し、希望するアスペクトを選択して、チャットアイコンをクリックして、アスペクトのチャットを有効にしてください。 %{toggle_privilege}、あなたが好む場合、「チャット」と呼ばれる特殊なアスペクトを作成して、そのアスペクトにチャットしたい人を追加することができます。一度これを行うと、チャットインターフェイスを開いて、チャットしたい人を選択します。"
- add_contact_roster_q: "ダイアスポラ*で誰かとチャットする方法は?"
- contacts_page: "連絡先ページ"
- title: "チャット"
community_guidelines: "コミュニティー・ガイドライン"
faq: "よくある質問"
foundation_website: "ダイアスポラ*財団のウェブサイト"
diff --git a/config/locales/diaspora/ms.yml b/config/locales/diaspora/ms.yml
index 28860449d..5634d8c2a 100644
--- a/config/locales/diaspora/ms.yml
+++ b/config/locales/diaspora/ms.yml
@@ -23,7 +23,7 @@ ms:
reshare:
attributes:
root_guid:
- taken: "Baik, kan? Anda telah berkongsi semula pos itu!"
+ taken: "Baik, kan? Anda telah berkongsi semula hantaran tersebut!"
user:
attributes:
email:
@@ -33,14 +33,14 @@ ms:
username:
invalid: "adalah tidak sah. Kami hanya membenarkan huruf, nombor, dan garis bawah."
taken: "sudah diambil."
- all_aspects: "Semua Aspek"
+ all_aspects: "Semua aspek"
are_you_sure: "Anda yakin?"
- are_you_sure_delete_account: "Adakah anda pasti anda mahu menutup akaun anda? Ini tidak boleh diundur!"
+ are_you_sure_delete_account: "Adakah anda ingin menutup akaun anda? Ini tidak boleh dibuat asal!"
aspect_memberships:
destroy:
- failure: "Gagal mengeluarkan individu daripada aspek"
- no_membership: "Tidak dapat mencari orang yang dipilih dalam aspek itu"
- success: "Orang berjaya dikeluarkan dari aspek"
+ failure: "Individu tersebut telah gagal dikeluarkan daripada aspek."
+ no_membership: "Individu yang dipilih tidak dijumpai dalam aspek tersebut."
+ success: "Individu tersebut telah berjaya dikeluarkan daripada aspek."
aspects:
add_to_aspect:
failure: "Gagal menambah kenalan kepada aspek."
@@ -48,7 +48,7 @@ ms:
aspect_listings:
add_an_aspect: "+ Tambah aspek"
aspect_stream:
- stay_updated: "Kekal Dikemaskini"
+ stay_updated: "Kekal dengan perkembangan semasa"
stay_updated_explanation: "Aliran utama anda dipenuhi dengan semua kenalan anda, tag anda ikuti, dan pos daripada beberapa ahli kreatif komuniti."
destroy:
failure: "%{name} tidak boleh dibuang."
@@ -68,19 +68,19 @@ ms:
find_a_bug: "... mencari %{link}?"
have_a_question: "... mempunyai %{link}?"
here_to_help: "Komuniti diaspora* di sini!"
- need_help: "Perlukan Bantuan?"
+ need_help: "Perlukan bantuan?"
tag_bug: "#bug"
tag_feature: "#feature"
tag_question: "#question"
- introduce_yourself: "Ini adalah aliran anda. Sertai dan kenalkan diri anda."
+ introduce_yourself: "Ini aliran anda. Sertai dan perkenalkan diri anda."
new_here:
follow: "Ikuti %{link} dan selamat datang pengguna baru ke diaspora *!"
learn_more: "Ketahui lebih lanjut"
- title: "Alukan Pengguna Baru"
+ title: "Mengalu-alukan para pengguna baharu"
services:
content: "Anda boleh menyambung perkhidmatan berikut kepada diaspora*:"
- heading: "Khidmat Perhubungan"
- welcome_to_diaspora: "Selamat datang ke Diaspora, %{name}!"
+ heading: "Kaitkan perkhidmatan"
+ welcome_to_diaspora: "Selamat datang ke diaspora*, %{name}!"
no_contacts_message:
community_spotlight: "Komuniti tumpuan"
or_spotlight: "Atau anda boleh berkongsi dengan %{link}"
@@ -106,7 +106,7 @@ ms:
contacts:
index:
all_contacts: "Semua Kenalan"
- my_contacts: "Kenalan Saya"
+ my_contacts: "Kenalan saya"
no_contacts: "Nampaknya anda perlu menambah beberapa kenalan!"
only_sharing_with_me: "Hanya berkongsi dengan saya"
start_a_conversation: "Mulakan perbualan"
diff --git a/config/locales/diaspora/nb.yml b/config/locales/diaspora/nb.yml
index 844971df8..4bedcf239 100644
--- a/config/locales/diaspora/nb.yml
+++ b/config/locales/diaspora/nb.yml
@@ -166,8 +166,6 @@ nb:
login_required: "Du må først logge inn før du kan autorisere denne applikasjonen"
title: "Oi! Noe gikk galt :("
scopes:
- aud:
- description: "Dette gir aud-tilgang til applikasjonen"
name:
description: "Dette gir navneprivilegier til applikasjonen"
name: "navn"
@@ -183,15 +181,9 @@ nb:
profile:
description: "Dette gir applikasjonen tilgang til å lese den utvidede profilen din"
name: "den utvidede profilen"
- read:
- description: "Dette tillater at applikasjonen kan lese din strøm, dine samtaler og din fullstendige profil"
- name: "les profil, strøm og samtaler"
sub:
description: "Dette gir underprivilegier til applikasjonen"
name: "under"
- write:
- description: "Dette tillater at applikasjonen kan sende nye innlegg, skrive samtaler og sende reaksjoner"
- name: "send innlegg, samtaler og reaksjoner"
user_applications:
index:
access: "%{name} har tilgang til:"
@@ -296,8 +288,6 @@ nb:
original: "Originalgrå"
original_white: "Original, hvit bakgrunn"
comments:
- create:
- error: "Lykkes ikke i å kommentere."
new_comment:
comment: "Kommenter"
commenting: "Kommenterer ..."
@@ -408,11 +398,6 @@ nb:
what_is_an_aspect_q: "Hva er en aspekt?"
who_sees_post_a: "Et avgrenset innlegg vil bare være synlig for dem du har lagt inn i aspektet (eller aspektene, hvis det gjøres synlig for flere aspekter). Kontakter som ikke er med i aspektet har ingen mulighet for å se innlegget med mindre du publiserte det som offentlig. Personene du ikke har plassert i et aspekt vil bare kunne se dine offentlige innlegg."
who_sees_post_q: "Hvem ser hva jeg publiserer til et aspekt?"
- chat:
- add_contact_roster_a: "Først må du slå på chat for noen av aspektene som den personen er med i. For å gjøre det, må du gå til %{contacts_page}, velge det aspektet og klikke på chatikonet for å slå på chat for dette aspektet. %{toggle_privilege} Du kan, hvis du foretrekker, lage et eget aspekt med navn \"Chat\" og legge til de du ønsker å chatte med i dette aspektet. Når du har gjort dette, åpner du chatgrensesnittet og velger personen du ønsker å chatte med."
- add_contact_roster_q: "Hvordan chatter jeg med noen i diaspora*?"
- contacts_page: "kontaktside"
- title: "Chat"
community_guidelines: "retningslinjer for samfunnet"
faq: "FAQ"
foundation_website: "diaspora*-stiftelsens nettside"
diff --git a/config/locales/diaspora/nds.yml b/config/locales/diaspora/nds.yml
index 52cf3f1e2..e1edac303 100644
--- a/config/locales/diaspora/nds.yml
+++ b/config/locales/diaspora/nds.yml
@@ -264,9 +264,6 @@ nds:
title: "Aspekte"
what_is_an_aspect_q: "Wat is een Aspekt?"
who_sees_post_q: "Wer sütt dat, wenn ik wat an bestimmte Aspekte schriev?"
- chat:
- contacts_page: "Kontaktesiet"
- title: "Tippschnack"
faq: "FAQ"
foundation_website: "Websiet von de diaspora* foundation"
getting_help:
diff --git a/config/locales/diaspora/ne.yml b/config/locales/diaspora/ne.yml
index dfdd3b822..29f2b54f7 100644
--- a/config/locales/diaspora/ne.yml
+++ b/config/locales/diaspora/ne.yml
@@ -5,12 +5,54 @@
ne:
+ _applications: "अनुप्रयोगहरू"
+ _contacts: "सम्पर्कहरू"
_services: "सेवाहरु"
+ account: "खाता"
+ activerecord:
+ errors:
+ models:
+ contact:
+ attributes:
+ person_id:
+ taken: "यस प्रयोगकर्ताको सम्पर्कहरू बीच अद्वितीय हुनुपर्दछ।"
+ person:
+ attributes:
+ diaspora_handle:
+ taken: "पहिले नै लिइएको छ।"
+ reshare:
+ attributes:
+ root_guid:
+ taken: "त्यो राम्रो छ, ए? तपाईंले पहिले नै यो पोष्ट पुनः साझा गर्नुभयो!"
+ user:
+ attributes:
+ email:
+ taken: "पहिले नै लिइएको छ।"
+ person:
+ invalid: "अवैध छ।"
+ username:
+ invalid: "अवैध छ। हामी केवल अक्षर, संख्या, र अन्डरकोरहरू अनुमति दिन्छौं।"
+ taken: "पहिले नै लिइएको छ।"
+ admins:
+ user_entry:
+ current_sign_in_ip: "हालको साइन इनमा आईपी ठेगाना"
+ all_aspects: "सबै पक्षहरू"
+ are_you_sure: "के तपाईँ निश्चित हुनुहुन्छ?"
+ are_you_sure_delete_account: "के तपाइँ निश्चय हुनुहुन्छ कि तपाइँ तपाइँको खाता बन्द गर्न चाहनुहुन्छ? यसलाई पूर्ववत गर्न सकिदैन?"
aspects:
+ edit:
+ aspect_list_is_not_visible: "यस पक्षमा सम्पर्कहरूले एक अर्कालाई हेर्न सक्षम छैनन्।"
+ aspect_list_is_visible: "यस पक्षमा सम्पर्कहरूले एक अर्कालाई हेर्न सक्षम छन्।"
+ confirm_remove_aspect: "के तपाईं पक्का यस पक्षलाई मेटाउन चाहनुहुन्छ?"
+ rename: "पुनः नामाकरण गर्नुहोस्"
+ update: "अद्यावधिक गर्नुहोस्"
+ updating: "अपडेट गर्दै"
index:
help:
tag_question: "प्रश्न"
welcome_to_diaspora: "%{name} ज्यु, डायस्पोरामा तपाईलाई स्वागत छ !"
+ no_contacts_message:
+ you_should_add_some_more_contacts: "तपाईंले केही थप सम्पर्कहरू थप्न गर्नुपर्छ!"
seed:
acquaintances: "परिचित व्यक्तिहरु"
family: "परिवार"
@@ -22,17 +64,27 @@ ne:
send: "पठाउनुहोस्"
delete: "मेट्नुहोस्"
email: "ईमेल"
+ error_messages:
+ helper:
+ correct_the_following_errors_and_try_again: "त्रुटिहरू सच्याउनुहोस् र फेरि प्रयास गर्नुहोस्।"
+ fill_me_out: "मलाई भर्नुहोस्"
+ find_people: "व्यक्ति वा #ट्यागहरू फेला पार्नुहोस्"
invitations:
new:
language: "भाषा"
+ limited: "सीमित"
+ more: "थप"
+ no_results: "कुनै परिणाम भेटिएन"
notifications:
index:
and: "र"
notifier:
hello: "नमस्कार %{name} !"
thanks: "धन्यवाद,"
+ nsfw: "कामका लागि सुरक्षित छैन"
ok: "ठीक छ"
privacy: "गोपनीयता"
+ profile: "प्रोफाइल"
profiles:
edit:
first_name: "थर"
@@ -42,7 +94,8 @@ ne:
your_location: "ठेगाना"
your_photo: "तपाईको तस्वीर"
public: "सार्वजनिक"
- search: "खोज"
+ search: "खोज्नुहोस्"
+ settings: "सेटिङ"
username: "प्रयोगकर्ता नाम"
users:
edit:
diff --git a/config/locales/diaspora/nl.yml b/config/locales/diaspora/nl.yml
index 105f4374e..7e642c0b1 100644
--- a/config/locales/diaspora/nl.yml
+++ b/config/locales/diaspora/nl.yml
@@ -91,6 +91,7 @@ nl:
user_entry:
account_closed: "Account afgesloten"
admin: "Admin"
+ current_sign_in_ip: "IP-adres bij inloggen"
diaspora_handle: "diaspora* id"
email: "E-mailadres"
guid: "GUID"
@@ -169,9 +170,6 @@ nl:
login_required: "Je moet eerst inloggen voordat je deze applicatie kunt autoriseren"
title: "Ohhh! Er ging iets verkeerd :("
scopes:
- aud:
- description: "Dit verleent aud toegang tot de applicatie"
- name: "aud"
name:
description: "Dit verleent naam toegang tot de applicatie"
name: "naam"
@@ -187,15 +185,9 @@ nl:
profile:
description: "Dit staat de applicatie toe je uitgebreide profiel te zien"
name: "uitgebreid profiel"
- read:
- description: "Dit staat de applicatie toe om je stream, je gesprekken en je complete profiel te zien"
- name: "lees profiel, stream en gesprekken"
sub:
description: "Dit verleent sub toegang tot de applicatie"
name: "sub"
- write:
- description: "Dit staat de applicatie toe om nieuwe berichten te plaatsen, gesprekken te schrijven en reacties in te sturen"
- name: "plaats berichten, gesprekken en reacties"
user_applications:
index:
access: "%{name} heeft toegang tot:"
@@ -302,7 +294,10 @@ nl:
original_white: "Originele witte achtergrond"
comments:
create:
- error: "Reageren mislukt."
+ fail: "Het aanmaken van de reactie is mislukt"
+ destroy:
+ fail: "Het verwijderen van de reactie is mislukt"
+ success: "De reactie %{id} is verwijderd"
new_comment:
comment: "Reactie"
commenting: "Reageren..."
@@ -408,13 +403,6 @@ nl:
what_is_an_aspect_q: "Wat is een aspect?"
who_sees_post_a: "Als je een 'beperkt' bericht plaatst, is het alleen zichtbaar voor de mensen die je in dat aspect (of die aspecten als je meer aspecten hebt gekozen) hebt gestopt. Contactpersonen die niet in het betreffende aspect zitten, zullen het bericht niet kunnen zien. Beperkte berichten zijn nooit zichtbaar voor mensen die niet in je aspect(en) zitten."
who_sees_post_q: "Als ik een bericht plaats voor een aspect, wie ziet dat dan?"
- chat:
- add_contact_roster_a: |-
- Eerst moet je de chatmogeljikheid inschakelen voor een van de aspecten waar die persoon in zit. Ga naar de %{contacts_page}, selecteer het aspect en klik op het chat pictogram om chat voor het aspect mogelijk te maken.
- %{toggle_privilege} Je kunt, als je dat wilt, een speciaal aspect genaamd 'Chat' maken en daar personen met wie je wilt chatten aan toevoegen. Als je dat hebt gedaan, open dan de chat interface en selecteer de persoon met wie je wilt chatten.
- add_contact_roster_q: "Hoe kan ik met iemand binnen diaspora* chatten?"
- contacts_page: "contactpersonenpagina"
- title: "Chat"
community_guidelines: "Gemeenschapsprotocollen"
faq: "FAQ"
foundation_website: "diaspora* foundation website"
@@ -584,9 +572,11 @@ nl:
byline: "De online sociale online wereld waar jij de controle hebt"
choose_your_audience: "Kies je publiek"
choose_your_audience_info: "diaspora*'s aspecten maken het mogelijk om uitsluitend te delen met de mensen waarmee jij dat wilt. Je kunt zo openbaar of privé zijn als je wilt. Deel een grappige foto met de hele wereld, of een groot geheim alleen met je beste vrienden. Jij bent in control."
+ diaspora_site_link: "federatieve diaspora*-netwerk"
headline: "Welkom op %{pod_name}"
own_your_data: "Beschik over je eigen gegevens"
own_your_data_info: "Veel netwerken verdienen hun geld door jouw gedrag en interacties vanuit jouw gegevens te analyseren om 'op maat gesneden' advertenties te serveren. diaspora* gebruikt je data alleen om je in de gelegenheid te stellen te communiceren en te delen met anderen."
+ part_of_diaspora: "Deel van het %{diaspora_site_link}"
podmin:
byline: "Je staat op het punt om het internet te veranderen. Zullen we daar maar eens mee beginnen?"
configuration_info: "Open %{database_path} en %{diaspora_path} in je voorkeurs teksteditor en bestudeer ze grondig. Ze zijn rijkelijk voorzien van commentaar."
@@ -994,6 +984,11 @@ nl:
updated: "Profiel bijgewerkt"
public: "Openbaar"
registrations:
+ closed:
+ another_pod: "een andere pod"
+ closed_pod: "Deze pod is momenteel gesloten voor nieuwe inschrijvingen. Wel kun je je aansluiten bij het diaspora*-netwerk door je in te schrijven bij %{wiki}. Alle pods zijn met elkaar verbonden, dus krijg je toegang tot dezelfde content."
+ find_pods: "Een lijst van pods waar je je kunt inschrijven vind je op %{fediverse_observer}."
+ other_questions: "Heb je nog andere vragen over het kiezen van een pod, zie dan onze %{wiki}."
create:
success: "Je bent nu lid van diaspora*!"
invalid_invite: "De uitnodigingslink die je gebruikt is niet langer geldig!"
diff --git a/config/locales/diaspora/nn.yml b/config/locales/diaspora/nn.yml
index 0d3b550be..c14ea6c64 100644
--- a/config/locales/diaspora/nn.yml
+++ b/config/locales/diaspora/nn.yml
@@ -167,8 +167,6 @@ nn:
post_something: "denne lenkja"
cancel: "Avbryt"
comments:
- create:
- error: "Fekk ikkje kommentert."
new_comment:
comment: "Kommenter"
commenting: "Kommenterer …"
diff --git a/config/locales/diaspora/oc.yml b/config/locales/diaspora/oc.yml
index 12663bea5..07d1f5d35 100644
--- a/config/locales/diaspora/oc.yml
+++ b/config/locales/diaspora/oc.yml
@@ -169,9 +169,6 @@ oc:
login_required: "D'en primièr, vos cal vos connectar per fin de poder autorizar aquesta aplicacion"
title: "Ops ! Quicòm a trucat :("
scopes:
- aud:
- description: "Aquò dòna la permission aud a l'aplicacion"
- name: "aud"
name:
description: "Aquò dòna la permission del nom a l'aplicacion"
name: "nom"
@@ -187,15 +184,9 @@ oc:
profile:
description: "Aquò autoriza l'aplicacion a legir vòstre perfil complet"
name: "perfil complet"
- read:
- description: "Aquò autoriza l'aplicacion a legir vòstre flux d'actualitat, vòstras conversacions e vòtre perfil complet"
- name: "veire perfil, flux e conversacions"
sub:
description: "Aquò autreja de sospermissions a l'aplicacion"
name: "jos"
- write:
- description: "Aquò permet a l'aplicacion de mandar de publicacions novèlas, escriure de conversacions e publicar de reaccions."
- name: "mandar publicacions, conversacions e reaccions"
user_applications:
index:
access: "%{name} a accès a :"
@@ -301,8 +292,6 @@ oc:
original: "Gris d’origina"
original_white: "Fons blanc d’origina"
comments:
- create:
- error: "Fracàs al moment de comentar."
new_comment:
comment: "Comentar"
commenting: "Comentari en cors de mandadís..."
@@ -413,13 +402,6 @@ oc:
what_is_an_aspect_q: "De qué es un aspècte ?"
who_sees_post_a: "Se fasètz una publicacion limitada, serà visibla pas que pel mond qu'avètz plaçat dins aqueste aspècte (o aspèctes, s'es fach per mai d'un aspècte) abans de publicar. Los contactes qu'avètz e que son pas dins l'aspècte, an pas cap de biais de veire la publicacion. Las publicacions limitadas seràn pas jamai visiblas pel mond qu'avètz pas plaçat dins vòstres aspèctes."
who_sees_post_q: "Quand publiqui en un aspècte, qual pòt o veire ?"
- chat:
- add_contact_roster_a: |-
- D'en primièr, vos cal activar la conversacion per un aspècte ont es la persona. Per aquò far, anatz sus %{contacts_page}, seleccionatz l'aspècte que volètz e clicatz l'icòna de conversacion per l'activar sus l'aspècte.
- %{toggle_privilege} Poiriatz, se vos agrada mai, crear un aspècte especial apelat « Chat » e i ajustar lo mond amb qui volètz parlar. Un còp fach, dobrissètz l'interfàcia de conversacion e causissètz la persona amb qui volètz parlar.
- add_contact_roster_q: "Cossí discutir amb qualqu'un dins diaspora* ?"
- contacts_page: "pagina dels contactes"
- title: "Chat"
community_guidelines: "règlas de comportament de la comunautat"
faq: "FAQ"
foundation_website: "site internet de la fondacion diaspora*"
@@ -595,7 +577,7 @@ oc:
byline: "La ret sociala ont gardatz lo contraròtle."
choose_your_audience: "Causissètz vòstre public"
choose_your_audience_info: "Los aspèctes de diaspora* vos permeton de partejar solament amb lo mond que volètz. Podètz èsser public o privat tan que volètz. Partejatz una fòto divertissenta amb lo mond complet, o un grand secrèt amb vòstre melhors amics. Avètz lo contraròtle."
- diaspora_site_link: "Malhum federat diapora*"
+ diaspora_site_link: "malhum federat diapora*"
headline: "Benvenguda sus %{pod_name}"
own_your_data: "Siatz proprietari de vòstras donadas"
own_your_data_info: "Mantun rets emplegan vòstras donadas per se far de moneda en analisant vòstras interaccions e en emplegant aquelas informacions per vos far de reclama. diaspora* utilizant pas vòstras donadas que per vos permetre de comunicar e partejar amb lo mond."
@@ -997,7 +979,7 @@ oc:
closed:
another_pod: "un autre pod"
closed_pod: "Aqueste pod es actualament pas dubèrt per las inscripcions. Pasmens, podètz jonher lo malhum diaspora* en vos marcar sus %{wiki} . Perque totes los pods son connectats entre eles, enlà auretz accès al meteis contengut."
- find_pods: "Vaquí una lista de pods ont podètz vos marcar %{poduptime}."
+ find_pods: "Vaquí una lista de pods ont podètz vos marcar %{fediverse_observer}."
other_questions: "S’avètz mai de questions tocant la causida d’un pod, gaitatz nòstre %{wiki}."
create:
success: "Avètz rejunt diaspora*!"
diff --git a/config/locales/diaspora/pl.yml b/config/locales/diaspora/pl.yml
index 98a18a85f..67f655dc5 100644
--- a/config/locales/diaspora/pl.yml
+++ b/config/locales/diaspora/pl.yml
@@ -98,12 +98,14 @@ pl:
week: "Tydzień"
user_entry:
account_closed: "Konto zamknięte"
+ admin: "Administrator"
diaspora_handle: "identyfikator w diasporze*"
email: "E-mail"
guid: "GUID"
id: "ID"
invite_token: "Token zaproszenia"
last_seen: "Ostatnio widziany"
+ moderator: "Moderator"
? "no"
: Nie
nsfw: "#nsfw"
@@ -114,14 +116,21 @@ pl:
account_closing_scheduled: "Konto należące do %{name} jest przewidziane do zamknięcia. Zostanie to wykonane w przecigu kilku chwil..."
account_locking_scheduled: "Konto użytkownika %{name} oznaczone do zablokowania. Zostanie przetworzone za kilka chwil..."
account_unlocking_scheduled: "Konto użytkownika %{name} oznaczone do odblokowania. Zostanie przetworzone za kilka chwil..."
+ add_admin: "%{name} zosta@{m:ł|f:ła|n:ło} mianowa@{m:ny|f:na|n:ne} administratorem."
add_invites: "Dodaj zaproszenia"
are_you_sure: "Czy na pewno chcesz zamknąć to konto?"
are_you_sure_lock_account: "Na pewno zablokować to konto?"
are_you_sure_unlock_account: "Na pewno odblokować to konto?"
close_account: "Zamknij konto"
+ delete_admin: "%{name} został@{f:a|n:o} usunię@{m:ty|f:ta|n:te} z listy administratorów."
+ does_not_exist: "Użytkownik nie istnieje!"
email_to: "Zaproś przez e-mail"
invite: "Zaproś"
lock_account: "Zablokuj konto"
+ make_admin: "Mianuj administratorem"
+ make_moderator: "Mianuj moderatorem"
+ remove_admin: "Usuń jako administrator"
+ remove_moderator: "Usuń jako moderator"
under_13: "Wyświetl użytkowników młodszych niż 13 lat."
unlock_account: "Odblokuj konto"
users:
@@ -165,18 +174,22 @@ pl:
login_required: "By autoryzować tę aplikację, musisz się najpierw zalogować"
title: "O nie! Coś poszło nie tak :("
scopes:
+ email:
+ name: "E-Mail"
+ nickname:
+ name: "Nazwa Użytkownika"
+ notifications:
+ name: "Powiadomienia"
openid:
description: "Pozwala aplikacji na czytanie profilu podstawowego"
name: "Profil podstawowy"
+ picture:
+ name: "Zdjęcie profilowe"
profile:
description: "Pozwala aplikacji na czytanie profilu poszerzonego"
name: "rozszerzony profil"
- read:
- description: "Pozwala aplikacji czytać Twój strumień, rozmowy oraz cały profil."
- name: "czytaj profil, strumień i rozmowy"
- write:
- description: "Pozwala aplikacji dodawać nowe wpisy i reakcje oraz uczestniczyć w rozmowach."
- name: "wysyłaj wpisy, rozmowy i reakcje"
+ sub:
+ name: "Unikatowy identyfikator"
user_applications:
index:
access: "%{name} ma dostęp do:"
@@ -281,11 +294,13 @@ pl:
original: "Oryginalny szary"
original_white: "Oryginalny z białym tłem"
comments:
- create:
- error: "Nie udało się dodać komentarza."
+ destroy:
+ fail: "Usunięcie komentarza nie powiodło się"
+ success: "Komentarz %{id} został usunięty"
new_comment:
comment: "Skomentuj"
commenting: "Dodawanie komentarza..."
+ not_found: "Wpis bądź komentarz nieznaleziony"
contacts:
index:
add_contact: "Dodaj kontakt"
@@ -393,11 +408,6 @@ pl:
what_is_an_aspect_q: "Czym jest aspekt?"
who_sees_post_a: "Jeśli zamieszczasz wpis o ograniczonej widoczności, będzie on widoczny tylko dla ludzi którzy znajdują się w danym aspekcie (lub aspektach, jeśli post jest ograniczony do wielu aspektów). Kontakty które należą do innych aspektów nie będą miały jak zobaczyć wpisu, chyba że uczynisz go publicznym. Tylko publiczne posty będą widoczne dla kogokolwiek spoza Twoich aspektów."
who_sees_post_q: "Kiedy udostępniam w aspekcie, kto widzi mój wpis?"
- chat:
- add_contact_roster_a: "Najpierw musisz włączyć czat dla aspektu w którym osoba się znajduje. Aby to zrobić, idź do %{contacts_page}, wybierz aspekt który chcesz zmienić i kliknij na ikonę czatu dla aspektu. %{toggle_privilege} Możesz, jeżeli wolisz, utworzyć specjalny aspekt nazwany \"Czat\" i dodać do niego wszystkie osoby z którymi chcesz czatować. Gdy już to zrobisz, możesz otworzyć interfejs czatu i wybrać osoby z którymi chcesz czatować."
- add_contact_roster_q: "Jak mogę czatować z kimś na diasporze*?"
- contacts_page: "strony kontaktów"
- title: "Czat"
community_guidelines: "zasady społeczności"
faq: "często zadawane pytania"
foundation_website: "Strona fundacji diaspora*"
@@ -1197,7 +1207,10 @@ pl:
status: "Uwierzytelnianie dwuskładnikowe jest aktywne"
confirm:
activate_button: "Potwierdź i aktywuj"
+ input_title: "Potwierdź tokenem TOTP"
+ scan_title: "Zeskanuj kod QR"
status: "Uwierzytelnianie dwuskładnikowe nie jest jeszcze w pełni aktywne, musisz je zatwierdzić tokenem TOTP"
+ title: "Potwierdź aktywację"
deactivated:
change_button: "Aktywuj"
change_label: "Aktywuj uwierzytelnianie dwuskładnikowe"
@@ -1205,6 +1218,11 @@ pl:
flash:
success_activation: "Pomyślnie aktywowano uwierzytelnianie dwuskładnikowe"
success_deactivation: "Pomyślnie dezaktywowano uwierzytelnianie dwuskładnikowe"
+ recovery:
+ button: "Generuj nowe kody odzyskiwania"
+ invalidation_notice: "Jeżeli straciłeś swoje kody odzyskiwania, możesz je ponownie wygenerować. Twoje stare kody odzyskiwania staną się nieważne."
+ reminder: "W razie konieczności, możesz użyć jednego z kodów odzyskiwania."
+ title: "Kody odzyskiwania"
title: "Uwierzytelnianie dwuskładnikowe"
username: "Nazwa użytkownika"
users:
diff --git a/config/locales/diaspora/pt-BR.yml b/config/locales/diaspora/pt-BR.yml
index 51f830cd7..804186590 100644
--- a/config/locales/diaspora/pt-BR.yml
+++ b/config/locales/diaspora/pt-BR.yml
@@ -169,9 +169,6 @@ pt-BR:
login_required: "Você deve entrar no sistema para autorizar esse aplicativo"
title: "Opa! Alguma coisa deu errado :("
scopes:
- aud:
- description: "O aplicativo teria acesso a aud"
- name: "aud"
name:
description: "O aplicativo teria acesso ao seu nome"
name: "nome"
@@ -187,15 +184,9 @@ pt-BR:
profile:
description: "O aplicativo teria permissão para ler seu perfil ampliado"
name: "perfil ampliado"
- read:
- description: "O aplicativo teria permissão para ler seu fluxo, conversas e perfil completo"
- name: "ler perfil, fluxo e conversas"
sub:
description: "O aplicativo teria acesso a sub"
name: "sub"
- write:
- description: "O aplicativo teria permissão para publicar, conversar e enviar reações"
- name: "enviar publicações, conversas e reações"
user_applications:
index:
access: "%{name} tem acesso a:"
@@ -301,11 +292,12 @@ pt-BR:
original: "Cinza original"
original_white: "Fundo branco original"
comments:
- create:
- error: "Falha ao comentar."
+ destroy:
+ success: "Comentário %{id} deletado com sucesso."
new_comment:
comment: "Comentar"
commenting: "Comentando..."
+ not_found: "Publicação ou comentário não encontrado"
contacts:
index:
add_contact: "Adicionar contato"
@@ -345,6 +337,7 @@ pt-BR:
to: "Para"
new_conversation:
fail: "Mensagem inválida"
+ not_found: "Conversa não encontrada"
show:
delete: "Apagar conversa"
hide: "Esconder e silenciar conversa"
@@ -413,11 +406,6 @@ pt-BR:
what_is_an_aspect_q: "O que é um aspecto?"
who_sees_post_a: "Uma publicação limitada é visível apenas para as pessoas incluídas anteriormente no aspecto (ou aspectos) ao qual ela é destinada. Contatos que não pertencem ao aspecto não podem, de nenhuma maneira, ver a publicação."
who_sees_post_q: "Quando eu publico em um aspecto, quem vê?"
- chat:
- add_contact_roster_a: "Primeiro, é preciso habilitar o bate-papo para um dos aspectos que incluem essa pessoa. Para fazer isso, vá até a %{contacts_page}, selecione o aspecto desejado e clique no ícone de bate-papo. %{toggle_privilege} Se preferir, você pode criar um aspecto apenas com quem você quer conversar. Então, basta entrar na sala de bate-papo do aspecto e selecionar a pessoa."
- add_contact_roster_q: "Como bater papo com alguém na diaspora*?"
- contacts_page: "página de contatos"
- title: "Bate-papo"
community_guidelines: "normas da comunidade"
faq: "FAQ"
foundation_website: "site da Fundação Diaspora"
@@ -662,6 +650,15 @@ pt-BR:
error: "Falha ao curtir."
destroy:
error: "Falha ao descurtir."
+ not_found: "Publicação ou curtida não encontrada"
+ people_like_this:
+ one: "%{count} curtida"
+ other: "%{count} curtidas"
+ zero: "Nenhuma curtida"
+ people_like_this_comment:
+ one: "%{count} curtida"
+ other: "%{count} curtidas"
+ zero: "Nenhuma curtida"
limited: "Limitado"
more: "Mais"
no_results: "Nenhum resultado encontrado"
@@ -994,7 +991,7 @@ pt-BR:
closed:
another_pod: "outro pod"
closed_pod: "Este pod está fechado para novos cadastros, porém você ainda pode entrar na rede diaspora* cadastrando-se em %{wiki}. Como todos os pods estão interconectados, de lá você terá acesso ao mesmo conteúdo."
- find_pods: "Há uma lista de pods nos quais você pode se cadastrar em %{poduptime}."
+ find_pods: "Há uma lista de pods nos quais você pode se cadastrar em %{fediverse_observer}."
other_questions: "Se você tiver alguma outra pergunta sobre a seleção de pods, confira nossa %{wiki}."
create:
success: "Você se juntou à diaspora*!"
diff --git a/config/locales/diaspora/pt-PT.yml b/config/locales/diaspora/pt-PT.yml
index 4d20fb4e0..4879256b8 100644
--- a/config/locales/diaspora/pt-PT.yml
+++ b/config/locales/diaspora/pt-PT.yml
@@ -300,7 +300,7 @@ pt-PT:
mini_magick_processing_error: "Não foi possível manipular com MiniMagick, talvez não seja uma imagem? Erro original:%{e}"
rmagick_processing_error: "Não foi possível manipular com rmagick, talvez não seja uma imagem?"
fill_me_out: "Preencha-me"
- find_people: "Encontrar pessoas ou #etiquetas"
+ find_people: "Encontrar pessoas ou #tags"
help:
account_and_data_management:
close_account_a: "Vá para o fim da sua página de configurações e clique no botão \"Fechar Conta\". Ser-lhe-á solicitado para digitar a sua palavra-passe para concluir o processo. Lembre-se, se fechar a sua conta, <strong>nunca</strong> irá poder registar o seu nome de utilizador nesse servidor."
@@ -336,10 +336,6 @@ pt-PT:
what_is_an_aspect_q: "O que é um aspeto?"
who_sees_post_a: "Se criar uma publicação limitada, esta só irá estar visível para as pessoas que colocou nesse aspeto (ou aspetos, se esta for para múltiplos aspetos). Os seus contactos que não estiverem no aspeto, não conseguiram ver a publicação. As publicações limitadas nunca irão estar visíveis para qualquer pessoa que não tenha sido colocada num dos seus aspetos."
who_sees_post_q: "Quando eu publico num aspeto, quem o vê?"
- chat:
- add_contact_roster_q: "Como é que converso com alguém no diáspora*?"
- contacts_page: "Página de Contactos"
- title: "Conversação"
community_guidelines: "linhas diretrizes da comunidade"
faq: "Perguntas Mais Frequentes"
foundation_website: "Site da Web da fundação diaspora*"
diff --git a/config/locales/diaspora/ru.yml b/config/locales/diaspora/ru.yml
index 6657344f6..fdfa0959c 100644
--- a/config/locales/diaspora/ru.yml
+++ b/config/locales/diaspora/ru.yml
@@ -183,9 +183,6 @@ ru:
login_required: "Вы должны войти, прежде чем сможете авторизовать данное приложение"
title: "Ой! Что-то пошло не так :("
scopes:
- aud:
- description: "Это даёт приложению разрешения \"aud\""
- name: "aud"
name:
description: "Это даёт приложению разрешения \"name\""
name: "имя"
@@ -201,15 +198,9 @@ ru:
profile:
description: "Это позволяет приложению читать Ваш расширенный профиль"
name: "расширенный профиль"
- read:
- description: "Это позволяет приложению читать Ваш поток, Ваши сообщения и весь Ваш профиль"
- name: "читать профиль, поток и беседы"
sub:
description: "Это даёт дополнительные разрешения приложению"
name: "sub"
- write:
- description: "Это позволяет приложению публиковать новые записи, писать сообщения и реагировать на записи"
- name: "послать записи, беседы и реакции"
user_applications:
index:
access: "%{name} имеет доступ к:"
@@ -315,8 +306,6 @@ ru:
original: "Изначальный серый"
original_white: "Изначальный с белым фоном"
comments:
- create:
- error: "Не удалось прокомментировать."
new_comment:
comment: "Комментировать"
commenting: "Комментирование..."
@@ -427,11 +416,6 @@ ru:
what_is_an_aspect_q: "Что такое аспект?"
who_sees_post_a: "Если вы создаёте приватную запись, её смогут увидеть только люди, которых вы добавили в соответствующий аспект (или аспекты, если вы выбрали несколько). Больше эту запись никто не увидит, если только вы не сделали её публичной. Только публичные записи будут доступны всем, даже тем, кого вы не добавили ни в один из своих аспектов."
who_sees_post_q: "Когда я адресую запись аспекту, кто его видит?"
- chat:
- add_contact_roster_a: "Во-первых, вам нужно включить чат для аспекта, в котором находится человек. Для этого перейдите на вкладку %{contacts_page}, выберите нужный вам аспект, и нажмите на иконку сообщений, чтобы включить чат для аспекта. %{toggle_privilege} Вы можете, если хотите, создать особый аспект под названием «Чат» и добавить в него людей, с которыми вы хотите общаться. После того как вы сделаете это, откройте интерфейс сообщений и выберите человека, которому вы хотите написать."
- add_contact_roster_q: "Как я могу пообщаться с кем-либо в диаспоре*?"
- contacts_page: "страница пользователя"
- title: "Беседа"
community_guidelines: "рекомендации сообщества"
faq: "ЧаВо"
foundation_website: "сайт Diaspora Foundation"
diff --git a/config/locales/diaspora/sc.yml b/config/locales/diaspora/sc.yml
index a6f9f7c25..5b7bca17e 100644
--- a/config/locales/diaspora/sc.yml
+++ b/config/locales/diaspora/sc.yml
@@ -91,6 +91,7 @@ sc:
user_entry:
account_closed: "Contu serradu"
admin: "Amministradore"
+ current_sign_in_ip: "Indiritzu IP de s'intrada in sa sessione atuale"
diaspora_handle: "ID diaspora*"
email: "P. eletr. (e-mail)"
guid: "GUID"
@@ -162,40 +163,85 @@ sc:
client_id_not_found: "Perunu cliente agatadu cun client_id %{client_id} cun URI de reindirizatzione %{redirect_uri}"
deny: "Refuda"
no_requirement: "%{name} non tenet bisòngiu de permissos"
+ private_contacts_linkage_error: "private:read e private:modify bisòngiant fintzas de contacts:read"
redirection_message: "Seguru ses de chèrrere permìtere s'atzessu a %{redirect_uri}?"
+ unknown_scope: "Àmbitu disconnotu: %{scope_name}"
error_page:
- contact_developer: "Dias dèpere cuntatare s'isvilupadore de s'aplicatzione e incluire custu messàgiu de errore detalliadu:"
+ contact_developer: "Pro praghere cuntata s'isvilupadore de s'aplicatzione e inclue custu messàgiu de errore a sa minuda:"
could_not_authorize: "No est istadu possìbile a autorizare custa aplicatzione"
login_required: "Depes intrare in su contu tuo in antis de pòdere autorizare custa aplicatzione"
title: "Oh! B'est istadu unu problema :("
scopes:
- aud:
- description: "Custu at a frunire sos permissos \"aud\" a s'aplicatzione"
- name: "aud"
+ ? "contacts:modify"
+ :
+ description: "Custu frunit un'atzessu pro s'iscritura a sos cuntatos e a sos datos ligados (che a sas caras)"
+ name: "Cuntatos (iscrie)"
+ ? "contacts:read"
+ :
+ description: "Custu frunit un'atzessu pro sa leghidura ebbia a sos cuntatos e a sos datos ligados (che a sas caras)"
+ name: "Cuntatos (leghidura ebbia)"
+ conversations:
+ description: "Custu frunit un'atzessu pro s'iscritura e sa leghidura a sos messàgios privados."
+ name: "Arresonos"
+ email:
+ description: "Custu frunit un'atzessu pro sa leghidura ebbia a s'indiritzu de posta eletrònica tuo."
+ name: "Posta eletrònica"
+ interactions:
+ description: "Custu frunit s'atzessu pro interagire cun sas publicatziones, a esèmpiu pro agradèssere o imbiare unu cummentu."
+ name: "Interatziones"
name:
- description: "Custu at a frunire sos permissos de nùmeme a s'aplicatzione"
- name: "nùmene"
+ description: "Custu frunit un'atzessu pro sa leghidura ebbia a su nùmene intreu tuo."
+ name: "Nùmene intreu"
nickname:
- description: "Custu at a frunire sos permissos de paranùmeme a s'aplicatzione"
- name: "paranùmene"
+ description: "Custu frunit un'atzessu pro sa leghidura ebbia a su nùmene impreadore tuo."
+ name: "Nùmene impreadore"
+ notifications:
+ description: "Custu frunit un'atzessu pro s'iscritura e sa leghidura a sas notìficas tuas."
+ name: "Notìficas"
openid:
- description: "Custu permitit a s'aplicatzione de lèghere su proflu de base tuo"
- name: "profilu de base"
+ description: "Custu frunit un'atzessu pro sa leghidura ebbia a sas informatziones de base de su profilu tuo."
+ name: "Informatziones de base de su profilu"
picture:
- description: "Custu at a frunire a s'aplicatzione sos permissos ligados a sas immàgines"
- name: "immàgine"
+ description: "Custu frunit un'atzessu pro sa leghidura ebbia a s'immàgine de profilu tua."
+ name: "Immàgine de profilu"
+ ? "private:modify"
+ :
+ description: "Custu frunit un'atzessu pro creare publicatziones privadas."
+ name: "Publicatziones privadas (iscrie)"
+ ? "private:read"
+ :
+ description: "Custu frunit un'atzessu pro sa leghidura ebbia a sas publicatziones privadas tuas e de sos cuntatos tuos."
+ name: "Publicatziones privadas (leghidura ebbia)"
profile:
- description: "Custu permitit a s'aplicatzione de lèghere su profilu intreu tuo"
- name: "profilu intreu"
- read:
- description: "Custu permitit a s'aplicatzione de lèghere su flussu tuo, sos arresonos tuos e su profilu intreu tuo"
- name: "leghere su profilu, su flussu e sos arresonos"
+ description: "Custu frunit un'atzessu pro sa leghidura ebbia a sos datos de su profilu intreu tuo."
+ name: "Profilu intreu (leghidura ebbia)"
+ ? "profile:modify"
+ :
+ description: "Custu frunit s'atzessu pro agiornare sos datos de su profilu intreu tuo."
+ name: "Profilu intreu (iscrie)"
+ ? "profile:read_private"
+ :
+ description: "Custu frunit un'atzessu pro sa leghidura ebbia a sos datos privados de su profilu tuo."
+ name: "Datos privados de su profilu (leghidura ebbia)"
+ ? "public:modify"
+ :
+ description: "Custu frunit s'atzessu pro creare publicatziones pùblicas e datos ligados (che a sos votos e a sos documentos alliongiados)."
+ name: "Publicatziones pùblicas (iscrie)"
+ ? "public:read"
+ :
+ description: "Custu frunit s'atzessu a sas publicatziones pùblicas tuas, incluende fintzas sas interatziones e sos datos ligados."
+ name: "Publicatziones pùblicas (leghidura ebbia)"
sub:
- description: "Custu at a frunire sos permissos \"sub\" a s'aplicatzione"
- name: "sub"
- write:
- description: "Custu permitit a s'aplicatzione de imbiare publicatziones noas, iscrìere arresonos, e imbiare reatziones"
- name: "imbiare publicatziones, arresonos e reatziones"
+ description: "Custu frunit un'atzessu pro sa leghidura ebbia a s'identificadore ùnicu tuo."
+ name: "Identificadore ùnicu"
+ ? "tags:modify"
+ :
+ description: "Custu frunit s'atzessu pro mudare sas etichetas chi sighis."
+ name: "Etichetas (iscrie)"
+ ? "tags:read"
+ :
+ description: "Custu frunit un'atzessu pro sa leghidura ebbia a sas etichetas e a sos flussos de etichetas chi sighis."
+ name: "Etichetas (leghidura ebbia)"
user_applications:
index:
access: "%{name} tenet atzessu a :"
@@ -203,9 +249,9 @@ sc:
no_requirement: "%{name} non tenet bisòngiu de permissos"
title: "Aplicatziones autorizadas"
no_applications: "Non tenes aplicatziones autorizadas"
- policy: "Abbista sa polìtica de privadesa de s'aplicatzione"
+ policy: "Pòmpia sa polìtica de riservadesa de s'aplicatzione"
revoke_autorization: "Rèvoca"
- tos: "Abbista sos tèrmines de servìtziu de s'aplicatzione"
+ tos: "Pòmpia sos tèrmines de servìtziu de s'aplicatzione"
are_you_sure: "Seguru ses?"
are_you_sure_delete_account: "Seguru ses de bòlere serrare su contu tuo? Est una cosa chi non podet èssere annullada!"
are_you_sure_ignore_user: "As a ignorare custu impreadore. Seguru ses?"
@@ -302,10 +348,14 @@ sc:
original_white: "Isfundu biancu originale"
comments:
create:
- error: "B'est istadu un'errore cummentende."
+ fail: "Sa creatzione de su cummentu est fallida"
+ destroy:
+ fail: "S'iscantzellamentu de su cummentu est fallidu"
+ success: "Cummentu %{id} iscantzelladu chene problemas"
new_comment:
comment: "Cummenta"
commenting: "Cummentende..."
+ not_found: "Publicatzione o cummentu no agatados"
contacts:
index:
add_contact: "Annanghe unu cuntatu"
@@ -345,6 +395,7 @@ sc:
to: "A"
new_conversation:
fail: "Messàgiu non vàlidu"
+ not_found: "Arresonu no agatadu"
show:
delete: "Iscantzella s'arresonu"
hide: "Istichi e pone a sa muda s'arresonu"
@@ -413,11 +464,6 @@ sc:
what_is_an_aspect_q: "Ite est una cara?"
who_sees_post_a: "Cando faghes una publicatzione limitada cussa at a èssere visìbile pro sas persones chi as postu in cussa cara (o in cussas caras, si est fata in prus caras) in antis de fàghere sa publicatzione. Sos cuntatos chi non tenes in cussas caras no ant a pòdere bìdere cussa publicatzione. Sas publicatziones limitadas no ant a èssere mai visìbiles a chie non tenes in una de sas caras tuas."
who_sees_post_q: "Cando pùblico in una cara, chie lu bidet?"
- chat:
- add_contact_roster_a: "In antis de totu depes abilitare sa tzarrada pro una de sas caras in ue est cussa persone. Pro lu fàghere intra in sa %{contacts_page}, issèbera sa cara chi boles e incarca in s'iscona de sa tzarrada pro abilitare sa tzarrada pro cussa cara. %{toggle_privilege} Dias podere, si preferis, creare una cara ispetziale mutida \"Tzarrada\" e annànghere sas persones cun sas cales cheres tzarrare in cussa cara."
- add_contact_roster_q: "Comente potzo tzarrare cun calicunu in diaspora*?"
- contacts_page: "pàgina de sos cuntatos"
- title: "Tzarrada"
community_guidelines: "normas de sa comunidade"
faq: "Pregontas fitianas"
foundation_website: "situ web de sa fundatzione diaspora*"
@@ -660,8 +706,22 @@ sc:
likes:
create:
error: "B'est istadu un'errore ponende s'agradessimentu."
+ fail: "Sa creatzione de s'agradessimentu est fallida"
destroy:
error: "B'est istadu un'errore boghende s'agradessimentu."
+ not_found: "Publicatzione o agradessimentu no agatados"
+ people_dislike_this:
+ one: "%{count} disagradessimentu"
+ other: "%{count} disagradessimentos"
+ zero: "Perunu disagradessimentu"
+ people_like_this:
+ one: "%{count} agradessimentu"
+ other: "%{count} agradessimentos"
+ zero: "Perunu agradessimentu"
+ people_like_this_comment:
+ one: "%{count} agradessimentu"
+ other: "%{count} agradessimentos"
+ zero: "Perunu agradessimentu"
limited: "Limitadu"
more: "Àteru"
no_results: "Perunu resurtadu agatadu"
@@ -994,7 +1054,7 @@ sc:
closed:
another_pod: "un'àteru pod"
closed_pod: "Custu pod est, in custu momentu, serradu pro sas registratziones noas. Nointames, ti podes aunire su matessi a sa retza de diaspora* registrende·ti in %{wiki}. Essende totu sos pods connessos intre issos, as a tènnere atzessu a sos matessi cuntenutos in cue."
- find_pods: "Podes agatare una lista de pods in ue ti podes registrare in %{poduptime}"
+ find_pods: "Podes agatare una lista de pods in ue ti podes registrare in %{fediverse_observer}"
other_questions: "Si tenes cale si siat àtera pregunta chi pertocat a s'issèberu de unu pod, leghe·ti sa %{wiki} nostra"
create:
success: "Ti ses registradu in diaspora*!"
diff --git a/config/locales/diaspora/scn.yml b/config/locales/diaspora/scn.yml
new file mode 100644
index 000000000..2e11d421e
--- /dev/null
+++ b/config/locales/diaspora/scn.yml
@@ -0,0 +1,274 @@
+# Copyright (c) 2010-2013, Diaspora Inc. This file is
+# licensed under the Affero General Public License version 3 or later. See
+# the COPYRIGHT file.
+
+
+
+scn:
+ _applications: "Applicazioni"
+ _contacts: "Cuntatti"
+ _help: "Ajutu"
+ _services: "Servizi"
+ account: "Cuntu"
+ activerecord:
+ errors:
+ models:
+ contact:
+ attributes:
+ person_id:
+ taken: "havi a èssiri ùnicu ntra sti cuntatti."
+ person:
+ attributes:
+ diaspora_handle:
+ taken: "Già si lu pigghiaru."
+ user:
+ attributes:
+ email:
+ taken: "Già si lu pigghiaru."
+ person:
+ invalid: "Non è vàlidu"
+ username:
+ invalid: "Non è validu. Si ponnu usari sulu lèttiri, nùmiri e tratti vasci"
+ taken: "Già si lu pigghiaru."
+ admins:
+ admin_bar:
+ pages: "Pàgini"
+ stats:
+ 2weeks: "Dui simani"
+ 50_most: "Li 50 tag chiù populari"
+ go: "Vai"
+ month: "Misi"
+ week: "Simana"
+ user_search:
+ add_invites: "Agghiunci inviti"
+ all_aspects: "Tutti l'aspetti"
+ are_you_sure: "Sì' sicuru?"
+ are_you_sure_delete_account: "Si' sicuru di vuliri chiùjiri lu to cuntu? Doppu non si po chiù turnari ndarreri!"
+ aspect_memberships:
+ destroy:
+ failure: "Tentativu fallutu di livari na persuna di l'aspettu."
+ success: "Livasti cu successu na persuna di l'aspettu."
+ aspects:
+ add_to_aspect:
+ failure: "Non è possìbili agghiùnciri lu cuntattu a l'aspettu."
+ success: "Lu cuntattu s'agghiuncìu cu successu a l'aspettu."
+ aspect_listings:
+ add_an_aspect: "+ Agghiunci 'n aspettu"
+ aspect_stream:
+ make_something: "Fai qualchi cosa"
+ destroy:
+ failure: "%{name} non si potti rimòviri."
+ success: "%{name} si rimuvìu cu successu."
+ edit:
+ aspect_list_is_not_visible: "Li cuntatti nni st'aspettu non si ponnu vìdiri l'unu cu l'àutru."
+ aspect_list_is_visible: "Li cuntatti nni st'aspettu si ponnu vìdiri l'unu cu l'àutru."
+ confirm_remove_aspect: "Sì' sicuru di vuliri livari st'aspettu?"
+ rename: "Nòmina arreri"
+ index:
+ donate: "Duna"
+ help:
+ do_you: "Tu:"
+ feature_suggestion: "... hai un %{link} suggerimentu?"
+ find_a_bug: "trova un %{link}"
+ have_a_question: "hai un %{link}?"
+ here_to_help: "La cumunità \"diaspora\" è cca!"
+ need_help: "Hai bisognu d'ajutu?"
+ tag_bug: "erruri"
+ tag_feature: "caratterìstica"
+ tag_question: "dumanna"
+ introduce_yourself: "Chistu è lu to stream. Trasi e prisèntati."
+ new_here:
+ learn_more: "Mpara chiossai"
+ title: "Benvinutu novu utilizzaturi"
+ services:
+ content: "Po' cunnèttiri sti servizi a diaspora*:"
+ heading: "Cunnetti servizi"
+ welcome_to_diaspora: "Benvinutu nni diaspora, %{name}"
+ no_contacts_message:
+ try_adding_some_more_contacts: "Tu po' circari o %{invite_link} a àutri cuntatti"
+ you_should_add_some_more_contacts: "Avissi a agghiùnciri àutri cuntatti!"
+ seed:
+ acquaintances: "Canuscenti"
+ family: "Famigghia"
+ friends: "Amici"
+ work: "Travagghiu"
+ update:
+ failure: "Lu to aspettu, %{name}, avìa un nomu troppu longu pi èssiri sarbatu."
+ success: "Lu to aspettu, %{name}, s'arriniscìu a editari cu successu."
+ bookmarklet:
+ post_something: "Pùbblica nni diaspora"
+ cancel: "Cancella"
+ comments:
+ new_comment:
+ comment: "Cummentu"
+ commenting: "Cummintannu..."
+ contacts:
+ index:
+ all_contacts: "Tutti li cuntatti"
+ my_contacts: "Li me' cuntatti"
+ only_sharing_with_me: "Spàrtilu sulu cu mia"
+ start_a_conversation: "Accumincia na conversazioni"
+ title: "Cuntatti"
+ conversations:
+ create:
+ fail: "Messaggiu non vàlidu"
+ sent: "Messaggiu mannatu"
+ index:
+ inbox: "Posta in arrivu"
+ no_messages: "Nuddu messaggiu"
+ new:
+ send: "Manna"
+ sending: "Mannannu..."
+ subject: "Suggettu"
+ to: "A"
+ show:
+ reply: "Arrispunni"
+ replying: "Arrispunnennu..."
+ date:
+ formats:
+ birthday: "%B %d"
+ birthday_with_year: "Variàbili: %d"
+ fullmonth_day: "%B %d"
+ delete: "Cancella"
+ email: "Email"
+ error_messages:
+ helper:
+ correct_the_following_errors_and_try_again: "Currèggiri li seguenti erruri e pruvari arreri"
+ fill_me_out: "Jìnchimi"
+ find_people: "Trova persuni o #tags"
+ help:
+ getting_help:
+ get_support_a_wiki: "Cerca lu %{link}"
+ here: "cca"
+ irc: "IRC"
+ invitations:
+ create:
+ no_more: "Non hai àutri inviti"
+ rejected: "Sti ndirizzi e-mail hannu problemi: %{emails}"
+ sent: "Lu nvitu si mannau a: %{emails}"
+ new:
+ invite_someone_to_join: "Invita qualchidunu a diaspora"
+ language: "Lingua"
+ send_an_invitation: "Manna 'n invitu"
+ layouts:
+ application:
+ back_to_top: "Torna 'n capu"
+ powered_by: "Putenziatu pi \"diaspora\""
+ whats_new: "Nuvitati?"
+ header:
+ code: "Còdici"
+ logout: "Nesci"
+ profile: "Profilu"
+ settings: "Mpustazioni"
+ limited: "Limitatu"
+ more: "Chiossai"
+ no_results: "Non si truvau nuddu risultatu"
+ notifications:
+ index:
+ and: "e"
+ notifier:
+ a_post_you_shared: "un post"
+ click_here: "Ammacca cca"
+ comment_on_post:
+ reply: "Arrispunni o vidi lu post di %{name}"
+ confirm_email:
+ click_link: "Pi attivari lu to novu ndirizzu email %{unconfirmed_email}, pi favuri vai a stu link:"
+ subject: "Pi favuri, attiva lu to novu ndirizzu email %{unconfirmed_email}"
+ email_sent_by_diaspora: "St'email la mannau %{pod_name}. Si ti piacissi non ricìviri chiù email comu chissa,"
+ hello: "Ciau %{name}"
+ liked:
+ liked: "A %{name} ci piacìu lu to post"
+ view_post: "Vidi lu post"
+ mentioned:
+ subject: "%{name} ti ammuntuau in diaspora*"
+ private_message:
+ reply_to_or_view: "Arrispunni a o vidi sta conversazioni >"
+ reshared:
+ view_post: "Vidi lu post"
+ single_admin:
+ admin: "Lu to amministraturi diaspora*"
+ subject: "Un missaggiu circa lu to cuntu diaspora*:"
+ started_sharing:
+ view_profile: "Vidi lu profilu di %{name}"
+ thanks: "Grazi"
+ to_change_your_notification_settings: "pi canciari li mpustazioni di nutìfica"
+ nsfw: "Non si truvau nudda traduzioni pi sta palora"
+ ok: "Va bonu"
+ people:
+ index:
+ no_one_found: "...e non si truvau a nuddu"
+ no_results: "Attiatù! Nicèssiti ricircari qualchi cosa."
+ searching: "Sta circannu, pi favuri, 'n tanticchia di pacenzia..."
+ person:
+ thats_you: "Chissu sì' tu!"
+ profile_sidebar:
+ bio: "Biografìa"
+ show:
+ closed_account: "Stu cuntu si chiudìu."
+ does_not_exist: "Sta pirsuna non esisti!"
+ photos:
+ new_profile_photo:
+ upload: "Càrrica na nova fotu pi lu pròfilu"
+ privacy: "Privasìa"
+ profile: "Profilu"
+ profiles:
+ edit:
+ first_name: "Nomu"
+ last_name: "Cugnomu"
+ your_bio: "La to biografìa"
+ your_birthday: "Lu to cumpleannu"
+ your_gender: "Lu to gèniri"
+ your_name: "Lu to nomu"
+ your_photo: "La to fotu"
+ your_tags: "Presèntati in 4 palori"
+ public: "Pùbblicu"
+ registrations:
+ new:
+ enter_email: "Scrivi lu to ndirizzu email"
+ enter_password: "Scrivi na palora secreta (di mìnimu 6 caràtteri)"
+ enter_password_again: "Scrivi la stissa palora secreta di antura"
+ search: "Cerca"
+ services:
+ create:
+ failure: "Autenticazioni falluta."
+ success: "Autenticazioni juta a bon fini."
+ failure:
+ error: "Cci fu 'n erruri"
+ index:
+ logged_in_as: "Trasisti comu %{nickname}"
+ settings: "Mpustazioni"
+ shared:
+ invitations:
+ invite_your_friends: "Invita li to' amici"
+ invites: "Invita"
+ publisher:
+ new_user_prefill:
+ invited_by: "Grazi pi l'invitu, "
+ streams:
+ activity:
+ title: "La me attività"
+ aspects:
+ title: "Li me' aspetti"
+ aspects_stream: "Aspetti"
+ followed_tag:
+ add_a_tag: "Agghiunci un tag"
+ mentioned_stream: "@Menziuni"
+ mentions:
+ title: "@Menziuni"
+ username: "Nomu di l'utilizzaturi"
+ users:
+ edit:
+ change_email: "Cancia email"
+ change_language: "Cancia lingua"
+ change_password: "Cancia palora secreta"
+ character_minimum_expl: "havi a aviri almenu sei caràtteri"
+ comment_on_post: "qualchidunu cummenta lu to post"
+ current_password: "Attuali palora secreta"
+ new_password: "Nova palora secreta"
+ your_email: "La to email"
+ getting_started:
+ who_are_you: "Cu' si'?"
+ update:
+ language_changed: "Lingua canciata"
+ language_not_changed: "Canciu di lingua fallutu"
+ unconfirmed_email_not_changed: "Canciu di email fallutu" \ No newline at end of file
diff --git a/config/locales/diaspora/sl.yml b/config/locales/diaspora/sl.yml
index 89377da75..0b987204c 100644
--- a/config/locales/diaspora/sl.yml
+++ b/config/locales/diaspora/sl.yml
@@ -76,6 +76,8 @@ sl:
two: "%{count} uporabnika"
zero: "%{count} uporabnikov"
week: "Teden"
+ user_entry:
+ current_sign_in_ip: "Naslov IP ob trenutni prijavi"
user_search:
add_invites: "dodaj vabila"
email_to: "Povabila na e-poštni naslov"
diff --git a/config/locales/diaspora/sq.yml b/config/locales/diaspora/sq.yml
index f66bdcffb..97929eff7 100644
--- a/config/locales/diaspora/sq.yml
+++ b/config/locales/diaspora/sq.yml
@@ -34,13 +34,13 @@ sq:
reshare:
attributes:
root_guid:
- taken: "E bukur, hë? E keni ndarë një herë me të tjerët këtë postim!"
+ taken: "E bukur, hë? E keni ndarë një herë me të tjerët këtë postim!"
user:
attributes:
email:
taken: "është i zënë."
person:
- invalid: "është i pavleshëm."
+ invalid: "është i pavlefshëm."
username:
invalid: "është i pavlefshëm. Lejojmë vetë shkronja, numra, dhe nënvija."
taken: "është i zënë."
@@ -91,6 +91,7 @@ sq:
user_entry:
account_closed: "Llogari e mbyllur"
admin: "Përgjegjësi"
+ current_sign_in_ip: "Adresë IP në hyrjen aktuale"
diaspora_handle: "ID diaspora*"
email: "Email"
guid: "GUID"
@@ -149,7 +150,7 @@ sq:
other: "Numër përdoruesish të rinj këtë javë: %{count}"
zero: "Numër përdoruesish të rinj këtë javë: asnjë"
current_server: "Data e tanishme e shërbyesit është %{date}"
- all_aspects: "Krejt Aspektet"
+ all_aspects: "Krejt aspektet"
api:
openid_connect:
authorizations:
@@ -162,40 +163,85 @@ sq:
client_id_not_found: "S’u gjet klient me client_id %{client_id} me URI ridrejtimi %{redirect_uri}"
deny: "Mohoje"
no_requirement: "%{name} s’ka nevojë për leje"
+ private_contacts_linkage_error: "private:read dhe private:modify lypin edhe contacts:read"
redirection_message: "Jeni i sigurt se doni t’i jepni hyrje te %{redirect_uri}?"
+ unknown_scope: "Fushëveprim i panjohur: %{scope_name}"
error_page:
- contact_developer: "Duhet të lidheni me zhvilluesin e aplikacionit dhe të përfshini mesazhin vijues të hollësishëm të gabimit:"
+ contact_developer: "Ju lutemi, lidhuni me zhvilluesin e aplikacionit dhe të përfshini mesazhin vijues të hollësishëm të gabimit:"
could_not_authorize: "Aplikacioni s’u autorizua dot"
login_required: "Përpara se të mund të autorizoni këtë aplikacion, duhet të hyni në llogarinë tuaj"
title: "Oh! Diç shkoi ters :("
scopes:
- aud:
- description: "Kjo i akordon aplikacionit leje aud"
- name: "aud"
+ ? "contacts:modify"
+ :
+ description: "Kjo akordon hyrje shkrimi te kontaktet dhe të dhënat e lidhura me to (të tilla si, aspekte)."
+ name: "Kontakte (Shkrim)"
+ ? "contacts:read"
+ :
+ description: "Kjo akordon hyrje vetëm-për-lexim te kontaktet dhe të dhënat e lidhura me to (të tilla si, aspekte)."
+ name: "Kontakte (Vetëm-lexim)"
+ conversations:
+ description: "Kjo akordon leje leximi dhe shkrimit te mesazhe private."
+ name: "Biseda"
+ email:
+ description: "Kjo akordon hyrje vetëm-për-lexim te adresa juaj email."
+ name: "Email"
+ interactions:
+ description: "Kjo akordon hyrje te ndërveprim me postime, për shembull, pëlqim, ose parashtrim i një komenti."
+ name: "Ndërveprime"
name:
- description: "Kjo i akordon aplikacionit leje emrash"
- name: "emër"
+ description: "Kjo akordon hyrje vetëm-për-lexim te emri juaj i plotë."
+ name: "Emër i plotë"
nickname:
- description: "Kjo i akordon aplikacionet leje nofkash"
- name: "nofkë"
+ description: "Kjo akordon hyrje vetëm-për-lexim te emri juaj i përdoruesit."
+ name: "Emër përdoruesi"
+ notifications:
+ description: "Kjo akordon hyrje leximi dhe shkrimi te njoftimet tuaja."
+ name: "Njoftime"
openid:
- description: "Kjo i lejon aplikacionit të lexojë profilin tuaj bazë"
- name: "profil bazë"
+ description: "Kjo akordon hyrje vetëm-për-lexim te të dhëna elementare profili."
+ name: "Të dhëna elementare profili"
picture:
- description: "Kjo i akordon aplikacionit leje mbi fotot"
- name: "foto"
+ description: "Kjo akordon hyrje vetëm-për-lexim te fotoja e profilit tuaj."
+ name: "Foto profili"
+ ? "private:modify"
+ :
+ description: "Kjo akordon hyrje te botim postimesh private."
+ name: "Postime Private (Shkrim)"
+ ? "private:read"
+ :
+ description: "Kjo akordon hyrje vetëm-për-lexim te postimet private tuajat dhe të kontakteve tuaj."
+ name: "Postime Private (Vetëm-lexim)"
profile:
- description: "Kjo i lejon aplikacionit të lexojë profilin tuaj të zgjeruar"
- name: "profil i zgjeruar"
- read:
- description: "Kjo i lejon aplikacionit të lexojë rrjedhën tuaj, bisedat tuaja dhe profilin tuaj të plotë"
- name: "lexim profili, rrjedhe dhe bisedash"
+ description: "Kjo akordon hyrje vetëm-për-lexim te të dhënat e profilit tuaj të zgjeruar."
+ name: "Profil i zgjeruar (Vetëm-lexim)"
+ ? "profile:modify"
+ :
+ description: "Kjo akordon hyrje për përditësim të dhënash të profilit tuaj të zgjeruar."
+ name: "Profil i zgjeruar (Shkrim)"
+ ? "profile:read_private"
+ :
+ description: "Kjo akordon hyrje vetëm-për-lexim te të dhëna të profilit tuaj privat."
+ name: "Të dhëna profili privat (Vetëm-lexim)"
+ ? "public:modify"
+ :
+ description: "Kjo akordon hyrje shkrimi për të botuar postime publike dhe te të dhëna të lidhura me to (të tilla si, vota dhe media e bashkëngjitur)."
+ name: "Postime Publike (Shkrim)"
+ ? "public:read"
+ :
+ description: "Kjo akordon hyrje te postimet tuaja publike, përfshi ndërveprime dhe të dhëna që lidhen me to."
+ name: "Postime Publike (Vetëm-lexim)"
sub:
- description: "Kjo i akordon aplikacionit leje sub"
- name: "sub"
- write:
- description: "Kjo i lejon aplikacionit të dërgojë postime të rinj, të shkruajë biseda dhe të dërgojë reagime"
- name: "dërgim postimesh, biseda dhe reagime"
+ description: "Kjo akordon hyrje vetëm-për-lexim te identifikuesi juaj unik."
+ name: "Identifikues unik"
+ ? "tags:modify"
+ :
+ description: "Kjo akordon hyrje për të ndryshuar etiketat që ndiqni."
+ name: "Etiketa (Shkrim)"
+ ? "tags:read"
+ :
+ description: "Kjo akordon hyrje vetëm-për-lexim te etiketat tuaja të ndjekura dhe te rrjedha etiketash."
+ name: "Etiketa (Vetëm-shkrim)"
user_applications:
index:
access: "%{name} mund të hyjë në:"
@@ -211,11 +257,11 @@ sq:
are_you_sure_ignore_user: "Ju ndan një hap nga shpërfillja e atij përdoruesi. Jeni i sigurt?"
aspect_memberships:
destroy:
- failure: "Heqja e personit nga aspekti dështoi"
+ failure: "S’u arrit të hiqet personi nga aspekti."
forbidden: "S’keni leje të bëni këtë."
invalid_statement: "U hodh tej zë i përsëdytur."
- no_membership: "Në atë aspekt nuk u gjet dot personi i përzgjedhur"
- success: "Personi u hoq me sukses nga aspekti"
+ no_membership: "Në atë aspekt s’u gjet dot personi i përzgjedhur."
+ success: "Personi u hoq me sukses nga aspekti."
aspects:
add_to_aspect:
failure: "Shtimi i kontaktit te aspekti dështoi."
@@ -224,19 +270,19 @@ sq:
add_an_aspect: "+ Shtoni një aspekt"
aspect_stream:
make_something: "Bëni diçka"
- stay_updated: "Jini Përherë i Përditësuar"
+ stay_updated: "Jini përherë i përditësuar"
stay_updated_explanation: "Rrëkeza juaj kryesore mbushet me krejt kontaktet tuaj, etiketat që ndiqni, dhe postime prej disa anëtarëve me krijimtari të bashkësisë."
destroy:
- failure: "%{name} nuk është bosh dhe nuk u hoq dot."
+ failure: "%{name} s’u hoq dot."
success: "%{name} u hoq me sukses."
success_auto_follow_back: "\"%{name} u hoq me sukses. Këtë aspekt e përdorët për të ndjekur përdorues vetvetiu. Shihni te rregullimet tuaja të përdoruesit se si të përzgjidhni një aspekt të ri vetëndjekjeje."
edit:
- aspect_list_is_not_visible: "lista e aspekteve u fshihet të tjerëve në aspekt"
- aspect_list_is_visible: "lista e aspekteve është e dukshme për të tjerët në aspekt"
+ aspect_list_is_not_visible: "Kontakte në këtë aspekt s’janë në gjendje të shohin njëri-tjetrin."
+ aspect_list_is_visible: "Kontakte në këtë aspekt janë të dukshëm për njëri-tjetrin."
confirm_remove_aspect: "Jeni i sigurt se doni të fshihet ky aspekt?"
- rename: "riemërtojeni"
- update: "përditësoje"
- updating: "përditësim"
+ rename: "Riemërtojeni"
+ update: "Përditësoje"
+ updating: "Përditësim"
index:
donate: "Dhuroni"
donate_liberapay: "Dhuroni te liberapay"
@@ -249,7 +295,7 @@ sq:
have_a_question: "... keni një %{link}?"
here_to_help: "Bashkësia diaspora* është këtu!"
mail_podmin: "Email përgjegjësi"
- need_help: "Ju Duhet Ndihmë?"
+ need_help: "Ju duhet ndihmë?"
support_forum: "Mundeni edhe të merrni pjesë te %{support_forum}."
support_forum_link: "forumi i asistencës"
tag_bug: "të metë"
@@ -257,21 +303,21 @@ sq:
tag_question: "pyetje"
tutorial_link_text: "Përkujdesore"
tutorials_and_wiki: "%{faq}, %{tutorial} & %{wiki}: ndihmë për ju në hapat e para."
- introduce_yourself: "Kjo është rrëkeza juaj. Fillojani duke prezantuar vetveten."
+ introduce_yourself: "Kjo është rrëkeza juaj. Fillojani duke prezantuar vetveten."
keep_pod_running: "Mbajeni të shpejtë xhirimin e %{pod}-it dhe u blini shërbyesve kafenë e ditës, përmes një dhurimi të përmuajshëm!"
new_here:
- follow: "Ndiqni %{link} dhe përshëndetni mirëseardhjen e përdoruesve të rinj te Diaspora*!"
+ follow: "Ndiqni %{link} dhe përshëndetni mirëseardhjen e përdoruesve të rinj te diaspora*!"
learn_more: "Mësoni më tepër"
- title: "Mirë se vini, Përdorues i Ri"
+ title: "Mirë se vini, përdorues i ri"
services:
- content: "Te Diaspora mund të lidheni me shërbimet vijuese:"
- heading: "Shërbime Lidhjesh"
- welcome_to_diaspora: "Mirë se vini te Diaspora, %{name}!"
+ content: "Te diaspora* mund të lidheni me shërbimet vijuese:"
+ heading: "Shërbime lidhjesh"
+ welcome_to_diaspora: "Mirë se vini te diaspora*, %{name}!"
no_contacts_message:
- community_spotlight: "prozhektorit mbi bashkësinë"
+ community_spotlight: "Projektorit mbi bashkësinë"
invite_link_text: "ftoni"
or_spotlight: "Ose mund të kërkoni përmes %{link}"
- try_adding_some_more_contacts: "Mund të kërkoni ose të ftoni më tepër kontakte."
+ try_adding_some_more_contacts: "Mund të kërkoni ose %{invite_link} më tepër kontakte."
you_should_add_some_more_contacts: "Do të duhej të shtoni ca kontakte!"
seed:
acquaintances: "Të njohur"
@@ -289,9 +335,9 @@ sq:
failure: "S’munda dot ta ndal shpërfilljen e atij përdoruesi. #evasion"
success: "Pa të shohim se ç’kanë për të thënë! #sayhello"
bookmarklet:
- explanation: "Postoni te Diaspora prej kudo qofshi, duke faqeruajtur %{link}."
- heading: "Zbatimth Faqerojtës"
- post_something: "Postoni diçka te Diaspora"
+ explanation: "Postoni te diaspora* prej kudo qofshi, duke faqeruajtur këtë lidhje => %{link}."
+ heading: "Aplikacionth Faqerojtës"
+ post_something: "Postoni te diaspora*"
cancel: "Anuloje"
color_themes:
dark: "E errët"
@@ -302,16 +348,20 @@ sq:
original_white: "Origjinalja me sfond të bardhë"
comments:
create:
- error: "S’u arrit të komentohej."
+ fail: "Krijimi i komentit dështoi"
+ destroy:
+ fail: "Fshirja e komentit dështoi"
+ success: "Komenti %{id} u fshi me sukses"
new_comment:
comment: "Koment"
commenting: "Po komentohet..."
+ not_found: "S’u gjet postim ose koment"
contacts:
index:
add_contact: "Shtoni kontakt"
- all_contacts: "Krejt Kontaktet"
+ all_contacts: "Krejt kontaktet"
community_spotlight: "Projektor i bashkësisë"
- my_contacts: "Kontaktet e Mia"
+ my_contacts: "Kontaktet e mia"
no_contacts: "Duket se keni nevojë të shtoni ndonjë kontakt!"
no_contacts_in_aspect: "Në këtë aspekt s’keni ende ndonjë kontakt. Më poshtë keni një listë të kontakteve ekzistuese që mund të shtoni në këtë aspekt."
no_contacts_message: "Kontrolloni te %{community_spotlight}"
@@ -320,7 +370,7 @@ sq:
title: "Kontakte"
user_search: "Kërkim kontaktesh"
spotlight:
- community_spotlight: "Prozhektori i Bashkësisë"
+ community_spotlight: "Projektori i bashkësisë"
no_members: "Ende s’ka anëtarë."
suggest_member: "Sugjeroni një anëtar"
conversations:
@@ -335,21 +385,22 @@ sq:
inbox: "Të marrat"
new_conversation: "Bisedë e re"
no_contacts: "Përpara se të nisni një bisedë, duhet të shtoni ca kontakte"
- no_messages: "pa mesazhe"
+ no_messages: "Pa mesazhe"
new:
message: "Mesazh"
send: "Dërgoje"
sending: "Po dërgohet..."
- subject: "subjekt"
+ subject: "Subjekt"
subject_default: "Pa subjekt"
- to: "për"
+ to: "Për"
new_conversation:
fail: "Mesazh i pavlefshëm"
+ not_found: "S’u gjet bisedë"
show:
- delete: "fshije dhe bllokoje bashkëbisedimin"
+ delete: "Fshije bisedën"
hide: "Fshihe dhe heshtoje bisedën"
last_message: "Mesazhi i fundit i marrë %{timeago}"
- reply: "përgjigjuni"
+ reply: "Përgjigjuni"
replying: "Po përgjigjeni..."
date:
formats:
@@ -377,7 +428,7 @@ sq:
mini_magick_processing_error: "S’u arrit të manipulohej me MiniMagick, ndoshta s’është figurë? Gabim Origjinal: %{e}"
rmagick_processing_error: "S’u arrit të manipulohej me rmagick, ndoshta s’është figurë?"
fill_me_out: "Plotësomëni"
- find_people: "Gjeni persona ose #tags"
+ find_people: "Gjeni persona ose #etiketa"
help:
account_and_data_management:
close_account_a: "Shkoni në fund të faqes së rregullimeve tuaja dhe klikoni mbi butonin “Mbylle llogarinë”. Do t’ju kërkohet të jepni fjalëkalimin tuaj që të plotësohet procesi. Mos harroni, nëse mbyllni llogarinë tuaj, nuk do të jeni <strong>kurrë</strong> më në gjendje të riregjistroni në po atë nyje emrin tuaj të përdoruesit."
@@ -413,11 +464,6 @@ sq:
what_is_an_aspect_q: "Ç’është një aspekt?"
who_sees_post_a: "Nëse bëni një postim të kufizuar, do të jetë i dukshëm vetëm për persona që keni vendosur në atë aspekt (ose aspekte, nëse është bërë në disa aspekte) përpara dërgimit të postimit. Kontaktet që nuk janë pjesë e aspektit, nuk kanë asnjë mundësi ta shohin postimin. Postimet e kufizuara nuk do të jenë kurrë të dukshme për cilindo që s’e keni vendosur në aspektin përkatës."
who_sees_post_q: "Ç’është një aspekt?"
- chat:
- add_contact_roster_a: "Së pari, duhet të aktivizoni fjalosjet për një nga aspektet ku gjendet ai person. Për ta bërë këtë, shkoni te %{contacts_page}, përzgjidhni aspektin që doni dhe klikoni mbi ikonën e fjalosjeve që të aktivizoni fjalosjet për atë aspekt. %{toggle_privilege} Nëse parapëlqeni, mund të krijoni një aspekt special të quajtur “Fjalosje” dhe të shtoni në atë aspekt persona me të cilët doni të fjaloseni. Pasi ta keni bërë këtë, hapni ndërfaqen e fjalosjes dhe përzgjidhni personin me të cilin doni të fjaloseni."
- add_contact_roster_q: "Si të fjalosem me dikë në diaspora*?"
- contacts_page: "faqe kontaktesh"
- title: "Fjalosje"
community_guidelines: "udhëzime bashkësie"
faq: "PBR"
foundation_website: "sajti i diaspora* foundation"
@@ -429,7 +475,7 @@ sq:
get_support_a_tutorials: "Hidhni një sy te %{tutorials} tona"
get_support_a_website: "Vizitoni %{link} tonë"
get_support_a_wiki: "Kërkoni te %{link}"
- get_support_q: "Po kur pyetja ime s’ka përgjigje te ky FAQ? Ku mund të marr gjetiu tjetër asistencë?"
+ get_support_q: "Po kur pyetja ime s’ka përgjigje te këto PBR? Ku mund të marr gjetiu tjetër asistencë?"
getting_started_a: "Jeni me fat. Provoni %{tutorial_series} te sajti ynë mbi projektin. Do t’ju kalojë hap pas hapi përmes procesit të regjistrimit dhe do t’ju mësojë krejt gjërat themelore që keni nevojë të dini mbi përdorimin e diaspora*."
getting_started_q: "Ndihmë! Më duhet ca ndihmë e thjeshtë, sa për t’ia filluar!"
title: "Si të merret ndihmë"
@@ -462,7 +508,7 @@ sq:
miscellaneous:
back_to_top_a: "Po. Pas rrëshqitjes poshtë në një faqe, klikoni mbi shigjetën ngjyrë gri që duket në cepin e poshtëm majtas të dritares së shfletuesit tuaj."
back_to_top_q: "A ka një rrugë të shpejtë për të kaluar në krye të faqes pasi kam rrëshqitur për poshtë?"
- diaspora_app_a: "Ka patur disa aplikacione Android në zhvillim e sipër nga anëtarë të bashkësisë. Disa janë projekte të braktisura prej kohësh, ndaj edhe nuk funksionojnë mirë me versionin e tanishëm të diaspora*. Hëpërhë mos prisni shumë prej këtyre aplikacioneve. Nuk ka aplikacion për iOS hëpërhë. Rruga më e mirë për të përdorur diaspora*-n prej pajisjes suaj celulare është përmes një shfletuesi, ngaqë kemi krijuar një version për celular të sajtit, i cili do të duhej të punonte paq në krejt pajisjet, edhe pse nuk përmban ende gjithë funksionet."
+ diaspora_app_a: "Ka pasur disa aplikacione Android në zhvillim e sipër nga anëtarë të bashkësisë. Disa janë projekte të braktisura prej kohësh, ndaj edhe nuk funksionojnë mirë me versionin e tanishëm të diaspora*. Hëpërhë mos prisni shumë prej këtyre aplikacioneve. Nuk ka aplikacion për iOS hëpërhë. Rruga më e mirë për të përdorur diaspora*-n prej pajisjes suaj celulare është përmes një shfletuesi, ngaqë kemi krijuar një version për celular të sajtit, i cili do të duhej të punonte paq në krejt pajisjet, edhe pse nuk përmban ende gjithë funksionet."
diaspora_app_q: "A ka një aplikacion diaspora* për Android ose iOS?"
photo_albums_a: "Jo, hëpërhë jo. Sidoqoftë, mund të shihni fotot e ngarkuara nga një person në skedën Foto të faqes së tyre të profilit."
photo_albums_q: "A ka albume fotosh apo videosh?"
@@ -604,19 +650,19 @@ sq:
configure_your_pod: "Formësoni nyjën tuaj"
contact_irc: "lidhuni me ne përmes IRC-së"
contribute: "Jepni ndihmesë"
- contribute_info: "Bëjeni edhe më të mirë diaspora*-n! Nëse gjeni nodnjë të metë, ju lutemi %{report_bugs}."
+ contribute_info: "Bëjeni edhe më të mirë diaspora*-n! Nëse gjeni ndonjë të metë, ju lutemi %{report_bugs}."
create_an_account: "Krijoni një llogari"
create_an_account_info: "%{sign_up_link} për një lidhje të re."
faq_for_podmins: "PBR për mirëmbajtës nyjash, te wiki jonë"
getting_help: "Si të merret ndihmë"
getting_help_info: "Kemi radhitur disa %{faq}, përfshi disa ndihmëza dhe marifete shtesë, dhe zgjidhje për shumicën e problemeve të zakonshme. Mos ngurroni gjithashtu të %{irc}."
- headline: "Mirë se edhët, shok."
+ headline: "Mirë se erdhët, shok."
make_yourself_an_admin: "Bëjeni veten një përgjegjës"
make_yourself_an_admin_info: "Udhëzime mund të gjeni te %{wiki}. Kjo do të shtonte një lidhje “%{admin_dashboard}” te menuja juaj e përdoruesit, në krye, kur jeni i futur. Ju jep gjëra të tilla si kërkim përdoruesish dhe statistika për nyjën tuaj."
report_bugs: "njoftoni për to"
update_instructions: "përditësoni udhëzimet te wiki e diaspora*"
update_your_pod: "Përditësoni nyjën tuaj"
- update_your_pod_info: "Mundë gjeni %{update_instructions}."
+ update_your_pod_info: "Mund të gjeni %{update_instructions}."
invitation_codes:
already_logged_in: "Jeni ftuar nga %{inviter} të bëheni pjesë e kësaj nyjeje, por jeni tashmë i futur."
not_valid: "Ai kod ftese s’është më i vlefshëm"
@@ -626,15 +672,15 @@ sq:
empty: "Ju lutemi, jepni të paktën një adresë email."
no_more: "Nuk keni më ftesa."
note_already_sent: "Janë dërguar tashmë ftesa te: %{emails}"
- rejected: "Adresat email vijuese patën probleme: "
- sent: "Janë dërguar ftesa për: "
+ rejected: "Adresat email vijuese patën probleme: %{emails}"
+ sent: "Janë dërguar ftesa për: %{emails}"
new:
codes_left:
one: "Ende një ftesë te ky kod"
other: "Ende %{count} ftesa te ky kod"
zero: "\"S’kanë mbetur më ftesa te ky kod"
comma_separated_plz: "Mund të jepni disa adresa email njëherësh, ndarë me presje."
- invite_someone_to_join: "Ftoni dikë që të marrë pjesë në Diaspora!"
+ invite_someone_to_join: "Ftoni dikë që të marrë pjesë në diaspora*!"
language: "Gjuhë"
paste_link: "Ndajeni me shokët tuaj këtë lidhje që t’i ftoni ata te diaspora*, ose dërgojuani lidhjen drejtpërsëdrejti me email."
send_an_invitation: "Dërgoni një ftesë"
@@ -649,7 +695,7 @@ sq:
source_package: "Shkarkoni paketën e kodit burim"
statistics_link: "Statistika nyjeje"
switch_to_standard_mode: "Kalo nën mënyrën standarde"
- switch_to_touch_optimized_mode: "Kalo nën mënyrën e optimizuar për ekrane touch"
+ switch_to_touch_optimized_mode: "Kalo nën mënyrën e optimizuar për ekrane me prekje"
whats_new: "Ç'ka të re?"
header:
code: "Kod"
@@ -660,11 +706,25 @@ sq:
likes:
create:
error: "Pëlqimi dështoi."
+ fail: "Krijimi i pëlqimit dështoi"
destroy:
error: "S’u hoq dot pëlqimi."
+ not_found: "S’u gjet postim ose pëlqim"
+ people_dislike_this:
+ one: "%{count} mospëlqim"
+ other: "%{count} mospëlqime"
+ zero: "Pa mospëlqime"
+ people_like_this:
+ one: "%{count} pëlqim"
+ other: "%{count} pëlqime"
+ zero: "Pa pëlqime"
+ people_like_this_comment:
+ one: "%{count} pëlqim"
+ other: "%{count} pëlqime"
+ zero: "Pa pëlqime"
limited: "E kufizuar"
more: "Më tepër"
- no_results: "Nuk u Gjetën Përfundime"
+ no_results: "S’u gjetën përfundime"
notifications:
also_commented:
few: "%{actors} kanë komentuar gjithashtu te %{post_link} nga %{post_author}."
@@ -679,7 +739,7 @@ sq:
one: "%{actors} ka komentuar në një postim të fshirë."
other: "%{actors} kanë komentuar në një postim të fshirë."
two: "%{actors} kanë komentuar në një postim të fshirë."
- zero: "%{actors} ka komentuar në një postim të fshirë."
+ zero: "%{actors} që ka komentuar në një postim të fshirë."
comment_on_post:
few: "Te %{post_link} juaj komentuan %{actors}."
many: "Te %{post_link} juaj komentuan %{actors}."
@@ -698,14 +758,14 @@ sq:
and_others:
few: "dhe %{count} të tjerë"
many: "dhe %{count} të tjerë"
- one: "dhe një më tepër"
+ one: "dhe një tjetër"
other: "dhe %{count} të tjerë"
two: "dhe %{count} të tjerë"
zero: "dhe askush tjetër"
comment_on_post: "Koment në postim"
contacts_birthday: "Datëlindje"
liked: "Të pëlqyer"
- mark_all_as_read: "Vëru Shenjë të Tërave Si të Lexuara"
+ mark_all_as_read: "Vëru shenjë të tërave si të lexuara"
mark_all_shown_as_read: "Vëru shenjë krejt të shfaqurave si të lexuara"
mark_read: "Vëri shenjë si të lexuar"
mark_unread: "Vëri shenjë si të palexuar"
@@ -720,24 +780,24 @@ sq:
liked:
few: "%{post_link} tuaj e kanë përlqyer %{actors}."
many: "%{post_link} tuaj e kanë përlqyer %{actors}."
- one: "%{post_link} tuaj e ka përlqyer %{actors}."
- other: "%{post_link} tuaj e kanë përlqyer %{actors}."
+ one: "%{post_link} tuaj e ka pëlqyer %{actors}."
+ other: "%{post_link} tuaj e kanë pëlqyer %{actors}."
two: "%{post_link} tuaj e kanë përlqyer %{actors}."
- zero: "%{post_link} tuaj e kanë përlqyer %{actors}."
+ zero: "%{post_link} tuaj e kanë pëlqyer %{actors}."
liked_post_deleted:
few: "Postimin tuaj të fshirë e pëlqyen %{actors}."
many: "Postimin tuaj të fshirë e pëlqyen %{actors}."
one: "Postimin tuaj të fshirë e pëlqeu %{actors}."
other: "Postimin tuaj të fshirë e pëlqyen %{actors}."
two: "Postimin tuaj të fshirë e pëlqyen %{actors}."
- zero: "Postimin tuaj të fshirë e pëlqeu %{actors}."
+ zero: "Postimin tuaj të fshirë e pëlqyen %{actors}."
mentioned:
few: "%{actors} ju përmendën te një %{post_link}."
many: "%{actors} ju përmendën te një %{post_link}."
- one: "%{actors} ju përmendi te një %{post_link}."
- other: "%{actors} ju përmendën te një %{post_link}."
+ one: "%{actors} ju përmendi te postimi %{post_link}."
+ other: "%{actors} ju përmendën te postimi %{post_link}."
two: "%{actors} ju përmendën te një %{post_link}."
- zero: "%{actors} ju ka përmendur te një %{post_link}."
+ zero: "%{actors} ju ka përmendur te postimi %{post_link}."
mentioned_deleted:
few: "Në një postim të fshirë ju kanë përmendur %{actors}."
many: "Në një postim të fshirë ju kanë përmendur %{actors}."
@@ -757,7 +817,7 @@ sq:
one: "%{actors} ju dërgoi mesazh."
other: "%{actors} ju dërguan mesazh."
two: "%{actors} ju dërguan mesazh."
- zero: "%{actors} ju ka dërguar mesazh."
+ zero: "%{actors} ju kanë dërguar mesazh."
reshared:
few: "%{post_link} tuaj e kanë rindarë me dikë %{actors}."
many: "%{post_link} tuaj e kanë rindarë me dikë %{actors}."
@@ -771,21 +831,21 @@ sq:
one: "Postimin tuaj të fshirë e ka rindarë me dikë %{actors}."
other: "Postimin tuaj të fshirë e kanë rindarë me dikë %{actors}."
two: "Postimin tuaj të fshirë e kanë rindarë me dikë %{actors}."
- zero: "Postimin tuaj të fshirë e ka rindarë me dikë %{actors}."
+ zero: "Postimin tuaj të fshirë e kanë rindarë me dikë %{actors}."
started_sharing:
few: "%{actors} filluan të ndajnë gjëra me ju."
many: "%{actors} filluan të ndajnë gjëra me ju."
one: "%{actors} filloi të ndajë gjëra me ju."
other: "%{actors} filluan të ndajnë gjëra me ju."
two: "%{actors} filluan të ndajnë gjëra me ju."
- zero: "%{actors} që ndajnë gjëra me ju."
+ zero: "%{actors} zunë të ndajnë gjëra me ju."
notifier:
a_limited_post_comment: "Te diaspora* ka një koment të ri në një postim të kufizuar për ta parë."
a_post_you_shared: "postim."
a_private_message: "Ka një mesazh të ri privat te diaspora* për ju."
also_commented:
limited_subject: "Ka një koment të ri në një postim ku komentuat"
- click_here: "klikoni këtu"
+ click_here: "Klikoni këtu"
comment_on_post:
limited_subject: "Ka një koment të ri në një nga postimet tuaja"
reply: "Përgjigjjuni ose shihni postimin nga %{name} >"
@@ -819,7 +879,7 @@ sq:
Faleminderit,
Roboti i email-eve diaspora*!
subject: "Morëm një kërkesë të paautorizuar nga llogaria juaj, %{name}"
- email_sent_by_diaspora: "Ky email u dërgua nga Diaspora. Nëse doni të reshtni së marri email-e të tillë,"
+ email_sent_by_diaspora: "Ky email u dërgua nga %{pod_name}. Nëse doni të reshtni së marri email-e të tillë,"
export_email:
body: |-
Tungjatjeta %{name},
@@ -891,7 +951,7 @@ sq:
view_post: "Shiheni postimin >"
mentioned:
limited_post: "U përmendët në një postim të kufizuar."
- subject: "%{name} ju ka përmenduar në Diaspora*"
+ subject: "%{name} ju ka përmendur në diaspora*"
mentioned_in_comment:
limited_post: "U përmendët te një koment në një postim të kufizuar."
reply: "Përgjigjuni ose shiheni këtë bisedë >"
@@ -940,11 +1000,11 @@ sq:
reshared: "%{name} e rindau me dikë postimin tuaj"
view_post: "Shiheni postimin >"
single_admin:
- admin: "Përgjegjësi i Diaspora-s"
- subject: "Mesazh lidhur me llogarinë tuaj te Diaspora:"
+ admin: "Përgjegjësi juaj i diaspora*-s"
+ subject: "Një mesazh lidhur me llogarinë tuaj diaspora*:"
started_sharing:
sharing: "ka filluar të ndajë gjëra me ju!"
- subject: "%{name} filloi të ndajë gjëra me ju në Diaspora*"
+ subject: "%{name} filloi të ndajë gjëra me ju në diaspora*"
view_profile: "Shihni profilin për %{name}"
thanks: "Faleminderit,"
to_change_your_notification_settings: "që të ndryshoni rregullimet tuaja mbi njoftimet"
@@ -958,7 +1018,7 @@ sq:
looking_for: "Po kërkonit për postime me etiketën %{tag_link}?"
no_one_found: "...dhe nuk u gjet njeri."
no_results: "Hej! Lypset të kërkoni për diçka."
- results_for: "përfundime kërkimi për"
+ results_for: "Përdorues me përputhje me %{search_term}"
search_handle: "Që të jeni të sigurt se i gjeni shokët tuaj, përdorni ID-të e tyre diaspora* (emërpërdoruesi@pod.tld)."
searching: "Po kërkohet, ju lutemi, bëni durim…"
send_invite: "Ende asgjë? Dërgojuni një ftesë!"
@@ -966,18 +1026,18 @@ sq:
thats_you: "Ky jeni ju!"
profile_sidebar:
bio: "Jetëshkrim"
- born: "datëlindje"
- gender: "gjini"
- location: "venndodhje"
+ born: "Datëlindje"
+ gender: "Gjini"
+ location: "Vendndodhje"
show:
closed_account: "Kjo llogari është mbyllur."
does_not_exist: "Personi nuk ekziston!"
has_not_shared_with_you_yet: "%{name} nuk ka ndarë ende ndonjë postim me ju!"
photos:
create:
- integrity_error: "Ngarkimi i fotos dështoi. Jeni i sigurt se qe një figurë?"
- runtime_error: "Ngarkimi i fotos dështoi. Jeni i sigurt se rripin e sigurimit e kishit lidhur?"
- type_error: "Ngarkimi i fotos dështoi. Jeni i sigurt se shtuat një figurë?"
+ integrity_error: "Ngarkimi i fotos dështoi. Jeni i sigurt se qe një figurë?"
+ runtime_error: "Ngarkimi i fotos dështoi. Jeni i sigurt se rripin e sigurimit e kishit lidhur?"
+ type_error: "Ngarkimi i fotos dështoi. Jeni i sigurt se shtuat një figurë?"
destroy:
notice: "Fotoja u fshi."
new_profile_photo:
@@ -996,16 +1056,16 @@ sq:
photos_by:
few: "%{count} photos by %{author}"
many: "%{count} photos by %{author}"
- one: "One photo by %{author}"
- other: "%{count} photos by %{author}"
+ one: "Një foto nga %{author}"
+ other: "%{count} foto nga %{author}"
two: "Two photos by %{author}"
- zero: "No photos by %{author}"
+ zero: "S’ka foto nga %{author}"
reshare_by: "Rindarje nga %{author}"
privacy: "Privatësi"
profile: "Profil"
profiles:
edit:
- allow_search: "Lejojuni njerëzve të kërkojnë për ju brenda Diaspora-s"
+ allow_search: "Lejojuni njerëzve të kërkojnë për ju brenda diaspora*-s"
basic: "Profili im bazë"
basic_hint: "Çdo zë te profili juaj është opsional. Profili juaj bazë do të jetë përherë publikisht i dukshëm."
extended: "Profili im i zgjeruar"
@@ -1019,7 +1079,7 @@ sq:
nsfw_explanation2: "Nëse vendosni të mos e përzgjidhni këtë mundësi, ju lutemi, shtoni etiketën #nsfw sa herë që ndani me të tjerët material të tillë."
public: "Publik"
settings: "Rregullime profili"
- update_profile: "Përditësoni Profilin"
+ update_profile: "Përditësoni profilin"
your_bio: "Jetëshkrimi juaj"
your_birthday: "Datëlindja juaj"
your_gender: "Gjinia juaj"
@@ -1027,7 +1087,7 @@ sq:
your_name: "Emri juaj"
your_photo: "Fotoja juaj"
your_tags: "Përshkruani veten me 5 fjalë"
- your_tags_placeholder: "fjala vjen #filma #lepujt #udhëtime #mësues #Pukë"
+ your_tags_placeholder: "Fjala vjen #filma #lepujt #udhëtime #mësues #Pukë"
update:
failed: "Përditësimi i profilit dështoi"
updated: "Profili u përditësua"
@@ -1036,7 +1096,7 @@ sq:
closed:
another_pod: "nyjë tjetër"
closed_pod: "Kjo nyjë është aktualisht e mbyllur për regjistrime të reja. Sidoqoftë, mundeni prapë të merrni pjesë në rrjetin diaspora* duke u regjistruar në %{wiki}. Ngaqë krejt nyjat janë të lidhura me njëra-tjetrën, do të mund të përdorni po të njëjtën lëndë të këtushme."
- find_pods: "Te %{poduptime} ka një listë nyjash te të cilat mund të regjistroheni."
+ find_pods: "Te %{fediverse_observer} ka një listë nyjash te të cilat mund të regjistroheni."
other_questions: "Nëse keni çfarëdo pyetje tjetër lidhur me zgjedhjen e një nyjeje, shihni %{wiki} tonë."
create:
success: "U bëtë pjesë e diaspora*-s!"
@@ -1114,10 +1174,10 @@ sq:
toggle:
few: "In %{count} aspects"
many: "In %{count} aspects"
- one: "In %{count} aspect"
- other: "In %{count} aspects"
+ one: "Në %{count} aspekt"
+ other: "Në %{count} aspekte"
two: "In %{count} aspects"
- zero: "Add contact"
+ zero: "Shtoni kontakt"
invitations:
by_email: "Ftoni njerëz me email"
invite_your_friends: "Ftoni shokë tuajt"
@@ -1177,7 +1237,7 @@ sq:
bad_aspects: "ID-të e dhëna të aspekteve s’janë të aplikueshme (s’ekzistojnë ose s’janë pronë e dikujt)"
new:
mentioning: "Me përmendje të: %{person}"
- too_long: "{\"few\"=>\"please make your status messages less than %{count} characters\", \"many\"=>\"please make your status messages less than %{count} characters\", \"one\"=>\"please make your status messages less than %{count} character\", \"other\"=>\"please make your status messages less than %{count} characters\", \"two\"=>\"please make your status messages less than %{count} characters\", \"zero\"=>\"please make your status messages less than %{count} characters\"}"
+ too_long: "Ju lutemi, bëjeni mesazhin për gjendjen tuaj më pak se %{count} shenja. Tani është %{current_length} shenja"
stream_helper:
no_more_posts: "Keni mbërritur në fundin e rrjedhës."
no_posts_yet: "Ende s’ka postime."
@@ -1188,7 +1248,7 @@ sq:
title: "Përgjegjës"
aspects:
all: "Krejt aspektet"
- title: "Your Aspects"
+ title: "Aspektet e mi"
aspects_stream: "Aspekte"
comment_stream:
title: "Postime të komentuara"
@@ -1290,7 +1350,7 @@ sq:
make_diaspora_better: "Do të donim të qëndronit dhe të na ndihmonit ta bëjmë diaspora*-n më të mirë, në vend se të largoheni. Nëse dëshironi vërtet të largoheni, ja se ç’do të ndodhë më pas:"
mr_wiggles: "Z. Wiggles do të trishtohet, kur t’ju shohë që po largoheni"
no_turning_back: "S’ka kthim mbrapa! Nëse jeni vërtet i sigurt, jepni fjalëkalimin tuaj më poshtë."
- what_we_delete: "We delete all of your posts, profile data, as soon as humanly possible. Your comments will hang around, but be associated with your Diaspora Handle."
+ what_we_delete: "Do të fshijmë krejt të dhënat e postimeve dhe profilit tuaj, sa më shpejt që të mundet. Komentet tuaj në postimet e personave të tjerë prapë do të shfaqen, por ato do t’i përshoqërohen ID-së tuaj diaspora*, në vend se emrit tuaj."
close_account_text: "Mbylle llogarinë"
comment_on_post: "dikush komenton në postim tuajin"
current_password: "Fjalëkalimi i tanishëm"
@@ -1312,7 +1372,7 @@ sq:
private_message: "merrni një mesazh privat"
protocol_handler:
browser: "Ky protokoll aktualisht është në fazën eksperimentale dhe suksesi i ndërveprimeve të prodhuara nga përdorimi i tij do të varen nga shfletuesi juaj. Nëse doni të administroni apo hiqni këtë mjet, këtë mund ta bëni që nga rregullimet e shfletuesit tuaj. Butoni më poshtë do të jetë përherë i aktivizuar, dhe është e nevojshme ta ujdisni mjetin veçmas në secilin shfletues që përdorni."
- description: "web+diaspora:// është një protokoll i ri që sapo e paraqisim. Çfarëdo lidhje te një faqe diaspora* në një sajt të jashtëm që përdor këtë protokol mund të hapet te nyja në të cilën është regjistruar llogaria juaj. Klikoni mbi butonin më poshtë që ta ujdisni shfletuesin tuaj të përdorë %{pod_url} për të njohur lidhje të jashtme web+diaspora://."
+ description: "web+diaspora:// është një protokoll i ri që sapo e paraqesim. Çfarëdo lidhje te një faqe diaspora* në një sajt të jashtëm që përdor këtë protokoll mund të hapet te nyja në të cilën është regjistruar llogaria juaj. Klikoni mbi butonin më poshtë që ta ujdisni shfletuesin tuaj të përdorë %{pod_url} për të njohur lidhje të jashtme web+diaspora://."
register: "Regjistroni protokollin web+diaspora:// në këtë shfletues"
title: "Trajtues protokolli web+diaspora://"
receive_email_notifications: "Merrni njoftime me email kur:"
@@ -1328,7 +1388,7 @@ sq:
stream_preferences: "Parapëlqime rrjedhe"
your_email: "Email-i juaj"
your_email_private: "Email-i juaj s’do të shihet kurrë nga përdorues të tjerë"
- your_handle: "Your diaspora id"
+ your_handle: "ID-ja juaj diaspora*"
getting_started:
awesome_take_me_to_diaspora: "Mrekulli! Shpjemëni te diaspora*"
community_welcome: "Bashkësia diaspora* është e gëzuar t’ju shohë në gjirin e saj!"
diff --git a/config/locales/diaspora/sv.yml b/config/locales/diaspora/sv.yml
index 19160bd31..d25b8577e 100644
--- a/config/locales/diaspora/sv.yml
+++ b/config/locales/diaspora/sv.yml
@@ -8,6 +8,7 @@ sv:
_applications: "Applikationer"
_contacts: "Kontakter"
_help: "Hjälp"
+ _podmin_mail: "Kontakta podadministratör"
_services: "Tjänster"
_statistics: "Statistik"
_terms: "Användningsvillkor"
@@ -91,6 +92,7 @@ sv:
user_entry:
account_closed: "Konto borttaget"
admin: "Administratör"
+ current_sign_in_ip: "IP-address för denna inloggning"
diaspora_handle: "Diaspora*-id"
email: "E-post"
guid: "Globalt identifieringsnummer (GUID)"
@@ -162,40 +164,85 @@ sv:
client_id_not_found: "Ingen klient med client_id %{client_id} med omdirigerings-URI %{redirect_uri} funnen."
deny: "Neka"
no_requirement: "%{name} kräver inga tillstånd."
+ private_contacts_linkage_error: "privat:läst och privat:ändra förväntar kontakter:läst också."
redirection_message: "Är du säker på att du vill ge tillgång till %{redirect_uri}?"
+ unknown_scope: "Okänt omfång: %{scope_name}"
error_page:
- contact_developer: "Du borde kontakta tillämpningsutvecklaren och bifoga följande felmeddelande:"
+ contact_developer: "Du borde kontakta applikationsutvecklaren och bifoga följande detaljerade felmeddelande:"
could_not_authorize: "Denna tillämpning kunde inte auktoriseras."
login_required: "Du måste logga in innan du kan auktorisera denna tillämpning."
title: "Rackarns! Något gick åt pipan."
scopes:
- aud:
- description: "Detta skänker aud-rättigheter till applikationen"
- name: "aud"
+ ? "contacts:modify"
+ :
+ description: "Det här ger skrivrättigheter av kontakter och besläktad data (såsom aspekter)."
+ name: "Kontakter (Ändra)"
+ ? "contacts:read"
+ :
+ description: "Det här ger läsrättigheter till kontakter och besläktad data (såsom aspekter)."
+ name: "Kontakter (Avläsning)"
+ conversations:
+ description: "Det här ger skriv- och läsrättigheter av privata meddelanden."
+ name: "Konversationer"
+ email:
+ description: "Det här ger läsrättigheter till din mejladress."
+ name: "Mejl"
+ interactions:
+ description: "Det ger läs- och skrivrättigheter av interaktioner med inlägg, såsom gillanden och eller göra kommentarer, till applikationen."
+ name: "Interaktioner"
name:
- description: "Det här beviljar namnrättigheter till applikationen."
- name: "namn"
+ description: "Det här beviljar läsrättigheter till ditt fullständiga namn."
+ name: "Fullständigt namn"
nickname:
- description: "Det här beviljar smeknamnsrättigheter till applikationen."
- name: "smeknamn"
+ description: "Det här beviljar läsrättigheter för din användarnamn."
+ name: "Användarnamn"
+ notifications:
+ description: "Det här ger läs- och skrivrättigheter till dina notifikationer."
+ name: "Notifikationer"
openid:
- description: "Detta låter tillämpningar att läsa din grundprofil."
- name: "grundprofil"
+ description: "Detta tillåter andra program att läsa din grundprofilsinformation."
+ name: "Grundprofilsinformation"
picture:
- description: "Det här beviljar bildrättigheter till applikationen."
- name: "bild"
+ description: "Det här beviljar läsrättigheter för din profilbild."
+ name: "Profilbild"
+ ? "private:modify"
+ :
+ description: "Det här ändringsrättigheter till att göra publika inlägg."
+ name: "Privata inlägg (Skrivning)"
+ ? "private:read"
+ :
+ description: "Det här ger läsrättigheter till dina och dina kontakters privata inlägg."
+ name: "Privata inlägg (Avläsning)"
profile:
- description: "Det här beviljar rättigheter att se din utökade profil till applikationen."
- name: "utökad profil"
- read:
- description: "Detta låter tillämpningar att läsa din ström, dina konversationer och hela din profil."
- name: "läs profil, ström och konversationer"
+ description: "Det här beviljar läsrättigheter för din utökade profildata."
+ name: "Utökad profil (Avläsning)"
+ ? "profile:modify"
+ :
+ description: "Det här ger rättigheter att ändra användarprofilen."
+ name: "Utökad profil (Skrivning)"
+ ? "profile:read_private"
+ :
+ description: "Det här ger läsrättigheter till din privata profildata."
+ name: "Privat profildata (Avläsning)"
+ ? "public:modify"
+ :
+ description: "Det här ger skrivrättigheter av offentliga inlägg och relaterad data (såsom röster och bifogade media)."
+ name: "Publika inlägg (Skrivning)"
+ ? "public:read"
+ :
+ description: "Det här ger läsrättigheter av offentliga inlägg, interaktioner och närliggande data."
+ name: "Publika inlägg (Avläsning)"
sub:
- description: "Det här skänker dig underprivilegier för denna tillämpning."
- name: "under"
- write:
- description: "Detta låter tillämpningar att skicka nya bilder, författa konversationer och skicka reaktioner"
- name: "göra inlägg, konversationer och reaktioner"
+ description: "Det här beviljar dig endast läsprivilegier för din unika identifierare."
+ name: "Unik identifierare"
+ ? "tags:modify"
+ :
+ description: "Det här ger rättigheter att ändra de taggar du följer."
+ name: "Taggar (Skrivning)"
+ ? "tags:read"
+ :
+ description: "Det här ger läsrättigheter av användarens följda taggar och taggstörmmar."
+ name: "Taggar (Avläsning)"
user_applications:
index:
access: "%{name} har tillgång till:"
@@ -241,7 +288,7 @@ sv:
donate: "Donera"
donate_liberapay: "Donera till liberapay"
help:
- any_problem: "Har du något problem?"
+ any_problem: "Har du stött på problem?"
contact_podmin: "Kontakta din pods administratör."
do_you: "Har du:"
feature_suggestion: "... har du ett %{link}-förslag?"
@@ -302,10 +349,14 @@ sv:
original_white: "Ursprunglig vit bakgrund"
comments:
create:
- error: "Lyckades inte kommentera."
+ fail: "Kunde inte skapa kommentaren"
+ destroy:
+ fail: "Misslyckades att ta bort kommentar"
+ success: "Kommentar %{id} har tagits bort"
new_comment:
comment: "Kommentera"
commenting: "Kommenterar..."
+ not_found: "Inlägg eller kommentar ej funnen"
contacts:
index:
add_contact: "Lägg till kontakt"
@@ -345,6 +396,7 @@ sv:
to: "Till"
new_conversation:
fail: "Ogiltigt meddelande"
+ not_found: "Konversationen ej funnen"
show:
delete: "Ta bort konversationen"
hide: "Dölj och tysta konversation"
@@ -413,11 +465,6 @@ sv:
what_is_an_aspect_q: "Vad är en Aspekt?"
who_sees_post_a: "Om du skulle göra ett inlägg med begränsad spridning, kommer det bara vara synligt för dem du har i just den aspekten (eller de aspekterna, om det skickas till flertalet aspekter). Kontakter som inte finns i aspekten kommer inte att kunna se inlägget. Bara offentliga inlägg kommer att bli synliga för dina kontakter som inte ligger i någon aspekt."
who_sees_post_q: "Vem ser det inlägg jag gjort i en aspekt?"
- chat:
- add_contact_roster_a: "Först av allt måste du tillåta chatt i aspekter med dem du vill chatta med. Du gör genom att gå till %{contacts_page} och väljer aspekten du vill tillåta chatt i. %{toggle_privilege} Om du hellre vill, kan du skapa en egen aspekt speciellt för dem du vill chatta med. När du har aspekt med chattar tillåtna, är det bara att öppna chatten och välj den du vill chatta med."
- add_contact_roster_q: "Hur chattar jag med någon på Diaspora?"
- contacts_page: "kontaktsida"
- title: "Chatt"
community_guidelines: "Gemenskapsriktlinjer"
faq: "Vanliga frågor"
foundation_website: "Diaspora*-föreningens hemsida"
@@ -660,8 +707,22 @@ sv:
likes:
create:
error: "Lyckades inte gilla."
+ fail: "Gillande misslyckades"
destroy:
error: "Misslyckades med ogillandet."
+ not_found: "Inlägg eller gillning ej funnen"
+ people_dislike_this:
+ one: "En ogillar"
+ other: "%{count} ogillar"
+ zero: "Ingen ogillar"
+ people_like_this:
+ one: "En gillar"
+ other: "%{count} gillar"
+ zero: "Ingen gillar"
+ people_like_this_comment:
+ one: "En gillar"
+ other: "%{count} gillar"
+ zero: "Ingen gillar"
limited: "Begränsad"
more: "Mer"
no_results: "Inga sökresultat"
@@ -885,7 +946,7 @@ sv:
body: |-
Hejsan.
- %{type} med id:et %{id} var märkt som stötande.
+ %{type} med id:t %{id} var märkt som stötande.
Orsak: "%{reason}"
@@ -1003,7 +1064,7 @@ sv:
closed:
another_pod: "annan pod"
closed_pod: "Denna pod är för närvarande stängd för nya registreringar. Du kan ändå gå med i Diaspora* genom registrering på %{wiki}. I och med att alla poddar är anslutna till varandra, kommer du komma åt allt innehåll ändå."
- find_pods: "En lista med poddar du kan registrera dig på finns på %{poduptime}."
+ find_pods: "En lista med poddar du kan registrera dig på finns på %{fediverse_observer}."
other_questions: "Om du har frågor gällande att välja pod, kan du läsa vår %{wiki}."
create:
success: "Du har nu gått med i Diaspora*!"
@@ -1168,6 +1229,8 @@ sv:
title: "Gilla flöde"
liked:
title: "Gillade inlägg"
+ local_public:
+ title: "Lokala inlägg"
mentioned_stream: "@Omnämnanden"
mentions:
title: "@Omnämnanden"
@@ -1239,7 +1302,7 @@ sv:
also_commented: "någon kommenterar ett inlägg som du redan kommenterat"
auto_follow_aspect: "Aspekt för de användare som följts automatiskt:"
auto_follow_back: "Följ automatiskt dem som börjar följa dig"
- birthday: "någon har fyller år i dag"
+ birthday: "någon fyller år"
change: "Ändra"
change_color_theme: "Byt färgtema"
change_email: "Ändra e-postadress"
diff --git a/config/locales/diaspora/te.yml b/config/locales/diaspora/te.yml
index fca32997c..efd6cd6f0 100644
--- a/config/locales/diaspora/te.yml
+++ b/config/locales/diaspora/te.yml
@@ -279,10 +279,6 @@ te:
title: "కోణాలు"
what_is_an_aspect_q: "కోణం అంటే ఏమిటి?"
who_sees_post_q: "నేను ఒక కోణానికి టపా చేసినప్పుడు, దానిని ఎవరు చూడగలరు?"
- chat:
- add_contact_roster_q: "డయాస్పొరా*లో ఎవరితోనైనా ఛాట్ చేయడం ఎలా?"
- contacts_page: "పరిచయాల పుట"
- title: "పిచ్చాపాటి"
faq: "ఎఫ్ఎక్యూ"
foundation_website: "డయాస్పోరా* సంస్థ జాలగూడు"
getting_help:
diff --git a/config/locales/diaspora/uk.yml b/config/locales/diaspora/uk.yml
index 7517914a3..f76d57e79 100644
--- a/config/locales/diaspora/uk.yml
+++ b/config/locales/diaspora/uk.yml
@@ -99,6 +99,7 @@ uk:
user_entry:
account_closed: "аккаунт закрито"
admin: "Адмін"
+ current_sign_in_ip: "IP адреса при поточному вході"
diaspora_handle: "Ідентифікатор в Діаспорі*"
email: "Пошта"
guid: "Груповий ідентифікатор"
@@ -183,15 +184,18 @@ uk:
login_required: "Ви повинні увійти, перш ніж зможете авторизувати даний додаток"
title: "Ой! Щось пішло не так :("
scopes:
- aud:
- description: "Це надає aud дозволи додаткам"
- name: "aud"
+ conversations:
+ name: "Бесіди"
+ email:
+ name: "Email"
name:
description: "Це дає дозвіл імені для додатку"
name: "ім'я"
nickname:
description: "Це дає дозвіл ніку для додатку"
name: "нік"
+ notifications:
+ name: "Сповіщення"
openid:
description: "Це дозволяє додатку читати ваш основний профіль"
name: "основний профіль"
@@ -201,15 +205,9 @@ uk:
profile:
description: "Дозволити додатку читати Ваш розширений профіль"
name: "розширений профіль"
- read:
- description: "Це дозволяє додатку читати ваш потік, ваші розмови і ваш повний профіль"
- name: "читати профіль, потік і розмови"
sub:
description: "Це надає дозвіл суб додаткам"
name: "sub"
- write:
- description: "Це дозволяє додатку публікувати записи, розмови і відправляти реакції"
- name: "відправляти повідомлення, розмови і реакції"
user_applications:
index:
access: "%{name} має доступ до:"
@@ -316,10 +314,14 @@ uk:
original_white: "Оригінальний з білим тлом"
comments:
create:
- error: "Неможливо коментувати."
+ fail: "Не вдалося створити коментар"
+ destroy:
+ fail: "Не вдалося вилучити коментар"
+ success: "Коментар %{id} успішно вилучено"
new_comment:
comment: "Коментувати"
commenting: "Коментування..."
+ not_found: "Допис чи коментар не знайдено"
contacts:
index:
add_contact: "Додати контакт"
@@ -359,6 +361,7 @@ uk:
to: "Кому"
new_conversation:
fail: "Невірне повідомлення"
+ not_found: "Розмову не знайдено"
show:
delete: "Вилучити розмову"
hide: "заховати і німа розмова"
@@ -377,6 +380,16 @@ uk:
helper:
correct_the_following_errors_and_try_again: "Виправіть такі помилки і спробуйте знову."
need_javascript: "Цей сайт вимагає JavaScript. Якщо у вас відключений JavaScript, будь ласка, увімкніть його та оновіть сторінку."
+ errors:
+ messages:
+ carrierwave_download_error: "не можливо завантажити"
+ carrierwave_integrity_error: "є недопустимим типом файлу"
+ carrierwave_processing_error: "помилка опрацювання"
+ content_type_blacklist_error: "Вам не дозволено завантажувати файли %{content_type}"
+ content_type_whitelist_error: "Вам не дозволено завантажувати файли %{content_type}"
+ extension_blacklist_error: "Вам не дозволено завантажувати файли %{extension}, заборонені типи: %{prohibited_types}"
+ extension_whitelist_error: "Вам не дозволено завантажувати файли %{extension}, дозволені типи: %{allowed_types}"
+ rmagick_processing_error: "Маніпуляції із rmagick не вдалися. Можливо, це не зображення?"
fill_me_out: "Заповнити"
find_people: "Пошук людей або #міток"
help:
@@ -414,11 +427,6 @@ uk:
what_is_an_aspect_q: "Що таке аспект?"
who_sees_post_a: "Якщо Ви створюєте обмежений запис, його зможуть побачити тільки люди, яких Ви додали у відповідний аспект (або аспекти, якщо Ви обрали декілька). Більше цей запис ніхто не побачить , якщо тільки Ви не зробили його публічним.Тільки публічні записи будуть доступні всім ,навіть тим, кого Ви не додали ні в один зі своїх аспектів."
who_sees_post_q: "Коли я публікую запис в аспекті, хто його бачить?"
- chat:
- add_contact_roster_a: "По-перше, вам потрібно увімкнути чат для аспекту, в якому знаходиться людина. Для цього перейдіть на вкладку %{contacts_page}, виберіть потрібний Вам аспект і натисніть на іконку, щоб включити чат для аспекту %{toggle_privilege}. Ви можете, якщо захочете, створити особливий аспект під назвою «Чат» і добавити в нього людей, з якими ви хочете спілкуватись. Після того, як ви зробите це, відкрийте інтерфейс повідомлень і виберіть людину, якій ви хочете написати."
- add_contact_roster_q: "Як я можу поспілкуватися з кимось у Діаспора?"
- contacts_page: "сторінка контактів"
- title: "Розмова"
community_guidelines: "правила спільноти"
faq: "ЧаПи"
foundation_website: "сайт Diaspora* Foundation"
@@ -489,6 +497,7 @@ uk:
format_text_q: "Як мені оформити текст моїх записів (полужирний, курсив і т.д.)?"
hide_posts_a: "Якщо Ви наведете мишкою на запис, справа вверху з'явиться хрестик. Натисніть на нього. Ви все одно зможете бачити запис і коментарі, якщо зайдете на сторінку до автора цього запису."
hide_posts_q: "Як мені приховати запис і перестати отримувати повідомлення про коментарі до нього?"
+ ignore_user_q: "Як я можу запобігти появі повідомлень когось в моєму потоці?"
insert_images_a: "Якщо ви хочете додати у свій допис зображення зі свого комп'ютера, натисніть на маленьку іконку камери унизу. Ви можете також перетягнути файл чи декілька зображень з комп'ютера на цю іконку. Якщо ви хочете додати зображення з вебу, натисніть на кнопку зображення угорі, яка створить потрібний код Markdown."
insert_images_comments_a: "Ми можете використовувати Markdown, щоб вставити зображення з мережі у коментар, так само, як і в дописах. Однак прямо з комп'ютера завантажити зображення не можна. Закиньте їх на сервіс гостингу зображень, а тоді вставте, скориставшись кнопкою зображень."
insert_images_comments_q: "Чи можу я додати зображення у коментарі?"
@@ -657,8 +666,22 @@ uk:
likes:
create:
error: "Не вдалося вподобати."
+ fail: "Не вдалося створити вподобання"
destroy:
error: "Не вдалося зняти вподобання."
+ not_found: "Допис чи вподобання не знайдено"
+ people_like_this:
+ few: "%{count} вподобання"
+ many: "%{count} вподобань"
+ one: "%{count} вподобання"
+ other: "%{count} вподобань"
+ zero: "Немає вподобань"
+ people_like_this_comment:
+ few: "%{count} вподобання"
+ many: "%{count} вподобань"
+ one: "%{count} вподобання"
+ other: "%{count} вподобань"
+ zero: "Немає вподобань"
limited: "Обмежена"
more: "Ще"
no_results: "Результатів не знайдено"
@@ -1181,7 +1204,7 @@ uk:
title: "Ваші аспекти"
aspects_stream: "Аспекти"
comment_stream:
- title: "Прокоментовані"
+ title: "Прокоментовані пости"
commented:
title: "Прокоментовані дописи"
community_spotlight_stream: "У центрі уваги"
@@ -1220,6 +1243,21 @@ uk:
one: "Одна людина відмічена %{tag}"
other: "%{count} людей, відмічено %{tag}"
zero: "Ніхто не відмічений %{tag}"
+ two_factor_auth:
+ activated:
+ change_button: "Деактивувати"
+ status: "Двофакторна автентифікація активована"
+ confirm:
+ activate_button: "Підтвердити та активуати"
+ scan_title: "Сканувати QR код"
+ title: "Підтвердити активацію"
+ deactivated:
+ change_button: "Активувати"
+ change_label: "Активувати двофакторну автентифікацію"
+ status: "Двофакторна автентифікація не активована"
+ input_token:
+ label: "Токен двофакторної автентифікації"
+ title: "Двофакторна автентифікація"
username: "Ім'я користувача"
users:
confirm_email:
@@ -1261,6 +1299,7 @@ uk:
export_in_progress: "На даний момент ми оброблюємо Ваші дані. Будь ласка, перевірте ще раз через декілька хвилин."
export_photos_in_progress: "На даний момент ми обробляємо Ваші фотографії. Будь ласка, перевірте через декілька хвилин."
following: "Налаштування відслідковування"
+ last_exported_html: "(Останнє оновлення %{timeago})"
liked: "комусь подобається ваш запис"
mentioned: "вас згадали у записі"
mentioned_in_comment: "вас згадали у коментарі"
diff --git a/config/locales/diaspora/vi.yml b/config/locales/diaspora/vi.yml
index 6409f2edb..85ce27fdd 100644
--- a/config/locales/diaspora/vi.yml
+++ b/config/locales/diaspora/vi.yml
@@ -6,9 +6,12 @@
vi:
_applications: "Ứng dụng"
- _contacts: "Liên lạc"
+ _contacts: "Danh bạ"
_help: "Trợ giúp"
+ _podmin_mail: "Liên hệ quản trị viên"
_services: "Dịch vụ"
+ _statistics: "Thống kê"
+ _terms: "Điều khoản dịch vụ"
account: "Tài khoản"
activerecord:
errors:
@@ -16,110 +19,288 @@ vi:
contact:
attributes:
person_id:
- taken: "phải là duy nhất trong số các liên lạc của người dùng này."
+ taken: "phải là duy nhất trong danh bạ của người dùng này."
person:
attributes:
diaspora_handle:
- taken: "đã được thực hiện."
+ taken: "đã có người đăng ký."
+ poll:
+ attributes:
+ poll_answers:
+ not_enough_poll_answers: "Không đủ lựa chọn để tạo bình chọn."
+ poll_participation:
+ attributes:
+ poll:
+ already_participated: "Bạn đã bình chọn rồi!"
reshare:
attributes:
root_guid:
- taken: "Bạn đã chia sẻ lại bài đăng đó!"
+ taken: "Hay quá! Bạn đã chia sẻ bài đăng đó!"
user:
attributes:
email:
- taken: "đã được thực hiện."
+ taken: "đã có người đăng ký."
person:
invalid: "không hợp lệ."
username:
invalid: "không hợp lệ. Chỉ cho phép chữ cái, số, và dấu gạch dưới."
- taken: "đã được thực hiện."
+ taken: "đã có người đăng ký."
admins:
admin_bar:
+ dashboard: "Trang chính"
pages: "Trang"
+ pod_network: "Liên hợp"
+ pod_stats: "Thống kê"
+ report: "Lượt báo cáo"
+ sidekiq_monitor: "Thiết lập Sidekiq"
user_search: "Tìm người dùng"
weekly_user_stats: "Thống kê người dùng hàng tuần"
+ dashboard:
+ fetching_diaspora_version: "Đang lấy Diaspora phiên bản mới nhất..."
+ pod_status: "Trạng thái"
+ pods:
+ pod_desktop_link: "chế độ máy tính bàn"
+ pod_desktop_view: "Trang này không thể xem được trên di động, hãy chuyển sang %{desktop_link}."
+ pod_network: "Máy chủ liên hợp"
stats:
2weeks: "2 tuần"
- 50_most: "50 thẻ phổ biến nhất"
+ 50_most: "50 hashtag phổ biến nhất"
comments:
other: "%{count} bình luận"
- zero: "Không có bình luận"
- current_segment: "Segment hiện tại có trung bình <b>%{post_yest}</b> bài đăng trên người dùng, từ ngày <b>%{post_day}</b>"
+ zero: "Chưa có bình luận"
+ current_segment: "Trung bình %{post_yest} bài đăng trên mỗi người dùng, kể từ %{post_day}"
daily: "Hàng ngày"
- display_results: "Hiển thị các kết quả từ segment <b>%{segment}</b>"
- go: "đi"
+ display_results: "Hiển thị các kết quả từ %{segment}"
+ go: "Đi"
month: "Tháng"
posts:
other: "%{count} bài đăng"
- zero: "Không có bài đăng"
+ zero: "Chưa có bài đăng"
shares:
other: "%{count} lượt chia sẻ"
- zero: "Không có ai chia sẻ"
- tag_name: "Tên thẻ: <b>%{name_tag}</b> Số lượng: <b>%{count_tag}</b>"
- usage_statistic: "Thống kê mức sử dụng"
+ zero: "Chưa có lượt chia sẻ"
+ tag_name: "Hashtag: %{name_tag} Lần dùng: %{count_tag}"
+ usage_statistic: "Thống kê"
users:
other: "%{count} người dùng"
- zero: "Không có người dùng"
+ zero: "Chưa có người dùng"
week: "Tuần"
+ user_entry:
+ account_closed: "Tài khoản đã vô hiệu hoá"
+ admin: "Quản trị viên"
+ current_sign_in_ip: "IP đăng nhập gần đây"
+ diaspora_handle: "Diaspora ID"
+ email: "Email"
+ guid: "GUID"
+ id: "ID"
+ invite_token: "Token thư mời"
+ last_seen: "Hoạt động lần cuối"
+ moderator: "Kiểm duyệt viên"
+ ? "no"
+ : "Huỷ bỏ"
+ nsfw: "#nsfw"
+ spotlight: "Người dùng nổi bật"
+ unknown: "Chưa rõ"
+ ? "yes"
+ : "Đồng ý"
user_search:
- add_invites: "thêm lời mời"
- email_to: "Địa chỉ được mời"
+ account_closing_scheduled: "Tài khoản của %{name} đã được lên lịch vô hiệu hoá. Quá trình xử lí sẽ bắt đầu sớm..."
+ account_locking_scheduled: "Tài khoản %{name} đã được lên lịch khoá. Đang xử lí..."
+ account_unlocking_scheduled: "Tài khoản %{name} đã được lên lịch mở khoá. Đang xử lí..."
+ add_admin: "%{name} được chọn làm quản trị viên."
+ add_invites: "Tạo lời mời"
+ add_moderator: "%{name} được chọn làm kiểm duyệt viên."
+ add_spotlight: "%{name} được thêm làm người dùng nổi bật."
+ are_you_sure: "Bạn có chắc muốn vô hiệu hoá tài khoản này?"
+ are_you_sure_lock_account: "Bạn có chắc muốn khoá tài khoản này?"
+ are_you_sure_unlock_account: "Bạn có chắc muốn mở khoá tài khoản này?"
+ close_account: "Vô hiệu hoá tài khoản"
+ delete_admin: "%{name} bị gỡ bỏ chức vụ quản trị viên."
+ delete_moderator: "%{name} bị gỡ bỏ chức vụ kiểm duyệt viên."
+ delete_spotlight: "%{name} không còn là người dùng nổi bật."
+ does_not_exist: "Không tồn tại người dùng!"
+ email_to: "Email được mời"
+ invite: "Thư mời"
+ lock_account: "Khoá tài khoản"
+ make_admin: "Chọn quản trị viên"
+ make_moderator: "Chọn kiểm duyệt viên"
+ make_spotlight: "Thêm vào người dùng nổi bật"
+ remove_admin: "Gỡ bỏ quản trị viên"
+ remove_moderator: "Gỡ bỏ kiểm duyệt viên"
+ remove_spotlight: "Gỡ khỏi người dùng nổi bật"
+ role_implemented: "%{name} vừa được chọn chức vụ này rồi!"
+ role_removal_implemented: "%{name} vừa bị gỡ bỏ chức vụ này rồi!"
+ under_13: "Hiện những người dùng dưới 13 tuổi (COPPA)"
+ unlock_account: "Mở khoá tài khoản"
users:
other: "Tìm thấy %{count} người dùng"
zero: "Không tìm thấy ai"
+ view_profile: "Xem trang cá nhân"
you_currently:
- other: "hiện bạn còn lại %{user_invitation} thư mời %{link}"
+ other: "Bạn có %{count} lời mời còn lại %{link}"
+ zero: "Bạn không có lời mời nào %{link}"
weekly_user_stats:
amount_of:
- other: "số người dùng mới của tuần này: %{count}"
- zero: "tuần này không có người dùng mới"
+ other: "Số người dùng mới tuần này: %{count}"
+ zero: "Tuần này không có người dùng mới"
current_server: "Ngày hiện tại của máy chủ là %{date}"
all_aspects: "Tất cả mối quan hệ"
+ api:
+ openid_connect:
+ authorizations:
+ destroy:
+ fail: "Yêu cầu gỡ bỏ quyền truy cập với ID %{id} thất bại"
+ new:
+ access: "%{name} yêu cầu quyền truy cập vào:"
+ approve: "Chấp nhận"
+ bad_request: "Sai Client ID hoặc liên kết chuyển tiếp"
+ client_id_not_found: "Không tìm thấy client_id %{client_id} với liên kết chuyển tiếp %{redirect_uri}"
+ deny: "Từ chối"
+ no_requirement: "%{name} không yêu cầu bất kỳ quyền nào"
+ private_contacts_linkage_error: "private:read và private:modify đồng thời yêu cầu contacts:read"
+ redirection_message: "Bạn có chắc muốn cho phép truy cập %{redirect_uri}?"
+ unknown_scope: "Phạm vi chưa rõ: %{scope_name}"
+ error_page:
+ contact_developer: "Hãy liên hệ nhà phát triển ứng dụng với mã lỗi sau:"
+ could_not_authorize: "Không thể cấp quyền truy cập cho ứng dụng"
+ login_required: "Bạn phải đăng nhập trước khi cấp quyền truy cập cho ứng dụng này"
+ title: "Oh! Có gì đó bất thường xảy ra :("
+ scopes:
+ ? "contacts:modify"
+ :
+ description: "Yêu cầu truy cập danh bạ và những thông tin liên quan (như mối quan hệ) dưới hình thức ghi đè."
+ name: "Danh bạ (Ghi đè)"
+ ? "contacts:read"
+ :
+ description: "Yêu cầu truy cập danh bạ và những thông tin liên quan (như mối quan hệ) dưới hình thức chỉ-đọc."
+ name: "Danh bạ (Chỉ-đọc)"
+ conversations:
+ description: "Yêu cầu truy cập những tin nhắn riêng tư dưới hình thức đọc lẫn ghi đè."
+ name: "Thảo luận"
+ email:
+ description: "Yêu cầu truy cập địa chỉ email của bạn dưới hình thức chỉ-đọc."
+ name: "Email"
+ interactions:
+ description: "Yêu cầu truy cập những tương tác với bài đăng, như thích hoặc đăng bình luận."
+ name: "Tương tác"
+ name:
+ description: "Điều này cho phép truy cập chế độ chỉ-đọc vào tên đầy đủ của bạn."
+ name: "Tên đầy đủ"
+ nickname:
+ description: "Điều này cho phép truy cập chế độ chỉ-đọc vào tên người dùng của bạn."
+ name: "Tên người dùng"
+ notifications:
+ description: "Yêu cầu truy cập thông báo dưới hình thức đọc và ghi đè."
+ name: "Thông báo"
+ openid:
+ description: "Chỉ yêu cầu truy cập dạng chỉ-đọc với thông tin cá nhân cơ bản của bạn."
+ name: "Thông tin cá nhân cơ bản"
+ picture:
+ description: "Điều này cho phép truy cập chế độ chỉ-đọc vào ảnh đại diện của bạn."
+ name: "Ảnh đại diện"
+ ? "private:modify"
+ :
+ description: "Yêu cầu truy cập và đăng những bài đăng công khai."
+ name: "Bài đăng riêng tư (Ghi đè)"
+ ? "private:read"
+ :
+ description: "Yêu cầu truy cập những bài đăng riêng tư của bạn và những người trong danh bạ dưới hình thức chỉ-đọc."
+ name: "Bài đăng riêng tư (Chỉ-đọc)"
+ profile:
+ description: "Điều này cho phép truy cập chế độ chỉ-đọc vào thông tin nâng cao của bạn."
+ name: "Thông tin nâng cao (Chỉ-đọc)"
+ ? "profile:modify"
+ :
+ description: "Yêu cầu truy cập và cập nhật thông tin nâng cao của bạn."
+ name: "Thông tin nâng cao (Ghi đè)"
+ ? "profile:read_private"
+ :
+ description: "Yêu cầu truy cập dữ liệu hồ sơ riêng tư của bạn dưới hình thức chỉ-đọc."
+ name: "Dữ liệu hồ sơ riêng tư (Chỉ-đọc)"
+ ? "public:modify"
+ :
+ description: "Yêu cầu truy cập và đăng những bài đăng công khai và thông tin liên quan (như bình chọn và đính kèm tập tin)."
+ name: "Bài đăng công khai (Ghi đè)"
+ ? "public:read"
+ :
+ description: "Yêu cầu truy cập bài đăng công khai, tương tác và những thông tin liên quan."
+ name: "Bài đăng (Chỉ-đọc)"
+ sub:
+ description: "Điều này cho phép truy cập chế độ chỉ-đọc vào mã số định danh của bạn."
+ name: "Mã số định danh"
+ ? "tags:modify"
+ :
+ description: "Yêu cầu truy cập và thay đổi những hashtag theo dõi."
+ name: "Hashtag (Ghi đè)"
+ ? "tags:read"
+ :
+ description: "Yêu cầu truy cập những hashtag theo dõi của bạn dưới hình thức chỉ đọc."
+ name: "Hashtag (Chỉ-đọc)"
+ user_applications:
+ index:
+ access: "%{name} cần truy cập:"
+ edit_applications: "Ứng dụng"
+ no_requirement: "%{name} không yêu cầu bất kỳ quyền nào"
+ title: "Các ứng dụng đang cho phép"
+ no_applications: "Bạn chưa sử dụng ứng dụng nào"
+ policy: "Đọc chính sách riêng tư của ứng dụng"
+ revoke_autorization: "Gỡ"
+ tos: "Đọc điều khoản dịch vụ của ứng dụng"
are_you_sure: "Bạn có chắc không?"
- are_you_sure_delete_account: "Bạn có chắc muốn đóng vĩnh viễn tài khoản không? Mọi dữ liệu về bạn sẽ bị xóa khỏi hệ thống!"
+ are_you_sure_delete_account: "Bạn có chắc muốn vô hiệu hoá tài khoản này không? Mọi dữ liệu sẽ không thể phục hồi!"
+ are_you_sure_ignore_user: "Bạn có chắc muốn ẩn người dùng này?"
aspect_memberships:
destroy:
- failure: "Thất bại khi loại bỏ người khỏi mối quan hệ"
- no_membership: "Không thể tìm người đã chọn trong mối quan hệ đó"
- success: "Đã loại bỏ người khỏi mối quan hệ"
+ failure: "Không thể xoá bỏ người này khỏi mối quan hệ."
+ forbidden: "Bạn không được phép làm vậy."
+ invalid_statement: "Từ chối nhân đôi giá trị."
+ no_membership: "Không tìm thấy người đã chọn trong \bmối quan hệ."
+ success: "Đã xoá bỏ người này khỏi mối quan hệ."
aspects:
add_to_aspect:
- failure: "Thất bại khi thêm liên lạc vào mối quan hệ."
- success: "Đã thêm liên lạc vào mối quan hệ."
+ failure: "Không thể thêm người vào mối quan hệ."
+ success: "Đã thêm người vào mối quan hệ thành công."
aspect_listings:
add_an_aspect: "+ Thêm mối quan hệ"
aspect_stream:
- stay_updated: "Vẫn còn cập nhật"
- stay_updated_explanation: "Luồng chính của bạn hầu hết là từ các liên lạc, thẻ, và tin từ một vài thành viên trong cộng đồng."
+ make_something: "Tạo gì đó đi nào"
+ stay_updated: "Đang tải"
+ stay_updated_explanation: "Bảng tin chính của bạn là bài đăng từ những người và hashtag mà bạn theo dõi, cũng như bài đăng từ một vài thành viên nổi bật trong cộng đồng."
destroy:
- failure: "%{name} không thể bị loại bỏ."
- success: "%{name} đã bị loại bỏ."
+ failure: "Không thể xoá bỏ %{name}."
+ success: "Đã xoá bỏ %{name}."
+ success_auto_follow_back: "Đã xoá bỏ %{name}. Bạn từng dùng mối quan hệ này để tự động theo dõi lại người khác. Kiểm tra thiết lập cá nhân để chọn một mối quan hệ tự động theo dõi lại người khác."
edit:
- aspect_list_is_not_visible: "danh sách mối quan hệ bị ẩn với người khác trong mối quan hệ"
- aspect_list_is_visible: "những người trong mối quan hệ này nhìn thấy nhau"
- confirm_remove_aspect: "Bạn có chắc là muốn xoá mối quan hệ này không?"
+ aspect_list_is_not_visible: "Những người trong mối quan hệ này không thể nhìn thấy nhau."
+ aspect_list_is_visible: "Những người trong \bmối quan hệ này có thể nhìn thấy nhau."
+ confirm_remove_aspect: "Bạn có chắc là muốn xoá mối quan hệ này?"
rename: "Đổi tên"
update: "Cập nhật"
updating: "Đang cập nhật"
index:
- donate: "Quyên góp"
+ donate: "Ủng hộ"
+ donate_liberapay: "Ủng hộ liberapay"
help:
any_problem: "Có vấn đề?"
+ contact_podmin: "Liên hệ quản trị viên!"
do_you: "Bạn muốn:"
- feature_suggestion: "... đề nghị tính năng %{link}?"
- find_a_bug: "... báo lỗi %{link}?"
- have_a_question: "... gửi câu hỏi %{link}?"
+ feature_suggestion: "... đề xuất %{link}?"
+ find_a_bug: "... gửi %{link}?"
+ have_a_question: "... gửi %{link}?"
here_to_help: "Cộng đồng Diaspora!"
- need_help: "Cần trợ giúp?"
+ mail_podmin: "Email quản trị viên"
+ need_help: "Trợ giúp"
+ support_forum: "Bạn nên tham gia %{support_forum}."
+ support_forum_link: "diễn đàn hỗ trợ"
tag_bug: "#bug"
tag_feature: "#feature"
tag_question: "#question"
tutorial_link_text: "Hướng dẫn"
- introduce_yourself: "Đây là luồng của bạn. Hãy tự giới thiệu mình ở đây."
- keep_pod_running: "Đóng góp hàng tháng để giúp %{pod} chạy nhanh và duy trì các phí khác!"
+ tutorials_and_wiki: "%{faq}, %{tutorial} & %{wiki}: hướng dẫn sử dụng."
+ introduce_yourself: "Đây là bảng tin của bạn. Hãy tự giới thiệu mình ở đây."
+ keep_pod_running: "Ủng hộ để giúp %{pod} \btrang trải chi phí duy trì hàng tháng!"
new_here:
- follow: "Theo dõi %{link} và chào đón người dùng mới đến với Diaspora*!"
+ follow: "Theo dõi %{link} và chào đón người dùng mới đến với Diaspora!"
learn_more: "Tìm hiểu thêm"
title: "Chào đón người dùng mới"
services:
@@ -128,61 +309,92 @@ vi:
welcome_to_diaspora: "Chào mừng đến với Diaspora, %{name}!"
no_contacts_message:
community_spotlight: "Nổi bật từ cộng đồng"
+ invite_link_text: "mời"
or_spotlight: "Hoặc bạn có thể chia sẻ với %{link}"
- try_adding_some_more_contacts: "Bạn có thể tìm hoặc %{invite_link} mời thêm bạn."
- you_should_add_some_more_contacts: "Bạn có thể thêm một vài liên lạc!"
+ try_adding_some_more_contacts: "Bạn có thể tìm hoặc %{invite_link} thêm bạn bè."
+ you_should_add_some_more_contacts: "Bạn nên thêm một vài người trong danh bạ!"
seed:
acquaintances: "Người quen"
family: "Gia đình"
friends: "Bạn bè"
work: "Đồng nghiệp"
update:
- failure: "Mối quan hệ %{name} có tên quá dài, không thể lưu."
- success: "Mối quan hệ %{name} đã được chỉnh sửa."
+ failure: "Tên mối quan hệ %{name} quá dài, không thể lưu."
+ success: "Đã chỉnh sửa mối quan hệ %{name} thành công."
blocks:
create:
- failure: "Không thể bỏ qua người dùng. #evasion"
- success: "Bạn sẽ không thấy #silencio trong luồng của bạn nữa!"
+ failure: "Không thể ẩn người dùng đó!"
+ success: "Bạn sẽ không thấy người dùng đó trong bảng tin nữa!"
destroy:
- failure: "Tôi không thể dừng bỏ người đó. #evasion"
- success: "Hãy xem họ đã nói gì! #sayhello"
+ failure: "K\x1dhông thể bỏ ẩn người dùng đó!"
+ success: "Hãy xem họ nói gì!"
bookmarklet:
- explanation: "Đăng tin lên Diaspora từ bất kì đâu bằng cách đánh dấu %{link}."
- heading: "Đánh dấu"
- post_something: "Đăng tin lên Diaspora"
+ explanation: "Đăng lên Diaspora từ bất kì đâu bằng %{link}."
+ heading: "Đã lưu"
+ post_something: "Đăng lên Diaspora"
cancel: "Hủy bỏ"
+ color_themes:
+ dark: "Tối"
+ dark_green: "Xanh tối"
+ egyptian_blue: "Xanh lam"
+ magenta: "Đỏ"
+ original: "Xám"
+ original_white: "Sáng"
comments:
+ create:
+ fail: "Bình luận chưa được"
+ destroy:
+ fail: "Chưa thể xoá bình luận bài đăng"
+ success: "Đã xoá bình luận %{id}"
new_comment:
comment: "Bình luận"
commenting: "Đang gửi bình luận..."
+ not_found: "Không tìm thấy bài đăng hoặc bình luận"
contacts:
index:
- all_contacts: "Tất cả liên lạc"
- community_spotlight: "Nổi bật từ cộng đồng"
- my_contacts: "Liên lạc của tôi"
- no_contacts: "Có vẻ như bạn cần thêm vài liên lạc!"
- no_contacts_message: "Kiểm tra %{community_spotlight}"
+ add_contact: "Thêm người dùng"
+ all_contacts: "Danh bạ"
+ community_spotlight: "Bài đăng nổi bật"
+ my_contacts: "Danh bạ của tôi"
+ no_contacts: "Có vẻ như bạn cần thêm vài người bạn!"
+ no_contacts_in_aspect: "Bạn chưa có người nào trong mối quan hệ này. Bên dưới là những người trong danh bạ để bạn thêm vào."
+ no_contacts_message: "Xem thử %{community_spotlight}"
only_sharing_with_me: "Chỉ chia sẻ với tôi"
- start_a_conversation: "Bắt đầu một cuộc trò chuyện"
- title: "Liên lạc"
+ start_a_conversation: "Bắt đầu viết gì đó"
+ title: "Danh bạ"
+ user_search: "Tìm người dùng"
spotlight:
- community_spotlight: "Nổi bật từ cộng đồng"
+ community_spotlight: "Bài đăng nổi bật"
+ no_members: "Chưa có người dùng nào."
suggest_member: "Gợi ý một thành viên"
conversations:
create:
fail: "Tin nhắn không hợp lệ"
sent: "Đã gửi tin nhắn"
+ destroy:
+ delete_success: "Đã xoá thảo luận thành công"
+ hide_success: "Đã ẩn thảo luận thành công"
index:
+ conversations_inbox: "Tin nhắn – Hộp thư đến"
inbox: "Hộp thư đến"
- no_messages: "không có tin nhắn"
+ new_conversation: "Tin nhắn mới"
+ no_contacts: "Bạn cần thêm vài người dùng trước khi bắt đầu đối thoại"
+ no_messages: "Không có tin nhắn"
new:
+ message: "Nhắn tin"
send: "Gửi"
sending: "Đang gửi..."
- subject: "tựa đề"
- to: "người nhận"
+ subject: "Tiêu đề"
+ subject_default: "Không tựa đề"
+ to: "Người nhận"
+ new_conversation:
+ fail: "Tin nhắn không hợp lệ"
+ not_found: "Không tìm thấy thảo luận"
show:
- delete: "xóa và khóa cuộc trò chuyện"
- reply: "trả lời"
+ delete: "Xoá thảo luận"
+ hide: "Ẩn thảo luận"
+ last_message: "Tin nhắn cuối %{timeago}"
+ reply: "Trả lời"
replying: "Đang trả lời..."
date:
formats:
@@ -190,374 +402,939 @@ vi:
birthday_with_year: "%B %d %Y"
fullmonth_day: "%B %d"
delete: "Xóa"
- email: "Địa chỉ người nhận"
+ email: "Email"
error_messages:
+ csrf_token_fail: "CSRF token không hợp lệ. Xin đăng nhập và thử lại."
helper:
correct_the_following_errors_and_try_again: "Sửa những lỗi sau và thử lại."
+ need_javascript: "Trang web này yêu cầu JavaScript để chạy các tính năng. Nếu bạn đang tắt JavaScript, hãy bật lại và làm tươi trang."
+ errors:
+ messages:
+ carrierwave_download_error: "không thể tải về"
+ carrierwave_integrity_error: "sai định dạng tập tin"
+ carrierwave_processing_error: "xử lý thất bại"
+ content_type_blacklist_error: "Bạn không được phép tải lên tập tin định dạng %{content_type}"
+ content_type_whitelist_error: "Bạn không được phép tải lên tập tin định dạng %{content_type}"
+ extension_blacklist_error: "Bạn không được phép tải lên tập tin định dạng %{extension}, những định dạng bị cấm: %{prohibited_types}"
+ extension_whitelist_error: "Bạn không được phép tải lên tập tin định dạng %{extension}, những định dạng cho phép: %{allowed_types}"
+ max_size_error: "Dung lượng phải nhỏ hơn %{max_size}"
+ min_size_error: "Dung lượng phải cao hơn %{min_size}"
+ mini_magick_processing_error: "Đây không phải là hình ảnh. Lỗi: %{e}"
+ rmagick_processing_error: "Đây không phải là hình ảnh"
fill_me_out: "Điền đầy đủ"
- find_people: "Tìm người hoặc #tags"
+ find_people: "Tìm người hoặc #hashtag"
help:
- getting_started_tutorial: "Loạt bài hướng dẫn cho người mới"
+ account_and_data_management:
+ close_account_a: "Đến cuối trang thiết lập và nhấn vào nút “Vô hiệu hoá tài khoản”. Bạn sẽ được yêu cầu nhập mật khẩu để tiếp tục. Hãy nhớ kỹ, nếu bạn vô hiệu hoá tài khoản, tên người dùng của bạn ở máy chủ đó sẽ <strong>không bao giờ</strong> có thể đăng ký lại."
+ close_account_q: "Làm sao xoá tài khoản?"
+ data_other_podmins_a: "Một khi bạn theo dõi ai đó trên máy chủ khác, mọi bài đăng của bạn và một bản sao hồ sơ của bạn sẽ được lưu cached trên máy chủ đó. Khi bạn xoá bài đăng hoặc vô hiệu hoá tài khoản, một yêu cầu xoá đồng thời sẽ được gửi đến máy chủ đó. Hình ảnh của bạn không bao giờ lưu trữ trên máy chủ khác."
+ data_other_podmins_q: "Quản trị viên máy chủ khác có thể xem dữ liệu của tôi không?"
+ data_visible_to_podmin_a: "Ngắn gọn: mọi thứ. Giao tiếp giữa các máy chủ luôn được mã hoá (sử dụng SSL và mã hoá riêng của Diaspora), nhưng dữ liệu lưu trữ trên máy chủ sẽ không được mã hoá. Nếu quản trị viên máy chủ của bạn muốn, họ có thể truy cập mọi dữ liệu hồ sơ và mọi thứ bạn mà đăng (tương tự như cách hầu hết trang web lưu trữ dữ liệu người dùng hiện nay). Đây là lý do bạn nên chọn kỹ máy chủ đăng ký, nơi có quản trị viên mà bạn tin tưởng. Tự vận hành máy chủ sẽ bảo mật hơn vì bạn có toàn quyền truy cập cơ sở dữ liệu."
+ data_visible_to_podmin_q: "Quản trị viên máy chủ có thể xem dữ liệu gì của tôi?"
+ download_data_a: "Được. Dưới mục “Tài khoản” trong thiết lập có hai nút: một nút để tải về dữ liệu và một nút tải về hình ảnh."
+ download_data_q: "Tôi có thể tải về một bản sao tất cả dữ liệu trong tài khoản của tôi?"
+ move_pods_a: "Diaspora phiên bản 0.7.0.0 cho phép chuyển tài khoản: bạn có thể xuất dữ liệu từ mục “Tài khoản” trong thiết lập. Giữ dữ liệu an toàn! Trong phiên bản tiếp theo, bạn sẽ có thể chuyển toàn bộ, bao gồm bài đăng và danh bạ sang một máy chủ khác."
+ move_pods_q: "Làm sao để chuyển tài khoản sang một máy chủ khác?"
+ title: "Quản lý dữ liệu tài khoản"
+ aspects:
+ change_aspect_of_post_a: "Không, nhưng bạn luôn luôn có thể tạo một bài đăng mới với cùng nội dung và đăng nó với một mối quan hệ khác."
+ change_aspect_of_post_q: "Nếu tôi đã đăng một bài đăng, tôi có thể đổi mối quan hệ của bài đăng đó được không?"
+ contacts_know_aspect_a: "Không. Họ không thể thấy."
+ contacts_know_aspect_q: "Những người trong danh bạ của tôi có biết họ thuộc mối quan hệ nào không?"
+ delete_aspect_a: "Nhấn “Mối quan hệ của tôi” ở thanh bên và chọn biểu tượng bút chì kế bên mối quan hệ mà bạn muốn xoá. Hoặc mở trang Danh bạ chọn mối quan hệ muốn xoá, sau đó chọn tiếp biểu tượng thùng rác trên góc phải của trang."
+ delete_aspect_q: "Làm sao để xoá một mối quan hệ?"
+ person_multiple_aspects_a: "Được. Mở trang Danh bạ, kế bên mỗi người dùng có nút để bạn chọn (hoặc xoá bỏ) người đó vào những mối quan hệ mà bạn muốn. Trên trang cá nhân của họ cũng có nút chức năng giống vậy. Hoặc khi bạn rê chuột lên tên họ trên bảng tin, một popup sẽ xuất hiện để bạn chọn tương tự."
+ person_multiple_aspects_q: "Tôi có thể thêm một người vào nhiều mối quan hệ không?"
+ post_multiple_aspects_a: "Được. Khi tạo bài đăng mới, bạn có thể chọn hoặc bỏ chọn những mối quan hệ. Mặc định sẽ đăng với mọi mối quan hệ. Bạn cũng có thể chọn trước những mối quan hệ muốn đăng trong thanh bên. Khi bạn đăng, những mối quan hệ đã chọn ở thanh bên sẽ được tự động chọn trong bài đăng."
+ post_multiple_aspects_q: "Tôi có thể đăng một bài đăng với nhiều mối quan hệ cùng lúc?"
+ remove_notification_a: "Không. Họ cũng không nhận được thông báo nếu bạn thêm họ vào nhiều mối quan hệ."
+ remove_notification_q: "Nếu tôi xoá bỏ ai đó khỏi một mối quan hệ, họ có nhận thông báo về điều này không?"
+ rename_aspect_a: "Nhấn “Mối quan hệ của tôi” ở thanh bên và chọn biểu tượng bút chì kế bên mối quan hệ mà bạn muốn đổi tên. Hoặc bạn cũng có thể mở trang Danh bạ và chọn mối quan hệ. Sau đó nhấn vào biểu tượng chỉnh sửa kế bên tên mối quan hệ, đổi tên và chọn “Cập nhật”."
+ rename_aspect_q: "Làm sao đổi tên một mối quan hệ?"
+ restrict_posts_i_see_a: "Được. Nhấn chọn “Mối quan hệ của tôi” ở thanh bên và click chọn vào những mối quan hệ bạn muốn xem. Chỉ những bài đăng từ người trong mối quan hệ đã chọn đó mới xuất hiện trên bảng tin của bạn."
+ restrict_posts_i_see_q: "Làm sao để bảng tin của tôi chỉ hiện bài đăng từ một mối quan hệ nhất định?"
+ title: "Mối quan hệ"
+ what_is_an_aspect_a: "Mối quan hệ là cách bạn sắp xếp danh bạ của mình trên Diaspora. Mỗi mối quan hệ là một tập hợp những người có cùng vị trí xã hội đối với bạn. Chẳng hạn như đồng nghiệp, gia đình, bạn bè."
+ what_is_an_aspect_q: "Mối quan hệ là gì?"
+ who_sees_post_a: "Nếu bạn tạo một bài đăng hạn chế, chỉ những người có trong mối quan hệ bạn đã chọn mới có thể thấy (bạn có thể chọn nhiều mối quan hệ). Những bài đăng hạn chế sẽ bị ẩn khi xem trang của bạn công khai."
+ who_sees_post_q: "Khi tôi đăng trong một mối quan hệ, ai sẽ thấy?"
+ community_guidelines: "hướng dẫn cộng đồng"
+ faq: "FAQ"
+ foundation_website: "Trang chủ Diaspora"
+ getting_help:
+ get_support_a_discourse: "Tìm những thảo luận có liên quan tới yêu cầu của bạn hoặc tạo một chủ đề mới trên nền tảng %{discourse} của chúng tôi"
+ get_support_a_faq: "\bĐọc trang %{faq} trên wiki"
+ get_support_a_hashtag: "Đăng một bài đăng công khai sử dụng hashtag %{question}"
+ get_support_a_irc: "Tham gia kênh chat %{irc}"
+ get_support_a_tutorials: "Đọc kỹ %{tutorials}"
+ get_support_a_website: "Tham khảo %{link}"
+ get_support_a_wiki: "Tra cứu %{link}"
+ get_support_q: "Nếu thắc mắc của tôi không có trong FAQ, tôi nên gửi yêu cầu hỗ trợ ở đâu?"
+ getting_started_a: "Bạn đọc kỹ nhé. \bTìm hiểu %{tutorial_series} trên trang chủ. Nó sẽ chỉ bạn từng bước quá trình đăng ký và dạy bạn cách sử dụng các tính năng cơ bản của Diaspora."
+ getting_started_q: "Giúp tôi với! Tôi cần hướng dẫn sử dụng cơ bản!"
+ title: "Trợ giúp"
+ getting_started_tutorial: "Hướng dẫn cho người mới"
here: "tại đây"
irc: "IRC"
+ keyboard_shortcuts:
+ keyboard_shortcuts_a1: "Trong bảng tin, bạn có thể sử dụng các phím tắt sau:"
+ keyboard_shortcuts_li1: "J – Chuyển tới bài đăng tiếp theo"
+ keyboard_shortcuts_li2: "K – Quay về bài đăng trước"
+ keyboard_shortcuts_li3: "C – Bình luận trên bài đăng hiện tại"
+ keyboard_shortcuts_li4: "L – Thích bài đăng hiện tại"
+ keyboard_shortcuts_li5: "R – Chia sẻ bài đăng hiện tại"
+ keyboard_shortcuts_li6: "M – Đọc tiếp bài đăng hiện tại"
+ keyboard_shortcuts_li7: "O – Mở liên kết đầu tiên trong bài đăng hiện tại"
+ keyboard_shortcuts_li8: "Ctrl+Enter – Gửi tin nhắn bạn đang soạn"
+ keyboard_shortcuts_q: "Làm sao sử dụng phím tắt?"
+ title: "Phím tắt"
markdown: "Markdown"
+ mentions:
+ how_to_mention_a: "Gõ ký tự “@” và tên người dùng. Một menu sẽ hiện ra giúp bạn dễ dàng chọn. Bạn chỉ có thể nhắc đến những ai có trong mối quan hệ của bạn."
+ how_to_mention_q: "Làm sao nhắc đến ai đó trong một bài đăng?"
+ mention_in_comment_a: "Được. Bạn có thể nhắc đến ai đó trong bình luận giống như cách dùng trong bài đăng. Lưu ý rằng, khi bạn bình luận một bài đăng hạn chế, bạn chỉ có thể nhắc đến người đã tương tác với bài đăng."
+ mention_in_comment_q: "Tôi có thể nhắc đến ai đó trong bình luận không?"
+ see_mentions_a: "Nhấn “Lượt nhắc” ở cột bên trái trang chính."
+ see_mentions_q: "Làm sao xem lại những bài đăng mà tôi được nhắc đến?"
+ title: "Lượt nhắc đến"
+ what_is_a_mention_a: "Lượt nhắc đến nghĩa là khi ai đó nhắc đến bạn trong một bài đăng. Khi bạn được nhắc đến, sẽ có thông báo để bạn biết."
+ what_is_a_mention_q: "Lượt nhắc đến là gì?"
+ miscellaneous:
+ back_to_top_a: "Được. Nhấn vào mũi tên màu xám xuất hiện ở cuối góc phải trên cửa sổ trình duyệt của bạn."
+ back_to_top_q: "Cách nào nhanh nhất để quay về đầu trang?"
+ diaspora_app_a: "Có nhiều ứng dụng Android đã và đang được phát triển. Một vài trong số đó đã lỗi thời và có thể hoạt động không trơn tru với phiên bản Diaspora mới nhất. Hiện chưa có ứng dụng cho iOS. Cách tốt nhất là truy cập Diaspora thông qua trình duyệt web điện thoại."
+ diaspora_app_q: "Diaspora có ứng dụng trên Android hay iOS không?"
+ photo_albums_a: "Hiện tại thì không. Bạn có thể xem toàn bộ hình của một người đã tải lên ở tab Hình ảnh trên trang cá nhân của họ."
+ photo_albums_q: "Xếp photo hoặc video thành album được không?"
+ subscribe_feed_a: "Được, nhưng định dạng đọc có thể khó nhìn. Nếu bạn vẫn muốn, hãy đến trang cá nhân của người đó, sao chép URL (vd: https://podname.org/people/somenumber) và dán nó nó vào trình đọc tin của bạn. Kết quả địa chỉ nguồn tin hiện ra giống như sau: https://podname.org/public/username.atom – Diaspora đề xuất sử dụng Atom thay vì RSS."
+ subscribe_feed_q: "Tôi có thể đăng ký đọc bài đăng của một người thông qua nguồn cấp tin được không?"
+ title: "Khác"
+ pods:
+ find_people_a: "Hãy mời bạn bè của bạn tham gia Diaspora bằng cách sử dụng liên kết hoặc thư mời trên thanh bên. Theo dõi #hashtag để khám phá những người dùng cùng chung sở thích. Tạo bài đăng cho biết bạn vừa tham gia #newhere."
+ find_people_q: "Tôi đã tham gia một máy chủ, làm sao tìm người dùng để theo dõi?"
+ title: "Máy chủ"
+ use_search_box_a: "Bạn có thể nhập tên người dùng của họ hoặc tên hiển thị (tên trên trang cá nhân của họ). Hoặc nhập đầy đủ Diaspora ID (tên tài khoản@máy chủ). Nếu vẫn không thấy, có thể do độ trễ của mạng. Hãy thử lại."
+ use_search_box_q: "Làm sao tìm kiếm người dùng?"
+ what_is_a_pod_a: "Máy chủ là nơi vận hành phần mềm Diaspora và kết nối với mạng lưới Diaspora. Đó là nơi bạn đăng ký và lưu trữ tài khoản của bạn. Có rất nhiều máy chủ. Bạn có thể thêm bạn từ máy chủ khác và giao tiếp với họ mà không cần tạo tài khoản ở máy chủ khác! Nó giống như dịch vụ email."
+ what_is_a_pod_q: "Máy chủ là gì?"
+ posts_and_posting:
+ char_limit_services_a: "Bạn cần giới hạn bài đăng trong khoảng ký tự cho phép (280 với Twitter, không giới hạn với Tumblr), và số ký tự cho phép còn lại sẽ hiển thị khi biểu tượng của dịch vụ sáng lên. Bạn vẫn có thể đăng nếu vượt quá số ký tự cho phép, nhưng bài đăng trên dịch vụ đó sẽ biến thành một liên kết dẫn về bài đăng của bạn trên Diaspora."
+ char_limit_services_q: "Nếu bài đăng của tôi vượt quá ký tự cho phép của dịch vụ đã kết nối thì sao?"
+ character_limit_a: "65,535 ký tự. Nhiều hơn 65,395 ký tự so với Twitter! ;)"
+ character_limit_q: "Một bài đăng tối đa bao nhiêu ký tự?"
+ embed_multimedia_a: "Bạn hãy dán URL (vd: http://www.youtube.com/watch?v=nnnnnnnnnnn ) vào bài đăng rồi rồi video hoặc âm thanh sẽ tự động hiển thị. Những nguồn hỗ trợ gồm: YouTube, Vimeo, SoundCloud, Flickr và một vài trang khác. \bDiaspora sử dụng oEmbed cho tính năng này. Nếu bạn đăng link trực tiếp của một tập tin video hoặc âm thanh, Diaspora cũng sẽ chuyển tự động với trình phát HTML5. Hãy nhớ là dùng liên kết đầy đủ – không dùng rút gọn link. Nhấn xem trước và chờ một chút, trình phát sẽ hiện ra."
+ embed_multimedia_q: "Làm sao chèn mã video, âm thanh hoặc nội dung đa phương tiện vào bài đăng?"
+ format_text_a: "Diaspora hỗ trợ %{markdown}. Trên trình soạn thảo có các nút giúp bạn định dạng nhanh hơn. Tham khảo đầy đủ cú pháp ở %{here}. Bạn không thể chỉnh sửa sau khi đăng, vì vậy hãy cẩn thận xem trước!"
+ format_text_q: "Làm sao định dạng bài đăng (in đậm, in nghiêng, etc.)?"
+ hide_posts_a: "Rê chuột lên đầu một bài đăng, một dấu X sẽ xuất hiện bên phải. Nhấn chọn để ẩn bài đăng và những thông báo liên quan bài đăng đó. Bạn vẫn có thể thấy bài đăng nếu bạn ghé thăm trang cá nhân của người đăng nó."
+ hide_posts_q: "Làm sao ẩn một bài đăng?"
+ ignore_user_a1: "Nếu bạn đang theo dõi người đó, xoá bỏ họ khỏi mối quan hệ sẽ giúp bài đăng của họ biến mất khỏi bảng tin của bạn. Một phương pháp khác là “ẩn” người dùng đó. Họ sẽ đồng thời không thể thích hay bình luận trên bài đăng của bạn. Tuy nhiên, họ vẫn có thể chia sẻ bài đăng của bạn, bình luận trên những lượt chia sẻ bài đăng của bạn và xuất hiện trong những bài đăng của người khác."
+ ignore_user_a2: "Để ẩn ai đó, nhấn vào biểu tượng “ẩn” trên góc trên bên phải một bài đăng bất kỳ của họ. Những bài đăng của họ sẽ biến mất khỏi bảng tin của bạn. Bên cạnh đó, bạn cũng có thể đến trang cá nhân của họ và nhấn vào biểu tượng “ẩn” ở đó."
+ ignore_user_a3: "Bạn có thể xem lại danh sách những người mà bạn đã ẩn ở phần thiết lập tài khoản, mục Riêng tư. Để hiện lại ai đó, xoá bỏ họ khỏi danh sách này."
+ ignore_user_q: "Làm sao để ẩn ai đó khỏi bảng tin của tôi?"
+ insert_images_a: "Để tải hình từ máy tính lên, nhấn vào biểu tượng máy chụp hình trên trình soạn thảo. Bạn có thể kéo thả một, hoặc nhiều hình từ máy tính của bạn. Còn nếu muốn chèn hình từ web, nhấn vào biểu tượng hình ảnh trên trình soạn thảo sẽ tạo mã Markdown cho bạn."
+ insert_images_comments_a: "Bạn có thể sử dụng Markdown để nhập một hình ảnh từ web khi bình luận. Tuy nhiên, bạn không thể tải lên hình ảnh trực tiếp từ máy tính. Hãy tải chúng lên một dịch vụ lưu trữ hình ảnh và nhập chúng thông qua nút hình ảnh trên thanh công cụ soạn thảo."
+ insert_images_comments_q: "Làm sao chèn hình vào bình luận?"
+ insert_images_q: "Làm sao chèn hình?"
+ post_location_a: "Nhấn vào biểu tượng cây ghim kế bên máy chụp ảnh ở trình soạn thảo. Nó sẽ tự động nhập vào địa chỉ hiện tại của bạn từ OpenStreetMap. Bạn có thể chỉnh sửa – ví dụ như chỉ chọn thành phố thay vì cả địa chỉ cụ thể."
+ post_location_q: "Làm sao thêm nơi đăng vào một bài đăng?"
+ post_notification_a: "Góc trên bên phải của bài đăng có một biểu tượng cái chuông. Nhấn vào để bật hoặc tắt thông báo về bài đăng đó."
+ post_notification_q: "Làm sao để nhận thông báo hoặc tắt thông báo về một bài đăng?"
+ post_poll_a: "Nhấn vào biểu tượng đồ thị để tạo bình chọn. Nhập một câu hỏi và ít nhất hai lựa chọn trả lời. Đừng quên đăng công khai nếu bạn muốn mọi người đều có thể tham gia bình chọn."
+ post_poll_q: "Làm sao tạo bình chọn trong bài đăng?"
+ post_report_a: "Nhấn vào biểu tượng cảnh báo hình tam giác ở góc trên bên phải bài đăng. Bổ sung lý do báo cáo trong hộp thoại vừa mở ra. Xin hãy chỉ báo cáo những bài đăng vi phạm %{community_guidelines}, ví dụ như nội dung bất hợp pháp, xúc phạm hoặc spam."
+ post_report_q: "Làm sao để báo cáo bài đăng vi phạm?"
+ size_of_images_a: "Không. Hình ảnh sẽ tự động co lại vừa với bảng tin hoặc bài đăng chi tiết."
+ size_of_images_q: "Làm sao thay đổi kích cỡ hình trên bài đăng hoặc bình luận?"
+ stream_full_of_posts_a1: "Bảng tin của bạn gồm ba loại bài đăng:"
+ stream_full_of_posts_li1: "Bài đăng từ những người bạn đã theo dõi (gồm công khai và hạn chế với mối quan hệ có bạn trong đó). Để không hiện dạng bài đăng này, hãy ngưng theo dõi người đó."
+ stream_full_of_posts_li2: "Bài đăng công khai chứa một trong những hashtag mà bạn theo dõi. Để không hiện dạng bài đăng này, ngừng theo dõi hashtag đó."
+ stream_full_of_posts_li3: "Bài đăng công khai bởi những người dùng nổi bật. Bạn có ẩn bằng cách bỏ chọn “Hiện bài đăng nổi bật trong bảng tin?”"
+ stream_full_of_posts_q: "Vì sao bảng tin của tôi toàn là bài đăng từ những người tôi không biết và không theo dõi?"
+ title: "Bài đăng"
+ private_posts:
+ can_comment_a: "Chỉ có những người dùng Diaspora đã đăng nhập và có trong mối quan hệ mà bạn đã chọn mới có thể bình luận hoặc thích."
+ can_comment_q: "Ai có thể bình luận hoặc thích bài đăng riêng tư của tôi?"
+ can_reshare_a: "Không ai có thể. Bài đăng riêng tư không thể chia sẻ. Tuy nhiên, những người dùng Diaspora đã đăng nhập và có trong mối quan hệ mà bạn đã chọn vẫn có thể copy và paste bài đăng riêng tư hoặc chụp hình lại. Bạn phải tin tưởng những người mà bạn chia sẻ!"
+ can_reshare_q: "Ai có thể chia sẻ bài đăng riêng tư của tôi?"
+ see_comment_a: "Chỉ có những người trong bài đăng đó (những người trong mối quan hệ của người đăng chọn) mới có thể bình luận và thích. "
+ see_comment_q: "Ai có thể thấy khi tôi bình luận hoặc thích một bài đăng riêng tư?"
+ title: "Bài đăng riêng tư"
+ who_sees_post_a: "Chỉ có những người dùng Diaspora đã đăng nhập và có trong mối quan hệ mà bạn đã chọn mới có thể thấy."
+ who_sees_post_q: "Khi tôi đăng bài trong một mối quan hệ, ai có thể xem nó?"
+ profile:
+ title: "Trang cá nhân"
+ what_do_tags_do_a: "Chúng giúp mọi người có thể tìm thấy bạn. Ảnh đại diện của bạn sẽ hiển thị ở thanh bên trái bảng tin, cùng với bất cứ ai có sử dụng hashtag đó trong thông tin cơ bản."
+ what_do_tags_do_q: "Hashtag trong thông tin cơ bản dùng làm gì?"
+ whats_in_profile_a: "Trang cá nhân của bạn gồm: thông tin cơ bản và thông tin nâng cao. Thông tin cơ bản gồm tên, 5 hashtag mô tả về bạn và hình ảnh của bạn. Thông tin nâng cao gồm tiểu sử, nơi ở, giới tính và sinh nhật. Mọi thông tin do bạn tuỳ ý chọn điền vào hay không. Thông tin nâng cao của bạn hiển thị ở cột bên trái của trang cá nhân, dưới ảnh đại diện."
+ whats_in_profile_q: "Trang cá nhân của tôi gồm có gì?"
+ who_sees_profile_a: "Thông tin cơ bản (tên, ảnh đại diện và hashtag) là công khai. Thông tin nâng cao là riêng tư theo mặc định, nhưng bạn có thể chọn công khai nếu thích. Chỉ có những người mà bạn đang theo dõi (nghĩa là bạn đã thêm họ vào mối quan hệ) mới có thể xem thông tin nâng cao. Những người khác sẽ chỉ thấy thông tin công khai của bạn. Mọi thông tin mà bạn chọn công khai sẽ có thể xem bởi bất kỳ ai trên web, và có thể được lập chỉ mục bởi cỗ máy tìm kiếm."
+ who_sees_profile_q: "Ai có thể thấy trang cá nhân của tôi?"
+ public_posts:
+ can_comment_reshare_like_a: "Chỉ có những người dùng Diaspora đã đăng nhập mới có thể bình luận, chia sẻ hoặc thích. Với những người mà bạn đã ẩn, họ không thể thích hay bình luận trên bài đăng của bạn."
+ can_comment_reshare_like_q: "Ai có thể bình luận, chia sẻ hoặc thích bài đăng công khai của tôi?"
+ deselect_aspect_posting_a: "Bỏ chọn mối quan hệ không ảnh hưởng tới bài đăng công khai. Bài đăng vẫn sẽ công khai và xuất hiện trong bảng tin của mọi người có trong danh bạ. Để tạo m\x1dột bài đăng chỉ dành cho những mối quan hệ nhất định, bạn cần chọn những mối quan hệ đó trong trình soạn thảo."
+ deselect_aspect_posting_q: "Nếu tôi bỏ chọn những mối quan hệ ở thanh bên khi tạo một bài đăng mới thì sao?"
+ find_public_post_a: "Bài đăng công khai của bạn sẽ xuất hiện trên bảng tin của bất cứ ai theo dõi bạn. Nếu bạn thêm #hashtag trong bài đăng, những ai theo dõi hashtag đó cũng sẽ thấy bài đăng của bạn trong bảng tin của họ. Mọi bài đăng công khai đều có một URL để những người không dùng Diaspora cũng có thể xem. Những bộ máy tìm kiếm như Google có thể lập chỉ mục bài đăng công khai của bạn."
+ find_public_post_q: "Làm sao mọi người tìm thấy bài đăng công khai của tôi?"
+ see_comment_reshare_like_a: "Bình luận, chia sẻ, lượt thích của bài đăng công khai cũng sẽ công khai. Bất cứ ai, kể cả những người không dùng Diaspora cũng có thể thấy tương tác của bạn trên một bài đăng công khai."
+ see_comment_reshare_like_q: "Ai có thể thấy tôi bình luận, chia sẻ hoặc thích một bài đăng công khai?"
+ title: "Bài đăng công khai"
+ who_sees_post_a: "Tất cả mọi người, kể cả những người không dùng Diaspora có thể xem."
+ who_sees_post_q: "Ai có thể thấy bài đăng công khai của tôi?"
+ resharing_posts:
+ reshare_private_post_aspects_a: "Không. Bạn không thể chia sẻ bất cứ bài đăng riêng tư nào."
+ reshare_private_post_aspects_q: "Tôi có thể chia sẻ một bài đăng riêng tư với những mối quan hệ?"
+ reshare_public_post_aspects_a: "Không. Khi bạn chia sẻ những bài đăng công khai, nó tự động trở thành một bài đăng công khai của bạn. Để chia sẻ với một mối quan hệ nhất định, hãy sao chép và dán nội dung để tạo một bài đăng hạn chế mới."
+ reshare_public_post_aspects_q: "Tôi có thể chia sẻ một bài đăng công khai với những mối quan hệ?"
+ title: "Chia sẻ bài đăng"
+ sharing:
+ add_to_aspect_a1: "Amy đã thêm Ben vào một mối quan hệ, nhưng Ben chưa thêm Amy vào mối quan hệ:"
+ add_to_aspect_a2: "Nếu Ben cũng thêm Amy vào một mối quan hệ, cả hai sẽ đều thấy những bài đăng công khai và riêng tư của nhau trên bảng tin. Và Amy có thể xem thông tin nâng cao của Ben. Cả hai cũng có thể nhắn tin cho nhau."
+ add_to_aspect_li1: "Ben sẽ nhận thông báo rằng Amy bắt đầu chia sẻ với Ben."
+ add_to_aspect_li2: "Amy sẽ bắt đầu thấy bài đăng công khai của Ben."
+ add_to_aspect_li3: "Amy sẽ không thấy những bài đăng riêng tư của Ben."
+ add_to_aspect_li4: "Ben sẽ không thấy bài đăng công khai lẫn riêng tư của Amy."
+ add_to_aspect_li5: "Nhưng nếu Ben vào trang cá nhân của Amy, anh ấy vẫn thấy những bài đăng riêng tư mà Amy tạo cho những mối quan hệ có Ben trong đó."
+ add_to_aspect_li6: "Ben cũng có thể thấy thông tin nâng cao của Amy (tiểu sử, nơi ở, giới tính, sinh nhật)."
+ add_to_aspect_li7: "Amy sẽ xuất hiện trong mục “Người chia sẻ với tôi” trong Danh bạ của Ben."
+ add_to_aspect_li8: "Amy sẽ có thể @nhắc đến Ben trong một bài đăng."
+ add_to_aspect_q: "Chuyện gì xảy ra khi tôi thêm ai đó vào mối quan hệ của tôi hoặc ngược lại?"
+ list_not_sharing_a: "Không. Nhưng bạn có thể kiểm tra nếu ai đó có chia sẻ với bạn hay không bằng cách vào trang cá nhân của họ. Nếu họ có, sẽ có dấu tick xanh kế bên Diaspora ID của họ. Nếu không, đó là một vòng tròn xám."
+ list_not_sharing_q: "Có danh sách những người tôi đã thêm vào mối quan hệ nhưng họ chưa thêm tôi vào mối quan hệ của họ không?"
+ only_sharing_a: "Họ là những người thêm bạn vào mối quan hệ của họ, nhưng bạn không thêm họ vào mối quan hệ của bạn. Nói cách khác, họ chia sẻ với bạn nhưng bạn không chia sẻ với họ."
+ only_sharing_q: "“Những người chỉ theo dõi tôi” là ai?"
+ see_old_posts_a: "Không. Họ chỉ có thể thấy những bài đăng mới hơn."
+ see_old_posts_q: "Nếu tôi thêm ai đó vào một mối quan hệ, họ có thể xem những bài đăng cũ mà tôi từng chia sẻ với mối quan hệ đó không?"
+ sharing_notification_a: "Bạn sẽ nhận thông báo mỗi khi ai đó bắt đầu theo dõi bạn."
+ sharing_notification_q: "Làm sao biết khi ai đó bắt đầu theo dõi tôi?"
+ title: "Chia sẻ"
+ tags:
+ filter_tags_a: "Diaspora chưa có tính năng này, nhưng vài %{third_party_tools} có thể sử dụng được."
+ filter_tags_q: "Làm sao lọc/loại bỏ vài hashtag ra khỏi bảng tin của tôi?"
+ followed_tags_a: "Sau khi tìm kiếm một tag, bạn có thể nhấn nút ở trên cùng trang hashtag để “\btheo dõi” hashtag đó. Những hashtag đã yêu thích sẽ xuất hiện trong danh sách ở thanh bên. Nhấn vào “Tag theo dõi” để xem những bài đăng gần đây có chứa hashtag đó. Những bài đăng có chứa hashtag đó cũng sẽ xuất hiện trong bảng tin chính của bạn."
+ followed_tags_q: "“Hashtag \btheo dõi” là gì và làm sao theo dõi một hashtag?"
+ people_tag_page_a: "Họ là những người sử dụng hashtag đó trong phần mô tả công khai của họ."
+ people_tag_page_q: "Những người có trên thanh bên của một trang hashtag là ai?"
+ tags_in_comments_a: "Hashtag trong bình luận sẽ chỉ giúp dẫn về trang của tag. Bài đăng có chứa bình luận có hashtag sẽ không xuất hiện trong trang hashtag."
+ tags_in_comments_q: "Tôi có thể dùng hashtag trong bình luận không?"
+ title: "Hashtag"
+ what_are_tags_for_a: "Hashtag là một cách dùng để phân loại bài đăng theo chủ đề. Mở một trang hashtag sẽ hiện toàn bộ bài đăng có chứa tag đó. Điều này giúp những người có chung mối quan tâm dễ dàng tìm thấy thứ họ muốn."
+ what_are_tags_for_q: "Hashtag dùng để làm gì?"
+ third_party_tools: "Công cụ bên thứ ba"
+ title_header: "Trợ giúp"
tutorial: "hướng dẫn"
tutorials: "hướng dẫn"
wiki: "wiki"
+ home:
+ default:
+ be_who_you_want_to_be: "Trở thành người mà bạn muốn"
+ be_who_you_want_to_be_info: "Facebook ép buộc bạn dùng danh tính thật, Diaspora thì không. Ở đây, bạn có thể trở thành người mà bạn muốn, tuỳ ý chia sẻ hay không chia sẻ về bản thân. Bạn có toàn quyền quyết định khi giao tiếp với người khác."
+ byline: "Mạng xã hội trực tuyến nơi bạn có toàn quyền kiểm soát"
+ choose_your_audience: "Chọn đối tượng xem"
+ choose_your_audience_info: "Mối quan hệ của Diaspora cho phép bạn chia sẻ với những người bạn muốn. Bạn có thể đăng công khai hay hạn chế tuỳ thích. Chia sẻ một hình ảnh vui nhộn với cả thế giới, hoặc một bí mật với những người bạn thân. Tuỳ thuộc vào bạn."
+ diaspora_site_link: "Mạng xã hội liên hợp Diaspora"
+ headline: "Chào mừng đến với %{pod_name}"
+ own_your_data: "Quản lý dữ liệu cá nhân"
+ own_your_data_info: "Nhiều mạng xã hội sử dụng dữ liệu cá nhân của bạn để kiếm tiền bằng cách chẩn đoán những tương tác của bạn và sử dụng dữ liệu này để quảng cáo đủ thứ cho bạn. Diaspora không sử dụng dữ liệu của vào bất cứ việc gì khác."
+ part_of_diaspora: "Một phần của %{diaspora_site_link}"
+ podmin:
+ byline: "Bạn sắp thay đổi internet. Bắt đầu nhé?"
+ configuration_info: "\bMở %{database_path} và %{diaspora_path} trong trình chỉnh sửa văn bản bất kỳ và xem trước cẩn thận, trong đó có ghi chú."
+ configure_your_pod: "Cấu hình máy chủ"
+ contact_irc: "liên hệ chúng tôi qua IRC"
+ contribute: "Đóng góp"
+ contribute_info: "Giúp Diaspora tốt hơn! Nếu bạn tìm thấy lỗi, xin hãy %{report_bugs}."
+ create_an_account: "Tạo một tài khoản"
+ create_an_account_info: "%{sign_up_link} cho tài khoản mới."
+ faq_for_podmins: "FAQ cho quản trị viên có trong wiki"
+ getting_help: "Trợ giúp"
+ getting_help_info: "Chúng tôi đã liệt kê vài %{faq} bao gồm những mẹo và thủ thuật, lẫn cách giải quyết những vấn đề thường gặp. Hoặc tham gia %{irc}."
+ headline: "Chào mừng, anh bạn."
+ make_yourself_an_admin: "Chọn bạn làm quản trị viên"
+ make_yourself_an_admin_info: "Bạn có thể đọc hướng dẫn trong %{wiki}. Điều này sẽ thêm liên kết “%{admin_dashboard}” trong menu người dùng của bạn khi bạn đã đăng nhập. Nó cho phép bạn sử dụng tính năng tìm kiếm người dùng và xem thống kê máy chủ."
+ report_bugs: "báo cáo chúng"
+ update_instructions: "cập nhật hướng dẫn trong Diaspora wiki"
+ update_your_pod: "Cập nhật máy chủ của bạn"
+ update_your_pod_info: "Bạn có thể đọc %{update_instructions}."
+ invitation_codes:
+ already_logged_in: "Bạn vừa được %{inviter} mời tham gia máy chủ này mặc dù bạn đã đăng ký rồi."
+ not_valid: "Lời mời không còn sử dụng được"
invitations:
create:
- empty: "Nhập ít nhất một địa chỉ thư điện tử."
- no_more: "Bạn đã hết thư mời."
- note_already_sent: "Đã gửi lời mời đến địa chỉ: %{emails}"
- rejected: "Địa chỉ thư điện tử sau có vấn đề: "
+ closed: "Máy chủ này không cho phép gửi thư mời."
+ empty: "Nhập ít nhất một email."
+ no_more: "Bạn đã hết lượt mời."
+ note_already_sent: "Đã gửi thư mời đến %{emails}"
+ rejected: "Địa chỉ email có vấn đề: %{emails}"
sent: "Thư mời đã được gửi đến: %{emails}"
new:
codes_left:
other: "Còn lại %{count} lượt mời cho liên kết này"
zero: "Liên kết này không còn hiệu lực"
- comma_separated_plz: "Bạn có thể nhập nhiều địa chỉ thư và ngăn cách chúng bằng dấu phẩy."
- invite_someone_to_join: "Mời người khác tham gia Diaspora!"
+ comma_separated_plz: "Bạn có thể nhập nhiều email và ngăn cách chúng bằng dấu phẩy."
+ invite_someone_to_join: "Mời bạn bè tham gia Diaspora!"
language: "Ngôn ngữ"
- paste_link: "Chia sẻ liên kết này hoặc gửi qua thư cho người khác để mời họ tham gia Diaspora*."
+ paste_link: "Chia sẻ liên kết này hoặc gửi email cho bạn bè để mời họ tham gia Diaspora."
send_an_invitation: "Gửi thư mời"
sending_invitation: "Đang gửi thư mời..."
layouts:
application:
- back_to_top: "Cuộn lên trên"
- powered_by: "ĐƯỢC HỖ TRỢ BỞI DIASPORA*"
+ back_to_top: "Trở về đầu trang"
+ be_excellent: "Tuyệt với với nhau! ♥"
+ discourse: "Thảo luận và hỗ trợ dự án"
+ powered_by: "Powered by Diaspora"
public_feed: "Nguồn tin Diaspora công khai cho %{name}"
- source_package: "tải về gói mã nguồn"
- whats_new: "có gì mới?"
+ source_package: "Tải về mã nguồn"
+ statistics_link: "Thống kê"
+ switch_to_standard_mode: "Giao diện máy tính để bàn"
+ switch_to_touch_optimized_mode: "Giao diện di động"
+ whats_new: "Cập nhật mới"
header:
- code: "mã nguồn"
+ code: "Phiên bản"
logout: "Đăng xuất"
- profile: "Hồ sơ"
+ profile: "Cá nhân"
settings: "Thiết lập"
- limited: "Giới hạn"
+ toggle_navigation: "Chuyển chế độ"
+ likes:
+ create:
+ error: "Chưa thích được."
+ fail: "Chưa thể thích bài đăng"
+ destroy:
+ error: "Không thể bỏ thích."
+ not_found: "Không tìm thấy bài đăng hoặc lượt thích"
+ people_dislike_this:
+ other: "%{count} lượt không thích"
+ zero: "Chưa có lượt không thích"
+ people_like_this:
+ other: "%{count} lượt thích"
+ zero: "Chưa có lượt thích"
+ people_like_this_comment:
+ other: "%{count} lượt thích"
+ zero: "Chưa có lượt thích"
+ limited: "Hạn chế"
more: "Xem thêm"
- no_results: "Không tìm thấy kết quả"
+ no_results: "Không tìm thấy gì"
notifications:
also_commented:
- other: "%{actors} cũng bình luận tin %{post_link} của %{post_author}."
- zero: "Không có ai bình luận tin %{post_link} của %{post_author}."
+ other: "%{actors} cũng bình luận bài đăng %{post_link} của %{post_author}."
+ zero: "Không có ai bình luận bài đăng %{post_link} của %{post_author}."
also_commented_deleted:
- other: "%{actors} bình luận vào một bài đăng đã bị xoá."
- zero: "Không có ai bình luận vào một bài đăng đã bị xóa."
+ other: "%{actors} bình luận một bài đăng đã bị xoá."
+ zero: "Không có ai bình luận một bài đăng đã bị xóa."
comment_on_post:
few: "%{actors} đã bình luận tin %{post_link} của bạn."
many: "%{actors} đã bình luận tin %{post_link} của bạn."
one: "%{actors} đã bình luận tin %{post_link} của bạn."
- other: "%{actors} đã bình luận tin %{post_link} của bạn."
+ other: "%{actors} đã bình luận bài đăng %{post_link} của bạn."
two: "%{actors} đã bình luận tin %{post_link} của bạn."
- zero: "%{actors} đã bình luận tin %{post_link} của bạn."
+ zero: "%{actors} đã bình luận bài đăng %{post_link} của bạn."
+ contacts_birthday:
+ other: "%{actors} có sinh nhật vào %{date}."
+ zero: "%{actors} có sinh nhật vào %{date}."
index:
+ all_notifications: "Toàn bộ thông báo"
+ also_commented: "Bao gồm bình luận"
and: "và"
and_others:
other: "và %{count} người khác"
zero: "và không còn ai khác"
+ comment_on_post: "Bình luận trên bài đăng"
+ contacts_birthday: "Sinh nhật"
+ liked: "Lượt thích"
mark_all_as_read: "Đánh dấu tất cả là đã đọc"
+ mark_all_shown_as_read: "Đánh dấu tất cả là đã đọc"
+ mark_read: "Đánh dấu đã đọc"
mark_unread: "Đánh dấu là chưa đọc"
+ mentioned: "Lượt nhắc đến"
+ mentioned_in_comment: "Lượt nhắc trong bình luận"
+ no_notifications: "Bạn chưa có thông báo nào."
notifications: "Thông báo"
+ reshared: "Lượt chia sẻ"
+ show_all: "Hiện toàn bộ"
+ show_unread: "Hiện chưa đọc"
+ started_sharing: "Bắt đầu chia sẻ"
liked:
- other: "%{actors} vừa mới thích bài đăng %{post_link} của bạn."
+ other: "%{actors} vừa thích bài đăng %{post_link} của bạn."
zero: "Không ai thích bài đăng %{post_link} của bạn."
liked_post_deleted:
- other: "%{actors} người thích bài đăng đã bị xóa của bạn."
- zero: "Không có ai thích bài đăng đã bị xoá của bạn."
+ other: "%{actors} người thích bài đăng đã xóa của bạn."
+ zero: "Không có ai thích bài đăng đã xoá của bạn."
mentioned:
- other: "%{actors} đã nhắc đến bạn trong %{post_link}."
- zero: "Không có ai nhắc đến bạn trong %{post_link}."
+ other: "%{actors} đã nhắc đến bạn trong bài đăng %{post_link}."
+ zero: "Không có ai nhắc đến bạn trong bài đăng %{post_link}."
mentioned_deleted:
- other: "%{actors} nhắc đến bạn trong một bài đăng đã bị xóa."
- zero: "Không có ai nhắc đến bạn trong một bài đăng đã bị xóa."
+ other: "%{actors} nhắc đến bạn trong một bài đăng đã xóa."
+ zero: "Không ai nhắc đến bạn trong một bài đăng đã xóa."
+ mentioned_in_comment:
+ other: "%{actors} nhắc đến bạn trong một <a href='%{comment_path}'>bình luận</a> của bài đăng %{post_link}."
+ mentioned_in_comment_deleted:
+ other: "%{actors} nhắc đến bạn trong một bình luận đã xoá."
private_message:
other: "%{actors} đã gửi cho bạn một tin nhắn."
zero: "Không có ai gửi tin nhắn cho bạn."
reshared:
- other: "%{actors} đã chia sẻ lại bài đăng %{post_link} của bạn."
+ other: "%{actors} vừa chia sẻ bài đăng %{post_link} của bạn."
zero: "Không có ai chia sẻ lại bài đăng %{post_link} của bạn."
reshared_post_deleted:
- other: "%{actors} đã chia sẻ lại bài đăng đã bị xóa của bạn."
- zero: "Không có ai chia sẻ lại bài đăng đã bị xóa của bạn."
+ other: "%{actors} chia sẻ bài đăng đã xóa của bạn."
+ zero: "Không có ai chia sẻ bài đăng đã xóa của bạn."
started_sharing:
few: "%{actors} đã bắt đầu chia sẻ với bạn."
many: "%{actors} đã bắt đầu chia sẻ với bạn."
one: "%{actors} đã bắt đầu chia sẻ với bạn."
- other: "%{actors} đã bắt đầu chia sẻ với bạn."
+ other: "%{actors} đã bắt đầu theo dõi bạn."
two: "%{actors} đã bắt đầu chia sẻ với bạn."
- zero: "%{actors} đã bắt đầu chia sẻ với bạn."
+ zero: "%{actors} đã bắt đầu theo dõi bạn."
notifier:
+ a_limited_post_comment: "Có bình luận mới trong một bài đăng hạn chế."
a_post_you_shared: "một bài đăng."
- click_here: "nhấn vào đây"
+ a_private_message: "Có tin nhắn mới trong Diaspora."
+ also_commented:
+ limited_subject: "Có bình luận mới trên bài đăng mà bạn đã bình luận"
+ click_here: "Nhấn vào đây"
comment_on_post:
+ limited_subject: "Có bình luận mới trên bài đăng của bạn"
reply: "Trả lời hoặc xem bài đăng của %{name}"
confirm_email:
- click_link: "Để kích hoạt địa chỉ thư điện tử mới của bạn - %{unconfirmed_email}, hãy vào liên kết này:"
- subject: "Vui lòng kích hoạt địa chỉ thư điện tử %{unconfirmed_email} của bạn"
- email_sent_by_diaspora: "Thư này được gửi bởi %{pod_name}. Nếu bạn không muốn nhận những thư như thế này,"
+ click_link: "Để kích hoạt địa chỉ email mới %{unconfirmed_email} của bạn, hãy vào liên kết này:"
+ subject: "Vui lòng kích hoạt địa chỉ email %{unconfirmed_email} của bạn"
+ contacts_birthday:
+ birthday: "Sinh nhật của %{name} là hôm nay. Hãy chúc họ 'Happy Birthday'!"
+ subject: "Sinh nhật của %{name} là hôm nay"
+ view_profile: "Xem trang cá nhân %{name}"
+ csrf_token_fail:
+ body: "Xin chào %{name},\n\n\
+ Diaspora đã phát hiện một lượt truy cập tài khoản của bạn bất thường. Để tránh mất mát dữ liệu, bạn đã bị tự động đăng xuất. Đừng lo; hiện bạn đã có thể đăng nhập lại an toàn.\n\n\
+ Yêu cầu đó sử dụng sai CSRF token. Đây có thể là lỗi vô tình, nhưng cũng có thể là tấn công CSRF.\n\n\
+ Một số nguyên nhân:\n\n\
+ \x20 - Một add-on gây lỗi truy vấn hoặc tạo truy vấn mà không token;\n\
+ \x20 - Bạn chưa tắt một tab vẫn còn đăng nhập;\n\
+ \x20 - Một trang web tự tạo truy vấn dưới yêu cầu của bạn;\n\
+ \x20 - Nhiều công cụ mở rộng khác;\n\
+ \x20 - Mã độc cố truy cập dữ liệu của bạn.\n\n\
+ Tìm hiểu thêm về CSRF, xem [%{link}](%{link}).\n\n\
+ Nếu bạn thấy tin nhắn này lần nữa, xin hãy kiểm tra những nguyên nhân như trên, bao gồm những add-on trình duyệt mà bạn sử dụng.\n\n\
+ Cảm ơn,\n\
+ \bRobot email Diaspora!"
+ subject: "Chúng tôi đã nhận một yêu cầu chưa cho phép từ tài khoản của bạn, %{name}"
+ email_sent_by_diaspora: "Thư này được gửi bởi %{pod_name}. Nếu bạn không muốn nhận những thư như thế này,"
+ export_email:
+ body: |-
+ Xin chào %{name},
+
+ Dữ liệu của bạn đã được xử lý và hiện sẵn sàng cho tải về bằng [liên kết này](%{url}).
+
+ Trân trọng,
+
+ Robot email Diaspora!
+ subject: "Tải về dữ liệu cá nhân của bạn, %{name}"
+ export_failure_email:
+ body: |-
+ Xin chào %{name}
+
+ Chúng tôi đã gặp vấn đề khi xử lý dữ liệu cá nhân của bạn.
+ Xin hãy thử lại!
+
+ Xin lỗi nha,
+
+ Robot email Diaspora!
+ subject: "Có vấn đề với dữ liệu của bạn, %{name}"
+ export_photos_email:
+ body: |-
+ Xin chào %{name},
+
+ Hình ảnh của bạn đã được xử lí và sẵn sàng cho tải về tại [liên kết này](%{url}).
+
+ Trân trọng,
+
+ Robot email Diaspora!
+ subject: "Hình ảnh của bạn đã sẵn sàng để tải về, %{name}"
+ export_photos_failure_email:
+ body: "Xin chào %{name}\n\n\
+ Chúng tôi đã gặp vấn đề khi xử lí hình ảnh của bạn.\n\
+ Xin hãy thử lại!\n\n\
+ Rất tiếc,\n\n\
+ \bRobot email Diaspora!"
+ subject: "Có vấn đề với hình ảnh của bạn, %{name}"
hello: "Xin chào %{name}!"
invite:
message: |-
Xin chào!
- Bạn được mời tham gia Diaspora*!
+ Bạn được %{user} mời tham gia Diaspora!
+
+ Nhấn vào đây để bắt đầu
- Nhấn vào liên kết sau để bắt đầu
+ [%{invite_url}][1]
- [%{invite_url}][1] 
+ Nếu bạn đã có tài khoản, hãy thêm %{diaspora_id} vào mối quan hệ.
- Thân,
- Máy phát thư Diaspora*!
+ Thương mến,
+
+ Robot gửi email của Diaspora!
+
+ P/S: Nếu bạn chưa biết Diaspora là gì, [đây][2] là câu trả lời!
[1]: %{invite_url}
- invited_you: "%{name} đã mời bạn tham gia Diaspora*"
+ [2]: %{diasporafoundation_url}
+ invited_you: "%{name} mời bạn tham gia Diaspora"
liked:
liked: "%{name} vừa thích bài đăng của bạn"
+ limited_post: "%{name} thích bài đăng hạn chế của bạn"
view_post: "Xem bài đăng >"
mentioned:
- subject: "%{name} đã nhắc đến bạn trên Diaspora*"
+ limited_post: "Bạn được nhắc đến trong một bài đăng hạn chế."
+ subject: "%{name} nhắc đến bạn trên Diaspora"
+ mentioned_in_comment:
+ limited_post: "Bạn được nhắc đến trong một bình luận ở bài đăng hạn chế."
+ reply: "Trả lời hoặc xem thảo luận >"
private_message:
- reply_to_or_view: "Trả lời hoặc xem cuộc trò chuyện này >"
+ reply_to_or_view: "Trả lời hoặc xem cuộc thảo luận này >"
+ subject: "Bạn có một tin nhắn riêng tư mới"
+ remove_old_user:
+ body: |-
+ Xin chào,
+
+ Bạn nhận thư này từ %{pod_url} vì bạn đã không đăng nhập trong %{after_days} ngày. Để máy chủ vận hành tốt nhất, chúng tôi sẽ xoá bỏ những tài khoản không hoạt động quá lâu ra khỏi cơ sở dữ liệu của chúng tôi.
+
+ Chúng tôi trân trọng bạn là một phần của cộng đồng Diaspora, và bạn có thể tiếp tục sử dụng tài khoản của bạn nếu bạn muốn.
+
+ Nếu bạn muốn tiếp tục sử dụng tài khoản của bạn, hãy đăng nhập vào tài khoản của bạn trước ngày %{remove_after}. Khi bạn đăng nhập, hãy lướt một vòng xem lại Diaspora. Nó đã thay đổi rất nhiều kể từ lần cuối bạn đăng nhập, và chúng tôi tin bạn sẽ thích những gì mà chúng tôi đã cải thiện. Yêu thích vài #tag để theo dõi nội dung bạn thích.
+
+ Đăng nhập ngay: %{login_url}. Nếu bạn quên mật khẩu, hãy yêu cầu reset mật khẩu trên trang đó.
+
+ Hẹn gặp lại bạn sớm,
+
+ Robot email của Diaspora!
+ subject: "Tài khoản Diaspora sẽ bị xoá do không hoạt động trong thời gian dài"
+ report_email:
+ body: |-
+ Xin chào,
+
+ %{type} với ID %{id} đã được đánh dấu là nhạy cảm.
+
+ Lý do: %{reason}
+
+ [%{url}][1]
+
+ Hãy xem lại càng sớm càng tốt!
+
+
+ Trân trọng,
+
+ Robot gửi email của Diaspora!
+
+ [1]: %{url}
+ subject: "%{type} đã được đánh dấu là nhạy cảm"
+ type:
+ comment: "bình luận"
+ post: "bài đăng"
reshared:
- reshared: "%{name} vừa mới chia sẻ lại bài đăng của bạn"
+ reshared: "%{name} vừa mới chia sẻ bài đăng của bạn"
view_post: "Xem bài đăng >"
single_admin:
admin: "Quản trị tài khoản Diaspora của bạn"
subject: "Một tin nhắn về tài khoản Diaspora của bạn:"
started_sharing:
- sharing: "đã bắt đầu chia sẻ với bạn!"
- subject: "%{name} đã bắt đầu chia sẻ với bạn trên Diaspora*"
- view_profile: "Xem hồ sơ của %{name}"
+ sharing: "đã theo dõi bạn!"
+ subject: "%{name} bắt đầu theo dõi bạn trên Diaspora"
+ view_profile: "Xem trang cá nhân %{name}"
thanks: "Cám ơn,"
to_change_your_notification_settings: "để đổi thiết lập thông báo"
nsfw: "NSFW"
ok: "OK"
people:
add_contact:
- invited_by: "bạn được mời bởi"
+ invited_by: "Bạn được mời bởi"
index:
- looking_for: "Tìm các bài đăng có thẻ %{tag_link}?"
+ couldnt_find_them: "Không tìm thấy họ?"
+ looking_for: "Tìm các bài đăng có hashtag %{tag_link}?"
no_one_found: "...và không tìm thấy ai."
- no_results: "Bạn cần tìm gì đó."
- results_for: "kết quả tìm kiếm cho"
- searching: "đang tìm, vui lòng chờ..."
+ no_results: "Hey! Bạn cần tìm gì đó."
+ results_for: "Kết quả tìm kiếm %{search_term}"
+ search_handle: "Sử dụng Diaspora ID (tên người dùng@máy chủ) để tìm một người cụ thể."
+ searching: "Đang tìm, vui lòng chờ..."
+ send_invite: "Vẫn không thấy? Hãy gửi thư mời!"
person:
thats_you: "Đó là bạn!"
profile_sidebar:
bio: "Tiểu sử"
- born: "Ngày sinh"
+ born: "Sinh nhật"
gender: "Giới tính"
location: "Nơi ở"
show:
- closed_account: "Tài khoản này đã bị đóng."
- does_not_exist: "Người không tồn tại!"
- has_not_shared_with_you_yet: "%{name} chưa từng chia sẻ gì với bạn!"
+ closed_account: "Tài khoản này đã bị vô hiệu hoá."
+ does_not_exist: "Không tồn tại người dùng này!"
+ has_not_shared_with_you_yet: "%{name} chưa chia sẻ bài đăng nào với bạn!"
photos:
create:
- integrity_error: "Tải ảnh lên thất bại. Bạn có chắc đó là một tấm ảnh?"
- runtime_error: "Tải ảnh lên thất bại. Bạn có chắc an toàn không?"
- type_error: "Tải ảnh lên thất bại, Bạn có chắc ảnh đã được thêm?"
+ integrity_error: "Tải ảnh lên thất bại. Bạn có chắc đó là một tấm ảnh?"
+ runtime_error: "Tải ảnh lên thất bại. Bạn có muốn tải lên lại không?"
+ type_error: "Tải ảnh lên thất bại. Bạn có chắc ảnh đúng định dạng được hỗ trợ?"
destroy:
notice: "Đã xóa ảnh."
new_profile_photo:
upload: "Tải lên ảnh mới"
+ polls:
+ votes:
+ other: "%{count} lượt bình chọn"
+ zero: "Chưa có ai bình chọn"
posts:
presenter:
title: "Một bài đăng từ %{name}"
show:
+ forbidden: "Bạn không được phép làm vậy"
+ location: "Nơi đăng: %{location}"
photos_by:
other: "%{count} ảnh của %{author}"
zero: "Không có ảnh của %{author}"
- reshare_by: "Chia sẻ lại từ %{author}"
+ reshare_by: "Chia sẻ từ %{author}"
privacy: "Bảo mật"
- profile: "Hồ sơ"
+ profile: "Cá nhân"
profiles:
edit:
- allow_search: "Cho phép người khác trong Diaspora tìm thấy tôi"
+ allow_search: "Cho phép mọi người xem trang Diaspora của tôi không cần đăng nhập"
+ basic: "Thông tin cá nhân cơ bản"
+ basic_hint: "Bạn có thể tuỳ chọn điền hoặc không điền. Thông tin cơ bản sẽ luôn xuất hiện trên trang cá nhân."
+ extended: "Thông tin cá nhân nâng cao"
+ extended_hint: "Nhấn vào công tắc để thay đổi khả năng xem thông tin nâng cao của bạn. Công khai có nghĩa là ai cũng có thể xem, giới hạn có nghĩa là chỉ những ai mà bạn đã theo dõi mới có thể xem."
+ extended_visibility_text: "Cho phép xem thông tin cá nhân nâng cao"
first_name: "Tên"
last_name: "Họ"
- update_profile: "Cập nhật hồ sơ"
+ limited: "Giới hạn"
+ nsfw_check: "Đánh dấu nội dung của tôi là nhạy cảm"
+ nsfw_explanation: "Nhạy cảm (“NSFW”) là một tiêu chuẩn cộng đồng của Diaspora áp dụng cho những nội dung nhạy cảm. Nếu bạn thường xuyên đăng những nội dung như vậy, xin hãy đánh dấu tuỳ chọn này để nội dung của bạn tự động ẩn đối với những người không muốn xem."
+ nsfw_explanation2: "Nếu bạn không đánh dấu tuỳ chọn này, xin thêm hashtag #nsfw mỗi khi bạn đăng những nội dung nhạy cảm."
+ public: "Công khai"
+ settings: "Thiết lập trang cá nhân"
+ update_profile: "Cập nhật trang cá nhân"
your_bio: "Tiểu sử"
your_birthday: "Ngày sinh"
your_gender: "Giới tính"
your_location: "Nơi ở"
your_name: "Họ và tên"
- your_photo: "Ảnh hồ sơ"
- your_tags: "Mô tả bản thân qua 5 từ"
- your_tags_placeholder: "ví dụ: #movies #kittens #travel #teacher #newyork"
+ your_photo: "Ảnh đại diện"
+ your_tags: "5 hashtag thường dùng"
+ your_tags_placeholder: "Ví dụ #movies #kittens #travel #teacher #newyork"
update:
- failed: "Cập nhật hồ sơ thất bại"
- updated: "Đã cập nhật hồ sơ"
+ failed: "Cập nhật trang cá nhân thất bại"
+ updated: "Đã cập nhật trang cá nhân"
public: "Công khai"
registrations:
+ closed:
+ another_pod: "máy chủ khác"
+ closed_pod: "Máy chủ này hiện không còn cho đăng ký. Tuy nhiên, bạn vẫn có thể tham gia mạng xã hội Diaspora bằng cách đăng ký trên %{wiki}. Mọi máy chủ đều giao tiếp được với nhau nên bạn có thể truy cập cùng nội dung ở đây."
+ find_pods: "Bạn có thể tham khảo các máy chủ khác tại %{fediverse_observer}."
+ other_questions: "Nếu bạn đang băn khoăn về việc chọn một máy chủ, hãy đọc qua %{wiki}."
create:
- success: "Bạn đã tham gia vào Diaspora!"
- invalid_invite: "Liên kết mời bạn cung cấp không còn hợp lệ!"
+ success: "Bạn đã đăng ký Diaspora thành công!"
+ invalid_invite: "Thư mời của bạn không còn sử dụng được!"
new:
- email: "THƯ ĐIỆN TỬ"
- enter_email: "Nhập địa chỉ thư điện tử"
- enter_password: "Nhập mật khẩu (ít nhất sáu kí tự)"
+ email: "Email"
+ enter_email: "Nhập email"
+ enter_password: "Nhập mật khẩu (tối thiểu sáu kí tự)"
enter_password_again: "Nhập lại mật khẩu"
- enter_username: "Tên người dùng (chỉ gồm chữ cái, số và dấu gạch dưới _)"
- password: "MẬT KHẨU"
- password_confirmation: "XÁC NHẬN MẬT KHẨU"
- sign_up: "ĐĂNG KÍ"
- username: "TÊN NGƯỜI DÙNG"
+ enter_username: "Tên người dùng (chỉ dùng chữ, số và dấu gạch dưới)"
+ password: "Mật khẩu"
+ password_confirmation: "Nhập lại mật khẩu"
+ sign_up: "Đăng ký"
+ submitting: "Đang đăng ký..."
+ terms: "\bNhấn đồng ý nghĩa là bạn đã chấp nhận %{terms_link}."
+ terms_link: "điều khoản dịch vụ"
+ username: "Tên người dùng"
+ report:
+ comment_label: "<strong>Bình luận</strong>: %{data}"
+ confirm_deletion: "Bạn có chắc muốn xoá nội dung này?"
+ delete_link: "Xoá nội dung"
+ not_found: "Không tìm thấy bài đăng/bình luận. Có lẽ nó đã bị người đăng xoá!"
+ post_label: "<strong>\bBài đăng</strong>: %{content}"
+ reason_label: "Lý do:"
+ reported_label: "<strong>Báo cáo bởi</strong> %{person}"
+ reported_user_details: "Chi tiết về tài khoản bị báo cáo"
+ review_link: "Đánh dấu là đã xem"
+ status:
+ destroyed: "Đã xoá bài đăng"
+ failed: "Có điều gì đó không đúng"
+ title: "Tóm tắt báo cáo"
+ unreviewed_reports:
+ other: "Có %{count} báo cáo chờ xử lý."
+ zero: "Không có báo cáo nào."
reshares:
- comment_email_subject: "Bài chia sẻ lại của %{resharer} từ %{author}"
+ comment_email_subject: "%{resharer} đã chia sẻ từ %{author}"
+ create:
+ error: "Chia sẻ thất bại."
reshare:
- deleted: "Bài đăng gốc đã bị tác giả xoá."
- reshare_confirmation: "Chia sẻ lại bài đăng của %{author}?"
- reshared_via: "được chia sẻ lại bởi"
+ deleted: "Bài đăng gốc đã bị người đăng xoá"
+ reshare_confirmation: "Chia sẻ bài đăng của %{author}?"
+ reshared_via: "Chia sẻ bởi"
search: "Tìm kiếm"
services:
create:
- already_authorized: "Một người dùng với id diaspora %{diaspora_id} đã xác thực với tài khoản %{service_name}."
+ already_authorized: "Một người dùng với Diaspora ID %{diaspora_id} đã xác thực tài khoản %{service_name}."
failure: "Xác thực thất bại."
+ read_only_access: "Dịch vụ chỉ cho phép đọc, xin thử lại sau"
success: "Xác thực thành công."
destroy:
- success: "Đã xoá xác thực."
+ success: "Đã gỡ bỏ xác thực."
failure:
- error: "có lỗi khi kết nối đến dịch vụ đó"
+ error: "Xảy ra lỗi khi kết nối đến dịch vụ này"
index:
- disconnect: "ngắt kết nối"
+ connect: "Kết nối"
+ disconnect: "Ngưng kết nối"
edit_services: "Chỉnh sửa dịch vụ"
- logged_in_as: "đã đăng nhập với tên"
- really_disconnect: "ngắt kết nối với %{service}?"
- services_explanation: "Kết nối các dịch vụ để có thể đăng tin lên chúng thông qua Diaspora."
+ logged_in_as: "Đã đăng nhập %{nickname}."
+ no_services_available: "Máy chủ này không cho phép kết nối dịch vụ."
+ not_logged_in: "Chưa đăng nhập."
+ really_disconnect: "Ngưng kết nối với %{service}?"
+ services_explanation: "Kết nối các dịch vụ để có thể đăng bài đăng song song cùng với Diaspora."
+ share_to: "Chia sẻ với %{provider}"
+ title: "Quản lí các dịch vụ đã kết nối"
+ provider:
+ tumblr: "Tumblr"
+ twitter: "Twitter"
+ wordpress: "WordPress"
settings: "Thiết lập"
shared:
aspect_dropdown:
+ mobile_row_checked: "%{name} (xoá)"
+ mobile_row_unchecked: "%{name} (thêm)"
toggle:
other: "Trong %{count} mối quan hệ"
- zero: "Thêm liên lạc"
+ zero: "Không trong mối quan hệ nào"
invitations:
- by_email: "Gửi thư mời"
- invite_your_friends: "Mời bạn"
+ by_email: "Mời bằng email"
+ invite_your_friends: "Mời bạn bè"
invites: "Mời"
- share_this: "Chia sẻ liên kết này qua thư, blog, hay mạng xã hội!"
+ share_this: "Chia sẻ liên kết này qua email, blog, hoặc mạng xã hội!"
public_explain:
atom_feed: "Nguồn tin"
- control_your_audience: "Kiểm soát phạm vi chia sẻ"
+ control_your_audience: "Thay đổi quyền riêng tư"
logged_in: "Đã đăng nhập vào %{service}"
- manage: "Quản lí các dịch vụ đã được kết nối"
- new_user_welcome_message: "Sử dụng dấu thăng (#hashtags) để phân loại bài đăng và tìm người dùng khác."
- outside: "Công khai bài đăng để mọi người ở ngoài Diaspora đều được thấy."
+ manage: "Quản lí các dịch vụ đã kết nối"
+ new_user_welcome_message: "Sử dụng #hashtag để phân loại bài đăng và tìm người dùng có chung mối quan tâm với bạn. Nhắc tới ai đó bằng @Tên"
+ outside: "Mọi người ở ngoài Diaspora đều có thể xem những bài đăng công khai."
share: "Chia sẻ"
- title: "Cài đặt các dịch vụ đã được kết nối"
- visibility_dropdown: "Dùng nút thả xuống này để ẩn/hiện bài đăng của bạn. (Bạn nên công khai bài đăng đầu tiên.)"
+ title: "Cài đặt các dịch vụ đã kết nối"
+ visibility_dropdown: "Dùng menu thả xuống này để thay đổi kiểu bài đăng của bạn. (Chúng tôi đề xuất bài đăng đầu tiên nên để công khai)"
publisher:
- discard_post: "Huỷ bài đăng"
+ discard_post: "Hủy đăng bài"
+ formatWithMarkdown: "Bạn có thể sử dụng %{markdown_link} để định dạng bài đăng"
get_location: "Lấy thông tin vị trí"
new_user_prefill:
- hello: "Xin chào mọi người,\n\
- %{new_user_tag}. "
- i_like: "I'm interested in %{tags}."
+ hello: "Chào mọi người, tôi là #%{new_user_tag}. "
+ i_like: "Tôi quan tâm %{tags}. "
invited_by: "Cám ơn vì lời mời, "
- newhere: "NewHere"
- posting: "Đăng bài..."
+ newhere: "newhere"
+ poll:
+ add_a_poll: "Tạo bình chọn"
+ posting: "Đang đăng..."
+ remove_location: "Xoá bỏ nơi đăng"
share: "Chia sẻ"
whats_on_your_mind: "Bạn đang nghĩ gì?"
stream_element:
via: "Thông qua %{link}"
via_mobile: "qua di động"
+ simple_captcha:
+ label: "Nhập mã trong khung:"
+ message:
+ default: "Mã đã nhập không khớp với hình ảnh"
+ failed: "Xác minh thất bại"
+ user: "Hình ảnh và mã khác nhau"
+ placeholder: "Nhập ký tự trong hình"
+ statistics:
+ active_users_halfyear: "Người dùng hoạt động 6 tháng gần đây"
+ active_users_monthly: "Người dùng hoạt động hàng tháng"
+ closed: "Đóng"
+ disabled: "Đã tắt"
+ enabled: "Đã bật"
+ local_comments: "Bình luận từ máy chủ"
+ local_posts: "Bài đăng từ máy chủ"
+ name: "Tên"
+ network: "Mạng lưới"
+ open: "Mở"
+ registrations: "Đăng ký"
+ services: "Dịch vụ"
+ total_users: "Người dùng"
+ version: "Phiên bản"
status_messages:
+ bad_aspects: "Không chấp nhận cung cấp ID của những mối quan hệ (không tồn tại hoặc không sở hữu)"
new:
mentioning: "Đang nhắc đến: %{person}"
- too_long: "{\"other\"=>\"trạng thái của bạn phải có ít hơn %{count} kí tự\", \"zero\"=>\"trạng thái của bạn phải có ít hơn %{count} kí tự\"}"
+ too_long: "Bài đăng của bạn tối đa %{count} \bký tự. Hiện tại đang là %{current_length} ký tự"
+ stream_helper:
+ no_more_posts: "Bạn đã đọc hết."
+ no_posts_yet: "Chưa có bài đăng nào."
streams:
activity:
title: "Hoạt động của tôi"
+ admin:
+ title: "Quản trị viên"
aspects:
- title: "Các mối quan hệ"
- aspects_stream: "Mối quan hệ"
+ all: "Tất cả mối quan hệ"
+ title: "Mối quan hệ của tôi"
+ aspects_stream: "Quan hệ"
comment_stream:
title: "Bài đăng đã bình luận"
- community_spotlight_stream: "Nổi bật từ cộng đồng"
+ commented:
+ title: "Lượt bình luận"
+ community_spotlight_stream: "Bài đăng nổi bật"
followed_tag:
- add_a_tag: "Thêm thẻ"
+ add_a_tag: "Thêm hashtag"
+ all: "Tất cả hashtag"
follow: "Theo dõi"
- title: "#Thẻ đang theo dõi"
- followed_tags_stream: "#Thẻ đang theo dõi"
+ title: "Hashtag theo dõi"
+ followed_tags_stream: "Hashtag theo dõi"
like_stream:
- title: "Luồng thích"
- mentioned_stream: "@Nhắc đến tôi"
+ title: "Bài đăng đã thích"
+ liked:
+ title: "Lượt thích"
+ local_public:
+ title: "Bài đăng từ máy chủ"
+ mentioned_stream: "Lượt nhắc đến"
mentions:
- title: "@Nhắc đến tôi"
+ title: "Lượt nhắc"
multi:
- title: "Luồng"
+ title: "Bảng tin"
public:
- title: "Hoạt động công khai"
+ title: "Bảng tin công khai"
tags:
- title: "Những bài đăng được gán thẻ: #%{tags}"
+ title: "Những bài đăng có hashtag %{tags}"
+ tag_followings:
+ manage:
+ no_tags: "Bạn chưa theo dõi bất kỳ hashtag nào."
+ title: "Quản lý hashtag theo dõi"
tags:
+ name_too_long: "Một hashtag chứa tối đa %{count} ký tự. Hiện tại là %{current_length} ký tự"
show:
follow: "Theo dõi #%{tag}"
- none: "Thẻ rỗng không tồn tại!"
- stop_following: "Dừng theo dõi #%{tag}"
+ none: "Không tồn tại hashtag này!"
+ stop_following: "Ngưng theo dõi #%{tag}"
+ tagged_people:
+ other: "%{count} người sử dụng hashtag %{tag}"
+ zero: "Chưa ai sử dụng hashtag %{tag}"
+ two_factor_auth:
+ activated:
+ change_button: "Tắt xác thực hai bước"
+ change_label: "Nhập mật khẩu để tắt xác thực hai bước"
+ status: "Đã bật xác thực hai bước"
+ confirm:
+ activate_button: "Xác nhận và bật"
+ input_explanation: "Sau khi quét hoặc nhập mã, hãy nhập sáu ký tự bạn thấy và xác nhận thiết lập."
+ input_title: "Xác nhận TOTP token"
+ manual_explanation: "Trong trường hợp không thể quét mã QR tự động, hãy nhập mã bằng cách thủ công trong ứng dụng của bạn."
+ manual_explanation_cont: "Chúng tôi sử dụng mật khẩu sử dụng một lần (TOTP) với token gồm sáu ký tự. <br /> Xin đừng nhập dấu cách (khoảng trắng)."
+ scan_explanation: "Xin hãy quét mã QR bằng một ứng dụng hỗ trợ TOTP, ví dụ andOTP (Android), FreeOTP (iOS), SailOTP (SailfishOS)."
+ scan_title: "Quét mã QR"
+ status: "Chưa thể bật xác thực hai bước, bạn cần xác nhận với một TOTP token"
+ title: "Xác nhận bật"
+ deactivated:
+ change_button: "Bật"
+ change_label: "Bật xác thực hai bước"
+ status: "Chưa bật xác thực hai bước"
+ explanation: "Xác thực hai bước là một cách mạnh mẽ để chắc rằng chỉ có bạn mới có thể đăng nhập vào tài khoản của bạn. Khi đăng nhập, bạn phải nhập một mã số gồm 6 chữ song song với mật khẩu. Hãy cẩn thận, nếu bạn bị mất điện thoại và đã tạo mã khôi phục bằng tính năng này, có thể tài khoản Diaspora của bạn bị khoá vĩnh viễn."
+ flash:
+ error_token: "Token sai hoặc không còn sử dụng được"
+ success_activation: "Bật xác thực hai bước thành công"
+ success_deactivation: "Tắt xác thực hai bước thành công"
+ input_token:
+ label: "Token"
+ placeholder: "sáu ký tự token"
+ recovery:
+ button: "Tạo mã khôi phục mới"
+ explanation: "Nếu bạn mất điện thoại, hãy dùng một trong những mã khôi phục bên dưới để lấy lại quyền truy cập tài khoản. Lưu mã khôi phục ở nơi an toàn. Ví dụ, bạn có thể in ra và giấu trong ngăn kéo."
+ explanation_short: "Mã khôi phục cho phép bạn lấy lại quyền truy cập tài khoản nếu bạn bị mất điện thoại. Xin lưu ý rằng bạn chỉ có thể sử dụng mỗi lần một mã khôi phục."
+ invalidation_notice: "Nếu bạn bị mất mã khôi phục, hãy tạo lại ở đây. Mã khôi phục cũ sẽ không còn sử dụng được nữa."
+ reminder: "Bên cạnh đó, bạn có thể sử dụng một trong những mã khôi phục."
+ title: "Mã khôi phục"
+ title: "Xác thực hai bước"
username: "Tên người dùng"
users:
confirm_email:
email_confirmed: "Địa chỉ %{email} đã được kích hoạt"
- email_not_confirmed: "Không thể kích hoạt địa chỉ thư điện tử. Sai địa chỉ?"
+ email_not_confirmed: "Không thể kích hoạt địa chỉ email. Sai link?"
destroy:
- no_password: "Nhập mật khẩu hiện tại để đóng tài khoản."
- success: "Tài khoản của bạn đã bị khoá. Có thể mất 20 phút để đóng tài khoản của bạn. Cám ơn vì đã dùng Diaspora."
+ no_password: "Nhập mật khẩu hiện tại để vô hiệu hoá tài khoản."
+ success: "Tài khoản của bạn đã bị khoá. Có thể mất 20 phút để vô hiệu hoá tài khoản của bạn. Cám ơn vì đã dùng Diaspora."
wrong_password: "Mật khẩu đã nhập không khớp với mật khẩu hiện tại."
edit:
- also_commented: "...có người bình luận vào bài đăng của người quen?"
- auto_follow_aspect: "Đặt người đó vào mối quan hệ:"
+ also_commented: "Ai đó bình luận bài đăng tôi từng bình luận"
+ auto_follow_aspect: "Xếp người đó vào mối quan hệ:"
auto_follow_back: "Tự động theo dõi lại người theo dõi tôi"
+ birthday: "ai đó có sinh nhật"
change: "Thay đổi"
- change_email: "Đổi địa chỉ thư điện tử"
+ change_color_theme: "Đổi theme"
+ change_email: "Đổi email"
change_language: "Đổi ngôn ngữ"
change_password: "Đổi mật khẩu"
character_minimum_expl: "ít nhất sáu kí tự"
close_account:
- dont_go: "Đừng đi!"
- lock_username: "Tên đăng nhập của bạn sẽ bị khoá nếu bạn quyết định đăng kí lại."
+ dont_go: "Chờ đã bạn ơi!"
+ lock_username: "Bạn sẽ không thể tạo lại tài khoản mới sử dụng tên người dùng này."
locked_out: "Bạn sẽ bị đăng xuất và khoá tài khoản."
- make_diaspora_better: "Chúng tôi muốn bạn cùng phát triển Diaspora tốt hơn, vì vậy bạn nên giúp đỡ thay vì rời đi. Nếu bạn không muốn ở lại, chúng tôi muốn biết chuyện gì sẽ xảy ra tiếp theo."
- mr_wiggles: "Ông Wiggles sẽ buồn khi thấy bạn bỏ đi"
- no_turning_back: "Hiện tại chưa có ai quay lại."
- what_we_delete: "We delete all of your posts, profile data, as soon as humanly possible. Your comments will hang around, but be associated with your Diaspora Handle."
- close_account_text: "Đóng tài khoản"
- comment_on_post: "...có người bình luận vào bài đăng của tôi?"
+ make_diaspora_better: "Chúng tôi rất muốn bạn ở lại và giúp phát triển Diaspora tốt hơn. Nếu bạn vẫn muốn xoá tài khoản, đây là những gì xảy ra tiếp theo:"
+ mr_wiggles: "Mr. Wiggles sẽ buồn khi thấy bạn rời đi"
+ no_turning_back: "Đã xoá là không thể phục hồi! Nếu bạn đã chắc, nhập mật khẩu bên dưới."
+ what_we_delete: "Chúng tôi sẽ xoá toàn bộ bài đăng và dữ liệu tài khoản của bạn sớm nhất có thể. Những bình luận của bạn trên bài đăng của người khác vẫn tồn tại, nhưng tên người dùng của bạn sẽ hiển thị dưới dạng Diaspora ID."
+ close_account_text: "Vô hiệu hoá tài khoản"
+ comment_on_post: "Ai đó bình luận bài đăng của tôi"
current_password: "Mật khẩu hiện tại"
current_password_expl: "bạn dùng để đăng nhập..."
+ default_post_visibility: "Mối quan hệ mặc định"
+ download_export: "Xuất dữ liệu"
+ download_export_photos: "Tải về hình ảnh của tôi"
edit_account: "Chỉnh sửa tài khoản"
- email_awaiting_confirmation: "Chúng tôi đã gửi đường dẫn kích hoạt đến %{unconfirmed_email}. Chúng tôi vẫn dùng địa chỉ gốc của bạn %{email} cho đến khi bạn xác nhận địa chỉ mới."
+ email_awaiting_confirmation: "Chúng tôi đã gửi email kích hoạt đến %{unconfirmed_email}. Chúng tôi vẫn dùng email cũ %{email} của bạn cho đến khi bạn xác nhận email mới."
export_data: "Xuất dữ liệu"
+ export_in_progress: "Chúng tôi đang xử lý dữ liệu của bạn. Hãy kiểm tra lại sau ít phút."
+ export_photos_in_progress: "Chúng tôi đang xử lí hình ảnh của bạn. Hãy thử lại sau vài phút nữa."
following: "Thiết lập theo dõi"
- liked: "...có người thích bài đăng của tôi?"
- mentioned: "...tôi được nhắc đến trong một bài đăng?"
+ last_exported_html: "(Cập nhật vào %{timeago})"
+ liked: "Ai đó thích bài đăng của tôi"
+ mentioned: "Ai đó nhắc đến tôi"
+ mentioned_in_comment: "bạn được nhắc đến trong một bình luận"
new_password: "Mật khẩu mới"
- private_message: "...nhận được tin nhắn?"
- receive_email_notifications: "Nhận thư điện tử thông báo khi..."
- reshared: "...có người chia sẻ lại bài đăng của tôi?"
- show_community_spotlight: "Hiện bài đăng từ cộng đồng"
- show_getting_started: "Bật lại hướng dẫn cho người dùng mới"
- started_sharing: "...có người bắt đầu chia sẻ với tôi?"
- stream_preferences: "Tuỳ chỉnh luồng"
- your_email: "Thư điện tử"
- your_handle: "ID Diaspora của bạn"
+ private_message: "\bAi đó nhắn tin cho tôi"
+ protocol_handler:
+ browser: "Giao thức này gần đây vẫn trong quá trình phát triển và phụ thuộc nhiều vào trình duyệt của bạn đang sử dụng. Nếu bạn muốn quản lý hay xoá bỏ giao thức này, hãy vào phần thiết lập trong trình duyệt của bạn. Nút bên dưới sẽ luôn bật, và bạn cần bật giao thức này ở từng trình duyệt (nếu bạn dùng nhiều trình duyệt)."
+ description: "web+diaspora:// là một giao thức truyền thông mới. Bất cứ liên kết nào dẫn tới một trang Diaspora* ở một trang web bên ngoài đều có thể mở trong máy chủ Diaspora mà bạn đăng ký. Nhấn vào nút bên dưới để cho phép trình duyệt sử dụng %{pod_url} để nhận đoán những liên kết từ web+diaspora://."
+ register: "Đăng ký web+diaspora:// trên trình duyệt này"
+ title: "Giao thức web+diaspora://"
+ receive_email_notifications: "Nhận email thông báo khi:"
+ request_export: "Yêu cầu xuất dữ liệu"
+ request_export_photos: "Yêu cầu tải về"
+ request_export_photos_update: "Làm tươi hình ảnh của tôi"
+ request_export_update: "Làm tươi dữ liệu của tôi"
+ reshared: "Ai đó chia sẻ bài đăng của tôi"
+ show_community_spotlight: "Hiện “Bài đăng nổi bật”"
+ show_getting_started: "Hiện “Hướng dẫn cho người dùng mới”"
+ someone_reported: "Ai đó gửi một báo cáo"
+ started_sharing: "Ai đó theo dõi tôi"
+ stream_preferences: "Tuỳ chọn bảng tin"
+ your_email: "Email của bạn"
+ your_email_private: "Email của bạn không bao giờ công khai với người dùng khác"
+ your_handle: "Diaspora ID của bạn"
getting_started:
- awesome_take_me_to_diaspora: "Tuyệt vời! Đưa tối đến Diaspora*"
- community_welcome: "Cộng đồng Diaspora hân hạnh được chào đón bạn!"
- hashtag_explanation: "Thẻ cho phép bạn trò chuyện và theo dõi những gì bạn quan tâm. Chúng cũng giúp bạn tìm bạn mới trên Diaspora."
- hashtag_suggestions: "Thử theo dõi các thẻ như #art, #movies, #gif, v.v..."
+ awesome_take_me_to_diaspora: "Tuyệt vời! Đưa tôi đến Diaspora*"
+ community_welcome: "Cộng đồng Diaspora hân hoan chào đón bạn!"
+ hashtag_explanation: "Hashtag cho phép bạn nói về và theo dõi những gì bạn quan tâm. Chúng cũng giúp bạn tìm bạn bè mới trên Diaspora."
+ hashtag_suggestions: "Thử theo dõi các hashtag như #art, #movies, #gif, etc."
well_hello_there: "Chào bạn!"
what_are_you_in_to: "Bạn đang ở đâu?"
who_are_you: "Bạn là ai?"
privacy_settings:
- ignored_users: "Người dùng bị bỏ qua"
- stop_ignoring: "Dừng bỏ qua"
+ ignored_users: "Người dùng đã ẩn"
+ no_user_ignored_message: "Bạn chưa ẩn người dùng nào"
+ stop_ignoring: "Bỏ ẩn"
+ strip_exif: "Những siêu dữ liệu như nơi đăng, tác giả, và thiết bị chụp ảnh từ những hình ảnh đã tải lên (đề xuất)"
title: "Thiết lập riêng tư"
public:
does_not_exist: "Người dùng %{username} không tồn tại!"
update:
- email_notifications_changed: "Đã đổi thông báo qua thư điện tử"
+ color_theme_changed: "Đã đổi theme thành công."
+ color_theme_not_changed: "Có lỗi xảy ra khi đổi theme."
+ email_notifications_changed: "Đã đổi thông báo qua email"
follow_settings_changed: "Đã đổi thiết lập theo dõi"
follow_settings_not_changed: "Đổi thiết lập theo dõi thất bại."
language_changed: "Đã đổi ngôn ngữ"
@@ -566,8 +1343,8 @@ vi:
password_not_changed: "Đổi mật khẩu thất bại"
settings_not_updated: "Cập nhật thiết lập thất bại"
settings_updated: "Đã cập nhật thiết lập"
- unconfirmed_email_changed: "Đã đổi địa chỉ thư điện tử. Cần kích hoạt ngay."
- unconfirmed_email_not_changed: "Đổi địa chỉ thư điện tử thất bại"
+ unconfirmed_email_changed: "Đã đổi email. Yêu cầu kích hoạt ngay."
+ unconfirmed_email_not_changed: "Đổi email thất bại"
will_paginate:
next_label: "sau &raquo;"
previous_label: "&laquo; trước" \ No newline at end of file
diff --git a/config/locales/diaspora/zh-CN.yml b/config/locales/diaspora/zh-CN.yml
index 7d4df6cfc..89ed485f6 100644
--- a/config/locales/diaspora/zh-CN.yml
+++ b/config/locales/diaspora/zh-CN.yml
@@ -134,7 +134,7 @@ zh-CN:
services:
content: "您可以将以下服务连接至 Diaspora:"
heading: "连接服务"
- welcome_to_diaspora: "%{name},欢迎加入 Diaspora!"
+ welcome_to_diaspora: "%{name},欢迎加入 Diaspora!"
no_contacts_message:
community_spotlight: "社区热点"
or_spotlight: "或者您也可以和 %{link} 分享内容"
@@ -244,6 +244,9 @@ zh-CN:
tutorial: "教程"
tutorials: "教程"
wiki: "百科"
+ home:
+ default:
+ headline: "欢迎来到 %{pod_name}"
invitations:
create:
empty: "请至少填写一个邮箱"
@@ -452,13 +455,13 @@ zh-CN:
destroy:
success: "验证删除成功。"
failure:
- error: "与该服务连接时有错误"
+ error: "与该服务连接时发生错误"
index:
disconnect: "断开连接"
edit_services: "编辑服务"
logged_in_as: "登录为"
really_disconnect: "切断与 %{service} 的连接?"
- services_explanation: "您连接第三方共享服务后,diaspora*就能自动把您所发出的帖子自动转发出去。"
+ services_explanation: "连接第三方共享服务后,diaspora* 就能把您的帖子自动转发出去。"
settings: "设置"
shared:
aspect_dropdown:
@@ -552,7 +555,7 @@ zh-CN:
locked_out: "接下来您会被退出,帐号将关闭。"
make_diaspora_better: "希望您能帮助我们让 Diaspora 更好,而不是选择离开。如果您坚持,我们也希望让您知道未来的发展。"
mr_wiggles: "Mr Wiggles 会对于您的离开很难过。"
- no_turning_back: "现在已经不能后悔了。"
+ no_turning_back: "这将无法撤销!如果您真的确定要这么做,请输入您的密码。"
what_we_delete: "我们会尽快删除您发布的内容和个人资料。您的评论会保留,但没有您的个人信息。"
close_account_text: "关闭帐号"
comment_on_post: "…当有人对您的内容发表评论时?"
diff --git a/config/locales/diaspora/zh-TW.yml b/config/locales/diaspora/zh-TW.yml
index a94dbdc9a..a41ae528a 100644
--- a/config/locales/diaspora/zh-TW.yml
+++ b/config/locales/diaspora/zh-TW.yml
@@ -8,6 +8,7 @@ zh-TW:
_applications: "應用程式"
_contacts: "聯絡人"
_help: "說明"
+ _podmin_mail: "跟莢主聯絡"
_services: "外部服務"
_statistics: "統計"
_terms: "使用條款"
@@ -162,9 +163,6 @@ zh-TW:
login_required: "你必須先登入才能授權給這個應用程式"
title: "呃!出事了 :("
scopes:
- aud:
- description: "允許應用程式存取客戶端識別碼"
- name: "客戶端"
name:
description: "允許應用程式存取姓名"
name: "姓名"
@@ -180,15 +178,9 @@ zh-TW:
profile:
description: "允許應用程式讀取你的進階個人檔案"
name: "進階個人檔案"
- read:
- description: "允許應用程式讀取你的流水帳、對話內容、以及完整的個人檔案"
- name: "讀取個人檔案、流水帳、以及對話內容"
sub:
description: "允許應用程式存取使用者識別碼"
name: "使用者"
- write:
- description: "允許應用程式發表新的貼文、對話、以及回應"
- name: "發表貼文、對話、以及回應"
user_applications:
index:
access: "%{name}有以下存取權:"
@@ -294,8 +286,6 @@ zh-TW:
original: "原始灰"
original_white: "原始白背"
comments:
- create:
- error: "留言失敗。"
new_comment:
comment: "留言"
commenting: "發表留言中..."
@@ -406,11 +396,6 @@ zh-TW:
what_is_an_aspect_q: "什麼是社交面?"
who_sees_post_a: "當你發表了一篇有限制的貼文,就只有那個面(或是那些面,因為你也可以選擇好幾面)中的人才看得到。不在那個(或是那些面)中的聯絡人,就看不到那篇貼文,除非你把它公開。只有公開的貼文可以讓不在你任何社交面中的其它人看到。"
who_sees_post_q: "當我貼文到某個社交面時,有誰會看見?"
- chat:
- add_contact_roster_a: "首先,你要把聊天的權限給那個人所在的社交面。我們來開始:先到%{contacts_page},選你要的那個社交面,然後點聊天的圖示就可以打開權限。%{toggle_privilege}如果你想的話,也可以先開一個社交面專門給你想跟他們即時聊天的人,比如說就叫做『聊天』,然後把那些人加進去。完成以後就可以到聊天的頁面,選你想即時聊天的人開始聊天。"
- add_contact_roster_q: "要怎樣在 diaspora* 跟某人即時聊天?"
- contacts_page: "聯絡人頁面"
- title: "即時聊天"
community_guidelines: "社群共識"
faq: "常見問答"
foundation_website: "diaspora* 基金會網站"
diff --git a/config/locales/javascript/javascript.ar.yml b/config/locales/javascript/javascript.ar.yml
index 63643115b..233958593 100644
--- a/config/locales/javascript/javascript.ar.yml
+++ b/config/locales/javascript/javascript.ar.yml
@@ -6,10 +6,44 @@
ar:
javascripts:
+ admin:
+ pods:
+ actions: "الإجراءات"
+ added: "مضاف"
+ check: "تحقق من جودة الاتصال"
+ follow_link: "افتح الرابط في متصفح"
+ last_check: "آخر تحقق"
+ more_info: "اعرض مزيدا من المعلومات"
+ not_available: "غير متوفر"
+ offline_since: "غير متصل منذ:"
+ recheck:
+ failure: "لم يُتَم التحقق"
+ response_time: "وقت الاستجابة"
+ server_software: "الخادم:"
+ ssl_disabled: "SSL معطل"
+ ssl_enabled: "SSL مفعل"
+ states:
+ http_failed: "فشل اتصال HTTP"
+ net_failed: "فشلت محاولة الاتصال"
+ no_errors: "موافق"
+ ssl_failed: "فشل الاتصال الآمن (SSL)"
+ unchecked: "لم يتحقق"
+ unknown_error: "حدث خطأ غير معروف أثناء التحقق"
+ version_failed: "تعذر جلب رقم الاصدار"
+ status: "الحالة"
+ unknown: "مجهول"
+ admins:
+ dashboard:
+ outdated: "اصدار خادمك قديم."
+ up_to_date: "خادمك محدث لآخر اصدار!"
+ and: "و"
aspect_dropdown:
add_to_aspect: "أضف مراسلا"
all_aspects: "جميع الفئات"
error: "Couldn't start sharing with <%= name %>. Are you ignoring them?"
+ error_remove: "تعذر حذف ‎<%= name %>‎ من الفئة"
+ mobile_row_checked: "‎<%= name %>‎ (أزل)"
+ mobile_row_unchecked: "‎<%= name %>‎ (أضف)"
select_aspects: "إختر فئات"
started_sharing_with: "لقد بدأت المشاركة مع <%= name %> !"
stopped_sharing_with: "لقد توقفت عن المشاركة مع <%= name %>"
@@ -22,17 +56,46 @@ ar:
zero: "حدّد الفئات"
updating: "يحدّث..."
aspect_navigation:
+ add_an_aspect: "أضف فئة"
deselect_all: "إلغاء اختيار الكل"
no_aspects: "لم يتم اختيار فئات"
select_all: "اختر الكل"
+ aspects:
+ create:
+ add_a_new_aspect: "أضف فئة جديدة"
+ failure: "فشل إنشاء الفئة."
+ success: "أُنشئة الفئة الجديدة ‎<%= name %>‎"
+ name: "الاسم"
+ bookmarklet:
+ post_something: "أنشر على دياسبورا"
+ post_submit: "يرسل المشاركة…"
+ post_success: "نُشر! يغلق النافذة المنبثقة…"
+ cancel: "ألغِ"
+ comma: "،"
comments:
hide: "إخفاء التعليقات"
+ no_comments: "بدون تعليقات."
show: "إعرض جميع التعليقات"
confirm_dialog: "أمتأكّد؟"
+ confirm_unload: "لن تحفظ البيانات التي أدخلتها. أكد أنك مازلت تريد الخروج."
contacts:
+ add_contact: "أضف جهة اتصال"
+ error_add: "تعذرت إضافة ‎<%= name %>‎ الى الفئة"
+ error_remove: "تعذر حذف ‎<%= name %>‎ من الفئة"
+ remove_contact: "أزل جهة الاتصال"
search_no_results: "لم يُعثر على متراسلين"
+ conversation:
+ create:
+ no_recipient: "أضف المراسل أولا"
+ new:
+ no_contacts: "أضف متراسلا لبدأ محادثة"
+ create: "أنشئ"
delete: "احذف"
+ edit: "حرر"
+ errors:
+ connection: "تعذر الاتصال بالخادم"
failed_to_post_message: "فشل في نشر رسالة!"
+ failed_to_remove: "فشلت إزالة المدخل!"
getting_started:
alright_ill_wait: "حسناً ، سأنتظر."
hey: "انتبه <%= name %>"
@@ -40,31 +103,152 @@ ar:
preparing_your_stream: "جارى إعداد تدفقاتك الشخصية"
header:
admin: "مدير"
+ close: "أغلق"
contacts: "جهات الاتصال"
+ conversations: "المحادثات"
help: "المساعدة"
home: "الرئيسية"
log_out: "خروج"
mark_all_as_read: "وضع الجميع كمقروء"
+ moderator: "المشرف"
notifications: "تنبيهات"
profile: "الملف الشخصى"
recent_notifications: "آخر التنبيهات"
search: "ابحث"
settings: "إعدادات"
+ switch_to_touch_optimized_mode: "انتقل الى وضع شاشة اللمس"
+ toggle_navigation: "بدل التصفح"
view_all: "عرض الكل"
hide_post: "أأخفِ هذه التدوينة؟"
hide_post_failed: "تعذّر إخفاء هذه التدوينة"
ignore: "تجاهل"
+ ignore_failed: "فشل تجاهل هذا المستخدم"
+ ignore_user: "تجاهل هذا المستخدم؟"
my_activity: "نشاطى"
+ my_aspects: "فئاتي"
my_stream: "ساحة المشاركات"
+ no_results: "بدون نتائج"
+ notifications:
+ mark_read: "علِّمه كمقروء"
+ mark_unread: "علِّمه كغير مقروء"
+ new_notifications:
+ few: "لديك ‎<%= count %>‎ تنبيهات"
+ many: "لديك ‎<%= count %>‎ تنبيها"
+ one: "لديك تنبيه"
+ other: "لديك ‎<%= count %>‎ تنبيه"
+ two: "لديك تنبيهان"
+ zero: "ليس لديك تنبيهات"
+ people:
+ edit_my_profile: "حرر ملفي الشخصي"
+ helper:
+ is_not_sharing: "‎<%= name %>‎ لا يشارك معك"
+ is_sharing: "‎<%= name %>‎ يشارك معك"
+ mention: "أشر"
+ message: "راسل"
+ not_found: "لم يُعثر على أحد"
+ stop_ignoring: "اوقف التجاهل"
photo_uploader:
+ completed: "اكتمل ‎<%= file %>‎"
+ empty: "{file} فارغ، رجاءًا أَعِد تحديد الملفات باستثنائه."
+ error: "حدث خطأ أثناء رفع ‎<%= file %>‎"
+ invalid_ext: "إمتداد ‎{file}‎ غير صالح، الإمتدادات المسموحة ‎{extensions}‎."
looking_good: "يا إلهى , تبدو رائعاً !"
+ size_error: "{file} ذو حجم كبير جدا, {sizeLimit} هو الحجم الأقصى المسموح به."
+ upload_photos: "ارفع صور"
+ poll:
+ answer_count:
+ few: "‎<%=count%>‎ أصوات"
+ one: "صوت واحد"
+ other: "‎<%=count%>‎ صوت"
+ two: "صوتان"
+ zero: "بدون أصوات"
+ close_result: "إخف النتيجة"
+ count:
+ few: "‎<%=count%>‎ أصوات"
+ many: "‎<%=count%>‎ صوتا"
+ one: "صوت واحد"
+ other: "‎<%=count%>‎ صوت"
+ two: "صوتان"
+ zero: "بدون تصويت"
+ go_to_original_post: "يمكنك الاشتراك في هذا الاستطلاع عبر ‎<%= original_post_link %>‎."
+ original_post: "المشاركة الأصلية"
+ result: "النتيجة"
+ show_result: "اعرض النتيجة"
+ vote: "صوِّت"
+ your_vote: "صوتك"
profile:
+ add_some: "أضف البعض"
+ bio: "السيرة"
born: "تاريخ الميلاد"
+ edit: "حرر"
+ gender: "الجنس"
+ location: "الموقع"
+ photos: "الصور"
+ posts: "المشاركات"
+ you_have_no_tags: "لا وسوم لديك"
+ publisher:
+ add_option: "أضف جوابا"
+ markdown_editor:
+ preview: "عاين"
+ texts:
+ code: "نص مائل"
+ heading: "خط العنوان"
+ insert_image_description_text: "أدخل وصف الصورة"
+ insert_image_help_text: "أدرج رابط صورة هنا"
+ insert_image_title: "أدخل عنوان الصورة"
+ insert_link_description_text: "أدخل وصف الرابط"
+ insert_link_help_text: "أدرج الرابط"
+ italic: "نص مائل"
+ list: "قائمة"
+ quote: "اقتباس"
+ strong: "نص عريض"
+ tooltips:
+ bold: "عريض"
+ cancel: "ألغ الرسالة"
+ code: "أدرج شفرة"
+ heading: "خط العنوان"
+ insert_image: "أدرج صورة"
+ insert_link: "أدرج رابط"
+ insert_ordered_list: "أدرج قائمة مرتبة"
+ insert_unordered_list: "أدرج قائمة غير مرتبة"
+ italic: "مائل"
+ preview: "عاين الرسالة"
+ quote: "إقتبس"
+ write: "حرر الرسالة"
+ write: "اكتب"
+ mention_success: "أشرتَ بنجاح لـ: ‎<%= names %>‎"
+ near_from: "نُشر من ‎<%= location %>‎"
+ option: "جواب"
+ question: "السؤال"
remove_post: "أأزيل هذه التدوينة؟"
+ report:
+ name: "أبلغ"
+ prompt: "أعطِ السبب"
+ prompt_default: "مثلا: المحتوى جارح"
+ status:
+ created: "أُنشئ الإبلاغ بنحاح"
+ exists: "بلّغتَ عنه بالفعل"
+ reshares:
+ post: "إعادة نشر مشاركة ‎<%= name %>‎؟"
+ successful: "أُعيد نشر المشاركة بنجاح!"
+ show_all: "اعرض الكل"
show_more: "المزيد"
stream:
comment: "تعليق"
+ comments:
+ few: "‎<%= count %>‎ تعليقات"
+ many: "‎<%= count %>‎ تعليقا"
+ one: "تعليق واحد"
+ other: "‎<%= count %>‎ تعليق"
+ two: "تعليقان"
+ zero: "بدون تعليقات"
+ disable_post_notifications: "عطل التنبيهات لهذا المنشور"
+ enable_post_notifications: "مكن التنبيهات لهذا المنشور"
follow: "تابِع"
+ followed_tag:
+ add_a_tag: "أضف وسم"
+ follow: "تابع"
+ title: "الوسوم المتبعة"
hide: "إخف"
hide_nsfw_posts: "إخف nsfw# المشاركات"
like: "أعجبني"
@@ -83,7 +267,9 @@ ar:
other: "إعرض <%= count %> تعليقات أكثر "
two: "إعرض <%= count %> تعليق أكثر "
zero: "إعرض <%= count %> تعليقات أكثر "
+ no_posts_yet: "بدون مشاركات حتى الآن"
original_post_deleted: "لقد حذف المؤلف مشاركته الأصلية."
+ permalink: "رابط دائم"
public: "عام"
reshare: "إعادة المشاركة"
reshares:
@@ -95,8 +281,16 @@ ar:
zero: "<%= count %> اعادة المشاركات"
show_nsfw_post: "أظهِر المشاركة"
show_nsfw_posts: "أظهِر الكل"
+ tags:
+ follow: "تابع #‎<%= tag %>‎"
+ follow_error: "تعذرت متابعة #‎<%= tag %>‎"
+ following: "يتابع #‎<%= tag %>‎"
+ stop_following: "ألغ متابعة #‎<%= tag %>‎"
+ stop_following_confirm: "ألغِ متابعة #‎<%= tag %>‎"
+ stop_following_error: "تعذر إلغاء متابعة #‎<%= tag %>‎"
unfollow: "ألغِ المتابعة"
unlike: "إلغاء إعجابى"
+ via: "عبر ‎<%= provider %>‎"
tags:
wasnt_that_interesting: "OK, I suppose #<%= tagName %> wasn't all that interesting..."
timeago:
@@ -106,6 +300,7 @@ ar:
hour: "ساعة تقريباً"
hours:
other: "منذ %d ساعات"
+ inPast: "في أي لحظة"
minute: "دقيقة تقريباً"
minutes:
other: "%d دقائق"
@@ -119,4 +314,7 @@ ar:
suffixFromNow: "من اﻵن"
year: "عام تقريباً"
years:
- other: "%d أعوام" \ No newline at end of file
+ other: "%d أعوام"
+ unblock_failed: "فشل إلغاء حظر هذا المستخدم"
+ viewer:
+ reshared: "أُعيد النشر" \ No newline at end of file
diff --git a/config/locales/javascript/javascript.cs.yml b/config/locales/javascript/javascript.cs.yml
index a6567e9db..58fd1460d 100644
--- a/config/locales/javascript/javascript.cs.yml
+++ b/config/locales/javascript/javascript.cs.yml
@@ -101,8 +101,6 @@ cs:
confirm_unload: "Prosím potvrďte, že chcete tuto stránku opustit. Data, která jste vložil/a, nebudou uložena."
contacts:
add_contact: "Přidej kontakt"
- aspect_chat_is_enabled: "Kontakty v tomto aspektu si s Vámi mohou povídat."
- aspect_chat_is_not_enabled: "Kontakty v tomto aspektu si s Vámi nemohou povídat."
error_add: "Nelze přidat uživatele <%= name %> do tohoto aspektu :("
error_remove: "Nelze odebrat uživatele <%= name %> z tohoto aspektu :("
remove_contact: "Odstraň kontakt"
diff --git a/config/locales/javascript/javascript.da.yml b/config/locales/javascript/javascript.da.yml
index 2a35067ef..cac902969 100644
--- a/config/locales/javascript/javascript.da.yml
+++ b/config/locales/javascript/javascript.da.yml
@@ -95,8 +95,6 @@ da:
confirm_unload: "Bekræft venligst at du ønsker at forlade denne side - data, du har indtastet, vil ikke blive gemt."
contacts:
add_contact: "Tilføj kontakt"
- aspect_chat_is_enabled: "Kontakter i dette aspekt kan chatte med dig."
- aspect_chat_is_not_enabled: "Kontakter i dette aspekt kan ikke chatte med dig."
error_add: "Kunne ikke tilføje <%= name %> til aspektet :("
error_remove: "Kunne ikke fjerne <%= name %> fra aspektet :("
remove_contact: "Fjern kontakt"
@@ -315,8 +313,8 @@ da:
months:
one: "1 måned"
other: "%d måneder"
- prefixAgo: ""
- prefixFromNow: ""
+ prefixAgo: "før"
+ prefixFromNow: "om"
seconds: "mindre end et minut"
suffixAgo: "siden"
suffixFromNow: "fra nu"
diff --git a/config/locales/javascript/javascript.de.yml b/config/locales/javascript/javascript.de.yml
index 7b8ec8bda..e50592be4 100644
--- a/config/locales/javascript/javascript.de.yml
+++ b/config/locales/javascript/javascript.de.yml
@@ -95,8 +95,6 @@ de:
confirm_unload: "Bitte bestätige, dass du diese Seite verlassen willst. - Von dir eingegebene Daten werden nicht gespeichert."
contacts:
add_contact: "Kontakt hinzufügen"
- aspect_chat_is_enabled: "Kontakte in diesem Aspekt können mit dir chatten."
- aspect_chat_is_not_enabled: "Kontakte in diesem Aspekt können nicht mit dir chatten."
error_add: "Konnte <%= name %> nicht zum Aspekt hinzufügen :("
error_remove: "Konnte <%= name %> nicht aus dem Aspekt entfernen :("
remove_contact: "Kontakt entfernen"
diff --git a/config/locales/javascript/javascript.de_formal.yml b/config/locales/javascript/javascript.de_formal.yml
index 64e2643d3..91465f8b1 100644
--- a/config/locales/javascript/javascript.de_formal.yml
+++ b/config/locales/javascript/javascript.de_formal.yml
@@ -95,8 +95,6 @@ de_formal:
confirm_unload: "Bitte bestätigen Sie, dass Sie diese Seite verlassen wollen. - Von Ihnen eingegebene Daten werden nicht gespeichert."
contacts:
add_contact: "Kontakt hinzufügen"
- aspect_chat_is_enabled: "Kontakte in diesem Askekt können mit Ihnen chatten."
- aspect_chat_is_not_enabled: "Kontakte in diesem Aspekt können nicht mit Ihnen chatten."
error_add: "Konnte <%= name %> nicht zum Aspekt hinzufügen :("
error_remove: "Konnte <%= name %> nicht aus dem Aspekt entfernen :("
remove_contact: "Kontakt entfernen"
@@ -311,7 +309,7 @@ de_formal:
seconds: "wenigen Sekunden"
suffixAgo: ""
suffixFromNow: "ab jetzt"
- wordSeparator: ""
+ wordSeparator: " "
year: "etwa einem Jahr"
years:
one: "1 Jahr"
diff --git a/config/locales/javascript/javascript.de-moo.yml b/config/locales/javascript/javascript.de_moo.yml
index fcd24113d..3b3351627 100644
--- a/config/locales/javascript/javascript.de-moo.yml
+++ b/config/locales/javascript/javascript.de_moo.yml
@@ -4,7 +4,7 @@
-de-moo:
+de_moo:
javascripts:
admin:
pods:
@@ -95,8 +95,6 @@ de-moo:
confirm_unload: "Bitte bestätige, dass du diese Weide verlassen willst. - Von dir eingegebene Daten werden nicht gespeichert."
contacts:
add_contact: "Mitkuh hinzufügen"
- aspect_chat_is_enabled: "Mitkühe in dieser Herde können mit dir chatten."
- aspect_chat_is_not_enabled: "Mitkühe in dieser Herde können nicht mit dir chatten."
error_add: "Konnte <%= name %> nicht zur Herde hinzufügen :("
error_remove: "Konnte <%= name %> nicht aus der Herde entfernen :("
remove_contact: "Mitkuh entfernen"
@@ -139,8 +137,8 @@ de-moo:
hide_post: "Diesen Beitrag ausblenden?"
hide_post_failed: "Ausblenden des Beitrags nicht möglich"
ignore: "Ignorieren"
- ignore_failed: "Konnte Kuh nicht ignorieren"
- ignore_user: "Diese Kuh ignorieren?"
+ ignore_failed: "Konnte Rindvieh nicht ignorieren"
+ ignore_user: "Dieses Rindvieh ignorieren?"
my_activity: "Meine Aktivität"
my_aspects: "Meine Herden"
my_stream: "Weide"
@@ -311,7 +309,7 @@ de-moo:
seconds: "weniger als eine Minute"
suffixAgo: ""
suffixFromNow: "ab jetzt"
- wordSeparator: ""
+ wordSeparator: " "
year: "etwa einem Jahr"
years:
one: "einem Jahr"
diff --git a/config/locales/javascript/javascript.eo.yml b/config/locales/javascript/javascript.eo.yml
index 2e4a0e727..6d3efdff7 100644
--- a/config/locales/javascript/javascript.eo.yml
+++ b/config/locales/javascript/javascript.eo.yml
@@ -8,6 +8,10 @@ eo:
javascripts:
admin:
pods:
+ added: "Aldonita"
+ follow_link: "malfermi ligilon en retumilon"
+ states:
+ no_errors: "Bone"
version_failed:
one: "Estas unu pod (Diaspora-servilo) kiu ne havas version (malnova pod, sen NodeInfo)."
other: "Estas <%= count %> pods (Diaspora-serviloj) kiuj ne havas version (malnova pod, sen NodeInfo)."
@@ -28,9 +32,13 @@ eo:
deselect_all: "Malselekti ĉiujn"
no_aspects: "Neniuj aspektoj selektitaj"
select_all: "Selekti ĉiujn"
+ bookmarklet:
+ post_something: "Afiŝi al diaspora*"
+ cancel: "Rezigni"
comma: ","
comments:
hide: "Kaŝi komentojn"
+ no_comments: "Estas neniom da komentoj ankoraŭ."
show: "Vidi ĉiujn komentojn"
confirm_dialog: "Ĉu vi certas?"
delete: "Forviŝi"
@@ -45,6 +53,7 @@ eo:
admin: "administranto"
close: "fermi"
contacts: "Kontaktoj"
+ help: "Helpo"
home: "Ĉefpaĝo"
log_out: "Elsaluti"
mark_all_as_read: "Marku ĉiujn kiel legitaj"
@@ -54,15 +63,50 @@ eo:
search: "Serĉi"
settings: "Agordoj"
view_all: "Vidi ĉiujn"
+ hide_post: "Kaŝi ĉi tiun afiŝon?"
ignore: "Ignori"
my_activity: "Mia aktiveco"
my_aspects: "Viaj aspektoj"
my_stream: "Torento"
+ notifications:
+ mark_read: "Marki legita"
+ mark_unread: "Marki nelegita"
people:
+ message: "Mesaĝo"
not_found: "...kaj neniu troviĝis."
photo_uploader:
completed: "<%= file %> kompletita"
looking_good: "Diable, vi aspektas bonege!"
+ poll:
+ answer_count:
+ one: "<%=count%> voĉo"
+ other: "<%=count%> voĉoj"
+ zero: "Sen voĉoj"
+ close_result: "Kaŝi rezulton"
+ count:
+ one: "<%=count%> voĉo ĝis nun"
+ other: "<%=count%> voĉoj ĝis nun"
+ result: "Rezulto"
+ show_result: "Montri rezulton"
+ vote: "Voĉdoni"
+ your_vote: "Via voĉo"
+ profile:
+ add_some: "Aldoni iom"
+ born: "Naskiĝtago"
+ edit: "Redakti"
+ gender: "Sekso"
+ photos: "Fotoj"
+ posts: "Afiŝoj"
+ publisher:
+ add_option: "Aldoni respondon"
+ markdown_editor:
+ tooltips:
+ write: "Redakti mesaĝon"
+ write: "Skribi"
+ near_from: "Afiŝita el: <%= location %>"
+ option: "Respondo"
+ question: "Demando"
+ remove_post: "Forigi ĉi tiun afiŝon?"
reshares:
post: "Ĉu vi deziras rekonigi la mesaĝon de <%= name %>?"
successful: "La afiŝo estis sukcese rekonigita!"
@@ -101,6 +145,7 @@ eo:
stop_following: "Ĉesi sekvadon de #<%= tag %>"
unfollow: "Ne plu sekvi"
unlike: "Ne plu ŝati"
+ via: "per <%= provider %>"
tags:
wasnt_that_interesting: "Nu, mi supozas, ke #<%= tagName %> ne estis tiel interesa..."
timeago:
diff --git a/config/locales/javascript/javascript.es-AR.yml b/config/locales/javascript/javascript.es-AR.yml
index bcf942300..cda3a6ba3 100644
--- a/config/locales/javascript/javascript.es-AR.yml
+++ b/config/locales/javascript/javascript.es-AR.yml
@@ -96,8 +96,6 @@ es-AR:
confirm_unload: "Por favor, confirmá que deseás salir de esta página. Los datos que has ingresado no serán guardados."
contacts:
add_contact: "Agregar contacto"
- aspect_chat_is_enabled: "Los contactos de este aspecto pueden chatear con vos."
- aspect_chat_is_not_enabled: "Los contactos de este aspecto no pueden chatear con vos."
error_add: "No se puede agregar a <%= name %> a este aspecto :("
error_remove: "No se puede eliminar a <%= name %> de este aspecto :("
remove_contact: "Eliminar contacto"
@@ -134,6 +132,7 @@ es-AR:
recent_notifications: "Notificaciones recientes"
search: "Buscar"
settings: "Opciones"
+ switch_to_touch_optimized_mode: "Cambiar al modo optimizado para pantallas táctiles"
toggle_navigation: "Cambiar navegación"
view_all: "Ver todo"
hide_post: "¿Ocultar esta publicación?"
diff --git a/config/locales/javascript/javascript.es.yml b/config/locales/javascript/javascript.es.yml
index 8db378131..098d8e083 100644
--- a/config/locales/javascript/javascript.es.yml
+++ b/config/locales/javascript/javascript.es.yml
@@ -96,8 +96,6 @@ es:
confirm_unload: "Por favor, confirma que quieres abandonar esta página. Los datos que no hayas introducido, no serán guardados."
contacts:
add_contact: "Añadir contacto"
- aspect_chat_is_enabled: "Los contactos de este grupo pueden chatear contigo."
- aspect_chat_is_not_enabled: "Los contactos de este grupo no pueden chatear contigo."
error_add: "No se pudo añadir a <%= name %> al aspecto :("
error_remove: "No se pudo eliminar <%= name %> del aspecto :("
remove_contact: "Eliminar contacto"
@@ -306,8 +304,8 @@ es:
prefixAgo: "Hace"
prefixFromNow: "dentro de"
seconds: "menos de 1 minuto"
- suffixAgo: ""
- suffixFromNow: ""
+ suffixAgo: "hace"
+ suffixFromNow: "a partir de ahora"
wordSeparator: " "
year: "un año aproximadamente"
years:
diff --git a/config/locales/javascript/javascript.et.yml b/config/locales/javascript/javascript.et.yml
index d5b2a5e1b..67d2a34cc 100644
--- a/config/locales/javascript/javascript.et.yml
+++ b/config/locales/javascript/javascript.et.yml
@@ -14,8 +14,8 @@ et:
deselect_all: "Eemalda kõik valikust"
select_all: "Vali kõik"
comments:
- hide: "peida kommentaarid"
- show: "näita kõiki kommentaare"
+ hide: "Peida kommentaarid"
+ show: "Näita kõiki kommentaare"
confirm_dialog: "Kas oled kindel?"
delete: "Kustuta"
failed_to_post_message: "Sõnumi saatmine ebaõnnestus!"
@@ -40,7 +40,7 @@ et:
my_stream: "Voog"
photo_uploader:
looking_good: "OMG, sa näed vinge välja!"
- show_more: "näita veel"
+ show_more: "Näita veel"
stream:
comment: "Kommenteeri"
disable_post_notifications: "Lülita selle postituse teavitused välja"
@@ -63,7 +63,7 @@ et:
other: "Näita veel <%= count %> kommentaari"
zero: "Näita veel <%= count %> kommentaari"
no_posts_yet: "Ei ole veel kuvamiseks postitusi."
- original_post_deleted: "Postitus on autori poolt eemaldatud."
+ original_post_deleted: "Postitus on autori poolt kustutatud."
permalink: "Püsiviide"
public: "Avalik"
reshare: "Jaga edasi"
diff --git a/config/locales/javascript/javascript.fi.yml b/config/locales/javascript/javascript.fi.yml
index b4062eab7..0de643b3f 100644
--- a/config/locales/javascript/javascript.fi.yml
+++ b/config/locales/javascript/javascript.fi.yml
@@ -96,8 +96,6 @@ fi:
confirm_unload: "Vahvista, että haluat poistua tältä sivulta. Syöttämiäsi tietoja ei tallenneta."
contacts:
add_contact: "Lisää kontakti"
- aspect_chat_is_enabled: "Tämän näkymän kontaktit voivat lähettää sinulle pikaviestejä."
- aspect_chat_is_not_enabled: "Tämän näkymän kontaktit eivät voi lähettää sinulle pikaviestejä."
error_add: "Henkilön <%= name %> lisääminen näkymään ei onnistunut :("
error_remove: "Käyttäjää <%= name %> ei voitu poistaa näkymästä :("
remove_contact: "Poista kontakti"
diff --git a/config/locales/javascript/javascript.fr.yml b/config/locales/javascript/javascript.fr.yml
index 3817f38b2..165f8e2fa 100644
--- a/config/locales/javascript/javascript.fr.yml
+++ b/config/locales/javascript/javascript.fr.yml
@@ -95,8 +95,6 @@ fr:
confirm_unload: "Merci de confirmer que vous voulez quitter cette page. Les données saisies ne seront pas enregistrées."
contacts:
add_contact: "Ajouter ce contact"
- aspect_chat_is_enabled: "Les contacts de cet aspect peuvent discuter avec vous."
- aspect_chat_is_not_enabled: "Les contacts de cet aspect ne peuvent pas discuter avec vous."
error_add: "Impossible d'ajouter <%= name %> à cet aspect :("
error_remove: "Impossible de retirer <%= name %> de cet aspect :("
remove_contact: "Retirer ce contact"
diff --git a/config/locales/javascript/javascript.gl.yml b/config/locales/javascript/javascript.gl.yml
index baa81f047..59202f886 100644
--- a/config/locales/javascript/javascript.gl.yml
+++ b/config/locales/javascript/javascript.gl.yml
@@ -99,8 +99,6 @@ gl:
confirm_unload: "Por favor confirma que queres saír da páxina. Os datos introducidos non serán gardados."
contacts:
add_contact: "Engadir contacto"
- aspect_chat_is_enabled: "Os contactos neste aspecto poden conversar contigo."
- aspect_chat_is_not_enabled: "Os contactos neste aspecto non poden conversar contigo."
error_add: "Non se puido engadir a <%= name %> ao aspecto :("
error_remove: "Non se puido eliminar a <%= name %> do aspecto :("
remove_contact: "Eliminar contacto"
diff --git a/config/locales/javascript/javascript.hu.yml b/config/locales/javascript/javascript.hu.yml
index 642f14e07..90b72c96b 100644
--- a/config/locales/javascript/javascript.hu.yml
+++ b/config/locales/javascript/javascript.hu.yml
@@ -49,8 +49,6 @@ hu:
confirm_dialog: "Biztos vagy benne?"
contacts:
add_contact: "Ismerős hozzáadása"
- aspect_chat_is_enabled: "Ebben a csoportban található ismerőseid képesek csevegni veled."
- aspect_chat_is_not_enabled: "Ebben a csoportban található ismerőseid nem képesek csevegni veled."
remove_contact: "Ismerős eltávolítása"
search_no_results: "Nincsenek kapcsolatok"
conversation:
diff --git a/config/locales/javascript/javascript.hye-classical.yml b/config/locales/javascript/javascript.hye-classical.yml
index d5c5fed54..fb3c67695 100644
--- a/config/locales/javascript/javascript.hye-classical.yml
+++ b/config/locales/javascript/javascript.hye-classical.yml
@@ -96,8 +96,6 @@ hye-classical:
confirm_unload: "Հաստատիր, որ ուզում ես լքել այս էջը․ քո մուտքագրած տուեալները չեն պահպանուի։"
contacts:
add_contact: "Աւելացնել"
- aspect_chat_is_enabled: "Այս խմբի մարդիկ կարող են չաթուել քո հետ։"
- aspect_chat_is_not_enabled: "Այս խմբի մարդիկ չեն կարող չաթուել քո հետ։"
error_add: "Չստացուեց <%= name %>ին աւելացնել խմբում։ Ափսո՜ս։"
error_remove: "Չստացուեց հեռացնել <%= name %>-ին խմբից ։Չ"
remove_contact: "Հեռացնել"
diff --git a/config/locales/javascript/javascript.hye.yml b/config/locales/javascript/javascript.hye.yml
index 04abebbdd..370396388 100644
--- a/config/locales/javascript/javascript.hye.yml
+++ b/config/locales/javascript/javascript.hye.yml
@@ -92,8 +92,6 @@ hye:
confirm_unload: "Հաստատիր, որ ուզում ես լքել այս էջը․ քո մուտքագրած տվյալները չեն պահպանվի։"
contacts:
add_contact: "Ավելացնել"
- aspect_chat_is_enabled: "Այս խմբի մարդիկ կարող են չաթվել քո հետ։"
- aspect_chat_is_not_enabled: "Այս խմբի մարդիկ չեն կարող չաթվել քո հետ։"
error_add: "Չստացվեց <%= name %>ին ավելացնել խմբում։ Ափսո՜ս։"
error_remove: "Չստացվեց հեռացնել <%= name %>-ին խմբից ։Չ"
remove_contact: "Հեռացնել"
diff --git a/config/locales/javascript/javascript.ia.yml b/config/locales/javascript/javascript.ia.yml
index 1e42d40a7..05f1df032 100644
--- a/config/locales/javascript/javascript.ia.yml
+++ b/config/locales/javascript/javascript.ia.yml
@@ -95,8 +95,6 @@ ia:
confirm_unload: "Per favor, confirma que tu vole quitar iste pagina. Le datos que tu ha inserite non essera salveguardate."
contacts:
add_contact: "Adder contacto"
- aspect_chat_is_enabled: "Le contactos in iste aspecto pote chattar con te."
- aspect_chat_is_not_enabled: "Le contactos in iste aspecto non pote chattar con te."
error_add: "Non poteva adder <%= name %> al aspecto."
error_remove: "Non poteva remover <%= name %> del aspecto."
remove_contact: "Remover contacto"
diff --git a/config/locales/javascript/javascript.ja.yml b/config/locales/javascript/javascript.ja.yml
index 18b593cbd..bbf1f451b 100644
--- a/config/locales/javascript/javascript.ja.yml
+++ b/config/locales/javascript/javascript.ja.yml
@@ -91,8 +91,6 @@ ja:
confirm_unload: "このページを離れることを確認してください。入力したデータは保存されません。"
contacts:
add_contact: "連絡先を追加"
- aspect_chat_is_enabled: "このアスペクトの連絡先は、あなたとチャットすることができます。"
- aspect_chat_is_not_enabled: "このアスペクトの連絡先は、あなたとチャットすることができません。"
error_add: "アスペクトに<%= name %>さんを追加できませんでした :(\n"
error_remove: "アスペクトから<%= name %>さんを削除できませんでした :("
remove_contact: "連絡先を削除"
diff --git a/config/locales/javascript/javascript.nb.yml b/config/locales/javascript/javascript.nb.yml
index 92d170ef9..b041133f9 100644
--- a/config/locales/javascript/javascript.nb.yml
+++ b/config/locales/javascript/javascript.nb.yml
@@ -96,8 +96,6 @@ nb:
confirm_unload: "Bekreft at du ønsker å forlate denne siden. Data du har lagt inn vil ikke bli lagret."
contacts:
add_contact: "Legg til kontakt"
- aspect_chat_is_enabled: "Kontakter i dette aspektet vil kunne chatte med deg."
- aspect_chat_is_not_enabled: "Kontakter i dette aspektet vil ikke kunne chatte med deg."
error_add: "Kunne ikke legge til <%= name %> til aspektet :("
error_remove: "Kunne ikke fjerne <%= name %> fra aspektet :("
remove_contact: "Fjern kontakt"
diff --git a/config/locales/javascript/javascript.nl.yml b/config/locales/javascript/javascript.nl.yml
index 3dc2bc232..d9f1b6ffc 100644
--- a/config/locales/javascript/javascript.nl.yml
+++ b/config/locales/javascript/javascript.nl.yml
@@ -99,8 +99,6 @@ nl:
confirm_unload: "Bevestig dat je deze pagina wilt verlaten - gegevens die je hebt ingevoerd, worden niet bewaard."
contacts:
add_contact: "Toevoegen contact"
- aspect_chat_is_enabled: "Contactpersonen in dit aspect kunnen met jou chatten."
- aspect_chat_is_not_enabled: "Contactpersonen in dit aspect kunnen niet met jou chatten."
error_add: "Kon <%= name %> niet toevoegen aan het aspect :("
error_remove: "Kon <%= name %> niet verwijderen uit het aspect :("
remove_contact: "Verwijder contact"
diff --git a/config/locales/javascript/javascript.oc.yml b/config/locales/javascript/javascript.oc.yml
index d856bdea4..13278cae6 100644
--- a/config/locales/javascript/javascript.oc.yml
+++ b/config/locales/javascript/javascript.oc.yml
@@ -96,8 +96,6 @@ oc:
confirm_unload: "Mercé de confirmar que volètz quitar aquesta pagina — las donadas sasidas seràn pas salvadas."
contacts:
add_contact: "Apondre aqueste contacte"
- aspect_chat_is_enabled: "Los contactes d'aqueste aspècte pòdon discutir amb vos."
- aspect_chat_is_not_enabled: "Los contactes d'aqueste aspècte pòdon pas discutir amb vos."
error_add: "Impossible d'apondre <%= name %> a aquesta facieta :("
error_remove: "Impossible de levar <%= name %> a aquesta facieta :("
remove_contact: "Levar aqueste contacte"
diff --git a/config/locales/javascript/javascript.pl.yml b/config/locales/javascript/javascript.pl.yml
index 94c7e83a3..2905309b1 100644
--- a/config/locales/javascript/javascript.pl.yml
+++ b/config/locales/javascript/javascript.pl.yml
@@ -97,8 +97,6 @@ pl:
confirm_unload: "Potwierdź, że chcesz opuścić tę stronę. Dane, które wprowadziłeś, nie zostaną zapisane."
contacts:
add_contact: "Dodaj kontakt"
- aspect_chat_is_enabled: "Kontakty z tego aspektu mogą z Tobą rozmawiać."
- aspect_chat_is_not_enabled: "Kontakty z tego aspektu nie mogą z Tobą rozmawiać."
error_add: "Nie udało się dodać <%= name %> do aspektu :("
error_remove: "Nie udało się usunąć <%= name %> z aspektu :("
remove_contact: "Usuń kontakt"
@@ -135,6 +133,7 @@ pl:
recent_notifications: "Ostatnie powiadomienia"
search: "Szukaj"
settings: "Ustawienia"
+ switch_to_touch_optimized_mode: "Przejdź w tryb dla urządzeń dotykowych"
toggle_navigation: "Przełącz nawigację"
view_all: "Wyświetl wszystko"
hide_post: "Ukryj wpis?"
diff --git a/config/locales/javascript/javascript.pt-BR.yml b/config/locales/javascript/javascript.pt-BR.yml
index a86ff931f..da5dc1b48 100644
--- a/config/locales/javascript/javascript.pt-BR.yml
+++ b/config/locales/javascript/javascript.pt-BR.yml
@@ -97,8 +97,6 @@ pt-BR:
confirm_unload: "Por favor, confirme se deseja sair desta página. Os dados que você informou não serão salvos."
contacts:
add_contact: "Adicionar contato"
- aspect_chat_is_enabled: "Contatos neste aspecto podem bater papo com você."
- aspect_chat_is_not_enabled: "Contatos neste aspecto não podem bater papo com você."
error_add: "Não foi possível adicionar <%= name %> ao aspecto. :("
error_remove: "Não foi possível remover <%= name %> do aspecto. :("
remove_contact: "Remover contato"
diff --git a/config/locales/javascript/javascript.pt-PT.yml b/config/locales/javascript/javascript.pt-PT.yml
index 9bb91424f..f2aa6fe99 100644
--- a/config/locales/javascript/javascript.pt-PT.yml
+++ b/config/locales/javascript/javascript.pt-PT.yml
@@ -81,8 +81,6 @@ pt-PT:
confirm_dialog: "Tem a certeza?"
contacts:
add_contact: "Adicionar contacto"
- aspect_chat_is_enabled: "Os contactos neste aspeto podem conversar consigo."
- aspect_chat_is_not_enabled: "Os contactos neste aspeto não podem conversar consigo."
error_add: "Não foi possível adicionar <%= name %> ao aspeto :("
error_remove: "Não foi possível remover <%= name%> do aspeto :("
remove_contact: "Remover contacto"
diff --git a/config/locales/javascript/javascript.ru.yml b/config/locales/javascript/javascript.ru.yml
index 0f18225ce..7c4aef2ac 100644
--- a/config/locales/javascript/javascript.ru.yml
+++ b/config/locales/javascript/javascript.ru.yml
@@ -107,8 +107,6 @@ ru:
confirm_unload: "Пожалуйста, подтвердите, что хотите покинуть страницу — введённые вами данные не будут сохранены."
contacts:
add_contact: "Добавить контакт"
- aspect_chat_is_enabled: "Контакты из этого аспекта могут общаться с вами."
- aspect_chat_is_not_enabled: "Контакты из этого аспекта не могут общаться с вами."
error_add: "Невозможно добавить <%= name %> в аспект :("
error_remove: "Невозможно удалить <%= name %> из аспекта :("
remove_contact: "Удалить контакт"
diff --git a/config/locales/javascript/javascript.sc.yml b/config/locales/javascript/javascript.sc.yml
index c632fcf7e..c0343d6a7 100644
--- a/config/locales/javascript/javascript.sc.yml
+++ b/config/locales/javascript/javascript.sc.yml
@@ -95,8 +95,6 @@ sc:
confirm_unload: "Pro praghere cunfirma chi cheres essire dae custa pàgina. Sos datos chi as insertadu no ant a èssere sarvados."
contacts:
add_contact: "Annanghe unu cuntatu"
- aspect_chat_is_enabled: "Sos cuntatos in custa cara podent tzarrare cun tie."
- aspect_chat_is_not_enabled: "Sos cuntatos in custa cara non podent tzarrare cun tie."
error_add: "No est istadu possìbile a annànghere <%= name %> a sa cara :("
error_remove: "No est istadu possìbile a bogare <%= name %> dae sa cara :("
remove_contact: "Boga custu cuntatu"
diff --git a/config/locales/javascript/javascript.sq.yml b/config/locales/javascript/javascript.sq.yml
index 0949520a0..14965fb07 100644
--- a/config/locales/javascript/javascript.sq.yml
+++ b/config/locales/javascript/javascript.sq.yml
@@ -59,7 +59,7 @@ sq:
aspect_dropdown:
add_to_aspect: "Shtoni kontakt"
all_aspects: "Krejt aspektet"
- error: "Nuk u fillua dot ndarja e gjërave me <%= name %>. Mos po e shpërfillni?"
+ error: "S’u fillua dot ndarje gjërash me <%= name %>. Mos po e shpërfillni?"
error_remove: "S’u hoq dot <%= name %> prej aspekti :("
mobile_row_checked: "<%= name %> (hiqe)"
mobile_row_unchecked: "<%= name %> (shtoje)"
@@ -73,7 +73,7 @@ sq:
updating: "po përditësohet…"
aspect_navigation:
add_an_aspect: "+ Shtoni një aspekt"
- deselect_all: "Çpërzgjidhi krejt"
+ deselect_all: "Shpërzgjidhi krejt"
no_aspects: "Nuk janë përzgjedhur aspekte"
select_all: "Përzgjidhi krejt"
aspects:
@@ -89,15 +89,13 @@ sq:
cancel: "Anuloje"
comma: ","
comments:
- hide: "fshihi komentet"
+ hide: "Fshihi komentet"
no_comments: "Ende s’ka komente."
- show: "shfaqi krejt komentet"
+ show: "Shfaqi krejt komentet"
confirm_dialog: "Jeni i sigurt?"
confirm_unload: "Ju lutemi, ripohoni se doni ta braktisni këtë faqe. Të dhënat që keni dhënë s’do të ruhen."
contacts:
add_contact: "Shtoni kontakt"
- aspect_chat_is_enabled: "Kontaktet në këtë aspekt janë në gjendje të bisedojnë me ju."
- aspect_chat_is_not_enabled: "Kontaktet në këtë aspekt s’janë në gjendje të bisedojnë me ju."
error_add: "S’u shtua dot <%= name %> te aspekti :("
error_remove: "S’u hoq dot <%= name %> prej aspekti :("
remove_contact: "Hiqe kontaktin"
@@ -132,9 +130,9 @@ sq:
notifications: "Njoftime"
profile: "Profil"
recent_notifications: "Njoftime së fundi"
- search: "Find people or #tags"
+ search: "Gjeni persona ose #etiketa"
settings: "Rregullime"
- switch_to_touch_optimized_mode: "Kalo nën mënyrën e optimizuar për ekrane touch"
+ switch_to_touch_optimized_mode: "Kalo nën mënyrën e optimizuar për ekrane me prekje"
toggle_navigation: "Shfaq/fshih lëvizjen"
view_all: "Shihni krejt"
hide_post: "Të kalohet i fshehur ky postim?"
@@ -240,7 +238,7 @@ sq:
post: "Të rindahet postimi i <%= name %>?"
successful: "Postimi u rinda me sukses!"
show_all: "Shfaqi krejt"
- show_more: "shfaq më tepër"
+ show_more: "Shfaq më tepër"
stream:
comment: "Komentojeni"
comments:
@@ -259,18 +257,18 @@ sq:
likes:
few: "<%= count %> Likes"
many: "<%= count %> Likes"
- one: "<%= count %> Like"
- other: "<%= count %> Likes"
+ one: "<%= count %> Pëlqim"
+ other: "<%= count %> Pëlqime"
two: "<%= count %> Likes"
- zero: "<%= count %> Likes"
+ zero: "<%= count %> Pëlqime"
limited: "E kufizuar"
more_comments:
few: "Show <%= count %> more comments"
many: "Show <%= count %> more comments"
- one: "Show <%= count %> more comment"
- other: "Show <%= count %> more comments"
+ one: "Shfaq <%= count %> koment më tepër"
+ other: "Shfaq <%= count %> komente më tepër"
two: "Show <%= count %> more comments"
- zero: "Show <%= count %> more comments"
+ zero: "Shfaq <%= count %> komente të tjerë"
no_posts_yet: "Këtu s’ka ende postime për t’u shfaqur."
original_post_deleted: "Postimi origjinal është fshirë nga autori."
permalink: "Permalidhje"
@@ -279,10 +277,10 @@ sq:
reshares:
few: "<%= count %> Reshares"
many: "<%= count %> Reshares"
- one: "<%= count %> Reshare"
- other: "<%= count %> Reshares"
+ one: "<%= count %> Rindarje"
+ other: "<%= count %> Rindarje"
two: "<%= count %> Reshares"
- zero: "<%= count %> Reshares"
+ zero: "<%= count %> Rindarje"
show_nsfw_post: "Shfaqe postimin"
show_nsfw_posts: "Shfaqi krejt"
tags:
@@ -296,10 +294,11 @@ sq:
unlike: "Hiqja pëlqimin"
via: "përmes <%= provider %>"
tags:
- wasnt_that_interesting: "OK, Them se #<%= tagName %> nuk qe kushedi se çë interesant..."
+ wasnt_that_interesting: "OK, Them se #<%= tagName %> nuk qe kushedi se çë interesant…"
timeago:
day: "një ditë"
days:
+ one: "1 ditë"
other: "%d ditë"
hour: "rreth një orë"
hours:
@@ -312,6 +311,7 @@ sq:
other: "%d minuta"
month: "rreth një muaj"
months:
+ one: "1 muaj"
other: "%d muaj"
prefixAgo: ""
prefixFromNow: ""
@@ -320,7 +320,8 @@ sq:
suffixFromNow: "nga tani"
year: "rreth një vit"
years:
- other: "%d vjetë"
+ one: "1 vit"
+ other: "%d vjet"
unblock_failed: "Zhbllokimi i këtij përdoruesi dështoi"
viewer:
reshared: "I rindarë" \ No newline at end of file
diff --git a/config/locales/javascript/javascript.sv.yml b/config/locales/javascript/javascript.sv.yml
index 13f1cc80e..0a1b7867b 100644
--- a/config/locales/javascript/javascript.sv.yml
+++ b/config/locales/javascript/javascript.sv.yml
@@ -96,8 +96,6 @@ sv:
confirm_unload: "Bekräfta att du vill gå från sidan. Du har osparad information här."
contacts:
add_contact: "Lägg till kontakt"
- aspect_chat_is_enabled: "Kontakter i den här aspekten får chatta med dig"
- aspect_chat_is_not_enabled: "Kontakter i den här aspekten får inte chatta med dig"
error_add: "Kunde inte lägga till <%= name %> till aspekten. :-("
error_remove: "Kunde inte ta bort <%= name %> från aspekten. :-("
remove_contact: "Ta bort kontakt"
diff --git a/config/locales/javascript/javascript.uk.yml b/config/locales/javascript/javascript.uk.yml
index cfe0b18fb..d13b5269f 100644
--- a/config/locales/javascript/javascript.uk.yml
+++ b/config/locales/javascript/javascript.uk.yml
@@ -106,8 +106,6 @@ uk:
confirm_unload: "Будь ласка, підтвердіть, що хочете залишити сторінку - введені вами дані не будуть збережені."
contacts:
add_contact: "Додати контакт"
- aspect_chat_is_enabled: "Контакти з цього аспекту можуть спілкуватися з вами."
- aspect_chat_is_not_enabled: "Контакти з цього аспекту не можуть спілкуватися з вами."
error_add: "Неможливо додати <%= name %> в аспект :("
error_remove: "Неможливо видалити <%= name %> з аспекту :("
remove_contact: "Видалити контакт"
@@ -200,6 +198,7 @@ uk:
result: "Результати"
show_result: "Показати результати"
vote: "Голосувати"
+ your_vote: "Ваш голос"
profile:
add_some: "додати"
bio: "Про себе"
diff --git a/config/locales/javascript/javascript.vi.yml b/config/locales/javascript/javascript.vi.yml
index e077040a1..a70b9df41 100644
--- a/config/locales/javascript/javascript.vi.yml
+++ b/config/locales/javascript/javascript.vi.yml
@@ -6,85 +6,256 @@
vi:
javascripts:
+ admin:
+ pods:
+ actions: "Hành động"
+ added: "Đã thêm"
+ check: "kiểm tra thử kết nối"
+ errors:
+ other: "Kiểm tra kết nối phát hiện lỗi ở <%= count %> máy chủ."
+ follow_link: "mở link trong trình duyệt"
+ last_check: "lần cuối kiểm tra:"
+ more_info: "hiện thêm thông tin"
+ ms:
+ other: "<%= count %>ms"
+ no_info: "Không có thông tin nào thêm"
+ not_available: "không khả dụng"
+ offline_since: "offline từ:"
+ pod: "Máy chủ"
+ recheck:
+ failure: "Chưa kiểm tra xong."
+ success: "Máy chủ vừa kiểm tra xong."
+ response_time: "Thời gian phản hồi:"
+ server_software: "Phần mềm sử dụng:"
+ ssl: "SSL"
+ ssl_disabled: "Đã tắt SSL"
+ ssl_enabled: "Đã bật SSL"
+ states:
+ dns_failed: "Phân giải tên miền (DNS) thất bại"
+ http_failed: "Kết nối HTTP thất bại"
+ net_failed: "Kết nối thất bại tạm thời"
+ no_errors: "OK"
+ ssl_failed: "Kết nối an toàn (SSL) thất bại"
+ unchecked: "Chưa kiểm tra"
+ unknown_error: "Xảy ra lỗi chưa xác định khi kiểm tra"
+ version_failed: "Lấy phiên bản phần mềm thất bại"
+ status: "Trạng thái"
+ unchecked:
+ other: "Vẫn còn <%= count %> máy chủ chưa kiểm tra."
+ zero: "Không còn máy chủ nào để kiểm tra."
+ unknown: "không rõ"
+ version_failed:
+ other: "Có <%= count %> máy chủ hiển thị không phiên bản (do không dùng NodeInfo)."
+ admins:
+ dashboard:
+ compare_versions: "Phiên bản Diaspora mới nhất là <%= latestVersion %>, \bmáy chủ của bạn đang dùng <%= podVersion %>."
+ error: "Không thể xác định phiên bản Diaspora mới nhất."
+ outdated: "Máy chủ của bạn đang dùng phiên bản cũ."
+ up_to_date: "Máy chủ đã cập nhật phiên bản mới nhất!"
and: "và"
aspect_dropdown:
add_to_aspect: "Thêm liên lạc"
all_aspects: "Tất cả mối quan hệ"
- error: "Không thể bắt đầu chia sẻ với <%= name %>. Bạn có muốn bỏ qua họ?"
- error_remove: "Không thể loại bỏ <%= name %> khỏi mối quan hệ :("
+ error: "Không thể chia sẻ với <%= name %>. Bạn có muốn ẩn họ?"
+ error_remove: "Không thể xoá <%= name %> khỏi mối quan hệ :("
+ mobile_row_checked: "<%= name %> (xoá bỏ)"
+ mobile_row_unchecked: "<%= name %> (thêm)"
select_aspects: "Chọn mối quan hệ"
- started_sharing_with: "Bạn đã bắt đầu chia sẻ với <%= name %>!"
- stopped_sharing_with: "Bạn đã ngưng chia sẻ với <%= name %>."
+ started_sharing_with: "Bạn đã bắt đầu theo dõi <%= name %>!"
+ stopped_sharing_with: "Bạn đã ngưng theo dõi <%= name %>."
toggle:
other: "Trong <%= count %> mối quan hệ"
- zero: "Chọn mối quan hệ"
+ zero: "Không trong mối quan hệ nào"
+ updating: "đang tải…"
aspect_navigation:
add_an_aspect: "+ Thêm một mối quan hệ"
deselect_all: "Bỏ chọn tất cả"
- no_aspects: "Không có mối quan hệ được chọn"
+ no_aspects: "Chưa chọn mối quan hệ nào"
select_all: "Chọn tất cả"
+ aspects:
+ create:
+ add_a_new_aspect: "Thêm mối quan hệ mới"
+ failure: "Không thể tạo mối quan hệ."
+ success: "Đã tạo mối quan hệ <%= name %> mới"
+ name: "Tên"
+ bookmarklet:
+ post_something: "Lưu vào Diaspora"
+ post_submit: "Đang gửi báo cáo..."
+ post_success: "Đã lưu! Đang đóng cửa sổ popup..."
+ cancel: "Huỷ bỏ"
comma: ","
comments:
- hide: "ẩn các bình luận"
- show: "hiện tất cả bình luận"
+ hide: "Ẩn bình luận"
+ no_comments: "Chưa có bình luận."
+ show: "Hiện tất cả bình luận"
confirm_dialog: "Bạn có chắc không?"
+ confirm_unload: "Bạn sắp rời khỏi trang này. Dữ liệu bạn đã nhập sẽ mất hết."
+ contacts:
+ add_contact: "Thêm người dùng"
+ error_add: "Không thể thêm <%= name %> vào mối quan hệ :("
+ error_remove: "Không thể xoá bỏ <%= name %> khỏi mối quan hệ :("
+ remove_contact: "Xoá người dùng"
+ search_no_results: "Không tìm thấy liên hệ nào"
+ conversation:
+ create:
+ no_recipient: "Ey, bạn cần thêm người nhận trước!"
+ new:
+ no_contacts: "Bạn cần thêm vài người dùng trước khi có thể nhắn tin."
+ create: "Tạo"
delete: "Xoá"
edit: "Chỉnh sửa"
- failed_to_post_message: "Đăng tin thất bại!"
+ errors:
+ connection: "Không thể kết nối đến server."
+ failed_to_post_message: "Gửi tin thất bại!"
+ failed_to_remove: "Gỡ bỏ thất bại!"
getting_started:
alright_ill_wait: "Được rồi, tôi sẽ chờ."
hey: "Này, <%= name %>!"
- no_tags: "Bạn chưa theo dõi thẻ nào cả! Tiếp tục?"
- preparing_your_stream: "Đang chuẩn bị luồng cho bạn..."
+ no_tags: "Bạn chưa theo dõi hashtag nào cả! Tiếp tục?"
+ preparing_your_stream: "Đang tải bài đăng cho bạn..."
header:
admin: "Quản trị"
- close: "đóng"
- contacts: "Liên lạc"
- home: "Trang chủ"
+ close: "Đóng"
+ contacts: "Danh bạ"
+ conversations: "Thảo luận"
+ help: "Trợ giúp"
+ home: "Trang chính"
log_out: "Đăng xuất"
mark_all_as_read: "Đánh dấu tất cả là đã đọc"
+ moderator: "Kiểm duyệt viên"
notifications: "Thông báo"
- profile: "Hồ sơ"
+ profile: "Trang cá nhân"
recent_notifications: "Thông báo gần đây"
search: "Tìm kiếm"
settings: "Thiết lập"
+ switch_to_touch_optimized_mode: "Giao diện di động"
+ toggle_navigation: "Chuyển chế độ"
view_all: "Xem tất cả"
+ hide_post: "Ẩn bài đăng này?"
+ hide_post_failed: "Không thể ẩn bài đăng này"
ignore: "Bỏ qua"
- ignore_user: "Bỏ qua người này?"
+ ignore_failed: "Không thể ẩn người này"
+ ignore_user: "Ẩn người này?"
my_activity: "Hoạt động của tôi"
- my_aspects: "Các mối quan hệ của tôi"
- my_stream: "Luồng"
+ my_aspects: "Mối quan hệ của tôi"
+ my_stream: "Bảng tin"
+ no_results: "Không tìm thấy gì cả"
+ notifications:
+ mark_read: "Đánh dấu đã đọc"
+ mark_unread: "Đánh dấu chưa đọc"
+ new_notifications:
+ other: "Bạn có <%= count %> thông báo chưa đọc"
people:
- not_found: "và không tìm thấy ai..."
+ edit_my_profile: "Chỉnh sửa trang cá nhân"
+ helper:
+ is_not_sharing: "<%= name %> đang không theo dõi bạn"
+ is_sharing: "<%= name %> đang theo dõi bạn"
+ mention: "Nhắc đến ai đó"
+ message: "Nhắn tin"
+ not_found: "... và không tìm thấy ai"
+ stop_ignoring: "Bỏ ẩn"
photo_uploader:
- completed: "Đã xong <%= file %>"
+ completed: "Đã tải lên <%= file %>"
empty: "Tập tin {file} rỗng, hãy chọn lại tập tin khác."
- invalid_ext: "Tập tin {file} có phần mở rộng không hợp lệ. Chỉ chấp nhận {extensions}."
+ error: "Có vấn đề khi tải lên <%= file %>"
+ invalid_ext: "Tập tin {file} có định dạng không hỗ trợ. Chỉ chấp nhận {extensions}."
looking_good: "Ôi, trông bạn thật tuyệt!"
size_error: "Tập tin {file} quá lớn, dung lượng tối đa là {sizeLimit}."
+ upload_photos: "Tải lên hình ảnh"
+ poll:
+ answer_count:
+ other: "<%=count%> lượt bình chọn"
+ zero: "Chưa có bình chọn"
+ close_result: "Ẩn kết quả"
+ count:
+ other: "<%=count%> lượt bình chọn"
+ go_to_original_post: "Bạn có thể tham gia bình chọn ở <%= original_post_link %>."
+ original_post: "bài đăng gốc"
+ result: "Kết quả"
+ show_result: "Xem kết quả"
+ vote: "Bình chọn"
+ your_vote: "Bình chọn của bạn"
+ profile:
+ add_some: "Thêm"
+ bio: "Tiểu sử"
+ born: "Sinh nhật"
+ edit: "Chỉnh sửa"
+ gender: "Giới tính"
+ location: "Đến từ"
+ photos: "Hình ảnh"
+ posts: "Bài đăng"
+ you_have_no_tags: "Bạn chưa có hashtag nào!"
publisher:
- near_from: "Gửi từ: <%= location %>"
+ add_option: "Thêm câu trả lời"
+ markdown_editor:
+ preview: "Xem trước"
+ texts:
+ code: "nhập mã lập trình ở đây"
+ heading: "in to chữ"
+ insert_image_description_text: "Nhập mô tả hình ở đây"
+ insert_image_help_text: "Nhập liên kết dẫn đến trang hình"
+ insert_image_title: "nhập tựa đề hình ở đây"
+ insert_link_description_text: "nhập mô tả link"
+ insert_link_help_text: "Nhập link ở đây"
+ italic: "in nghiêng chữ"
+ list: "nhập danh sách liệt kê ở đây"
+ quote: "nhập trích dẫn ở đây"
+ strong: "in đậm chữ"
+ tooltips:
+ bold: "Đậm"
+ cancel: "Huỷ bỏ thông điệp"
+ code: "Mã lập trình"
+ heading: "Tiêu đề"
+ insert_image: "Chèn hình ảnh"
+ insert_link: "Chèn link"
+ insert_ordered_list: "Liệt kê (số)"
+ insert_unordered_list: "Liệt kê (dấu chấm)"
+ italic: "Nghiêng"
+ preview: "Xem trước thông điệp"
+ quote: "Trích dẫn"
+ write: "Chỉnh sửa thông điệp"
+ write: "Viết"
+ mention_success: "Đã nhắc đến: <%= names %>"
+ near_from: "Nơi đăng: <%= location %>"
+ option: "Câu trả lời"
+ question: "Câu hỏi"
+ remove_post: "Xoá bỏ bài đăng?"
+ report:
+ name: "Báo cáo"
+ prompt: "Cho biết lý do:"
+ prompt_default: "Vd: nội dung nhạy cảm"
+ status:
+ created: "Đã gửi báo cáo thành công"
+ exists: "Đã gửi báo cáo rồi"
reshares:
- post: "Chia sẻ lại bài đăng của <%= name %>?"
+ post: "Chia sẻ bài đăng của <%= name %>?"
successful: "Đã chia sẻ lại bài đăng!"
- show_more: "hiện thêm"
+ show_all: "Hiện toàn bộ"
+ show_more: "Đọc tiếp"
stream:
comment: "Bình luận"
+ comments:
+ other: "<%= count %> bình luận"
+ disable_post_notifications: "Tắt thông báo cho bài đăng này"
+ enable_post_notifications: "Bật thông báo cho bài đăng này"
follow: "Theo dõi"
followed_tag:
- add_a_tag: "Thêm một thẻ"
+ add_a_tag: "Thêm một hashtag"
follow: "Theo dõi"
+ title: "Hashtag #đã theo dõi"
hide: "Ẩn"
hide_nsfw_posts: "Ẩn bài đăng #nsfw"
like: "Thích"
likes:
other: "<%= count %> người thích"
zero: "không ai thích"
- limited: "Giới hạn"
+ limited: "Hạn chế"
more_comments:
other: "Hiện thêm <%= count %> bình luận"
zero: "Hiện thêm <%= count %> bình luận"
- original_post_deleted: "Bài đăng gốc bị xoá bởi tác giả."
+ no_posts_yet: "Chưa có bài đăng nào hiển thị ở đây."
+ original_post_deleted: "Bài đăng gốc đã bị xoá"
+ permalink: "Liên kết cố định"
public: "Công khai"
reshare: "Chia sẻ lại"
reshares:
@@ -94,32 +265,39 @@ vi:
show_nsfw_posts: "Hiện tất cả"
tags:
follow: "Theo dõi #<%= tag %>"
+ follow_error: "Không thể theo dõi #<%= tag %> :("
following: "Đang theo dõi #<%= tag %>"
- stop_following: "Dừng theo dõi #<%= tag %>"
+ stop_following: "Ngưng theo dõi #<%= tag %>"
+ stop_following_confirm: "Ngưng theo dõi #<%= tag %>?"
+ stop_following_error: "Không thể ngưng theo dõi #<%= tag %> :("
unfollow: "Bỏ theo dõi"
unlike: "Bỏ thích"
+ via: "qua <%= provider %>"
tags:
wasnt_that_interesting: "Tôi cho rằng #<%= tagName %> không thú vị..."
timeago:
day: "một ngày"
days:
other: "%d ngày"
- hour: "khoảng một giờ"
+ hour: "\x1dnửa giờ trước"
hours:
- other: "khoảng %d giờ"
- minute: "khoảng một phút"
+ other: "%d giờ"
+ inPast: "ngày nào đó"
+ minute: "vài phút trước"
minutes:
other: "%d phút"
- month: "khoảng một tháng"
+ month: "nửa tháng trước"
months:
other: "%d tháng"
- prefixAgo: ""
- prefixFromNow: ""
- seconds: "ít hơn một phút"
+ prefixAgo: "trước"
+ prefixFromNow: "kể từ lúc này"
+ seconds: "vừa xong"
suffixAgo: "trước"
- suffixFromNow: "kể từ đây"
- year: "khoảng một năm"
+ suffixFromNow: "vừa xong"
+ wordSeparator: " "
+ year: "nửa năm trước"
years:
other: "%d năm"
+ unblock_failed: "Mở khoá người dùng thất bại"
viewer:
reshared: "Đã chia sẻ lại" \ No newline at end of file
diff --git a/config/locales/javascript/javascript.zh-TW.yml b/config/locales/javascript/javascript.zh-TW.yml
index 18df9c545..838339d73 100644
--- a/config/locales/javascript/javascript.zh-TW.yml
+++ b/config/locales/javascript/javascript.zh-TW.yml
@@ -91,8 +91,6 @@ zh-TW:
confirm_unload: "請確認要離開這個頁面。你目前輸入的資料將不會保留。"
contacts:
add_contact: "加聯絡人"
- aspect_chat_is_enabled: "這個社交面中的聯絡人可以跟你聊天。"
- aspect_chat_is_not_enabled: "這個社交面中的聯絡人不能跟你聊天。"
error_add: "沒辦法把 <%= name %> 加進這個社交面 :("
error_remove: "沒辦法把 <%= name %> 從這個社交面中移除 :("
remove_contact: "刪聯絡人"
@@ -295,7 +293,6 @@ zh-TW:
seconds: "少於一分鐘"
suffixAgo: "前"
suffixFromNow: "前"
- wordSeparator: ""
year: "約一年"
years:
other: "%d年"
diff --git a/config/routes.rb b/config/routes.rb
index 8a4f45ebe..88c1d5fde 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -6,7 +6,6 @@
require "sidekiq/web"
require "sidekiq/cron/web"
-Sidekiq::Web.set :sessions, false # disable rack session cookie
Rails.application.routes.draw do
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
@@ -181,12 +180,12 @@ Rails.application.routes.draw do
resources :photos, except: %i(new update)
get :stream
get :hovercard
-
- collection do
- post 'by_handle' => :retrieve_remote, :as => 'person_by_handle'
- end
end
- get '/u/:username' => 'people#show', :as => 'user_profile', :constraints => { :username => /[^\/]+/ }
+
+ # Note: The contraint for this route's username parameter cannot be removed.
+ # This constraint turns off the format parameter, so that an username
+ # doctor.example would not try to render the user `doctor` in `example` format.
+ get "/u/:username" => "people#show", :as => "user_profile", :constraints => {username: %r{[^/]+}}
# External
@@ -209,7 +208,7 @@ Rails.application.routes.draw do
get 'help/:topic' => 'help#faq'
#Protocol Url
- get "protocol" => redirect("https://wiki.diasporafoundation.org/Federation_Protocol_Overview")
+ get "protocol" => redirect("https://diaspora.github.io/diaspora_federation/")
# NodeInfo
get ".well-known/nodeinfo", to: "node_info#jrd"
diff --git a/db/migrate/0000_create_schema.rb b/db/migrate/0000_create_schema.rb
index e73953360..cbf0ffc72 100644
--- a/db/migrate/0000_create_schema.rb
+++ b/db/migrate/0000_create_schema.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
class CreateSchema < ActiveRecord::Migration[4.2]
- # rubocop:disable Metrics/AbcSize, Metrics/MethodLength, Metrics/LineLength, Layout/ExtraSpacing
+ # rubocop:disable Metrics/AbcSize, Metrics/MethodLength, Layout/LineLength, Layout/ExtraSpacing
def up
create_table :account_deletions do |t|
t.string :diaspora_handle
@@ -672,5 +672,5 @@ class CreateSchema < ActiveRecord::Migration[4.2]
add_foreign_key :share_visibilities, :users, name: :share_visibilities_user_id_fk, on_delete: :cascade
end
- # rubocop:enable Metrics/AbcSize, Metrics/MethodLength, Metrics/LineLength, Layout/ExtraSpacing
+ # rubocop:enable Metrics/AbcSize, Metrics/MethodLength, Layout/LineLength, Layout/ExtraSpacing
end
diff --git a/db/migrate/20211024142641_add_signature_to_account_migration.rb b/db/migrate/20211024142641_add_signature_to_account_migration.rb
new file mode 100644
index 000000000..e6acbcebe
--- /dev/null
+++ b/db/migrate/20211024142641_add_signature_to_account_migration.rb
@@ -0,0 +1,7 @@
+# frozen_string_literal: true
+
+class AddSignatureToAccountMigration < ActiveRecord::Migration[5.2]
+ def change
+ add_column :account_migrations, :signature, :text
+ end
+end
diff --git a/db/migrate/20211027230348_add_remote_photo_path_to_account_migration.rb b/db/migrate/20211027230348_add_remote_photo_path_to_account_migration.rb
new file mode 100644
index 000000000..291d88c95
--- /dev/null
+++ b/db/migrate/20211027230348_add_remote_photo_path_to_account_migration.rb
@@ -0,0 +1,7 @@
+# frozen_string_literal: true
+
+class AddRemotePhotoPathToAccountMigration < ActiveRecord::Migration[5.2]
+ def change
+ add_column :account_migrations, :remote_photo_path, :text
+ end
+end
diff --git a/docker/develop/Dockerfile b/docker/develop/Dockerfile
index 45617302d..a33f8a08c 100644
--- a/docker/develop/Dockerfile
+++ b/docker/develop/Dockerfile
@@ -20,6 +20,9 @@ RUN DEBIAN_FRONTEND=noninteractive \
nodejs \
gosu \
&& \
+ curl https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb -o ./google-chrome.deb && \
+ apt install -y -qq --no-install-recommends ./google-chrome.deb && \
+ rm ./google-chrome.deb && \
rm -rf /var/lib/apt/lists/*
diff --git a/features/desktop/hovercards.feature b/features/desktop/hovercards.feature
index 6fff24f72..5a77da678 100644
--- a/features/desktop/hovercards.feature
+++ b/features/desktop/hovercards.feature
@@ -49,3 +49,21 @@ Feature: Hovercards
Then I should see a hovercard
And I should see "#first" hashtag in the hovercard
And I should see "#second" hashtag in the hovercard
+
+ Scenario: Hovercards contain the aspect membership and the sharing status
+ Given a user with email "alice@alice.alice" is connected with "bob@bob.bob"
+ And I sign in as "alice@alice.alice"
+ And I am on "bob@bob.bob"'s page
+ When I activate the first hovercard
+ Then I should see a hovercard
+ And I should see "Besties" within ".aspect-membership-dropdown"
+ And I should see a "[title='Bob Jones is sharing with you']" within ".status-container"
+ And I should see a ".entypo-check" within ".sharing_message_container"
+
+ Scenario: Hovercards contain sharing status when not sharing
+ Given I sign in as "alice@alice.alice"
+ And I am on "bob@bob.bob"'s page
+ When I activate the first hovercard
+ Then I should see a hovercard
+ And I should see a "[title='Bob Jones is not sharing with you']" within ".status-container"
+ And I should see a ".entypo-record" within ".sharing_message_container"
diff --git a/features/support/webmock.rb b/features/support/webmock.rb
index 3068944d4..63bba1aac 100644
--- a/features/support/webmock.rb
+++ b/features/support/webmock.rb
@@ -7,7 +7,7 @@ Before do
stub_request(:head, /.+/).with(
headers: {
"Accept" => "text/html",
- "User-Agent" => "OpenGraphReader/0.7.1 (+https://github.com/jhass/open_graph_reader)"
+ "User-Agent" => "OpenGraphReader/0.7.2 (+https://github.com/jhass/open_graph_reader)"
}
).to_return(status: 200, body: "", headers: {"Content-Type" => "text/plain"})
end
diff --git a/lib/bookmarklet_renderer.rb b/lib/bookmarklet_renderer.rb
index 75b2b51f1..a8e998a73 100644
--- a/lib/bookmarklet_renderer.rb
+++ b/lib/bookmarklet_renderer.rb
@@ -30,7 +30,7 @@ class BookmarkletRenderer
def compile
src = File.read(source)
- @body = Uglifier.compile(src)
+ @body = Terser.compile(src)
FileUtils.mkdir_p cached_path.dirname
File.open(cached_path, "w") {|f| f.write(@body) }
end
diff --git a/lib/diaspora/federation.rb b/lib/diaspora/federation.rb
index 1a1bd96b9..8a5bd9ac4 100644
--- a/lib/diaspora/federation.rb
+++ b/lib/diaspora/federation.rb
@@ -9,6 +9,10 @@ module Diaspora
# Raised, if the author of the existing object doesn't match the received author
class InvalidAuthor < RuntimeError
end
+
+ # Raised, if the recipient account is closed already
+ class RecipientClosed < RuntimeError
+ end
end
end
diff --git a/lib/diaspora/federation/entities.rb b/lib/diaspora/federation/entities.rb
index 8a842b409..4a77f8ef7 100644
--- a/lib/diaspora/federation/entities.rb
+++ b/lib/diaspora/federation/entities.rb
@@ -26,8 +26,9 @@ module Diaspora
def self.account_migration(account_migration)
DiasporaFederation::Entities::AccountMigration.new(
- author: account_migration.sender.diaspora_handle,
- profile: profile(account_migration.new_person.profile)
+ author: account_migration.sender.diaspora_handle,
+ profile: profile(account_migration.new_person.profile),
+ signature: account_migration.signature
)
end
diff --git a/lib/diaspora/federation/receive.rb b/lib/diaspora/federation/receive.rb
index 7148c2521..dd136ac42 100644
--- a/lib/diaspora/federation/receive.rb
+++ b/lib/diaspora/federation/receive.rb
@@ -9,6 +9,15 @@ module Diaspora
public_send(Mappings.receiver_for(entity), entity)
end
+ def self.handle_closed_recipient(sender, recipient)
+ return unless recipient.closed_account?
+
+ entity = recipient.person.account_migration || recipient.person.account_deletion
+ Diaspora::Federation::Dispatcher.build(recipient, entity, subscribers: [sender]).dispatch if entity.present?
+
+ raise Diaspora::Federation::RecipientClosed
+ end
+
def self.account_deletion(entity)
person = author_of(entity)
AccountDeletion.create!(person: person) unless AccountDeletion.where(person: person).exists?
@@ -20,10 +29,19 @@ module Diaspora
def self.account_migration(entity)
old_person = author_of(entity)
profile = profile(entity.profile)
- return if AccountMigration.where(old_person: old_person, new_person: profile.person).exists?
- AccountMigration.create!(old_person: old_person, new_person: profile.person)
- rescue => e # rubocop:disable Lint/RescueWithoutErrorClass
- raise e unless AccountMigration.where(old_person: old_person, new_person: profile.person).exists?
+ return if AccountMigration.exists?(old_person: old_person, new_person: profile.person)
+
+ AccountMigration.create!(
+ old_person: old_person,
+ new_person: profile.person,
+ remote_photo_path: entity.remote_photo_path
+ ).tap do |migration|
+ migration.signature = entity.signature if old_person.local?
+ migration.save!
+ end
+ rescue StandardError => e
+ raise e unless AccountMigration.exists?(old_person: old_person, new_person: profile.person)
+
logger.warn "ignoring error on receive #{entity}: #{e.class}: #{e.message}"
nil
end
diff --git a/lib/diaspora/message_renderer.rb b/lib/diaspora/message_renderer.rb
index 0072cbd57..d3f0e0232 100644
--- a/lib/diaspora/message_renderer.rb
+++ b/lib/diaspora/message_renderer.rb
@@ -50,7 +50,9 @@ module Diaspora
end
def strip_markdown
- renderer = Redcarpet::Markdown.new Redcarpet::Render::StripDown, options[:markdown_options]
+ # Footnotes are not supported in text-only outputs (mail, crossposts etc)
+ stripdown_options = options[:markdown_options].except(:footnotes)
+ renderer = Redcarpet::Markdown.new Redcarpet::Render::StripDown, stripdown_options
@message = renderer.render(message).strip
end
@@ -105,26 +107,27 @@ module Diaspora
end
end
- DEFAULTS = {mentioned_people: [],
- link_all_mentions: false,
- disable_hovercards: false,
- truncate: false,
- append: nil,
- append_after_truncate: nil,
- squish: false,
- escape: true,
- escape_tags: false,
- markdown_options: {
- autolink: true,
+ DEFAULTS = {mentioned_people: [],
+ link_all_mentions: false,
+ disable_hovercards: false,
+ truncate: false,
+ append: nil,
+ append_after_truncate: nil,
+ squish: false,
+ escape: true,
+ escape_tags: false,
+ markdown_options: {
+ autolink: true,
fenced_code_blocks: true,
space_after_headers: true,
- strikethrough: true,
- tables: true,
- no_intra_emphasis: true,
+ strikethrough: true,
+ footnotes: true,
+ tables: true,
+ no_intra_emphasis: true
},
markdown_render_options: {
- filter_html: true,
- hard_wrap: true,
+ filter_html: true,
+ hard_wrap: true,
safe_links_only: true
}}.freeze
diff --git a/lib/schemas/archive-format.json b/lib/schemas/archive-format.json
index 77ef84fb2..79105232d 100644
--- a/lib/schemas/archive-format.json
+++ b/lib/schemas/archive-format.json
@@ -20,7 +20,12 @@
]
},
"strip_exif": { "type": "boolean" },
-
+ "blocks": {
+ "type": "array",
+ "items" : {
+ "type": "string"
+ }
+ },
"profile": {
"$ref": "https://diaspora.github.io/diaspora_federation/schemas/federation_entities.json#/definitions/profile"
},
@@ -30,8 +35,7 @@
"items": {
"type": "object",
"properties": {
- "name": { "type": "string" },
- "chat_enabled": { "type": "boolean" }
+ "name": { "type": "string" }
},
"required": [
"name"
diff --git a/lib/stream/aspect.rb b/lib/stream/aspect.rb
index af6972775..071854bf0 100644
--- a/lib/stream/aspect.rb
+++ b/lib/stream/aspect.rb
@@ -80,15 +80,6 @@ class Stream::Aspect < Stream::Base
@all_aspects ||= aspects.size == user.aspects.size
end
- # This is perfomance optimization, as everyone in your aspect stream you have
- # a contact.
- #
- # @param post [Post]
- # @return [Boolean]
- def can_comment?(post)
- true
- end
-
private
def aspect_ids
diff --git a/lib/stream/base.rb b/lib/stream/base.rb
index 30ac2f92c..1e94b6441 100644
--- a/lib/stream/base.rb
+++ b/lib/stream/base.rb
@@ -17,12 +17,6 @@ class Stream::Base
'change me in lib/base_stream.rb!'
end
- # @return [Boolean]
- def can_comment?(post)
- return true if post.author.local?
- post_is_from_contact?(post)
- end
-
def post_from_group(post)
[]
end
@@ -105,13 +99,4 @@ class Stream::Base
def contacts_in_stream
@contacts_in_stream ||= Contact.where(:user_id => user.id, :person_id => people.map(&:id)).load
end
-
- # @param post [Post]
- # @return [Boolean]
- def post_is_from_contact?(post)
- @can_comment_cache ||= {}
- @can_comment_cache[post.id] ||= contacts_in_stream.find{|contact| contact.person_id == post.author.id}.present?
- @can_comment_cache[post.id] ||= (user.person_id == post.author_id)
- @can_comment_cache[post.id]
- end
end
diff --git a/lib/stream/public.rb b/lib/stream/public.rb
index de6484b0e..a60fcb9d8 100644
--- a/lib/stream/public.rb
+++ b/lib/stream/public.rb
@@ -18,10 +18,6 @@ class Stream::Public < Stream::Base
@posts ||= Post.all_public
end
- def can_comment?(post)
- post.author.local?
- end
-
# Override base class method
def aspects
["public"]
diff --git a/log/.gitkeep b/log/.gitkeep
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/log/.gitkeep
diff --git a/spec/controllers/jasmine_fixtures/aspects_spec.rb b/spec/controllers/jasmine_fixtures/aspects_spec.rb
index 47e5ec8ca..42d346900 100644
--- a/spec/controllers/jasmine_fixtures/aspects_spec.rb
+++ b/spec/controllers/jasmine_fixtures/aspects_spec.rb
@@ -86,19 +86,23 @@ describe StreamsController, :type => :controller do
save_fixture(html_for("body"), "aspects_index_with_one_followed_tag")
end
- it "generates a jasmine fixture with a post containing a video", :fixture => true do
+ it "generates a jasmine fixture with a post containing a video", fixture: true do
stub_request(
:get,
- "https://www.youtube.com/oembed?format=json&frame=1&iframe=1&maxheight=420&maxwidth=420&scheme=https&url=http://www.youtube.com/watch?v=UYrkQL1bX4A"
+ "https://www.youtube.com/oembed/?format=json&frame=1&iframe=1&maxheight=420&maxwidth=420&scheme=https&url=https://www.youtube.com/watch?v=UYrkQL1bX4A"
).with(
- :headers => {'Accept'=>'*/*'}
+ headers: {
+ "Accept" => "*/*",
+ "Accept-Encoding" => "gzip;q=1.0,deflate;q=0.6,identity;q=0.3",
+ "User-Agent" => "Mozilla/5.0 (compatible; ruby-oembed/#{OEmbed::VERSION})"
+ }
).to_return(
- :status => 200,
- :body => '{ "title": "LazyTown song - Cooking By The Boo" }',
- :headers => {}
+ status: 200,
+ body: '{ "title": "LazyTown song - Cooking By The Boo" }',
+ headers: {}
)
- alice.post(:status_message, :text => "http://www.youtube.com/watch?v=UYrkQL1bX4A", :to => @alices_aspect_2.id)
+ alice.post(:status_message, text: "https://www.youtube.com/watch?v=UYrkQL1bX4A", to: @alices_aspect_2.id)
get :aspects
save_fixture(html_for("body"), "aspects_index_with_video_post")
end
diff --git a/spec/federation_callbacks_spec.rb b/spec/federation_callbacks_spec.rb
index aa2848019..e1931c87a 100644
--- a/spec/federation_callbacks_spec.rb
+++ b/spec/federation_callbacks_spec.rb
@@ -354,11 +354,12 @@ describe "diaspora federation callbacks" do
it "receives a Retraction" do
retraction = Fabricate(:retraction_entity, author: remote_person.diaspora_handle)
+ recipient_id = FactoryGirl.create(:user).id
- expect(Diaspora::Federation::Receive).to receive(:retraction).with(retraction, 42)
+ expect(Diaspora::Federation::Receive).to receive(:retraction).with(retraction, recipient_id)
expect(Workers::ReceiveLocal).not_to receive(:perform_async)
- DiasporaFederation.callbacks.trigger(:receive_entity, retraction, retraction.author, 42)
+ DiasporaFederation.callbacks.trigger(:receive_entity, retraction, retraction.author, recipient_id)
end
it "receives a entity" do
@@ -386,11 +387,13 @@ describe "diaspora federation callbacks" do
it "receives a entity for a recipient" do
received = Fabricate(:status_message_entity, author: remote_person.diaspora_handle)
persisted = FactoryGirl.create(:status_message)
+ recipient = FactoryGirl.create(:user)
+ expect(Diaspora::Federation::Receive).to receive(:handle_closed_recipient).with(remote_person, recipient)
expect(Diaspora::Federation::Receive).to receive(:perform).with(received).and_return(persisted)
- expect(Workers::ReceiveLocal).to receive(:perform_async).with(persisted.class.to_s, persisted.id, [42])
+ expect(Workers::ReceiveLocal).to receive(:perform_async).with(persisted.class.to_s, persisted.id, [recipient.id])
- DiasporaFederation.callbacks.trigger(:receive_entity, received, received.author, 42)
+ DiasporaFederation.callbacks.trigger(:receive_entity, received, received.author, recipient.id)
end
it "does not trigger a ReceiveLocal job if Receive.perform returned nil" do
diff --git a/spec/fixtures/public_posts.json b/spec/fixtures/public_posts.json
index a8aff7112..2c6ff3364 100644
--- a/spec/fixtures/public_posts.json
+++ b/spec/fixtures/public_posts.json
@@ -1 +1 @@
-[{"id":15086,"guid":"198095988ad26f21","text":"test of #left4dead on #linux results in \"faster zombies\" http://is.gd/uHeUC6 with linux outperforming windows","public":true,"created_at":"2012-08-02T22:13:16Z","interacted_at":"2012-08-03T15:02:59Z","provider_display_name":null,"post_type":"Reshare","nsfw":false,"author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":{"id":15028,"guid":"1b2a98db23582947","text":"test of #left4dead on #linux results in \"faster zombies\" http://is.gd/uHeUC6 with linux outperforming windows","public":true,"created_at":"2012-08-02T14:25:56Z","interacted_at":"2012-08-02T21:54:53Z","provider_display_name":null,"post_type":"StatusMessage","nsfw":false,"author":{"id":1769,"guid":"a2f9a3a7cb3dcd5a","name":"el [spare pope] olmo","diaspora_id":"el_olmo@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_343f6520778765c4b3f9.jpg","medium":"https://pod.fulll.name/uploads/images/thumb_medium_343f6520778765c4b3f9.jpg","large":"https://pod.fulll.name/uploads/images/thumb_large_343f6520778765c4b3f9.jpg"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":null,"title":"test of #left4dead on #linux results in \"faster zombies\" http://is.gd/uHeUC6 with linux outperforming windows","interactions":{"likes":[{"id":32638,"guid":"b2c1e789b1eec9ea","author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"created_at":"2012-08-02T21:54:53Z"}],"reshares":[{"reshare":{"author_id":2,"comments_count":0,"created_at":"2012-08-02T22:13:16Z","diaspora_handle":"raven24@pod.fulll.name","guid":"198095988ad26f21","id":15086,"interacted_at":"2012-08-03T15:02:59Z","likes_count":2,"o_embed_cache_id":null,"provider_display_name":null,"public":true,"reshares_count":0,"root_guid":"1b2a98db23582947","text":null,"updated_at":"2012-08-03T15:02:59Z"}}],"comments_count":0,"likes_count":6,"reshares_count":1}},"title":"A post from Florian Staudacher","interactions":{"likes":[],"reshares":[],"comments_count":0,"likes_count":2,"reshares_count":0,"comments":[]}},{"id":14755,"guid":"0ffef04549e81bfa","text":"... in case you ever need the network device name, ip and mac address, here you go: \r\nhttps://gist.github.com/3202188\r\n\r\n(uses ifconfig, grep and sed with some regular expression magic) \r\n#bash #script #network #ip #grep #sed #regexp #linux","public":true,"created_at":"2012-07-29T22:28:17Z","interacted_at":"2012-08-01T18:01:49Z","provider_display_name":null,"post_type":"StatusMessage","nsfw":false,"author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":null,"title":"... in case you ever need the network device name, ip and mac address, here you go: \r\nhttps://gist.github.com/3202188\r\n\r\n(uses ifconfig, grep and sed with some regular expression magic) \r\n#bash #script #network #ip #grep #sed #regexp #linux","interactions":{"likes":[],"reshares":[],"comments_count":8,"likes_count":4,"reshares_count":0,"comments":[{"id":20912,"guid":"ba86c52ca4d293c4","text":"It only shows network devices named eth* and doesn't work with localized versions of ifconfig in non-english language environments","author":{"id":6243,"guid":"c7bf295dae900b7a","name":"Florian Diesch","diaspora_id":"diesch@joindiaspora.com","avatar":{"small":"https://joindiaspora.s3.amazonaws.com/uploads/images/thumb_small_7f090bd1002004896464.png","medium":"https://joindiaspora.s3.amazonaws.com/uploads/images/thumb_medium_7f090bd1002004896464.png","large":"https://joindiaspora.s3.amazonaws.com/uploads/images/thumb_large_7f090bd1002004896464.png"}},"created_at":"2012-07-30T02:33:06Z"},{"id":21012,"guid":"81fc5d869de5ea05","text":"For now, I only need it just the way it is (in my collection of VM management scripts), but feel free to change it to work with whatever version or language of `ifconfig` you need. I leave that \"as an exercise to the reader\" ... it's always a good time to start learning `sed` regular expressions \n;)","author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"created_at":"2012-07-31T01:51:24Z"},{"id":21164,"guid":"d74aac53420cd66f","text":"[inxi](https://code.google.com/p/inxi/)","author":{"id":3920,"guid":"b636315dc6f90ece","name":"Kiridesce","diaspora_id":"iridesce@kosmospora.net","avatar":{"small":"https://kosmospora.net/uploads/images/thumb_small_7b3c16e2107449bf9717.jpeg","medium":"https://kosmospora.net/uploads/images/thumb_medium_7b3c16e2107449bf9717.jpeg","large":"https://kosmospora.net/uploads/images/thumb_large_7b3c16e2107449bf9717.jpeg"}},"created_at":"2012-08-01T18:01:49Z"}]}},{"id":14514,"guid":"c6b5e0a20421d719","text":"lol! \r\nhttp://youtu.be/6RrpGgaT5kk\r\n\r\n#acapella #movie #dub","public":true,"created_at":"2012-07-27T14:09:31Z","interacted_at":"2012-07-28T21:25:56Z","provider_display_name":null,"post_type":"StatusMessage","nsfw":false,"author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"o_embed_cache":{"data":{"provider_url":"http://www.youtube.com/","thumbnail_url":"http://i3.ytimg.com/vi/6RrpGgaT5kk/hqdefault.jpg","title":"'The Matrix' Lobby Scene with A capella Multitrack - Matt Mulholland","html":"<iframe width=\"420\" height=\"236\" src=\"http://www.youtube.com/embed/6RrpGgaT5kk?fs=1&feature=oembed\" frameborder=\"0\" allowfullscreen></iframe>","author_name":"mattmulholland26","height":236,"thumbnail_width":480,"width":420,"version":"1.0","author_url":"http://www.youtube.com/user/mattmulholland26","provider_name":"YouTube","type":"video","thumbnail_height":360,"trusted_endpoint_url":"http://www.youtube.com/oembed"}},"mentioned_people":[],"photos":[],"root":null,"title":"lol! \r\nhttp://youtu.be/6RrpGgaT5kk\r\n\r\n#acapella #movie #dub","interactions":{"likes":[],"reshares":[],"comments_count":1,"likes_count":2,"reshares_count":0,"comments":[{"id":20833,"guid":"3c2d21708b6cfa29","text":"Inception Trailer A Capella Re-Dub: http://www.youtube.com/watch?v=d2yD4yDsiP4","author":{"id":2896,"guid":"24e82915d58368fe","name":"Alexey Andreyev","diaspora_id":"yetanotherandreyev@diasp.org","avatar":{"small":"https://diasp.org/uploads/images/thumb_small_9f29c5326741a32889fa.jpg","medium":"https://diasp.org/uploads/images/thumb_medium_9f29c5326741a32889fa.jpg","large":"https://diasp.org/uploads/images/thumb_large_9f29c5326741a32889fa.jpg"}},"created_at":"2012-07-28T21:25:56Z"}]}},{"id":14113,"guid":"4404d1bb88d36735","text":"Keep Calm and use #Linux <br> [ ![Image](http://farm5.staticflickr.com/4146/5051936082_3eb4a9f065_b.jpg) ](http://goo.gl/HSS18) <br>","public":true,"created_at":"2012-07-23T15:50:00Z","interacted_at":"2012-07-24T15:16:25Z","provider_display_name":null,"post_type":"Reshare","nsfw":false,"author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":{"id":14099,"guid":"d1970bb173aae310","text":"Keep Calm and use #Linux <br> [ ![Image](http://farm5.staticflickr.com/4146/5051936082_3eb4a9f065_b.jpg) ](http://goo.gl/HSS18) <br>","public":true,"created_at":"2012-07-23T13:12:51Z","interacted_at":"2012-07-23T13:37:24Z","provider_display_name":null,"post_type":"StatusMessage","nsfw":false,"author":{"id":175,"guid":"4d11bd252c174338f2002a4c","name":"\u24b6\u24c5\u24c4\u24c1\u24c4\u24c3\u24be\u24c8 \u2301 \u24b6\u24c5\u24bd\u24c7\u24c4\u24b9\u24be\u24c8\u24be\u24b6","diaspora_id":"apolonisaphrodisia@joindiaspora.com","avatar":{"small":"https://joindiaspora.s3.amazonaws.com/uploads/images/thumb_small_8107d3419ac23bd16253.gif","medium":"https://joindiaspora.s3.amazonaws.com/uploads/images/thumb_medium_8107d3419ac23bd16253.gif","large":"https://pod.fulll.name/images/user/default.png"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":null,"title":"Keep Calm and use #Linux <br> [ ![Image](http://farm5.staticflickr.com/4146/5051936082_3eb4a9f065_b.jpg) ](http://goo.gl/HSS18) <br>","interactions":{"likes":[],"reshares":[],"comments_count":0,"likes_count":0,"reshares_count":2}},"title":"A post from Florian Staudacher","interactions":{"likes":[],"reshares":[],"comments_count":0,"likes_count":2,"reshares_count":1,"comments":[]}},{"id":14110,"guid":"bb89c419e60fd801","text":"awesome #youtube #video \r\nhttp://youtu.be/daVDrGsaDME\r\n\r\n#car #engine #stopmotion","public":true,"created_at":"2012-07-23T15:05:36Z","interacted_at":"2012-07-24T12:48:48Z","provider_display_name":null,"post_type":"StatusMessage","nsfw":false,"author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"o_embed_cache":{"data":{"provider_url":"http://www.youtube.com/","thumbnail_url":"http://i1.ytimg.com/vi/daVDrGsaDME/hqdefault.jpg","title":"11 Months, 3000 pictures and a lot of coffee.","html":"<iframe width=\"420\" height=\"315\" src=\"http://www.youtube.com/embed/daVDrGsaDME?fs=1&feature=oembed\" frameborder=\"0\" allowfullscreen></iframe>","author_name":"nothinghereok","height":315,"thumbnail_width":480,"width":420,"version":"1.0","author_url":"http://www.youtube.com/user/nothinghereok","provider_name":"YouTube","type":"video","thumbnail_height":360,"trusted_endpoint_url":"http://www.youtube.com/oembed"}},"mentioned_people":[],"photos":[],"root":null,"title":"awesome #youtube #video \r\nhttp://youtu.be/daVDrGsaDME\r\n\r\n#car #engine #stopmotion","interactions":{"likes":[],"reshares":[],"comments_count":0,"likes_count":1,"reshares_count":0,"comments":[]}},{"id":12830,"guid":"5a4089375be2db14","text":"jQuery Core: Version 1.9 and Beyond - http://blog.jquery.com/2012/06/28/jquery-core-version-1-9-and-beyond/ - \r\n_jQuery 2.0: This version will support the same APIs as jQuery 1.9 does, but removes support for IE 6/7/8 oddities such as borked event model, IE7 \u201cattroperties\u201d, HTML5 shims, etc. \r\nOur goal is for 1.9 and 2.0 to be interchangeable as far as the API set they support. When 2.0 comes out, your decision on which version to choose should be as simple as this: If you need IE 6/7/8 support, choose 1.9; otherwise you can use either 1.9 or 2.0._ \r\nI hope IE dies a quick but painfull death... \r\n#jquery #ie #browser #web","public":true,"created_at":"2012-07-13T20:36:35Z","interacted_at":"2012-07-13T20:36:35Z","provider_display_name":null,"post_type":"StatusMessage","nsfw":false,"author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":null,"title":"jQuery Core: Version 1.9 and Beyond - http://blog.jquery.com/2012/06/28/jquery-core-version-1-9-and-beyond/ - \r\n_jQuery 2.0: This version will support the same APIs as jQuery 1.9 does, but removes support for IE 6/7/8 oddities such as borked event model, IE7 \u201cattroperties\u201d, HTML5 shims, etc. \r\nOur goal is for 1.9 and 2.0 to be interchangeable as far as the API set they support. When 2.0 comes out, your decision on which version to choose should be as simple as this: If you need IE 6/7/8 support, choose 1.9; otherwise you can use either 1.9 or 2.0._ \r\nI hope IE dies a quick but painfull death... \r\n#jquery #ie #browser #web","interactions":{"likes":[],"reshares":[],"comments_count":0,"likes_count":0,"reshares_count":0,"comments":[]}},{"id":12763,"guid":"82adaf03843115e8","text":"http://www.evolutionoftheweb.com\r\n\r\n![www](http://2.bp.blogspot.com/-wsNl1RvehSs/T_7DBHg_o6I/AAAAAAAAAYg/UL2N8GMWO3k/s640/evolution+of+web.png)\r\n\r\n#www #web #ITNews #Browser #Internet #technology #IT","public":true,"created_at":"2012-07-13T09:30:02Z","interacted_at":"2012-07-29T23:46:30Z","provider_display_name":null,"post_type":"Reshare","nsfw":false,"author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":{"id":12751,"guid":"389f84ae16581df6","text":"http://www.evolutionoftheweb.com\r\n\r\n![www](http://2.bp.blogspot.com/-wsNl1RvehSs/T_7DBHg_o6I/AAAAAAAAAYg/UL2N8GMWO3k/s640/evolution+of+web.png)\r\n\r\n#www #web #ITNews #Browser #Internet #technology #IT","public":true,"created_at":"2012-07-12T17:34:10Z","interacted_at":"2012-07-13T05:49:09Z","provider_display_name":null,"post_type":"StatusMessage","nsfw":false,"author":{"id":4079,"guid":"bfe281001b5a8561","name":"Anonymiss","diaspora_id":"anonymiss@despora.de","avatar":{"small":"https://despora.de/uploads/images/thumb_small_d25c7b27e7bbf307a8cc.jpg","medium":"https://despora.de/uploads/images/thumb_medium_d25c7b27e7bbf307a8cc.jpg","large":"https://despora.de/uploads/images/thumb_large_d25c7b27e7bbf307a8cc.jpg"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":null,"title":"http://www.evolutionoftheweb.com\r\n\r\n![www](http://2.bp.blogspot.com/-wsNl1RvehSs/T_7DBHg_o6I/AAAAAAAAAYg/UL2N8GMWO3k/s640/evolution+of+web.png)\r\n\r\n#www #web #ITNews #Browser #Internet #technology #IT","interactions":{"likes":[],"reshares":[],"comments_count":0,"likes_count":0,"reshares_count":1}},"title":"A post from Florian Staudacher","interactions":{"likes":[],"reshares":[],"comments_count":0,"likes_count":2,"reshares_count":0,"comments":[]}},{"id":12463,"guid":"cb0a304194c719d8","text":"Relativistic Baseball - http://what-if.xkcd.com/1/ - \r\nWhat would happen if you tried to hit a baseball pitched at 90% the speed of light? \r\n#xkcd #whatif","public":true,"created_at":"2012-07-10T09:31:54Z","interacted_at":"2012-07-29T23:52:08Z","provider_display_name":null,"post_type":"StatusMessage","nsfw":false,"author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":null,"title":"Relativistic Baseball - http://what-if.xkcd.com/1/ - \r\nWhat would happen if you tried to hit a baseball pitched at 90% the speed of light? \r\n#xkcd #whatif","interactions":{"likes":[],"reshares":[],"comments_count":0,"likes_count":3,"reshares_count":1,"comments":[]}},{"id":12349,"guid":"b16efb0fc6427338","text":"yay, new \"simon's cat\"! \r\n \r\nhttp://youtu.be/XrivBjlv6Mw \r\n#simonscat #cat","public":true,"created_at":"2012-07-09T12:03:38Z","interacted_at":"2012-07-10T21:59:32Z","provider_display_name":null,"post_type":"StatusMessage","nsfw":false,"author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"o_embed_cache":{"data":{"provider_url":"http://www.youtube.com/","thumbnail_url":"http://i1.ytimg.com/vi/XrivBjlv6Mw/hqdefault.jpg","title":"Simon's Cat in 'Window Pain'","html":"<iframe width=\"420\" height=\"236\" src=\"http://www.youtube.com/embed/XrivBjlv6Mw?fs=1&feature=oembed\" frameborder=\"0\" allowfullscreen></iframe>","author_name":"simonscat","height":236,"thumbnail_width":480,"width":420,"version":"1.0","author_url":"http://www.youtube.com/user/simonscat","provider_name":"YouTube","type":"video","thumbnail_height":360,"trusted_endpoint_url":"http://www.youtube.com/oembed"}},"mentioned_people":[],"photos":[],"root":null,"title":"yay, new \"simon's cat\"! \r\n \r\nhttp://youtu.be/XrivBjlv6Mw \r\n#simonscat #cat","interactions":{"likes":[],"reshares":[],"comments_count":0,"likes_count":2,"reshares_count":1,"comments":[]}},{"id":12172,"guid":"198034364c7226a1","text":"Ex-Nokia staff to build MeeGo-based smartphones - http://www.theverge.com/2012/7/7/3143099/jolla-meego-startup-ex-nokia-employees - \r\n_A group of ex-Nokia staff and MeeGo enthusiasts has formed Jolla (Finnish for \"dinghy\"), a mobile startup with the aim of bringing new MeeGo devices to the market._ \r\nThank you, thank you so much!\r\n#nokia #meego #maemo #mer #linux #smartphone","public":true,"created_at":"2012-07-07T22:16:11Z","interacted_at":"2012-07-09T11:02:08Z","provider_display_name":null,"post_type":"StatusMessage","nsfw":false,"author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":null,"title":"Ex-Nokia staff to build MeeGo-based smartphones - http://www.theverge.com/2012/7/7/3143099/jolla-meego-startup-ex-nokia-employees - \r\n_A group of ex-Nokia staff and MeeGo enthusiasts has formed Jolla (Finnish for \"dinghy\"), a mobile startup with the aim of bringing new MeeGo devices to the market._ \r\nThank you, thank you so much!\r\n#nokia #meego #maemo #mer #linux #smartphone","interactions":{"likes":[],"reshares":[],"comments_count":5,"likes_count":9,"reshares_count":3,"comments":[{"id":18837,"guid":"e70d7b0bbb779547","text":"Can they join efforts with Mer and PlasmaActive? I don't really see a need to reinvent the wheel.","author":{"id":1864,"guid":"6d48d8a46633e586","name":"Shmerl","diaspora_id":"bahaltener@joindiaspora.com","avatar":{"small":"https://joindiaspora.s3.amazonaws.com/uploads/images/thumb_small_7d3b625db04eca524c67.png","medium":"https://joindiaspora.s3.amazonaws.com/uploads/images/thumb_medium_7d3b625db04eca524c67.png","large":"https://joindiaspora.s3.amazonaws.com/uploads/images/thumb_large_7d3b625db04eca524c67.png"}},"created_at":"2012-07-08T02:30:40Z"},{"id":18842,"guid":"421e799bef69f18b","text":"Looks like they do work with Mer. Good news!","author":{"id":1864,"guid":"6d48d8a46633e586","name":"Shmerl","diaspora_id":"bahaltener@joindiaspora.com","avatar":{"small":"https://joindiaspora.s3.amazonaws.com/uploads/images/thumb_small_7d3b625db04eca524c67.png","medium":"https://joindiaspora.s3.amazonaws.com/uploads/images/thumb_medium_7d3b625db04eca524c67.png","large":"https://joindiaspora.s3.amazonaws.com/uploads/images/thumb_large_7d3b625db04eca524c67.png"}},"created_at":"2012-07-08T06:02:18Z"},{"id":18944,"guid":"16320b7c377ebb5a","text":"Tizen has normal Linux stack (X.org or Wayland based), so if you build all the dependencies, you can run Qt based programs there. The downside will be, that Qt isn't included in Tizen by default so far. They promote using EFL.","author":{"id":1864,"guid":"6d48d8a46633e586","name":"Shmerl","diaspora_id":"bahaltener@joindiaspora.com","avatar":{"small":"https://joindiaspora.s3.amazonaws.com/uploads/images/thumb_small_7d3b625db04eca524c67.png","medium":"https://joindiaspora.s3.amazonaws.com/uploads/images/thumb_medium_7d3b625db04eca524c67.png","large":"https://joindiaspora.s3.amazonaws.com/uploads/images/thumb_large_7d3b625db04eca524c67.png"}},"created_at":"2012-07-09T02:59:06Z"}]}},{"id":11937,"guid":"2aad765debb1e80e","text":"to all podmins: \r\nplease read this announcement: https://groups.google.com/d/msg/diaspora-dev/kMOuJk5h_v4/5Gx1Dsib6EQJ \r\nthis hopefully provides the solution to clean the database from even the most stubborn mixed-case hashtags. \r\n#diaspora #podmin #hashtags #actionrequired","public":true,"created_at":"2012-07-06T11:56:30Z","interacted_at":"2012-07-06T16:32:38Z","provider_display_name":null,"post_type":"StatusMessage","nsfw":false,"author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":null,"title":"to all podmins: \r\nplease read this announcement: https://groups.google.com/d/msg/diaspora-dev/kMOuJk5h_v4/5Gx1Dsib6EQJ \r\nthis hopefully provides the solution to clean the database from even the most stubborn mixed-case hashtags. \r\n#diaspora #podmin #hashtags #actionrequired","interactions":{"likes":[],"reshares":[],"comments_count":3,"likes_count":2,"reshares_count":1,"comments":[{"id":18691,"guid":"8a907544696e4faf","text":"thanks!","author":{"id":365,"guid":"dfc51824b3a76b71","name":"Sven Fischer","diaspora_id":"strubbl@sxspora.de","avatar":{"small":"http://sxspora.de/uploads/images/thumb_small_5c105bceab19eff9b0a3.jpg","medium":"http://sxspora.de/uploads/images/thumb_medium_5c105bceab19eff9b0a3.jpg","large":"http://sxspora.de/uploads/images/thumb_large_5c105bceab19eff9b0a3.jpg"}},"created_at":"2012-07-06T14:53:56Z"},{"id":18695,"guid":"8547aa6d2738ecb4","text":"before 2589. now of course 0. I prepended the bundle command with RAILS_ENV=production DB=\"mysql\". Otherwise it didn't work because a diaspora_development does not exist.","author":{"id":365,"guid":"dfc51824b3a76b71","name":"Sven Fischer","diaspora_id":"strubbl@sxspora.de","avatar":{"small":"http://sxspora.de/uploads/images/thumb_small_5c105bceab19eff9b0a3.jpg","medium":"http://sxspora.de/uploads/images/thumb_medium_5c105bceab19eff9b0a3.jpg","large":"http://sxspora.de/uploads/images/thumb_large_5c105bceab19eff9b0a3.jpg"}},"created_at":"2012-07-06T15:10:44Z"},{"id":18704,"guid":"247b0520a7824450","text":"oh, sorry ... yeah I thought that was implied","author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"created_at":"2012-07-06T16:32:38Z"}]}},{"id":11934,"guid":"e75e4e4719bf9405","text":"qtruby is intriguing ... I think I'll need to build something with it ;) \r\n(writing this from a QWebView created by a ruby script ^^) \r\n#ruby #qt #programming","public":true,"created_at":"2012-07-06T11:15:04Z","interacted_at":"2012-07-06T11:15:05Z","provider_display_name":null,"post_type":"StatusMessage","nsfw":false,"author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":null,"title":"qtruby is intriguing ... I think I'll need to build something with it ;) \r\n(writing this from a QWebView created by a ruby script ^^) \r\n#ruby #qt #programming","interactions":{"likes":[],"reshares":[],"comments_count":0,"likes_count":0,"reshares_count":0,"comments":[]}},{"id":11782,"guid":"23416f5cd259bfcc","text":"can one or more podmins please test this pull request on a *copy* of their database? -> https://github.com/diaspora/diaspora/pull/3434 \r\nit's about hashtags mit mixed-case letters in them, and the PR ccontains some changes to the rake task that is supposed to clean those up, which should hopefully eliminate mixed-case hashtags one and for all. \r\nto verify the successful run, the rake task should complete and in your database there should be no more mixed-case hashtags. You can check this by running this statement before and after the rake task ran: \r\n\r\n SELECT * FROM tags WHERE LOWER(name) != name\r\n\r\nBefore, you should see a list of all hashtags that will be processed, and after, the query shoud return an empty result. \r\n\r\n#diaspora #podmin #pleasetest #hashtags","public":true,"created_at":"2012-07-05T10:01:50Z","interacted_at":"2012-07-08T19:18:00Z","provider_display_name":null,"post_type":"StatusMessage","nsfw":false,"author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":null,"title":"can one or more podmins please test this pull request on a *copy* of their database? -> https://github.com/diaspora/diaspora/pull/3434 \r\nit's about hashtags mit mixed-case letters in them, and the PR ccontains some changes to the rake task that is supposed to clean those up, which should hopefully eliminate mixed-case hashtags one and for all. \r\nto verify the successful run, the rake task should complete and in your database there should be no more mixed-case hashtags. You can check this by running this statement before and after the rake task ran: \r\n\r\n SELECT * FROM tags WHERE LOWER(name) != name\r\n\r\nBefore, you should see a list of all hashtags that will be processed, and after, the query shoud return an empty result. \r\n\r\n#diaspora #podmin #pleasetest #hashtags","interactions":{"likes":[],"reshares":[],"comments_count":6,"likes_count":2,"reshares_count":0,"comments":[{"id":18584,"guid":"217ad7b7ab5fa869","text":"Oh! Duhh! Sorry, let me merge that and try again.","author":{"id":5653,"guid":"7410329c39e6810f","name":"Hans","diaspora_id":"hans@hfase.com","avatar":{"small":"https://hfase.com/uploads/images/thumb_small_f2b2d6b041732c5f91eb.jpg","medium":"https://hfase.com/uploads/images/thumb_medium_f2b2d6b041732c5f91eb.jpg","large":"https://hfase.com/uploads/images/thumb_large_f2b2d6b041732c5f91eb.jpg"}},"created_at":"2012-07-05T10:36:46Z"},{"id":18586,"guid":"0268792e018c3ec3","text":"\"MySQL returned an empty result set (i.e. zero rows). ( Query took 0.0003 sec )\"\n\nMuch better! :D Thanks!!","author":{"id":5653,"guid":"7410329c39e6810f","name":"Hans","diaspora_id":"hans@hfase.com","avatar":{"small":"https://hfase.com/uploads/images/thumb_small_f2b2d6b041732c5f91eb.jpg","medium":"https://hfase.com/uploads/images/thumb_medium_f2b2d6b041732c5f91eb.jpg","large":"https://hfase.com/uploads/images/thumb_large_f2b2d6b041732c5f91eb.jpg"}},"created_at":"2012-07-05T10:39:12Z"},{"id":18587,"guid":"8b39d807abd7302e","text":"yeah, that looks good!","author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"created_at":"2012-07-05T10:44:19Z"}]}},{"id":11774,"guid":"dbcb53c18a1c40bc","text":"# Intro To Using Diaspora\\*\r\n\r\n## Federated Social Networking\r\n\r\nDiaspora\\* is a social network (socnet), similar in many ways to Facebook, #MySpace, #Orkut, and Google Plus ( #GPlus). In fact, those of us who were already using D\\* when GPlus came out were quite familiar with its layout and functionality. It was almost as if they had started developing by grabbing D\\* code and stripping out federation.\r\n\r\nWhen I say federated, I mean that there is not one central Diaspora\\* server (or server cluster) that all users belong to. Instead, there are many [Diaspora\\* servers](http://podupti.me/) to choose from, with different operators ( #podmin), privacy policies, terms of service, and so on. Federation works much like when you decide to mail someone. It doesn't matter to me whether you use Gmail, Hotmail, Ymail, or GMX. I can send messages to you because electronic mail is federated. It is the same way with Diaspora\\*. You may be on [JoinDiaspora](http://joindiaspora.com/), [Calispora](http://calispora.org/), [Diasp.org](http://diasp.org/), [Diasp.eu](http://diasp.eu/), [Serendipitous](http://ser.endipito.us/) or another pod. You can still connect to people whose accounts are on other pods.\r\n\r\nI have written before about [federation](https://joindiaspora.com/posts/1679098).\r\n\r\nThis is an advantage, because it means that you're not beholden to a single organization's policies. If you decide that you dislike the _podmin_ on Pod X, you can open an account on Pod Y instead or even set up your own pod. (_**Moving** your account is not yet implemented_, but I believe you can export your contacts and use the export to help you repopulate that list on your new pod.) If podmin X decides to shut down pod X, again you can open an account on another pod or host your own.\r\n\r\n## @ mentions\r\n\r\nHit the at-sign and the first few letters of the person's display name (it used to be the first few of the person's username, but then they decided to hide that ... personally, I wish they'd switch back)\r\n\r\nWhen you mention someone, make sure you set the privacy to include the group that person is in. There was a bug (possibly fixed) where you could mention someone in a post they weren't allowed to see. I do not believe that @ mentions work in comments yet.\r\n\r\nTwitter, where at-mentions were invented (by users and 3rd-party clients) doesn't have the problem of at-mentions affecting groups simply because it does not have any form of privacy groups.\r\n\r\n## Hashtags\r\n\r\nDiaspora\\* supports #hashtags. Because your pod intercepts them, being on a bigger pod means that clicking a hashtag will give a larger results set than if you clicked on the hashtag from a smaller pod. It is a known problem of the current federation mechanism, and is being fixed.\r\n\r\nTwitter, where hashtags were invented (by users and 3rd-party clients), doesn't have this problem only because everyone is one the same instance of T. #StatusNet, which is like a federated clone of #Twitter, also has the same issue to some degree.\r\n\r\n## Aspects\r\n\r\nPrivacy groups for posts; these were the obvious inspiration for #GPlus's circles, and they work similarly. For example, you may wish to place your boss and others that you know from work into a work aspect. You may also wish to place people you know from college, church, or other such activities into aspects specific to their roles in your life, and to place family members into aspects specific to people in that role.\r\n\r\nIf you didn't already understand aspects, consider this: if posts are wide-open, anyone who becomes a contact can see them. So if you have your boss as a contact, and you post a photo of your trip to the beach won a day you called in sick, _you may get fired for stupidity_. What you do is you put your boss into a work aspect, and only post things into that aspect that are acceptable in a work context.\r\n\r\n## Posting syntax\r\n\r\nDiaspora\\* uses something called [Markdown](http://www.simpleeditions.com/59001/markdown-an-introduction) for its posts. Most of the time, you can just post in plain text and not worry about it, but every once in a while, Markdown will distort what you've posted.\r\n\r\nMarkdown does give you the ability to _italicize_, **bold**, and otherwise decorate text and to embed links and images using a fairly simple syntax. I find, however, that I have to look up embedding every time I use it.\r\n\r\n(I personally prefer [Textile](http://textile.thresholdstate.com/). You still have to learn to use it effectively, but it more closely matches what experienced net users have grown to expect from applications like Outlook and Thunderbird. For instance, if I want bold text, surround it with single asterisks [\\*] rather than the double asterisks [\\*\\*] that Markdown requires.)\r\n\r\n## Pods\r\n\r\nA Diaspora\\* pod is the server or server cluster where your account resides. There are dozens or even hundreds of pods out there. Most of them are pretty similar in what they offer. A few offer experimental features, such as post previews, pod-only posts, or encrypted messaging. It is my hope that many of these features will be picked up by the main codebase, so that all pods will have them.\r\n\r\nYou'll rarely need to know this, but every Diaspora\\* account has an address that looks like username@podname.com. If you want people to be able to add you as a contact, publish your Diaspora\\* address. They'll be able to add you that way.\r\n\r\n## Facebook\r\n\r\nAll of the pods I have used have the ability to connect to certain external accounts, such as Twitter and #Facebook. This means that you can post from D\\* to FB or T. You don't have to abandon your \"friends\" on other #socnets because you join D\\*.\r\n\r\nIf you read many online articles, you will come across some that seem to believe that Diaspora\\*'s purpose is to become a Facebook-killer. Do not believe them. If and when people tire of Facebook, it will be because of something that FB does, not because socnet X is better. If you look at D\\* as a substitute for Facebook, it will be like a meat-eater who tries to replace meat with soy-based meat substitutes. You won't like it. Instead, I recommend that you get to know people who are on D\\* and that you invite your existing contacts, but that you **enjoy D\\* for its own value**. If you find that it then makes FB unnecessary, that is good. If, on the other hand, you still want to keep your FB account, that is also good.\r\n\r\n## Controversies\r\n\r\nThere are occasional squabbles over the directions the project is taking. Unlike the squabbles at Twitter, which took place behind closed doors and resulted in a number of highly-skilled people leaving and the recently announced restrictions on how client applications can display Twitter-sourced content, Diaspora\\*'s squabbles tend to happen in public. My advice is simple: stay out of the squabbles, find your own philosophical point of view, and support this and any other project that agrees with that point of view. If the time comes when this or any other project no longer fits your POV, leave quietly.\r\n\r\nWhen I felt that GPlus was hostile to my POV, I closed my accounts. When I felt that Facebook was hostile to my POV, I closed my account. I do not go around trash-talking either project, or assuming that anyone in said projects is intentionally \"evil,\" and I would not recommend doing that to D\\* or any other project.\r\n\r\n## Future\r\n\r\nAt some point in the future, the Diaspora\\* developers will be changing the federation protocol. Federation is what enables a user on Pod X to interact with users on pods Y, Z, etc. They are working to improve scalability (ability to handle more content posted from more users in the same period of time) and content dispersion (ability for content to travel between a wider number of pods seamlessly). It is a tough task. If you are interested in #Ruby programming or Ruby on Rails ( #RoR ), I would encourage you to get involved.\r\n\r\nThey are also planning to make D\\* a far more visual-oriented socnet. That means that posts with images, graphics, and video will be far more interesting, and will be displayed in a manner that caters to those things. There is an experimental pod where they test out many of the visual designs that may make it into the D* codebase. I will not link it here, because people may misunderstand that it is experimental and not really intended to be your home pod.\r\n\r\nIf you're interested in the technical side and the future directions, they have a moderated and directed code-chat on IRC every (other?) Thursday at 10AM Pacific in the room #diaspora-meeting on Freenode. Sean can jump in on the comments to correct me on this.\r\n\r\n## Conclusion\r\n\r\nThis is long, but I think this is a good intro to Diaspora\\*. I wish there had been someone who could write something like this when I joined. I should also put in a disclaimer. This is my personal opinion, and not the official stance of any podmin or of the Diaspora\\* developers. You are free to disagree, but please start a new thread for it. This is posted in the hope that people who newly join Diaspora\\* will get a head start.\r\n\r\nThere are a number of tutorials at [Diasporal](http://diasporial.com/). I would encourage you to visit the site and check them out. If you are a blogger, or if you write for a magazine (online or dead-tree), I would encourage you to write about Diaspora\\* once you've taken some time to get to know the place.","public":true,"created_at":"2012-07-05T09:37:15Z","interacted_at":"2012-07-05T09:37:15Z","provider_display_name":null,"post_type":"Reshare","nsfw":false,"author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":{"id":11730,"guid":"57288b4adf721900","text":"# Intro To Using Diaspora\\*\r\n\r\n## Federated Social Networking\r\n\r\nDiaspora\\* is a social network (socnet), similar in many ways to Facebook, #MySpace, #Orkut, and Google Plus ( #GPlus). In fact, those of us who were already using D\\* when GPlus came out were quite familiar with its layout and functionality. It was almost as if they had started developing by grabbing D\\* code and stripping out federation.\r\n\r\nWhen I say federated, I mean that there is not one central Diaspora\\* server (or server cluster) that all users belong to. Instead, there are many [Diaspora\\* servers](http://podupti.me/) to choose from, with different operators ( #podmin), privacy policies, terms of service, and so on. Federation works much like when you decide to mail someone. It doesn't matter to me whether you use Gmail, Hotmail, Ymail, or GMX. I can send messages to you because electronic mail is federated. It is the same way with Diaspora\\*. You may be on [JoinDiaspora](http://joindiaspora.com/), [Calispora](http://calispora.org/), [Diasp.org](http://diasp.org/), [Diasp.eu](http://diasp.eu/), [Serendipitous](http://ser.endipito.us/) or another pod. You can still connect to people whose accounts are on other pods.\r\n\r\nI have written before about [federation](https://joindiaspora.com/posts/1679098).\r\n\r\nThis is an advantage, because it means that you're not beholden to a single organization's policies. If you decide that you dislike the _podmin_ on Pod X, you can open an account on Pod Y instead or even set up your own pod. (_**Moving** your account is not yet implemented_, but I believe you can export your contacts and use the export to help you repopulate that list on your new pod.) If podmin X decides to shut down pod X, again you can open an account on another pod or host your own.\r\n\r\n## @ mentions\r\n\r\nHit the at-sign and the first few letters of the person's display name (it used to be the first few of the person's username, but then they decided to hide that ... personally, I wish they'd switch back)\r\n\r\nWhen you mention someone, make sure you set the privacy to include the group that person is in. There was a bug (possibly fixed) where you could mention someone in a post they weren't allowed to see. I do not believe that @ mentions work in comments yet.\r\n\r\nTwitter, where at-mentions were invented (by users and 3rd-party clients) doesn't have the problem of at-mentions affecting groups simply because it does not have any form of privacy groups.\r\n\r\n## Hashtags\r\n\r\nDiaspora\\* supports #hashtags. Because your pod intercepts them, being on a bigger pod means that clicking a hashtag will give a larger results set than if you clicked on the hashtag from a smaller pod. It is a known problem of the current federation mechanism, and is being fixed.\r\n\r\nTwitter, where hashtags were invented (by users and 3rd-party clients), doesn't have this problem only because everyone is one the same instance of T. #StatusNet, which is like a federated clone of #Twitter, also has the same issue to some degree.\r\n\r\n## Aspects\r\n\r\nPrivacy groups for posts; these were the obvious inspiration for #GPlus's circles, and they work similarly. For example, you may wish to place your boss and others that you know from work into a work aspect. You may also wish to place people you know from college, church, or other such activities into aspects specific to their roles in your life, and to place family members into aspects specific to people in that role.\r\n\r\nIf you didn't already understand aspects, consider this: if posts are wide-open, anyone who becomes a contact can see them. So if you have your boss as a contact, and you post a photo of your trip to the beach won a day you called in sick, _you may get fired for stupidity_. What you do is you put your boss into a work aspect, and only post things into that aspect that are acceptable in a work context.\r\n\r\n## Posting syntax\r\n\r\nDiaspora\\* uses something called [Markdown](http://www.simpleeditions.com/59001/markdown-an-introduction) for its posts. Most of the time, you can just post in plain text and not worry about it, but every once in a while, Markdown will distort what you've posted.\r\n\r\nMarkdown does give you the ability to _italicize_, **bold**, and otherwise decorate text and to embed links and images using a fairly simple syntax. I find, however, that I have to look up embedding every time I use it.\r\n\r\n(I personally prefer [Textile](http://textile.thresholdstate.com/). You still have to learn to use it effectively, but it more closely matches what experienced net users have grown to expect from applications like Outlook and Thunderbird. For instance, if I want bold text, surround it with single asterisks [\\*] rather than the double asterisks [\\*\\*] that Markdown requires.)\r\n\r\n## Pods\r\n\r\nA Diaspora\\* pod is the server or server cluster where your account resides. There are dozens or even hundreds of pods out there. Most of them are pretty similar in what they offer. A few offer experimental features, such as post previews, pod-only posts, or encrypted messaging. It is my hope that many of these features will be picked up by the main codebase, so that all pods will have them.\r\n\r\nYou'll rarely need to know this, but every Diaspora\\* account has an address that looks like username@podname.com. If you want people to be able to add you as a contact, publish your Diaspora\\* address. They'll be able to add you that way.\r\n\r\n## Facebook\r\n\r\nAll of the pods I have used have the ability to connect to certain external accounts, such as Twitter and #Facebook. This means that you can post from D\\* to FB or T. You don't have to abandon your \"friends\" on other #socnets because you join D\\*.\r\n\r\nIf you read many online articles, you will come across some that seem to believe that Diaspora\\*'s purpose is to become a Facebook-killer. Do not believe them. If and when people tire of Facebook, it will be because of something that FB does, not because socnet X is better. If you look at D\\* as a substitute for Facebook, it will be like a meat-eater who tries to replace meat with soy-based meat substitutes. You won't like it. Instead, I recommend that you get to know people who are on D\\* and that you invite your existing contacts, but that you **enjoy D\\* for its own value**. If you find that it then makes FB unnecessary, that is good. If, on the other hand, you still want to keep your FB account, that is also good.\r\n\r\n## Controversies\r\n\r\nThere are occasional squabbles over the directions the project is taking. Unlike the squabbles at Twitter, which took place behind closed doors and resulted in a number of highly-skilled people leaving and the recently announced restrictions on how client applications can display Twitter-sourced content, Diaspora\\*'s squabbles tend to happen in public. My advice is simple: stay out of the squabbles, find your own philosophical point of view, and support this and any other project that agrees with that point of view. If the time comes when this or any other project no longer fits your POV, leave quietly.\r\n\r\nWhen I felt that GPlus was hostile to my POV, I closed my accounts. When I felt that Facebook was hostile to my POV, I closed my account. I do not go around trash-talking either project, or assuming that anyone in said projects is intentionally \"evil,\" and I would not recommend doing that to D\\* or any other project.\r\n\r\n## Future\r\n\r\nAt some point in the future, the Diaspora\\* developers will be changing the federation protocol. Federation is what enables a user on Pod X to interact with users on pods Y, Z, etc. They are working to improve scalability (ability to handle more content posted from more users in the same period of time) and content dispersion (ability for content to travel between a wider number of pods seamlessly). It is a tough task. If you are interested in #Ruby programming or Ruby on Rails ( #RoR ), I would encourage you to get involved.\r\n\r\nThey are also planning to make D\\* a far more visual-oriented socnet. That means that posts with images, graphics, and video will be far more interesting, and will be displayed in a manner that caters to those things. There is an experimental pod where they test out many of the visual designs that may make it into the D* codebase. I will not link it here, because people may misunderstand that it is experimental and not really intended to be your home pod.\r\n\r\nIf you're interested in the technical side and the future directions, they have a moderated and directed code-chat on IRC every (other?) Thursday at 10AM Pacific in the room #diaspora-meeting on Freenode. Sean can jump in on the comments to correct me on this.\r\n\r\n## Conclusion\r\n\r\nThis is long, but I think this is a good intro to Diaspora\\*. I wish there had been someone who could write something like this when I joined. I should also put in a disclaimer. This is my personal opinion, and not the official stance of any podmin or of the Diaspora\\* developers. You are free to disagree, but please start a new thread for it. This is posted in the hope that people who newly join Diaspora\\* will get a head start.\r\n\r\nThere are a number of tutorials at [Diasporal](http://diasporial.com/). I would encourage you to visit the site and check them out. If you are a blogger, or if you write for a magazine (online or dead-tree), I would encourage you to write about Diaspora\\* once you've taken some time to get to know the place.","public":true,"created_at":"2012-07-04T23:41:33Z","interacted_at":"2012-07-05T04:21:21Z","provider_display_name":null,"post_type":"StatusMessage","nsfw":false,"author":{"id":5508,"guid":"25d1ca8dd064f3dd","name":"lnxwalt@calispora.org","diaspora_id":"lnxwalt@calispora.org","avatar":{"small":"https://pod.fulll.name/images/user/default.png","medium":"https://pod.fulll.name/images/user/default.png","large":"https://pod.fulll.name/images/user/default.png"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":null,"title":"# Intro To Using Diaspora\\*\r\n\r\n## Federated Social Networking\r\n\r\nDiaspora\\* is a social network (socnet), similar in many ways to Facebook, #MySpace, #Orkut, and Google Plus ( #GPlus). In fact, those of us who were already using D\\* when GPlus came out were quite familiar with its layout and functionality. It was almost as if they had started developing by grabbing D\\* code and stripping out federation.\r\n\r\nWhen I say federated, I mean that there is not one central Diaspora\\* server (or server cluster) that all users belong to. Instead, there are many [Diaspora\\* servers](http://podupti.me/) to choose from, with different operators ( #podmin), privacy policies, terms of service, and so on. Federation works much like when you decide to mail someone. It doesn't matter to me whether you use Gmail, Hotmail, Ymail, or GMX. I can send messages to you because electronic mail is federated. It is the same way with Diaspora\\*. You may be on [JoinDiaspora](http://joindiaspora.com/), [Calispora](http://calispora.org/), [Diasp.org](http://diasp.org/), [Diasp.eu](http://diasp.eu/), [Serendipitous](http://ser.endipito.us/) or another pod. You can still connect to people whose accounts are on other pods.\r\n\r\nI have written before about [federation](https://joindiaspora.com/posts/1679098).\r\n\r\nThis is an advantage, because it means that you're not beholden to a single organization's policies. If you decide that you dislike the _podmin_ on Pod X, you can open an account on Pod Y instead or even set up your own pod. (_**Moving** your account is not yet implemented_, but I believe you can export your contacts and use the export to help you repopulate that list on your new pod.) If podmin X decides to shut down pod X, again you can open an account on another pod or host your own.\r\n\r\n## @ mentions\r\n\r\nHit the at-sign and the first few letters of the person's display name (it used to be the first few of the person's username, but then they decided to hide that ... personally, I wish they'd switch back)\r\n\r\nWhen you mention someone, make sure you set the privacy to include the group that person is in. There was a bug (possibly fixed) where you could mention someone in a post they weren't allowed to see. I do not believe that @ mentions work in comments yet.\r\n\r\nTwitter, where at-mentions were invented (by users and 3rd-party clients) doesn't have the problem of at-mentions affecting groups simply because it does not have any form of privacy groups.\r\n\r\n## Hashtags\r\n\r\nDiaspora\\* supports #hashtags. Because your pod intercepts them, being on a bigger pod means that clicking a hashtag will give a larger results set than if you clicked on the hashtag from a smaller pod. It is a known problem of the current federation mechanism, and is being fixed.\r\n\r\nTwitter, where hashtags were invented (by users and 3rd-party clients), doesn't have this problem only because everyone is one the same instance of T. #StatusNet, which is like a federated clone of #Twitter, also has the same issue to some degree.\r\n\r\n## Aspects\r\n\r\nPrivacy groups for posts; these were the obvious inspiration for #GPlus's circles, and they work similarly. For example, you may wish to place your boss and others that you know from work into a work aspect. You may also wish to place people you know from college, church, or other such activities into aspects specific to their roles in your life, and to place family members into aspects specific to people in that role.\r\n\r\nIf you didn't already understand aspects, consider this: if posts are wide-open, anyone who becomes a contact can see them. So if you have your boss as a contact, and you post a photo of your trip to the beach won a day you called in sick, _you may get fired for stupidity_. What you do is you put your boss into a work aspect, and only post things into that aspect that are acceptable in a work context.\r\n\r\n## Posting syntax\r\n\r\nDiaspora\\* uses something called [Markdown](http://www.simpleeditions.com/59001/markdown-an-introduction) for its posts. Most of the time, you can just post in plain text and not worry about it, but every once in a while, Markdown will distort what you've posted.\r\n\r\nMarkdown does give you the ability to _italicize_, **bold**, and otherwise decorate text and to embed links and images using a fairly simple syntax. I find, however, that I have to look up embedding every time I use it.\r\n\r\n(I personally prefer [Textile](http://textile.thresholdstate.com/). You still have to learn to use it effectively, but it more closely matches what experienced net users have grown to expect from applications like Outlook and Thunderbird. For instance, if I want bold text, surround it with single asterisks [\\*] rather than the double asterisks [\\*\\*] that Markdown requires.)\r\n\r\n## Pods\r\n\r\nA Diaspora\\* pod is the server or server cluster where your account resides. There are dozens or even hundreds of pods out there. Most of them are pretty similar in what they offer. A few offer experimental features, such as post previews, pod-only posts, or encrypted messaging. It is my hope that many of these features will be picked up by the main codebase, so that all pods will have them.\r\n\r\nYou'll rarely need to know this, but every Diaspora\\* account has an address that looks like username@podname.com. If you want people to be able to add you as a contact, publish your Diaspora\\* address. They'll be able to add you that way.\r\n\r\n## Facebook\r\n\r\nAll of the pods I have used have the ability to connect to certain external accounts, such as Twitter and #Facebook. This means that you can post from D\\* to FB or T. You don't have to abandon your \"friends\" on other #socnets because you join D\\*.\r\n\r\nIf you read many online articles, you will come across some that seem to believe that Diaspora\\*'s purpose is to become a Facebook-killer. Do not believe them. If and when people tire of Facebook, it will be because of something that FB does, not because socnet X is better. If you look at D\\* as a substitute for Facebook, it will be like a meat-eater who tries to replace meat with soy-based meat substitutes. You won't like it. Instead, I recommend that you get to know people who are on D\\* and that you invite your existing contacts, but that you **enjoy D\\* for its own value**. If you find that it then makes FB unnecessary, that is good. If, on the other hand, you still want to keep your FB account, that is also good.\r\n\r\n## Controversies\r\n\r\nThere are occasional squabbles over the directions the project is taking. Unlike the squabbles at Twitter, which took place behind closed doors and resulted in a number of highly-skilled people leaving and the recently announced restrictions on how client applications can display Twitter-sourced content, Diaspora\\*'s squabbles tend to happen in public. My advice is simple: stay out of the squabbles, find your own philosophical point of view, and support this and any other project that agrees with that point of view. If the time comes when this or any other project no longer fits your POV, leave quietly.\r\n\r\nWhen I felt that GPlus was hostile to my POV, I closed my accounts. When I felt that Facebook was hostile to my POV, I closed my account. I do not go around trash-talking either project, or assuming that anyone in said projects is intentionally \"evil,\" and I would not recommend doing that to D\\* or any other project.\r\n\r\n## Future\r\n\r\nAt some point in the future, the Diaspora\\* developers will be changing the federation protocol. Federation is what enables a user on Pod X to interact with users on pods Y, Z, etc. They are working to improve scalability (ability to handle more content posted from more users in the same period of time) and content dispersion (ability for content to travel between a wider number of pods seamlessly). It is a tough task. If you are interested in #Ruby programming or Ruby on Rails ( #RoR ), I would encourage you to get involved.\r\n\r\nThey are also planning to make D\\* a far more visual-oriented socnet. That means that posts with images, graphics, and video will be far more interesting, and will be displayed in a manner that caters to those things. There is an experimental pod where they test out many of the visual designs that may make it into the D* codebase. I will not link it here, because people may misunderstand that it is experimental and not really intended to be your home pod.\r\n\r\nIf you're interested in the technical side and the future directions, they have a moderated and directed code-chat on IRC every (other?) Thursday at 10AM Pacific in the room #diaspora-meeting on Freenode. Sean can jump in on the comments to correct me on this.\r\n\r\n## Conclusion\r\n\r\nThis is long, but I think this is a good intro to Diaspora\\*. I wish there had been someone who could write something like this when I joined. I should also put in a disclaimer. This is my personal opinion, and not the official stance of any podmin or of the Diaspora\\* developers. You are free to disagree, but please start a new thread for it. This is posted in the hope that people who newly join Diaspora\\* will get a head start.\r\n\r\nThere are a number of tutorials at [Diasporal](http://diasporial.com/). I would encourage you to visit the site and check them out. If you are a blogger, or if you write for a magazine (online or dead-tree), I would encourage you to write about Diaspora\\* once you've taken some time to get to know the place.","interactions":{"likes":[],"reshares":[],"comments_count":0,"likes_count":0,"reshares_count":4}},"title":"A post from Florian Staudacher","interactions":{"likes":[],"reshares":[],"comments_count":0,"likes_count":0,"reshares_count":0,"comments":[]}},{"id":11725,"guid":"909471c6070243be","text":"If you think you know of a #Diaspora #Bug please remember to be as specific as possible when describing it so we can help!!","public":true,"created_at":"2012-07-04T23:29:43Z","interacted_at":"2012-07-04T23:29:43Z","provider_display_name":null,"post_type":"Reshare","nsfw":false,"author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":{"id":11718,"guid":"c1770c590b097c28","text":"If you think you know of a #Diaspora #Bug please remember to be as specific as possible when describing it so we can help!!","public":true,"created_at":"2012-07-04T22:00:49Z","interacted_at":"2012-07-05T08:19:07Z","provider_display_name":null,"post_type":"StatusMessage","nsfw":false,"author":{"id":5653,"guid":"7410329c39e6810f","name":"Hans","diaspora_id":"hans@hfase.com","avatar":{"small":"https://hfase.com/uploads/images/thumb_small_f2b2d6b041732c5f91eb.jpg","medium":"https://hfase.com/uploads/images/thumb_medium_f2b2d6b041732c5f91eb.jpg","large":"https://hfase.com/uploads/images/thumb_large_f2b2d6b041732c5f91eb.jpg"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":null,"title":"If you think you know of a #Diaspora #Bug please remember to be as specific as possible when describing it so we can help!!","interactions":{"likes":[],"reshares":[{"reshare":{"author_id":2,"comments_count":0,"created_at":"2012-07-04T23:29:43Z","diaspora_handle":"raven24@pod.fulll.name","guid":"909471c6070243be","id":11725,"interacted_at":"2012-07-04T23:29:43Z","likes_count":0,"o_embed_cache_id":null,"provider_display_name":null,"public":true,"reshares_count":0,"root_guid":"c1770c590b097c28","text":null,"updated_at":"2012-07-04T23:29:43Z"}}],"comments_count":0,"likes_count":2,"reshares_count":2}},"title":"A post from Florian Staudacher","interactions":{"likes":[],"reshares":[],"comments_count":0,"likes_count":0,"reshares_count":0,"comments":[]}}]
+[{"id":15086,"guid":"198095988ad26f21","text":"test of #left4dead on #linux results in \"faster zombies\" http://is.gd/uHeUC6 with linux outperforming windows","public":true,"created_at":"2012-08-02T22:13:16Z","interacted_at":"2012-08-03T15:02:59Z","provider_display_name":null,"post_type":"Reshare","nsfw":false,"author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":{"id":15028,"guid":"1b2a98db23582947","text":"test of #left4dead on #linux results in \"faster zombies\" http://is.gd/uHeUC6 with linux outperforming windows","public":true,"created_at":"2012-08-02T14:25:56Z","interacted_at":"2012-08-02T21:54:53Z","provider_display_name":null,"post_type":"StatusMessage","nsfw":false,"author":{"id":1769,"guid":"a2f9a3a7cb3dcd5a","name":"el [spare pope] olmo","diaspora_id":"el_olmo@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_343f6520778765c4b3f9.jpg","medium":"https://pod.fulll.name/uploads/images/thumb_medium_343f6520778765c4b3f9.jpg","large":"https://pod.fulll.name/uploads/images/thumb_large_343f6520778765c4b3f9.jpg"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":null,"title":"test of #left4dead on #linux results in \"faster zombies\" http://is.gd/uHeUC6 with linux outperforming windows","interactions":{"likes":[{"id":32638,"guid":"b2c1e789b1eec9ea","author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"created_at":"2012-08-02T21:54:53Z"}],"reshares":[{"reshare":{"author_id":2,"comments_count":0,"created_at":"2012-08-02T22:13:16Z","diaspora_handle":"raven24@pod.fulll.name","guid":"198095988ad26f21","id":15086,"interacted_at":"2012-08-03T15:02:59Z","likes_count":2,"o_embed_cache_id":null,"provider_display_name":null,"public":true,"reshares_count":0,"root_guid":"1b2a98db23582947","text":null,"updated_at":"2012-08-03T15:02:59Z"}}],"comments_count":0,"likes_count":6,"reshares_count":1}},"title":"A post from Florian Staudacher","interactions":{"likes":[],"reshares":[],"comments_count":0,"likes_count":2,"reshares_count":0,"comments":[]}},{"id":14755,"guid":"0ffef04549e81bfa","text":"... in case you ever need the network device name, ip and mac address, here you go: \r\nhttps://gist.github.com/3202188\r\n\r\n(uses ifconfig, grep and sed with some regular expression magic) \r\n#bash #script #network #ip #grep #sed #regexp #linux","public":true,"created_at":"2012-07-29T22:28:17Z","interacted_at":"2012-08-01T18:01:49Z","provider_display_name":null,"post_type":"StatusMessage","nsfw":false,"author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":null,"title":"... in case you ever need the network device name, ip and mac address, here you go: \r\nhttps://gist.github.com/3202188\r\n\r\n(uses ifconfig, grep and sed with some regular expression magic) \r\n#bash #script #network #ip #grep #sed #regexp #linux","interactions":{"likes":[],"reshares":[],"comments_count":8,"likes_count":4,"reshares_count":0,"comments":[{"id":20912,"guid":"ba86c52ca4d293c4","text":"It only shows network devices named eth* and doesn't work with localized versions of ifconfig in non-english language environments","author":{"id":6243,"guid":"c7bf295dae900b7a","name":"Florian Diesch","diaspora_id":"diesch@joindiaspora.com","avatar":{"small":"https://joindiaspora.s3.amazonaws.com/uploads/images/thumb_small_7f090bd1002004896464.png","medium":"https://joindiaspora.s3.amazonaws.com/uploads/images/thumb_medium_7f090bd1002004896464.png","large":"https://joindiaspora.s3.amazonaws.com/uploads/images/thumb_large_7f090bd1002004896464.png"}},"created_at":"2012-07-30T02:33:06Z"},{"id":21012,"guid":"81fc5d869de5ea05","text":"For now, I only need it just the way it is (in my collection of VM management scripts), but feel free to change it to work with whatever version or language of `ifconfig` you need. I leave that \"as an exercise to the reader\" ... it's always a good time to start learning `sed` regular expressions \n;)","author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"created_at":"2012-07-31T01:51:24Z"},{"id":21164,"guid":"d74aac53420cd66f","text":"[inxi](https://code.google.com/p/inxi/)","author":{"id":3920,"guid":"b636315dc6f90ece","name":"Kiridesce","diaspora_id":"iridesce@kosmospora.net","avatar":{"small":"https://kosmospora.net/uploads/images/thumb_small_7b3c16e2107449bf9717.jpeg","medium":"https://kosmospora.net/uploads/images/thumb_medium_7b3c16e2107449bf9717.jpeg","large":"https://kosmospora.net/uploads/images/thumb_large_7b3c16e2107449bf9717.jpeg"}},"created_at":"2012-08-01T18:01:49Z"}]}},{"id":14514,"guid":"c6b5e0a20421d719","text":"lol! \r\nhttp://youtu.be/6RrpGgaT5kk\r\n\r\n#acapella #movie #dub","public":true,"created_at":"2012-07-27T14:09:31Z","interacted_at":"2012-07-28T21:25:56Z","provider_display_name":null,"post_type":"StatusMessage","nsfw":false,"author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"o_embed_cache":{"data":{"provider_url":"http://www.youtube.com/","thumbnail_url":"http://i3.ytimg.com/vi/6RrpGgaT5kk/hqdefault.jpg","title":"'The Matrix' Lobby Scene with A capella Multitrack - Matt Mulholland","html":"<iframe width=\"420\" height=\"236\" src=\"http://www.youtube.com/embed/6RrpGgaT5kk?fs=1&feature=oembed\" frameborder=\"0\" allowfullscreen></iframe>","author_name":"mattmulholland26","height":236,"thumbnail_width":480,"width":420,"version":"1.0","author_url":"http://www.youtube.com/user/mattmulholland26","provider_name":"YouTube","type":"video","thumbnail_height":360,"trusted_endpoint_url":"http://www.youtube.com/oembed"}},"mentioned_people":[],"photos":[],"root":null,"title":"lol! \r\nhttp://youtu.be/6RrpGgaT5kk\r\n\r\n#acapella #movie #dub","interactions":{"likes":[],"reshares":[],"comments_count":1,"likes_count":2,"reshares_count":0,"comments":[{"id":20833,"guid":"3c2d21708b6cfa29","text":"Inception Trailer A Capella Re-Dub: http://www.youtube.com/watch?v=d2yD4yDsiP4","author":{"id":2896,"guid":"24e82915d58368fe","name":"Alexey Andreyev","diaspora_id":"yetanotherandreyev@diasp.org","avatar":{"small":"https://diasp.org/uploads/images/thumb_small_9f29c5326741a32889fa.jpg","medium":"https://diasp.org/uploads/images/thumb_medium_9f29c5326741a32889fa.jpg","large":"https://diasp.org/uploads/images/thumb_large_9f29c5326741a32889fa.jpg"}},"created_at":"2012-07-28T21:25:56Z"}]}},{"id":14113,"guid":"4404d1bb88d36735","text":"Keep Calm and use #Linux <br> [ ![Image](http://farm5.staticflickr.com/4146/5051936082_3eb4a9f065_b.jpg) ](http://goo.gl/HSS18) <br>","public":true,"created_at":"2012-07-23T15:50:00Z","interacted_at":"2012-07-24T15:16:25Z","provider_display_name":null,"post_type":"Reshare","nsfw":false,"author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":{"id":14099,"guid":"d1970bb173aae310","text":"Keep Calm and use #Linux <br> [ ![Image](http://farm5.staticflickr.com/4146/5051936082_3eb4a9f065_b.jpg) ](http://goo.gl/HSS18) <br>","public":true,"created_at":"2012-07-23T13:12:51Z","interacted_at":"2012-07-23T13:37:24Z","provider_display_name":null,"post_type":"StatusMessage","nsfw":false,"author":{"id":175,"guid":"4d11bd252c174338f2002a4c","name":"\u24b6\u24c5\u24c4\u24c1\u24c4\u24c3\u24be\u24c8 \u2301 \u24b6\u24c5\u24bd\u24c7\u24c4\u24b9\u24be\u24c8\u24be\u24b6","diaspora_id":"apolonisaphrodisia@joindiaspora.com","avatar":{"small":"https://joindiaspora.s3.amazonaws.com/uploads/images/thumb_small_8107d3419ac23bd16253.gif","medium":"https://joindiaspora.s3.amazonaws.com/uploads/images/thumb_medium_8107d3419ac23bd16253.gif","large":"https://pod.fulll.name/images/user/default.png"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":null,"title":"Keep Calm and use #Linux <br> [ ![Image](http://farm5.staticflickr.com/4146/5051936082_3eb4a9f065_b.jpg) ](http://goo.gl/HSS18) <br>","interactions":{"likes":[],"reshares":[],"comments_count":0,"likes_count":0,"reshares_count":2}},"title":"A post from Florian Staudacher","interactions":{"likes":[],"reshares":[],"comments_count":0,"likes_count":2,"reshares_count":1,"comments":[]}},{"id":14110,"guid":"bb89c419e60fd801","text":"awesome #youtube #video \r\nhttp://youtu.be/daVDrGsaDME\r\n\r\n#car #engine #stopmotion","public":true,"created_at":"2012-07-23T15:05:36Z","interacted_at":"2012-07-24T12:48:48Z","provider_display_name":null,"post_type":"StatusMessage","nsfw":false,"author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"o_embed_cache":{"data":{"provider_url":"http://www.youtube.com/","thumbnail_url":"http://i1.ytimg.com/vi/daVDrGsaDME/hqdefault.jpg","title":"11 Months, 3000 pictures and a lot of coffee.","html":"<iframe width=\"420\" height=\"315\" src=\"http://www.youtube.com/embed/daVDrGsaDME?fs=1&feature=oembed\" frameborder=\"0\" allowfullscreen></iframe>","author_name":"nothinghereok","height":315,"thumbnail_width":480,"width":420,"version":"1.0","author_url":"http://www.youtube.com/user/nothinghereok","provider_name":"YouTube","type":"video","thumbnail_height":360,"trusted_endpoint_url":"http://www.youtube.com/oembed"}},"mentioned_people":[],"photos":[],"root":null,"title":"awesome #youtube #video \r\nhttp://youtu.be/daVDrGsaDME\r\n\r\n#car #engine #stopmotion","interactions":{"likes":[],"reshares":[],"comments_count":0,"likes_count":1,"reshares_count":0,"comments":[]}},{"id":12830,"guid":"5a4089375be2db14","text":"jQuery Core: Version 1.9 and Beyond - http://blog.jquery.com/2012/06/28/jquery-core-version-1-9-and-beyond/ - \r\n_jQuery 2.0: This version will support the same APIs as jQuery 1.9 does, but removes support for IE 6/7/8 oddities such as borked event model, IE7 \u201cattroperties\u201d, HTML5 shims, etc. \r\nOur goal is for 1.9 and 2.0 to be interchangeable as far as the API set they support. When 2.0 comes out, your decision on which version to choose should be as simple as this: If you need IE 6/7/8 support, choose 1.9; otherwise you can use either 1.9 or 2.0._ \r\nI hope IE dies a quick but painfull death... \r\n#jquery #ie #browser #web","public":true,"created_at":"2012-07-13T20:36:35Z","interacted_at":"2012-07-13T20:36:35Z","provider_display_name":null,"post_type":"StatusMessage","nsfw":false,"author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":null,"title":"jQuery Core: Version 1.9 and Beyond - http://blog.jquery.com/2012/06/28/jquery-core-version-1-9-and-beyond/ - \r\n_jQuery 2.0: This version will support the same APIs as jQuery 1.9 does, but removes support for IE 6/7/8 oddities such as borked event model, IE7 \u201cattroperties\u201d, HTML5 shims, etc. \r\nOur goal is for 1.9 and 2.0 to be interchangeable as far as the API set they support. When 2.0 comes out, your decision on which version to choose should be as simple as this: If you need IE 6/7/8 support, choose 1.9; otherwise you can use either 1.9 or 2.0._ \r\nI hope IE dies a quick but painfull death... \r\n#jquery #ie #browser #web","interactions":{"likes":[],"reshares":[],"comments_count":0,"likes_count":0,"reshares_count":0,"comments":[]}},{"id":12763,"guid":"82adaf03843115e8","text":"http://www.evolutionoftheweb.com\r\n\r\n![www](http://2.bp.blogspot.com/-wsNl1RvehSs/T_7DBHg_o6I/AAAAAAAAAYg/UL2N8GMWO3k/s640/evolution+of+web.png)\r\n\r\n#www #web #ITNews #Browser #Internet #technology #IT","public":true,"created_at":"2012-07-13T09:30:02Z","interacted_at":"2012-07-29T23:46:30Z","provider_display_name":null,"post_type":"Reshare","nsfw":false,"author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":{"id":12751,"guid":"389f84ae16581df6","text":"http://www.evolutionoftheweb.com\r\n\r\n![www](http://2.bp.blogspot.com/-wsNl1RvehSs/T_7DBHg_o6I/AAAAAAAAAYg/UL2N8GMWO3k/s640/evolution+of+web.png)\r\n\r\n#www #web #ITNews #Browser #Internet #technology #IT","public":true,"created_at":"2012-07-12T17:34:10Z","interacted_at":"2012-07-13T05:49:09Z","provider_display_name":null,"post_type":"StatusMessage","nsfw":false,"author":{"id":4079,"guid":"bfe281001b5a8561","name":"Anonymiss","diaspora_id":"anonymiss@despora.de","avatar":{"small":"https://despora.de/uploads/images/thumb_small_d25c7b27e7bbf307a8cc.jpg","medium":"https://despora.de/uploads/images/thumb_medium_d25c7b27e7bbf307a8cc.jpg","large":"https://despora.de/uploads/images/thumb_large_d25c7b27e7bbf307a8cc.jpg"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":null,"title":"http://www.evolutionoftheweb.com\r\n\r\n![www](http://2.bp.blogspot.com/-wsNl1RvehSs/T_7DBHg_o6I/AAAAAAAAAYg/UL2N8GMWO3k/s640/evolution+of+web.png)\r\n\r\n#www #web #ITNews #Browser #Internet #technology #IT","interactions":{"likes":[],"reshares":[],"comments_count":0,"likes_count":0,"reshares_count":1}},"title":"A post from Florian Staudacher","interactions":{"likes":[],"reshares":[],"comments_count":0,"likes_count":2,"reshares_count":0,"comments":[]}},{"id":12463,"guid":"cb0a304194c719d8","text":"Relativistic Baseball - http://what-if.xkcd.com/1/ - \r\nWhat would happen if you tried to hit a baseball pitched at 90% the speed of light? \r\n#xkcd #whatif","public":true,"created_at":"2012-07-10T09:31:54Z","interacted_at":"2012-07-29T23:52:08Z","provider_display_name":null,"post_type":"StatusMessage","nsfw":false,"author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":null,"title":"Relativistic Baseball - http://what-if.xkcd.com/1/ - \r\nWhat would happen if you tried to hit a baseball pitched at 90% the speed of light? \r\n#xkcd #whatif","interactions":{"likes":[],"reshares":[],"comments_count":0,"likes_count":3,"reshares_count":1,"comments":[]}},{"id":12349,"guid":"b16efb0fc6427338","text":"yay, new \"simon's cat\"! \r\n \r\nhttp://youtu.be/XrivBjlv6Mw \r\n#simonscat #cat","public":true,"created_at":"2012-07-09T12:03:38Z","interacted_at":"2012-07-10T21:59:32Z","provider_display_name":null,"post_type":"StatusMessage","nsfw":false,"author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"o_embed_cache":{"data":{"provider_url":"http://www.youtube.com/","thumbnail_url":"http://i1.ytimg.com/vi/XrivBjlv6Mw/hqdefault.jpg","title":"Simon's Cat in 'Window Pain'","html":"<iframe width=\"420\" height=\"236\" src=\"http://www.youtube.com/embed/XrivBjlv6Mw?fs=1&feature=oembed\" frameborder=\"0\" allowfullscreen></iframe>","author_name":"simonscat","height":236,"thumbnail_width":480,"width":420,"version":"1.0","author_url":"http://www.youtube.com/user/simonscat","provider_name":"YouTube","type":"video","thumbnail_height":360,"trusted_endpoint_url":"http://www.youtube.com/oembed"}},"mentioned_people":[],"photos":[],"root":null,"title":"yay, new \"simon's cat\"! \r\n \r\nhttp://youtu.be/XrivBjlv6Mw \r\n#simonscat #cat","interactions":{"likes":[],"reshares":[],"comments_count":0,"likes_count":2,"reshares_count":1,"comments":[]}},{"id":12172,"guid":"198034364c7226a1","text":"Ex-Nokia staff to build MeeGo-based smartphones - http://www.theverge.com/2012/7/7/3143099/jolla-meego-startup-ex-nokia-employees - \r\n_A group of ex-Nokia staff and MeeGo enthusiasts has formed Jolla (Finnish for \"dinghy\"), a mobile startup with the aim of bringing new MeeGo devices to the market._ \r\nThank you, thank you so much!\r\n#nokia #meego #maemo #mer #linux #smartphone","public":true,"created_at":"2012-07-07T22:16:11Z","interacted_at":"2012-07-09T11:02:08Z","provider_display_name":null,"post_type":"StatusMessage","nsfw":false,"author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":null,"title":"Ex-Nokia staff to build MeeGo-based smartphones - http://www.theverge.com/2012/7/7/3143099/jolla-meego-startup-ex-nokia-employees - \r\n_A group of ex-Nokia staff and MeeGo enthusiasts has formed Jolla (Finnish for \"dinghy\"), a mobile startup with the aim of bringing new MeeGo devices to the market._ \r\nThank you, thank you so much!\r\n#nokia #meego #maemo #mer #linux #smartphone","interactions":{"likes":[],"reshares":[],"comments_count":5,"likes_count":9,"reshares_count":3,"comments":[{"id":18837,"guid":"e70d7b0bbb779547","text":"Can they join efforts with Mer and PlasmaActive? I don't really see a need to reinvent the wheel.","author":{"id":1864,"guid":"6d48d8a46633e586","name":"Shmerl","diaspora_id":"bahaltener@joindiaspora.com","avatar":{"small":"https://joindiaspora.s3.amazonaws.com/uploads/images/thumb_small_7d3b625db04eca524c67.png","medium":"https://joindiaspora.s3.amazonaws.com/uploads/images/thumb_medium_7d3b625db04eca524c67.png","large":"https://joindiaspora.s3.amazonaws.com/uploads/images/thumb_large_7d3b625db04eca524c67.png"}},"created_at":"2012-07-08T02:30:40Z"},{"id":18842,"guid":"421e799bef69f18b","text":"Looks like they do work with Mer. Good news!","author":{"id":1864,"guid":"6d48d8a46633e586","name":"Shmerl","diaspora_id":"bahaltener@joindiaspora.com","avatar":{"small":"https://joindiaspora.s3.amazonaws.com/uploads/images/thumb_small_7d3b625db04eca524c67.png","medium":"https://joindiaspora.s3.amazonaws.com/uploads/images/thumb_medium_7d3b625db04eca524c67.png","large":"https://joindiaspora.s3.amazonaws.com/uploads/images/thumb_large_7d3b625db04eca524c67.png"}},"created_at":"2012-07-08T06:02:18Z"},{"id":18944,"guid":"16320b7c377ebb5a","text":"Tizen has normal Linux stack (X.org or Wayland based), so if you build all the dependencies, you can run Qt based programs there. The downside will be, that Qt isn't included in Tizen by default so far. They promote using EFL.","author":{"id":1864,"guid":"6d48d8a46633e586","name":"Shmerl","diaspora_id":"bahaltener@joindiaspora.com","avatar":{"small":"https://joindiaspora.s3.amazonaws.com/uploads/images/thumb_small_7d3b625db04eca524c67.png","medium":"https://joindiaspora.s3.amazonaws.com/uploads/images/thumb_medium_7d3b625db04eca524c67.png","large":"https://joindiaspora.s3.amazonaws.com/uploads/images/thumb_large_7d3b625db04eca524c67.png"}},"created_at":"2012-07-09T02:59:06Z"}]}},{"id":11937,"guid":"2aad765debb1e80e","text":"to all podmins: \r\nplease read this announcement: https://groups.google.com/d/msg/diaspora-dev/kMOuJk5h_v4/5Gx1Dsib6EQJ \r\nthis hopefully provides the solution to clean the database from even the most stubborn mixed-case hashtags. \r\n#diaspora #podmin #hashtags #actionrequired","public":true,"created_at":"2012-07-06T11:56:30Z","interacted_at":"2012-07-06T16:32:38Z","provider_display_name":null,"post_type":"StatusMessage","nsfw":false,"author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":null,"title":"to all podmins: \r\nplease read this announcement: https://groups.google.com/d/msg/diaspora-dev/kMOuJk5h_v4/5Gx1Dsib6EQJ \r\nthis hopefully provides the solution to clean the database from even the most stubborn mixed-case hashtags. \r\n#diaspora #podmin #hashtags #actionrequired","interactions":{"likes":[],"reshares":[],"comments_count":3,"likes_count":2,"reshares_count":1,"comments":[{"id":18691,"guid":"8a907544696e4faf","text":"thanks!","author":{"id":365,"guid":"dfc51824b3a76b71","name":"Sven Fischer","diaspora_id":"strubbl@sxspora.de","avatar":{"small":"http://sxspora.de/uploads/images/thumb_small_5c105bceab19eff9b0a3.jpg","medium":"http://sxspora.de/uploads/images/thumb_medium_5c105bceab19eff9b0a3.jpg","large":"http://sxspora.de/uploads/images/thumb_large_5c105bceab19eff9b0a3.jpg"}},"created_at":"2012-07-06T14:53:56Z"},{"id":18695,"guid":"8547aa6d2738ecb4","text":"before 2589. now of course 0. I prepended the bundle command with RAILS_ENV=production DB=\"mysql\". Otherwise it didn't work because a diaspora_development does not exist.","author":{"id":365,"guid":"dfc51824b3a76b71","name":"Sven Fischer","diaspora_id":"strubbl@sxspora.de","avatar":{"small":"http://sxspora.de/uploads/images/thumb_small_5c105bceab19eff9b0a3.jpg","medium":"http://sxspora.de/uploads/images/thumb_medium_5c105bceab19eff9b0a3.jpg","large":"http://sxspora.de/uploads/images/thumb_large_5c105bceab19eff9b0a3.jpg"}},"created_at":"2012-07-06T15:10:44Z"},{"id":18704,"guid":"247b0520a7824450","text":"oh, sorry ... yeah I thought that was implied","author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"created_at":"2012-07-06T16:32:38Z"}]}},{"id":11934,"guid":"e75e4e4719bf9405","text":"qtruby is intriguing ... I think I'll need to build something with it ;) \r\n(writing this from a QWebView created by a ruby script ^^) \r\n#ruby #qt #programming","public":true,"created_at":"2012-07-06T11:15:04Z","interacted_at":"2012-07-06T11:15:05Z","provider_display_name":null,"post_type":"StatusMessage","nsfw":false,"author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":null,"title":"qtruby is intriguing ... I think I'll need to build something with it ;) \r\n(writing this from a QWebView created by a ruby script ^^) \r\n#ruby #qt #programming","interactions":{"likes":[],"reshares":[],"comments_count":0,"likes_count":0,"reshares_count":0,"comments":[]}},{"id":11782,"guid":"23416f5cd259bfcc","text":"can one or more podmins please test this pull request on a *copy* of their database? -> https://github.com/diaspora/diaspora/pull/3434 \r\nit's about hashtags mit mixed-case letters in them, and the PR ccontains some changes to the rake task that is supposed to clean those up, which should hopefully eliminate mixed-case hashtags one and for all. \r\nto verify the successful run, the rake task should complete and in your database there should be no more mixed-case hashtags. You can check this by running this statement before and after the rake task ran: \r\n\r\n SELECT * FROM tags WHERE LOWER(name) != name\r\n\r\nBefore, you should see a list of all hashtags that will be processed, and after, the query shoud return an empty result. \r\n\r\n#diaspora #podmin #pleasetest #hashtags","public":true,"created_at":"2012-07-05T10:01:50Z","interacted_at":"2012-07-08T19:18:00Z","provider_display_name":null,"post_type":"StatusMessage","nsfw":false,"author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":null,"title":"can one or more podmins please test this pull request on a *copy* of their database? -> https://github.com/diaspora/diaspora/pull/3434 \r\nit's about hashtags mit mixed-case letters in them, and the PR ccontains some changes to the rake task that is supposed to clean those up, which should hopefully eliminate mixed-case hashtags one and for all. \r\nto verify the successful run, the rake task should complete and in your database there should be no more mixed-case hashtags. You can check this by running this statement before and after the rake task ran: \r\n\r\n SELECT * FROM tags WHERE LOWER(name) != name\r\n\r\nBefore, you should see a list of all hashtags that will be processed, and after, the query shoud return an empty result. \r\n\r\n#diaspora #podmin #pleasetest #hashtags","interactions":{"likes":[],"reshares":[],"comments_count":6,"likes_count":2,"reshares_count":0,"comments":[{"id":18584,"guid":"217ad7b7ab5fa869","text":"Oh! Duhh! Sorry, let me merge that and try again.","author":{"id":5653,"guid":"7410329c39e6810f","name":"Hans","diaspora_id":"hans@hfase.com","avatar":{"small":"https://hfase.com/uploads/images/thumb_small_f2b2d6b041732c5f91eb.jpg","medium":"https://hfase.com/uploads/images/thumb_medium_f2b2d6b041732c5f91eb.jpg","large":"https://hfase.com/uploads/images/thumb_large_f2b2d6b041732c5f91eb.jpg"}},"created_at":"2012-07-05T10:36:46Z"},{"id":18586,"guid":"0268792e018c3ec3","text":"\"MySQL returned an empty result set (i.e. zero rows). ( Query took 0.0003 sec )\"\n\nMuch better! :D Thanks!!","author":{"id":5653,"guid":"7410329c39e6810f","name":"Hans","diaspora_id":"hans@hfase.com","avatar":{"small":"https://hfase.com/uploads/images/thumb_small_f2b2d6b041732c5f91eb.jpg","medium":"https://hfase.com/uploads/images/thumb_medium_f2b2d6b041732c5f91eb.jpg","large":"https://hfase.com/uploads/images/thumb_large_f2b2d6b041732c5f91eb.jpg"}},"created_at":"2012-07-05T10:39:12Z"},{"id":18587,"guid":"8b39d807abd7302e","text":"yeah, that looks good!","author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"created_at":"2012-07-05T10:44:19Z"}]}},{"id":11774,"guid":"dbcb53c18a1c40bc","text":"# Intro To Using Diaspora\\*\r\n\r\n## Federated Social Networking\r\n\r\nDiaspora\\* is a social network (socnet), similar in many ways to Facebook, #MySpace, #Orkut, and Google Plus ( #GPlus). In fact, those of us who were already using D\\* when GPlus came out were quite familiar with its layout and functionality. It was almost as if they had started developing by grabbing D\\* code and stripping out federation.\r\n\r\nWhen I say federated, I mean that there is not one central Diaspora\\* server (or server cluster) that all users belong to. Instead, there are many [Diaspora\\* servers](http://fediverse.observer/) to choose from, with different operators ( #podmin), privacy policies, terms of service, and so on. Federation works much like when you decide to mail someone. It doesn't matter to me whether you use Gmail, Hotmail, Ymail, or GMX. I can send messages to you because electronic mail is federated. It is the same way with Diaspora\\*. You may be on [JoinDiaspora](http://joindiaspora.com/), [Calispora](http://calispora.org/), [Diasp.org](http://diasp.org/), [Diasp.eu](http://diasp.eu/), [Serendipitous](http://ser.endipito.us/) or another pod. You can still connect to people whose accounts are on other pods.\r\n\r\nI have written before about [federation](https://joindiaspora.com/posts/1679098).\r\n\r\nThis is an advantage, because it means that you're not beholden to a single organization's policies. If you decide that you dislike the _podmin_ on Pod X, you can open an account on Pod Y instead or even set up your own pod. (_**Moving** your account is not yet implemented_, but I believe you can export your contacts and use the export to help you repopulate that list on your new pod.) If podmin X decides to shut down pod X, again you can open an account on another pod or host your own.\r\n\r\n## @ mentions\r\n\r\nHit the at-sign and the first few letters of the person's display name (it used to be the first few of the person's username, but then they decided to hide that ... personally, I wish they'd switch back)\r\n\r\nWhen you mention someone, make sure you set the privacy to include the group that person is in. There was a bug (possibly fixed) where you could mention someone in a post they weren't allowed to see. I do not believe that @ mentions work in comments yet.\r\n\r\nTwitter, where at-mentions were invented (by users and 3rd-party clients) doesn't have the problem of at-mentions affecting groups simply because it does not have any form of privacy groups.\r\n\r\n## Hashtags\r\n\r\nDiaspora\\* supports #hashtags. Because your pod intercepts them, being on a bigger pod means that clicking a hashtag will give a larger results set than if you clicked on the hashtag from a smaller pod. It is a known problem of the current federation mechanism, and is being fixed.\r\n\r\nTwitter, where hashtags were invented (by users and 3rd-party clients), doesn't have this problem only because everyone is one the same instance of T. #StatusNet, which is like a federated clone of #Twitter, also has the same issue to some degree.\r\n\r\n## Aspects\r\n\r\nPrivacy groups for posts; these were the obvious inspiration for #GPlus's circles, and they work similarly. For example, you may wish to place your boss and others that you know from work into a work aspect. You may also wish to place people you know from college, church, or other such activities into aspects specific to their roles in your life, and to place family members into aspects specific to people in that role.\r\n\r\nIf you didn't already understand aspects, consider this: if posts are wide-open, anyone who becomes a contact can see them. So if you have your boss as a contact, and you post a photo of your trip to the beach won a day you called in sick, _you may get fired for stupidity_. What you do is you put your boss into a work aspect, and only post things into that aspect that are acceptable in a work context.\r\n\r\n## Posting syntax\r\n\r\nDiaspora\\* uses something called [Markdown](http://www.simpleeditions.com/59001/markdown-an-introduction) for its posts. Most of the time, you can just post in plain text and not worry about it, but every once in a while, Markdown will distort what you've posted.\r\n\r\nMarkdown does give you the ability to _italicize_, **bold**, and otherwise decorate text and to embed links and images using a fairly simple syntax. I find, however, that I have to look up embedding every time I use it.\r\n\r\n(I personally prefer [Textile](http://textile.thresholdstate.com/). You still have to learn to use it effectively, but it more closely matches what experienced net users have grown to expect from applications like Outlook and Thunderbird. For instance, if I want bold text, surround it with single asterisks [\\*] rather than the double asterisks [\\*\\*] that Markdown requires.)\r\n\r\n## Pods\r\n\r\nA Diaspora\\* pod is the server or server cluster where your account resides. There are dozens or even hundreds of pods out there. Most of them are pretty similar in what they offer. A few offer experimental features, such as post previews, pod-only posts, or encrypted messaging. It is my hope that many of these features will be picked up by the main codebase, so that all pods will have them.\r\n\r\nYou'll rarely need to know this, but every Diaspora\\* account has an address that looks like username@podname.com. If you want people to be able to add you as a contact, publish your Diaspora\\* address. They'll be able to add you that way.\r\n\r\n## Facebook\r\n\r\nAll of the pods I have used have the ability to connect to certain external accounts, such as Twitter and #Facebook. This means that you can post from D\\* to FB or T. You don't have to abandon your \"friends\" on other #socnets because you join D\\*.\r\n\r\nIf you read many online articles, you will come across some that seem to believe that Diaspora\\*'s purpose is to become a Facebook-killer. Do not believe them. If and when people tire of Facebook, it will be because of something that FB does, not because socnet X is better. If you look at D\\* as a substitute for Facebook, it will be like a meat-eater who tries to replace meat with soy-based meat substitutes. You won't like it. Instead, I recommend that you get to know people who are on D\\* and that you invite your existing contacts, but that you **enjoy D\\* for its own value**. If you find that it then makes FB unnecessary, that is good. If, on the other hand, you still want to keep your FB account, that is also good.\r\n\r\n## Controversies\r\n\r\nThere are occasional squabbles over the directions the project is taking. Unlike the squabbles at Twitter, which took place behind closed doors and resulted in a number of highly-skilled people leaving and the recently announced restrictions on how client applications can display Twitter-sourced content, Diaspora\\*'s squabbles tend to happen in public. My advice is simple: stay out of the squabbles, find your own philosophical point of view, and support this and any other project that agrees with that point of view. If the time comes when this or any other project no longer fits your POV, leave quietly.\r\n\r\nWhen I felt that GPlus was hostile to my POV, I closed my accounts. When I felt that Facebook was hostile to my POV, I closed my account. I do not go around trash-talking either project, or assuming that anyone in said projects is intentionally \"evil,\" and I would not recommend doing that to D\\* or any other project.\r\n\r\n## Future\r\n\r\nAt some point in the future, the Diaspora\\* developers will be changing the federation protocol. Federation is what enables a user on Pod X to interact with users on pods Y, Z, etc. They are working to improve scalability (ability to handle more content posted from more users in the same period of time) and content dispersion (ability for content to travel between a wider number of pods seamlessly). It is a tough task. If you are interested in #Ruby programming or Ruby on Rails ( #RoR ), I would encourage you to get involved.\r\n\r\nThey are also planning to make D\\* a far more visual-oriented socnet. That means that posts with images, graphics, and video will be far more interesting, and will be displayed in a manner that caters to those things. There is an experimental pod where they test out many of the visual designs that may make it into the D* codebase. I will not link it here, because people may misunderstand that it is experimental and not really intended to be your home pod.\r\n\r\nIf you're interested in the technical side and the future directions, they have a moderated and directed code-chat on IRC every (other?) Thursday at 10AM Pacific in the room #diaspora-meeting on Freenode. Sean can jump in on the comments to correct me on this.\r\n\r\n## Conclusion\r\n\r\nThis is long, but I think this is a good intro to Diaspora\\*. I wish there had been someone who could write something like this when I joined. I should also put in a disclaimer. This is my personal opinion, and not the official stance of any podmin or of the Diaspora\\* developers. You are free to disagree, but please start a new thread for it. This is posted in the hope that people who newly join Diaspora\\* will get a head start.\r\n\r\nThere are a number of tutorials at [Diasporal](http://diasporial.com/). I would encourage you to visit the site and check them out. If you are a blogger, or if you write for a magazine (online or dead-tree), I would encourage you to write about Diaspora\\* once you've taken some time to get to know the place.","public":true,"created_at":"2012-07-05T09:37:15Z","interacted_at":"2012-07-05T09:37:15Z","provider_display_name":null,"post_type":"Reshare","nsfw":false,"author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":{"id":11730,"guid":"57288b4adf721900","text":"# Intro To Using Diaspora\\*\r\n\r\n## Federated Social Networking\r\n\r\nDiaspora\\* is a social network (socnet), similar in many ways to Facebook, #MySpace, #Orkut, and Google Plus ( #GPlus). In fact, those of us who were already using D\\* when GPlus came out were quite familiar with its layout and functionality. It was almost as if they had started developing by grabbing D\\* code and stripping out federation.\r\n\r\nWhen I say federated, I mean that there is not one central Diaspora\\* server (or server cluster) that all users belong to. Instead, there are many [Diaspora\\* servers](http://fediverse.observer/) to choose from, with different operators ( #podmin), privacy policies, terms of service, and so on. Federation works much like when you decide to mail someone. It doesn't matter to me whether you use Gmail, Hotmail, Ymail, or GMX. I can send messages to you because electronic mail is federated. It is the same way with Diaspora\\*. You may be on [JoinDiaspora](http://joindiaspora.com/), [Calispora](http://calispora.org/), [Diasp.org](http://diasp.org/), [Diasp.eu](http://diasp.eu/), [Serendipitous](http://ser.endipito.us/) or another pod. You can still connect to people whose accounts are on other pods.\r\n\r\nI have written before about [federation](https://joindiaspora.com/posts/1679098).\r\n\r\nThis is an advantage, because it means that you're not beholden to a single organization's policies. If you decide that you dislike the _podmin_ on Pod X, you can open an account on Pod Y instead or even set up your own pod. (_**Moving** your account is not yet implemented_, but I believe you can export your contacts and use the export to help you repopulate that list on your new pod.) If podmin X decides to shut down pod X, again you can open an account on another pod or host your own.\r\n\r\n## @ mentions\r\n\r\nHit the at-sign and the first few letters of the person's display name (it used to be the first few of the person's username, but then they decided to hide that ... personally, I wish they'd switch back)\r\n\r\nWhen you mention someone, make sure you set the privacy to include the group that person is in. There was a bug (possibly fixed) where you could mention someone in a post they weren't allowed to see. I do not believe that @ mentions work in comments yet.\r\n\r\nTwitter, where at-mentions were invented (by users and 3rd-party clients) doesn't have the problem of at-mentions affecting groups simply because it does not have any form of privacy groups.\r\n\r\n## Hashtags\r\n\r\nDiaspora\\* supports #hashtags. Because your pod intercepts them, being on a bigger pod means that clicking a hashtag will give a larger results set than if you clicked on the hashtag from a smaller pod. It is a known problem of the current federation mechanism, and is being fixed.\r\n\r\nTwitter, where hashtags were invented (by users and 3rd-party clients), doesn't have this problem only because everyone is one the same instance of T. #StatusNet, which is like a federated clone of #Twitter, also has the same issue to some degree.\r\n\r\n## Aspects\r\n\r\nPrivacy groups for posts; these were the obvious inspiration for #GPlus's circles, and they work similarly. For example, you may wish to place your boss and others that you know from work into a work aspect. You may also wish to place people you know from college, church, or other such activities into aspects specific to their roles in your life, and to place family members into aspects specific to people in that role.\r\n\r\nIf you didn't already understand aspects, consider this: if posts are wide-open, anyone who becomes a contact can see them. So if you have your boss as a contact, and you post a photo of your trip to the beach won a day you called in sick, _you may get fired for stupidity_. What you do is you put your boss into a work aspect, and only post things into that aspect that are acceptable in a work context.\r\n\r\n## Posting syntax\r\n\r\nDiaspora\\* uses something called [Markdown](http://www.simpleeditions.com/59001/markdown-an-introduction) for its posts. Most of the time, you can just post in plain text and not worry about it, but every once in a while, Markdown will distort what you've posted.\r\n\r\nMarkdown does give you the ability to _italicize_, **bold**, and otherwise decorate text and to embed links and images using a fairly simple syntax. I find, however, that I have to look up embedding every time I use it.\r\n\r\n(I personally prefer [Textile](http://textile.thresholdstate.com/). You still have to learn to use it effectively, but it more closely matches what experienced net users have grown to expect from applications like Outlook and Thunderbird. For instance, if I want bold text, surround it with single asterisks [\\*] rather than the double asterisks [\\*\\*] that Markdown requires.)\r\n\r\n## Pods\r\n\r\nA Diaspora\\* pod is the server or server cluster where your account resides. There are dozens or even hundreds of pods out there. Most of them are pretty similar in what they offer. A few offer experimental features, such as post previews, pod-only posts, or encrypted messaging. It is my hope that many of these features will be picked up by the main codebase, so that all pods will have them.\r\n\r\nYou'll rarely need to know this, but every Diaspora\\* account has an address that looks like username@podname.com. If you want people to be able to add you as a contact, publish your Diaspora\\* address. They'll be able to add you that way.\r\n\r\n## Facebook\r\n\r\nAll of the pods I have used have the ability to connect to certain external accounts, such as Twitter and #Facebook. This means that you can post from D\\* to FB or T. You don't have to abandon your \"friends\" on other #socnets because you join D\\*.\r\n\r\nIf you read many online articles, you will come across some that seem to believe that Diaspora\\*'s purpose is to become a Facebook-killer. Do not believe them. If and when people tire of Facebook, it will be because of something that FB does, not because socnet X is better. If you look at D\\* as a substitute for Facebook, it will be like a meat-eater who tries to replace meat with soy-based meat substitutes. You won't like it. Instead, I recommend that you get to know people who are on D\\* and that you invite your existing contacts, but that you **enjoy D\\* for its own value**. If you find that it then makes FB unnecessary, that is good. If, on the other hand, you still want to keep your FB account, that is also good.\r\n\r\n## Controversies\r\n\r\nThere are occasional squabbles over the directions the project is taking. Unlike the squabbles at Twitter, which took place behind closed doors and resulted in a number of highly-skilled people leaving and the recently announced restrictions on how client applications can display Twitter-sourced content, Diaspora\\*'s squabbles tend to happen in public. My advice is simple: stay out of the squabbles, find your own philosophical point of view, and support this and any other project that agrees with that point of view. If the time comes when this or any other project no longer fits your POV, leave quietly.\r\n\r\nWhen I felt that GPlus was hostile to my POV, I closed my accounts. When I felt that Facebook was hostile to my POV, I closed my account. I do not go around trash-talking either project, or assuming that anyone in said projects is intentionally \"evil,\" and I would not recommend doing that to D\\* or any other project.\r\n\r\n## Future\r\n\r\nAt some point in the future, the Diaspora\\* developers will be changing the federation protocol. Federation is what enables a user on Pod X to interact with users on pods Y, Z, etc. They are working to improve scalability (ability to handle more content posted from more users in the same period of time) and content dispersion (ability for content to travel between a wider number of pods seamlessly). It is a tough task. If you are interested in #Ruby programming or Ruby on Rails ( #RoR ), I would encourage you to get involved.\r\n\r\nThey are also planning to make D\\* a far more visual-oriented socnet. That means that posts with images, graphics, and video will be far more interesting, and will be displayed in a manner that caters to those things. There is an experimental pod where they test out many of the visual designs that may make it into the D* codebase. I will not link it here, because people may misunderstand that it is experimental and not really intended to be your home pod.\r\n\r\nIf you're interested in the technical side and the future directions, they have a moderated and directed code-chat on IRC every (other?) Thursday at 10AM Pacific in the room #diaspora-meeting on Freenode. Sean can jump in on the comments to correct me on this.\r\n\r\n## Conclusion\r\n\r\nThis is long, but I think this is a good intro to Diaspora\\*. I wish there had been someone who could write something like this when I joined. I should also put in a disclaimer. This is my personal opinion, and not the official stance of any podmin or of the Diaspora\\* developers. You are free to disagree, but please start a new thread for it. This is posted in the hope that people who newly join Diaspora\\* will get a head start.\r\n\r\nThere are a number of tutorials at [Diasporal](http://diasporial.com/). I would encourage you to visit the site and check them out. If you are a blogger, or if you write for a magazine (online or dead-tree), I would encourage you to write about Diaspora\\* once you've taken some time to get to know the place.","public":true,"created_at":"2012-07-04T23:41:33Z","interacted_at":"2012-07-05T04:21:21Z","provider_display_name":null,"post_type":"StatusMessage","nsfw":false,"author":{"id":5508,"guid":"25d1ca8dd064f3dd","name":"lnxwalt@calispora.org","diaspora_id":"lnxwalt@calispora.org","avatar":{"small":"https://pod.fulll.name/images/user/default.png","medium":"https://pod.fulll.name/images/user/default.png","large":"https://pod.fulll.name/images/user/default.png"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":null,"title":"# Intro To Using Diaspora\\*\r\n\r\n## Federated Social Networking\r\n\r\nDiaspora\\* is a social network (socnet), similar in many ways to Facebook, #MySpace, #Orkut, and Google Plus ( #GPlus). In fact, those of us who were already using D\\* when GPlus came out were quite familiar with its layout and functionality. It was almost as if they had started developing by grabbing D\\* code and stripping out federation.\r\n\r\nWhen I say federated, I mean that there is not one central Diaspora\\* server (or server cluster) that all users belong to. Instead, there are many [Diaspora\\* servers](http://fediverse.observer/) to choose from, with different operators ( #podmin), privacy policies, terms of service, and so on. Federation works much like when you decide to mail someone. It doesn't matter to me whether you use Gmail, Hotmail, Ymail, or GMX. I can send messages to you because electronic mail is federated. It is the same way with Diaspora\\*. You may be on [JoinDiaspora](http://joindiaspora.com/), [Calispora](http://calispora.org/), [Diasp.org](http://diasp.org/), [Diasp.eu](http://diasp.eu/), [Serendipitous](http://ser.endipito.us/) or another pod. You can still connect to people whose accounts are on other pods.\r\n\r\nI have written before about [federation](https://joindiaspora.com/posts/1679098).\r\n\r\nThis is an advantage, because it means that you're not beholden to a single organization's policies. If you decide that you dislike the _podmin_ on Pod X, you can open an account on Pod Y instead or even set up your own pod. (_**Moving** your account is not yet implemented_, but I believe you can export your contacts and use the export to help you repopulate that list on your new pod.) If podmin X decides to shut down pod X, again you can open an account on another pod or host your own.\r\n\r\n## @ mentions\r\n\r\nHit the at-sign and the first few letters of the person's display name (it used to be the first few of the person's username, but then they decided to hide that ... personally, I wish they'd switch back)\r\n\r\nWhen you mention someone, make sure you set the privacy to include the group that person is in. There was a bug (possibly fixed) where you could mention someone in a post they weren't allowed to see. I do not believe that @ mentions work in comments yet.\r\n\r\nTwitter, where at-mentions were invented (by users and 3rd-party clients) doesn't have the problem of at-mentions affecting groups simply because it does not have any form of privacy groups.\r\n\r\n## Hashtags\r\n\r\nDiaspora\\* supports #hashtags. Because your pod intercepts them, being on a bigger pod means that clicking a hashtag will give a larger results set than if you clicked on the hashtag from a smaller pod. It is a known problem of the current federation mechanism, and is being fixed.\r\n\r\nTwitter, where hashtags were invented (by users and 3rd-party clients), doesn't have this problem only because everyone is one the same instance of T. #StatusNet, which is like a federated clone of #Twitter, also has the same issue to some degree.\r\n\r\n## Aspects\r\n\r\nPrivacy groups for posts; these were the obvious inspiration for #GPlus's circles, and they work similarly. For example, you may wish to place your boss and others that you know from work into a work aspect. You may also wish to place people you know from college, church, or other such activities into aspects specific to their roles in your life, and to place family members into aspects specific to people in that role.\r\n\r\nIf you didn't already understand aspects, consider this: if posts are wide-open, anyone who becomes a contact can see them. So if you have your boss as a contact, and you post a photo of your trip to the beach won a day you called in sick, _you may get fired for stupidity_. What you do is you put your boss into a work aspect, and only post things into that aspect that are acceptable in a work context.\r\n\r\n## Posting syntax\r\n\r\nDiaspora\\* uses something called [Markdown](http://www.simpleeditions.com/59001/markdown-an-introduction) for its posts. Most of the time, you can just post in plain text and not worry about it, but every once in a while, Markdown will distort what you've posted.\r\n\r\nMarkdown does give you the ability to _italicize_, **bold**, and otherwise decorate text and to embed links and images using a fairly simple syntax. I find, however, that I have to look up embedding every time I use it.\r\n\r\n(I personally prefer [Textile](http://textile.thresholdstate.com/). You still have to learn to use it effectively, but it more closely matches what experienced net users have grown to expect from applications like Outlook and Thunderbird. For instance, if I want bold text, surround it with single asterisks [\\*] rather than the double asterisks [\\*\\*] that Markdown requires.)\r\n\r\n## Pods\r\n\r\nA Diaspora\\* pod is the server or server cluster where your account resides. There are dozens or even hundreds of pods out there. Most of them are pretty similar in what they offer. A few offer experimental features, such as post previews, pod-only posts, or encrypted messaging. It is my hope that many of these features will be picked up by the main codebase, so that all pods will have them.\r\n\r\nYou'll rarely need to know this, but every Diaspora\\* account has an address that looks like username@podname.com. If you want people to be able to add you as a contact, publish your Diaspora\\* address. They'll be able to add you that way.\r\n\r\n## Facebook\r\n\r\nAll of the pods I have used have the ability to connect to certain external accounts, such as Twitter and #Facebook. This means that you can post from D\\* to FB or T. You don't have to abandon your \"friends\" on other #socnets because you join D\\*.\r\n\r\nIf you read many online articles, you will come across some that seem to believe that Diaspora\\*'s purpose is to become a Facebook-killer. Do not believe them. If and when people tire of Facebook, it will be because of something that FB does, not because socnet X is better. If you look at D\\* as a substitute for Facebook, it will be like a meat-eater who tries to replace meat with soy-based meat substitutes. You won't like it. Instead, I recommend that you get to know people who are on D\\* and that you invite your existing contacts, but that you **enjoy D\\* for its own value**. If you find that it then makes FB unnecessary, that is good. If, on the other hand, you still want to keep your FB account, that is also good.\r\n\r\n## Controversies\r\n\r\nThere are occasional squabbles over the directions the project is taking. Unlike the squabbles at Twitter, which took place behind closed doors and resulted in a number of highly-skilled people leaving and the recently announced restrictions on how client applications can display Twitter-sourced content, Diaspora\\*'s squabbles tend to happen in public. My advice is simple: stay out of the squabbles, find your own philosophical point of view, and support this and any other project that agrees with that point of view. If the time comes when this or any other project no longer fits your POV, leave quietly.\r\n\r\nWhen I felt that GPlus was hostile to my POV, I closed my accounts. When I felt that Facebook was hostile to my POV, I closed my account. I do not go around trash-talking either project, or assuming that anyone in said projects is intentionally \"evil,\" and I would not recommend doing that to D\\* or any other project.\r\n\r\n## Future\r\n\r\nAt some point in the future, the Diaspora\\* developers will be changing the federation protocol. Federation is what enables a user on Pod X to interact with users on pods Y, Z, etc. They are working to improve scalability (ability to handle more content posted from more users in the same period of time) and content dispersion (ability for content to travel between a wider number of pods seamlessly). It is a tough task. If you are interested in #Ruby programming or Ruby on Rails ( #RoR ), I would encourage you to get involved.\r\n\r\nThey are also planning to make D\\* a far more visual-oriented socnet. That means that posts with images, graphics, and video will be far more interesting, and will be displayed in a manner that caters to those things. There is an experimental pod where they test out many of the visual designs that may make it into the D* codebase. I will not link it here, because people may misunderstand that it is experimental and not really intended to be your home pod.\r\n\r\nIf you're interested in the technical side and the future directions, they have a moderated and directed code-chat on IRC every (other?) Thursday at 10AM Pacific in the room #diaspora-meeting on Freenode. Sean can jump in on the comments to correct me on this.\r\n\r\n## Conclusion\r\n\r\nThis is long, but I think this is a good intro to Diaspora\\*. I wish there had been someone who could write something like this when I joined. I should also put in a disclaimer. This is my personal opinion, and not the official stance of any podmin or of the Diaspora\\* developers. You are free to disagree, but please start a new thread for it. This is posted in the hope that people who newly join Diaspora\\* will get a head start.\r\n\r\nThere are a number of tutorials at [Diasporal](http://diasporial.com/). I would encourage you to visit the site and check them out. If you are a blogger, or if you write for a magazine (online or dead-tree), I would encourage you to write about Diaspora\\* once you've taken some time to get to know the place.","interactions":{"likes":[],"reshares":[],"comments_count":0,"likes_count":0,"reshares_count":4}},"title":"A post from Florian Staudacher","interactions":{"likes":[],"reshares":[],"comments_count":0,"likes_count":0,"reshares_count":0,"comments":[]}},{"id":11725,"guid":"909471c6070243be","text":"If you think you know of a #Diaspora #Bug please remember to be as specific as possible when describing it so we can help!!","public":true,"created_at":"2012-07-04T23:29:43Z","interacted_at":"2012-07-04T23:29:43Z","provider_display_name":null,"post_type":"Reshare","nsfw":false,"author":{"id":2,"guid":"7445f9a0a6c28ebb","name":"Florian Staudacher","diaspora_id":"raven24@pod.fulll.name","avatar":{"small":"https://pod.fulll.name/uploads/images/thumb_small_5f612f44a0a026b119f8.png","medium":"https://pod.fulll.name/uploads/images/thumb_medium_5f612f44a0a026b119f8.png","large":"https://pod.fulll.name/uploads/images/thumb_large_5f612f44a0a026b119f8.png"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":{"id":11718,"guid":"c1770c590b097c28","text":"If you think you know of a #Diaspora #Bug please remember to be as specific as possible when describing it so we can help!!","public":true,"created_at":"2012-07-04T22:00:49Z","interacted_at":"2012-07-05T08:19:07Z","provider_display_name":null,"post_type":"StatusMessage","nsfw":false,"author":{"id":5653,"guid":"7410329c39e6810f","name":"Hans","diaspora_id":"hans@hfase.com","avatar":{"small":"https://hfase.com/uploads/images/thumb_small_f2b2d6b041732c5f91eb.jpg","medium":"https://hfase.com/uploads/images/thumb_medium_f2b2d6b041732c5f91eb.jpg","large":"https://hfase.com/uploads/images/thumb_large_f2b2d6b041732c5f91eb.jpg"}},"o_embed_cache":null,"mentioned_people":[],"photos":[],"root":null,"title":"If you think you know of a #Diaspora #Bug please remember to be as specific as possible when describing it so we can help!!","interactions":{"likes":[],"reshares":[{"reshare":{"author_id":2,"comments_count":0,"created_at":"2012-07-04T23:29:43Z","diaspora_handle":"raven24@pod.fulll.name","guid":"909471c6070243be","id":11725,"interacted_at":"2012-07-04T23:29:43Z","likes_count":0,"o_embed_cache_id":null,"provider_display_name":null,"public":true,"reshares_count":0,"root_guid":"c1770c590b097c28","text":null,"updated_at":"2012-07-04T23:29:43Z"}}],"comments_count":0,"likes_count":2,"reshares_count":2}},"title":"A post from Florian Staudacher","interactions":{"likes":[],"reshares":[],"comments_count":0,"likes_count":0,"reshares_count":0,"comments":[]}}]
diff --git a/spec/helpers/interim_stream_hackiness_helper_spec.rb b/spec/helpers/interim_stream_hackiness_helper_spec.rb
index 69bb04509..4230518bf 100644
--- a/spec/helpers/interim_stream_hackiness_helper_spec.rb
+++ b/spec/helpers/interim_stream_hackiness_helper_spec.rb
@@ -1,41 +1,6 @@
# frozen_string_literal: true
describe InterimStreamHackinessHelper, type: :helper do
- describe "commenting_disabled?" do
- include Devise::Test::ControllerHelpers
-
- before do
- sign_in alice
- def user_signed_in?
- true
- end
- end
-
- it 'returns true if no user is signed in' do
- def user_signed_in?
- false
- end
- expect(commenting_disabled?(double)).to eq(true)
- end
-
- it 'returns true if @commenting_disabled is set' do
- @commenting_disabled = true
- expect(commenting_disabled?(double)).to eq(true)
- @commenting_disabled = false
- expect(commenting_disabled?(double)).to eq(false)
- end
-
- it 'returns @stream.can_comment? if @stream is set' do
- post = double
- @stream = double
- expect(@stream).to receive(:can_comment?).with(post).and_return(true)
- expect(commenting_disabled?(post)).to eq(false)
-
- expect(@stream).to receive(:can_comment?).with(post).and_return(false)
- expect(commenting_disabled?(post)).to eq(true)
- end
- end
-
describe "#publisher_formatted_text" do
it "returns the prefill text from the stream" do
@stream = double(publisher: Publisher.new(alice, prefill: "hello world"))
diff --git a/spec/integration/account_migration_spec.rb b/spec/integration/account_migration_spec.rb
index 35597edad..17beba199 100644
--- a/spec/integration/account_migration_spec.rb
+++ b/spec/integration/account_migration_spec.rb
@@ -97,9 +97,29 @@ shared_examples_for "migration scenarios initiated locally" do
[]
end
- inlined_jobs do
- run_migration
- end
+ inlined_jobs { run_migration }
+ end
+
+ it "does not change the remote paths" do
+ photo = FactoryGirl.create(:photo, author: old_person)
+ remote_photo_path = photo.remote_photo_path
+
+ run_migration
+
+ expect(photo.reload.remote_photo_path).to eq(remote_photo_path)
+ end
+end
+
+shared_examples_for "remote photo migration" do
+ it "changes the remote paths of photos of the old person" do
+ old_photo = FactoryGirl.create(:photo, author: old_person)
+ new_photo = FactoryGirl.create(:photo, author: new_person)
+ new_remote_photo_path = old_photo.remote_photo_path
+
+ run_migration
+
+ expect(old_photo.reload.remote_photo_path).to eq("https://diaspora.example.tld/uploads/images/")
+ expect(new_photo.reload.remote_photo_path).to eq(new_remote_photo_path)
end
end
@@ -125,6 +145,8 @@ describe "account migration" do
include_examples "every migration scenario"
include_examples "migration scenarios initiated remotely"
+
+ include_examples "remote photo migration"
end
# this is the case when we're a pod, which was left by a person in favor of remote one
@@ -136,6 +158,8 @@ describe "account migration" do
include_examples "migration scenarios initiated remotely"
+ include_examples "remote photo migration"
+
it_behaves_like "migration scenarios with local old user"
it_behaves_like "deletes all of the user data" do
@@ -165,9 +189,10 @@ describe "account migration" do
def run_migration
AccountMigration.create!(
- old_person: old_user.person,
- new_person: new_user.person,
- old_private_key: old_user.serialized_private_key
+ old_person: old_user.person,
+ new_person: new_user.person,
+ old_private_key: old_user.serialized_private_key,
+ remote_photo_path: "https://diaspora.example.tld/uploads/images/"
).perform!
end
@@ -184,7 +209,9 @@ describe "account migration" do
include_context "with local new user"
def run_migration
- AccountMigration.create!(old_person: old_user.person, new_person: new_user.person).perform!
+ AccountMigration.create!(old_person: old_user.person,
+ new_person: new_user.person,
+ remote_photo_path: "https://diaspora.example.tld/uploads/images/").perform!
end
include_examples "every migration scenario"
diff --git a/spec/integration/exporter_spec.rb b/spec/integration/exporter_spec.rb
index ac9bdbfd9..7794c07de 100644
--- a/spec/integration/exporter_spec.rb
+++ b/spec/integration/exporter_spec.rb
@@ -46,12 +46,10 @@ describe Diaspora::Exporter do
user: {
"contact_groups": [
{
- "name": "generic",
- "chat_enabled": false
+ "name": "generic"
},
{
- "name": "Work",
- "chat_enabled": false
+ "name": "Work"
}
]
}
diff --git a/spec/integration/federation/receive_federation_messages_spec.rb b/spec/integration/federation/receive_federation_messages_spec.rb
index b53bc97c1..7b29c5738 100644
--- a/spec/integration/federation/receive_federation_messages_spec.rb
+++ b/spec/integration/federation/receive_federation_messages_spec.rb
@@ -55,7 +55,9 @@ describe "Receive federation messages feature" do
it "receives account migration correctly" do
run_migration
expect(AccountMigration.where(old_person: sender.person, new_person: new_user.person)).to exist
- expect(AccountMigration.find_by(old_person: sender.person, new_person: new_user.person)).to be_performed
+ account_migration = AccountMigration.find_by(old_person: sender.person, new_person: new_user.person)
+ expect(account_migration).to be_performed
+ expect(account_migration.remote_photo_path).to eq("https://diaspora.example.tld/uploads/images/")
end
it "doesn't run the same migration for the second time" do
diff --git a/spec/javascripts/app/app_spec.js b/spec/javascripts/app/app_spec.js
index 378ab84f3..1848f20a7 100644
--- a/spec/javascripts/app/app_spec.js
+++ b/spec/javascripts/app/app_spec.js
@@ -47,7 +47,7 @@ describe("app", function() {
describe("setupForms", function() {
beforeEach(function() {
- spec.content().append("<textarea/> <input/>");
+ spec.content().append("<textarea></textarea> <input></input>");
});
it("calls jQuery.placeholder() for inputs", function() {
diff --git a/spec/javascripts/app/views/hovercard_view_spec.js b/spec/javascripts/app/views/hovercard_view_spec.js
index c307ebcee..9fb6f1868 100644
--- a/spec/javascripts/app/views/hovercard_view_spec.js
+++ b/spec/javascripts/app/views/hovercard_view_spec.js
@@ -16,7 +16,11 @@ describe("app.views.Hovercard", function() {
this.view._populateHovercard();
jasmine.Ajax.requests.mostRecent().respondWith({
status: 200,
- responseText: JSON.stringify({id: 1337})
+ responseText: JSON.stringify({
+ id: 1337,
+ guid: "ba64fce01b04013aa8db34c93d7886ce",
+ name: "Edward Snowden"
+ })
});
expect(this.view.aspectMembershipDropdown).toEqual(undefined);
});
@@ -56,7 +60,11 @@ describe("app.views.Hovercard", function() {
this.view._populateHovercard();
jasmine.Ajax.requests.mostRecent().respondWith({
status: 200,
- responseText: JSON.stringify({id: 1337})
+ responseText: JSON.stringify({
+ id: 1337,
+ guid: "ba64fce01b04013aa8db34c93d7886ce",
+ name: "Edward Snowden"
+ })
});
expect(this.view.aspectMembershipDropdown).not.toEqual(undefined);
});
@@ -65,7 +73,14 @@ describe("app.views.Hovercard", function() {
this.view._populateHovercard();
jasmine.Ajax.requests.mostRecent().respondWith({
status: 200,
- responseText: JSON.stringify({id: 1337, profile: {tags: ["first", "second"]}})
+ responseText: JSON.stringify({
+ id: 1337,
+ guid: "ba64fce01b04013aa8db34c93d7886ce",
+ name: "Edward Snowden",
+ profile: {
+ tags: ["first", "second"]
+ }
+ })
});
var first = this.view.hashtags.find("a:contains('#first')");
@@ -75,6 +90,36 @@ describe("app.views.Hovercard", function() {
expect(first.first()[0].href).toContain(Routes.tag("first"));
expect(second.first()[0].href).toContain(Routes.tag("second"));
});
+
+ it("indicates when the user is sharing with me", function() {
+ this.view._populateHovercard();
+ jasmine.Ajax.requests.mostRecent().respondWith({
+ status: 200,
+ responseText: JSON.stringify({
+ id: 1337,
+ guid: "ba64fce01b04013aa8db34c93d7886ce",
+ name: "Edward Snowden",
+ relationship: "sharing"
+ })
+ });
+ var message = this.view.$el.find("#sharing_message");
+ expect(message).toHaveClass("entypo-check");
+ });
+
+ it("indicates when the user is not sharing with me", function() {
+ this.view._populateHovercard();
+ jasmine.Ajax.requests.mostRecent().respondWith({
+ status: 200,
+ responseText: JSON.stringify({
+ id: 1337,
+ guid: "ba64fce01b04013aa8db34c93d7886ce",
+ name: "Edward Snowden",
+ relationship: "receiving"
+ })
+ });
+ var message = this.view.$el.find("#sharing_message");
+ expect(message).toHaveClass("entypo-record");
+ });
});
});
});
diff --git a/spec/javascripts/app/views_spec.js b/spec/javascripts/app/views_spec.js
index 370912436..5aa731840 100644
--- a/spec/javascripts/app/views_spec.js
+++ b/spec/javascripts/app/views_spec.js
@@ -62,8 +62,8 @@ describe("app.views.Base", function(){
},
postRenderTemplate : function(){
- $(this.el).append("<div class=subview1/>");
- $(this.el).append("<div class=subview2/>");
+ $(this.el).append("<div class=subview1></div>");
+ $(this.el).append("<div class=subview2></div>");
},
createSubview2 : function(){
@@ -121,7 +121,7 @@ describe("app.views.Base", function(){
it("replaces .time with relative time ago in words", function() {
this.view.templateName = false;
spyOn($.fn, "timeago");
- this.view.$el.append("<time/>");
+ this.view.$el.append("<time></time>");
this.view.render();
expect($.fn.timeago).toHaveBeenCalled();
expect($.fn.timeago.calls.mostRecent().object.first().is("time")).toBe(true);
@@ -145,7 +145,7 @@ describe("app.views.Base", function(){
beforeEach(function() {
this.view.$el.htmlOriginal = this.view.$el.html;
spyOn(this.view.$el, "html").and.callFake(function() {
- this.htmlOriginal("<input><textarea/></input>");
+ this.htmlOriginal("<input><textarea></textarea></input>");
return this;
});
});
diff --git a/spec/javascripts/mobile/mobile_comments_spec.js b/spec/javascripts/mobile/mobile_comments_spec.js
index af12f644c..81a754c4c 100644
--- a/spec/javascripts/mobile/mobile_comments_spec.js
+++ b/spec/javascripts/mobile/mobile_comments_spec.js
@@ -148,7 +148,7 @@ describe("Diaspora.Mobile.Comments", function(){
var parent = this.toggleReactionsLink.parent();
var postGuid = this.bottomBar.parents(".stream-element").data("guid");
this.toggleReactionsLink.remove();
- parent.prepend($("<span/>", {"class": "show-comments"}).text("0 comments"));
+ parent.prepend($("<span></span>", {"class": "show-comments"}).text("0 comments"));
Diaspora.Mobile.Comments.increaseReactionCount(this.bottomBar);
this.toggleReactionsLink = this.bottomBar.find(".show-comments").first();
@@ -160,7 +160,7 @@ describe("Diaspora.Mobile.Comments", function(){
var parent = this.toggleReactionsLink.parent();
var postGuid = this.bottomBar.parents(".stream-element").data("guid");
this.toggleReactionsLink.remove();
- parent.prepend($("<span/>", {"class": "show-comments"}).text("Aucun commentaire"));
+ parent.prepend($("<span></span>", {"class": "show-comments"}).text("Aucun commentaire"));
Diaspora.Mobile.Comments.increaseReactionCount(this.bottomBar);
this.toggleReactionsLink = this.bottomBar.find(".show-comments").first();
diff --git a/spec/javascripts/support/jasmine_helper.rb b/spec/javascripts/support/jasmine_helper.rb
index d424f6875..b25419755 100644
--- a/spec/javascripts/support/jasmine_helper.rb
+++ b/spec/javascripts/support/jasmine_helper.rb
@@ -5,4 +5,7 @@ Jasmine.configure do |config|
config.runner_browser = :chromeheadless
config.chrome_startup_timeout = 20
config.chrome_cli_options["autoplay-policy"] = "no-user-gesture-required"
+ config.chrome_cli_options["disable-gpu"] = nil
+ config.chrome_cli_options["disable-software-rasterizer"] = nil
+ config.chrome_cli_options["disable-dev-shm-usage"] = nil
end
diff --git a/spec/lib/account_deleter_spec.rb b/spec/lib/account_deleter_spec.rb
index dce51c749..9732410f9 100644
--- a/spec/lib/account_deleter_spec.rb
+++ b/spec/lib/account_deleter_spec.rb
@@ -199,7 +199,8 @@ describe AccountDeleter do
it "has all person association keys accounted for" do
ignored_or_special_ar_person_associations = %i[comments likes poll_participations contacts notification_actors
- notifications owner profile pod conversations messages]
+ notifications owner profile pod conversations messages
+ account_deletion account_migration]
all_keys = @account_deletion.normal_ar_person_associates_to_delete + ignored_or_special_ar_person_associations
expect(all_keys.sort_by(&:to_s)).to eq(Person.reflections.keys.sort_by(&:to_s).map(&:to_sym))
end
diff --git a/spec/lib/diaspora/federation/entities_spec.rb b/spec/lib/diaspora/federation/entities_spec.rb
index 03f625573..f0e3328ee 100644
--- a/spec/lib/diaspora/federation/entities_spec.rb
+++ b/spec/lib/diaspora/federation/entities_spec.rb
@@ -18,6 +18,19 @@ describe Diaspora::Federation::Entities do
expect(federation_entity).to be_instance_of(DiasporaFederation::Entities::AccountMigration)
expect(federation_entity.author).to eq(diaspora_entity.old_person.diaspora_handle)
expect(federation_entity.profile.author).to eq(diaspora_entity.new_person.diaspora_handle)
+ expect(federation_entity.signature).to be_nil
+ end
+
+ it "builds an account migration with signature" do
+ diaspora_entity = FactoryGirl.build(:account_migration,
+ old_person: FactoryGirl.create(:user).person,
+ signature: "aa")
+ federation_entity = described_class.build(diaspora_entity)
+
+ expect(federation_entity).to be_instance_of(DiasporaFederation::Entities::AccountMigration)
+ expect(federation_entity.author).to eq(diaspora_entity.old_person.diaspora_handle)
+ expect(federation_entity.profile.author).to eq(diaspora_entity.new_person.diaspora_handle)
+ expect(federation_entity.signature).to eq(diaspora_entity.signature)
end
it "builds a comment" do
diff --git a/spec/lib/diaspora/federation/receive_spec.rb b/spec/lib/diaspora/federation/receive_spec.rb
index 1b3e087e7..a868222a9 100644
--- a/spec/lib/diaspora/federation/receive_spec.rb
+++ b/spec/lib/diaspora/federation/receive_spec.rb
@@ -4,6 +4,58 @@ describe Diaspora::Federation::Receive do
let(:sender) { FactoryGirl.create(:person) }
let(:post) { FactoryGirl.create(:status_message, text: "hello", public: true, author: alice.person) }
+ describe ".handle_closed_recipient" do
+ let(:closed_recipient) { FactoryGirl.create(:user).tap {|u| u.person.lock_access! } }
+
+ it "does nothing if the recipient isn't closed" do
+ recipient = FactoryGirl.create(:user)
+ expect { Diaspora::Federation::Receive.handle_closed_recipient(sender, recipient) }.not_to raise_error
+ end
+
+ it "raises if the recipient is closed, but no AccountMigration and/or AccountDeletion exists" do
+ expect(Diaspora::Federation::Dispatcher).not_to receive(:build)
+ expect { Diaspora::Federation::Receive.handle_closed_recipient(sender, closed_recipient) }
+ .to raise_error(Diaspora::Federation::RecipientClosed)
+ end
+
+ it "resends AccountMigration if the recipient is closed and an AccountMigration exists" do
+ migration = AccountMigration.create(old_person: closed_recipient.person, new_person: FactoryGirl.create(:person))
+
+ dispatcher = double
+ expect(Diaspora::Federation::Dispatcher).to receive(:build)
+ .with(closed_recipient, migration, subscribers: [sender]).and_return(dispatcher)
+ expect(dispatcher).to receive(:dispatch)
+
+ expect { Diaspora::Federation::Receive.handle_closed_recipient(sender, closed_recipient) }
+ .to raise_error(Diaspora::Federation::RecipientClosed)
+ end
+
+ it "resends AccountDeletion if the recipient is closed and an AccountDeletion exists" do
+ deletion = AccountDeletion.create(person: closed_recipient.person)
+
+ dispatcher = double
+ expect(Diaspora::Federation::Dispatcher).to receive(:build)
+ .with(closed_recipient, deletion, subscribers: [sender]).and_return(dispatcher)
+ expect(dispatcher).to receive(:dispatch)
+
+ expect { Diaspora::Federation::Receive.handle_closed_recipient(sender, closed_recipient) }
+ .to raise_error(Diaspora::Federation::RecipientClosed)
+ end
+
+ it "resends AccountMigration if the recipient is closed and both an AccountMigration and AccountDeletion exists" do
+ AccountDeletion.create(person: closed_recipient.person)
+ migration = AccountMigration.create(old_person: closed_recipient.person, new_person: FactoryGirl.create(:person))
+
+ dispatcher = double
+ expect(Diaspora::Federation::Dispatcher).to receive(:build)
+ .with(closed_recipient, migration, subscribers: [sender]).and_return(dispatcher)
+ expect(dispatcher).to receive(:dispatch)
+
+ expect { Diaspora::Federation::Receive.handle_closed_recipient(sender, closed_recipient) }
+ .to raise_error(Diaspora::Federation::RecipientClosed)
+ end
+ end
+
describe ".account_deletion" do
let(:account_deletion_entity) { Fabricate(:account_deletion_entity, author: sender.diaspora_handle) }
@@ -39,13 +91,16 @@ describe Diaspora::Federation::Receive do
let(:new_person) { FactoryGirl.create(:person) }
let(:profile_entity) { Fabricate(:profile_entity, author: new_person.diaspora_handle) }
let(:account_migration_entity) {
- Fabricate(:account_migration_entity, author: sender.diaspora_handle, profile: profile_entity)
+ Fabricate(:account_migration_entity, author: sender.diaspora_handle, profile: profile_entity, signature: "aa")
}
it "saves the account deletion" do
- Diaspora::Federation::Receive.account_migration(account_migration_entity)
+ received = Diaspora::Federation::Receive.account_migration(account_migration_entity)
- expect(AccountMigration.exists?(old_person: sender, new_person: new_person)).to be_truthy
+ migration = AccountMigration.find_by(old_person: sender, new_person: new_person)
+
+ expect(received).to eq(migration)
+ expect(migration.signature).to be_nil
end
it "ignores duplicate the account migrations" do
@@ -68,6 +123,16 @@ describe Diaspora::Federation::Receive do
expect(AccountMigration.exists?(old_person: sender, new_person: new_person)).to be_truthy
end
+
+ it "saves signature from the new person if the old person is local" do
+ sender = FactoryGirl.create(:user).person
+ account_migration_entity =
+ Fabricate(:account_migration_entity, author: sender.diaspora_handle, profile: profile_entity, signature: "aa")
+
+ received = Diaspora::Federation::Receive.perform(account_migration_entity)
+
+ expect(received.signature).to eq("aa")
+ end
end
describe ".comment" do
diff --git a/spec/lib/stream/base_spec.rb b/spec/lib/stream/base_spec.rb
index 08fa3d89c..9bd8549ac 100644
--- a/spec/lib/stream/base_spec.rb
+++ b/spec/lib/stream/base_spec.rb
@@ -30,39 +30,6 @@ describe Stream::Base do
end
end
- describe '.can_comment?' do
- before do
- @person = FactoryGirl.create(:person)
- allow(@stream).to receive(:people).and_return([bob.person, eve.person, @person])
- end
-
- it 'allows me to comment on my local contacts post' do
- post = FactoryGirl.create(:status_message, :author => bob.person)
- expect(@stream.can_comment?(post)).to be true
- end
-
- it 'allows me to comment on my own post' do
- post = FactoryGirl.create(:status_message, :author => alice.person)
- expect(@stream.can_comment?(post)).to be true
- end
-
- it 'allows me to comment on any local public post' do
- post = FactoryGirl.create(:status_message, :author => eve.person)
- expect(@stream.can_comment?(post)).to be true
- end
-
- it 'allows me to comment on a remote contacts post' do
- Contact.create!(:user => @stream.user, :person => @person)
- post = FactoryGirl.create(:status_message, :author => @person)
- expect(@stream.can_comment?(post)).to be true
- end
-
- it 'returns false if person is remote and not a contact' do
- post = FactoryGirl.create(:status_message, :author => @person)
- expect(@stream.can_comment?(post)).to be false
- end
- end
-
describe '#people' do
it 'excludes blocked people' do
expect(@stream).to receive(:stream_posts).and_return(double.as_null_object)
diff --git a/spec/models/account_migration_spec.rb b/spec/models/account_migration_spec.rb
index a5fd24f0a..91a12ba47 100644
--- a/spec/models/account_migration_spec.rb
+++ b/spec/models/account_migration_spec.rb
@@ -16,7 +16,9 @@ describe AccountMigration, type: :model do
let(:old_person) { FactoryGirl.create(:person) }
let(:new_person) { FactoryGirl.create(:person) }
let(:account_migration) {
- AccountMigration.create!(old_person: old_person, new_person: new_person)
+ AccountMigration.create!(old_person: old_person,
+ new_person: new_person,
+ remote_photo_path: "https://diaspora.example.tld/uploads/images/")
}
describe "receive" do
@@ -125,6 +127,34 @@ describe AccountMigration, type: :model do
expect(Diaspora::Federation::Dispatcher).to receive(:defer_dispatch).with(contact.user, contact)
account_migration.perform!
end
+
+ it "cleans up old local photos" do
+ photo = FactoryGirl.create(:photo, author: old_person)
+ photo.processed_image.store!(photo.unprocessed_image)
+ photo.save!
+
+ account_migration.perform!
+
+ updated_photo = photo.reload
+ expect(updated_photo.remote_photo_path).to eq("https://diaspora.example.tld/uploads/images/")
+ expect(updated_photo.processed_image.path).to be_nil
+ expect(updated_photo.unprocessed_image.path).to be_nil
+ end
+
+ it "does nothing if migration doesn't contain a new remote_photo_path" do
+ photo = FactoryGirl.create(:photo, author: old_person)
+ photo.processed_image.store!(photo.unprocessed_image)
+ photo.save!
+
+ remote_photo_path = photo.remote_photo_path
+
+ AccountMigration.create!(old_person: old_person, new_person: new_person).perform!
+
+ updated_photo = photo.reload
+ expect(updated_photo.remote_photo_path).to eq(remote_photo_path)
+ expect(updated_photo.processed_image.path).not_to be_nil
+ expect(updated_photo.unprocessed_image.path).not_to be_nil
+ end
end
context "with local new and remote old users" do
diff --git a/spec/models/open_graph_cache_spec.rb b/spec/models/open_graph_cache_spec.rb
index e205baa76..8a634f057 100644
--- a/spec/models/open_graph_cache_spec.rb
+++ b/spec/models/open_graph_cache_spec.rb
@@ -63,7 +63,7 @@ describe OpenGraphCache, type: :model do
stub_request(:head, "http:///wetter.com")
.with(headers: {
"Accept" => "text/html",
- "User-Agent" => "OpenGraphReader/0.7.1 (+https://github.com/jhass/open_graph_reader)"
+ "User-Agent" => "OpenGraphReader/0.7.2 (+https://github.com/jhass/open_graph_reader)"
})
.to_return(status: 200, body: "", headers:
{"Set-Cookie" => "Dabgroup=A;path=/;Expires=Thu, 23 May 2019 16:12:01 GMT;httpOnly"})
diff --git a/spec/models/services/tumblr_spec.rb b/spec/models/services/tumblr_spec.rb
index 0da20eb37..2821dfd55 100644
--- a/spec/models/services/tumblr_spec.rb
+++ b/spec/models/services/tumblr_spec.rb
@@ -6,25 +6,42 @@ describe Services::Tumblr, type: :model do
let(:service) { Services::Tumblr.new(access_token: "yeah", access_secret: "foobar") }
let(:post_id) { "bla" }
+ describe "#provider" do
+ subject(:provider) { service.provider }
+
+ let(:expected_provider) { "tumblr" }
+
+ it "returns service provider" do
+ is_expected.to eq expected_provider
+ end
+ end
+
describe "#post" do
let(:post_request) { {body: service.build_tumblr_post(post, "")} }
let(:post_response) { {status: 201, body: {response: {id: post_id}}.to_json} }
before do
user.services << service
- stub_request(:get, "http://api.tumblr.com/v2/user/info").to_return(status: 200, body: user_info)
+ stub_request(:get, "https://api.tumblr.com/v2/user/info").to_return(status: 200, body: user_info)
end
context "with multiple blogs" do
- let(:user_info) {
- {response: {user: {blogs: [
- {primary: false, url: "http://foo.tumblr.com"},
- {primary: true, url: "http://bar.tumblr.com"}
- ]}}}.to_json
- }
+ let(:user_info) do
+ {
+ response:
+ {
+ user: {
+ blogs: [
+ {primary: false, url: "https://foo.tumblr.com"},
+ {primary: true, url: "https://bar.tumblr.com"}
+ ]
+ }
+ }
+ }.to_json
+ end
it "posts a status message to the primary blog and stores the id" do
- stub = stub_request(:post, "http://api.tumblr.com/v2/blog/bar.tumblr.com/post")
+ stub = stub_request(:post, "https://api.tumblr.com/v2/blog/bar.tumblr.com/post")
.with(post_request).to_return(post_response)
expect(post).to receive(:tumblr_ids=).with({"bar.tumblr.com" => post_id}.to_json)
@@ -36,10 +53,10 @@ describe Services::Tumblr, type: :model do
end
context "with a single blog" do
- let(:user_info) { {response: {user: {blogs: [{url: "http://foo.tumblr.com"}]}}}.to_json }
+ let(:user_info) { {response: {user: {blogs: [{url: "https://foo.tumblr.com"}]}}}.to_json }
it "posts a status message to the returned blog" do
- stub = stub_request(:post, "http://api.tumblr.com/v2/blog/foo.tumblr.com/post")
+ stub = stub_request(:post, "https://api.tumblr.com/v2/blog/foo.tumblr.com/post")
.with(post_request).to_return(post_response)
service.post(post)
@@ -63,7 +80,7 @@ describe Services::Tumblr, type: :model do
describe "#delete_from_service" do
it "removes posts from tumblr" do
tumblr_ids = {"foodbar.tumblr.com" => post_id}.to_json
- stub = stub_request(:post, "http://api.tumblr.com/v2/blog/foodbar.tumblr.com/post/delete")
+ stub = stub_request(:post, "https://api.tumblr.com/v2/blog/foodbar.tumblr.com/post/delete")
.with(body: {"id" => post_id}).to_return(status: 200)
service.delete_from_service(tumblr_ids: tumblr_ids)
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb
index 560432927..6a41d3472 100644
--- a/spec/models/user_spec.rb
+++ b/spec/models/user_spec.rb
@@ -267,11 +267,6 @@ describe User, :type => :model do
expect(alice).not_to be_valid
end
- it 'should not contain periods' do
- alice.username = "kittens."
- expect(alice).not_to be_valid
- end
-
it "can be 32 characters long" do
alice.username = "hexagoooooooooooooooooooooooooon"
expect(alice).to be_valid
@@ -816,10 +811,10 @@ describe User, :type => :model do
context "with autofollow sharing enabled" do
it "should start sharing with autofollow account" do
AppConfig.settings.autofollow_on_join = true
- AppConfig.settings.autofollow_on_join_user = "one"
-
- expect(Person).to receive(:find_or_fetch_by_identifier).with("one")
+ person = FactoryGirl.build(:person)
+ AppConfig.settings.autofollow_on_join_user = person.diaspora_handle
+ expect(Person).to receive(:find_or_fetch_by_identifier).with(person.diaspora_handle).and_return(person)
user.seed_aspects
end
end
diff --git a/spec/serializers/export/aspect_serializer_spec.rb b/spec/serializers/export/aspect_serializer_spec.rb
index eba297f19..41ea5e874 100644
--- a/spec/serializers/export/aspect_serializer_spec.rb
+++ b/spec/serializers/export/aspect_serializer_spec.rb
@@ -6,8 +6,7 @@ describe Export::AspectSerializer do
it "has aspect attributes" do
expect(serializer.attributes).to eq(
- name: aspect.name,
- chat_enabled: aspect.chat_enabled
+ name: aspect.name
)
end
end
diff --git a/spec/serializers/export/others_data_serializer_spec.rb b/spec/serializers/export/others_data_serializer_spec.rb
index 2c40adfb8..66674f949 100644
--- a/spec/serializers/export/others_data_serializer_spec.rb
+++ b/spec/serializers/export/others_data_serializer_spec.rb
@@ -13,9 +13,14 @@ describe Export::OthersDataSerializer do
serializer.associations
end
- context "with user's activity" do
- before do
- DataGenerator.new(user).activity
+ it "uses old local user private key if the author was migrated away from the pod" do
+ post = DataGenerator.new(user).status_message_with_activity
+
+ old_comment_author = post.comments.first.author
+ AccountMigration.create!(old_person: old_comment_author, new_person: FactoryGirl.create(:person)).perform!
+
+ serializer.associations[:relayables].select {|r| r[:entity_type] == "comment" }.each do |comment|
+ expect(comment[:entity_data][:author]).to eq(old_comment_author.diaspora_handle)
end
end
end
diff --git a/spec/serializers/export/user_serializer_spec.rb b/spec/serializers/export/user_serializer_spec.rb
index a316ef3d9..9ad9d900e 100644
--- a/spec/serializers/export/user_serializer_spec.rb
+++ b/spec/serializers/export/user_serializer_spec.rb
@@ -14,7 +14,8 @@ describe Export::UserSerializer do
show_community_spotlight_in_stream: user.show_community_spotlight_in_stream,
auto_follow_back: user.auto_follow_back,
auto_follow_back_aspect: user.auto_follow_back_aspect,
- strip_exif: user.strip_exif
+ strip_exif: user.strip_exif,
+ blocks: user.blocks
)
end
diff --git a/spec/workers/fetch_webfinger_spec.rb b/spec/workers/fetch_webfinger_spec.rb
index 234c7d215..3ed3e4ffa 100644
--- a/spec/workers/fetch_webfinger_spec.rb
+++ b/spec/workers/fetch_webfinger_spec.rb
@@ -11,7 +11,7 @@ describe Workers::FetchWebfinger do
end
it "should webfinger and queue no job to fetch public posts if the person is not found" do
- allow(Person).to receive(:find_or_fetch_by_identifier).and_return(nil)
+ allow(Person).to receive(:find_or_fetch_by_identifier).and_raise DiasporaFederation::Discovery::DiscoveryError
expect(Diaspora::Fetcher::Public).not_to receive(:queue_for)
diff --git a/spec/workers/reset_password_spec.rb b/spec/workers/reset_password_spec.rb
index c57cf52d3..6d1b7ca72 100644
--- a/spec/workers/reset_password_spec.rb
+++ b/spec/workers/reset_password_spec.rb
@@ -13,6 +13,7 @@ describe Workers::ResetPassword do
mail = Devise.mailer.deliveries.last
expect(mail.to).to eq([alice.email])
expect(mail.body).to include("change your password")
+ expect(mail.body).to include(alice.username)
end
end
end